Skip to content

Throws an error on compilation (Module parse failed: Unexpected token (83:4)) #7396

@gotitthanks

Description

@gotitthanks

Operating System

Windows 11 Pro 22H2 22621.1848

Browser Version

Electron React (Chromium) or Chrome

Firebase SDK Version

9.23.0

Firebase SDK Product:

Messaging

Describe your project's tooling

node -v 16.16.0
yarn -v 1.22.11

Describe the problem

Getting error while build

./node_modules/idb/build/index.js
Module parse failed: Unexpected token (83:4)
You may need an appropriate loader to handle this file type.
| }
| replaceTraps((oldTraps) => ({
|     ...oldTraps,
|     get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
|     has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),

After yarn add idb (v7.1.1)
Error change

./node_modules/@firebase/messaging/node_modules/idb/build/index.js
Module parse failed: Unexpected token (83:4)
You may need an appropriate loader to handle this file type.
| }
| replaceTraps((oldTraps) => ({
|     ...oldTraps,
|     get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
|     has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),

Steps and code to reproduce issue

yarn install , yarn build

package json

{
  "name": "react-electron",
  "version": "1619680823496.0.0",
  "private": true,
  "author": "react-electron",
  "main": "public/electron.js",
  "description": "Electron sitting in a tree",
  "homepage": "./",
  "dependencies": {
    "@ant-design/icons": "^4.5.0",
    "@material-ui/core": "^4.11.0",
    "@material-ui/icons": "^4.9.1",
    "@react-oauth/google": "file:./custom_modules/@react-oauth/google",
    "@twilio/voice-sdk": "^2.3.2",
    "antd": "^4.15.5",
    "axios": "^0.21.1",
    "axios-progress-bar": "^1.2.0",
    "bootstrap": "^4.4.1",
    "concurrently": "4.1.2",
    "country-data": "0.0.31",
    "cross-env": "6.0.2",
    "crypto-js": "^4.0.0",
    "draft-js": "^0.11.7",
    "draftjs-to-html": "^0.9.1",
    "electron-is-dev": "1.1.0",
    "electron-log": "^3.0.8",
    "electron-packager": "^14.2.1",
    "electron-push-receiver": "^2.1.3",
    "electron-wix-msi": "^3.0.6",
    "firebase": "^9.23.0",
    "google-libphonenumber": "^3.2.32",
    "idb": "^7.1.1",
    "jssip": "^3.7.5",
    "ldclient-js": "^2.10.2",
    "libphonenumber-js": "^1.9.16",
    "lodash": "^4.17.15",
    "moment": "^2.29.4",
    "moment-duration-format": "^2.3.2",
    "moment-timezone": "^0.5.27",
    "pusher-js": "^6.0.3",
    "query-string": "^7.0.0",
    "rage-edit": "^1.2.0",
    "react": "^16.8.0",
    "react-bootstrap": "^1.0.0-beta.16",
    "react-clear-cache": "^1.1.0",
    "react-cookies": "^0.1.1",
    "react-debounce-input": "^3.2.2",
    "react-dom": "^16.8.0",
    "react-draft-wysiwyg": "^1.14.5",
    "react-flag-icon-css": "^1.0.25",
    "react-google-login": "^5.2.2",
    "react-google-recaptcha": "^2.1.0",
    "react-h5-audio-player": "^2.4.1",
    "react-infinite-scroll-component": "^5.0.4",
    "react-intl-tel-input": "^8.0.1",
    "react-linkify": "^1.0.0-alpha",
    "react-phone-input-2": "^2.15.0",
    "react-phone-number-input": "^3.0.21",
    "react-redux": "^5.0.7",
    "react-router-dom": "4.3.1",
    "react-router-redux": "^4.0.8",
    "react-scripts": "1.1.2",
    "react-switch": "^5.0.1",
    "react-tagify": "^0.1.3",
    "react-toggle-switch": "^3.0.4",
    "reactjs-tag-input": "^2.0.13",
    "redux": "^3.7.2",
    "redux-logger": "^3.0.6",
    "redux-thunk": "^2.2.0",
    "save-dev": "0.0.1-security",
    "serviceworker-webpack-plugin": "^0.2.3",
    "socket.io-client": "^2.3.0",
    "update-electron-app": "^1.2.0",
    "yarn": "^1.22.11"
  },
  "devDependencies": {
    "concurrently": "4.1.2",
    "electron": "6.0.11",
    "electron-builder": "^21.2.0",
    "prettier": "^1.4.4",
    "renamer": "^2.0.1",
    "replace-in-file": "^6.2.0",
    "wait-on": "3.3.0"
  },
  "build": {
    "appId": "react-electron",
    "win": {
      "target": [
        "nsis"
      ],
      "icon": "icon.ico",
      "requestedExecutionLevel": "requireAdministrator"
    },
    "nsis": {
      "installerIcon": "icon.ico",
      "uninstallerIcon": "icon.ico",
      "uninstallDisplayName": "react-electron",
      "license": "license.txt",
      "oneClick": false,
      "allowToChangeInstallationDirectory": true
    }
  },
  "files": [
    "*.js",
    "build",
    "node_modules"
  ],
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build && npm run build-rename",
    "build-rename": "npm run build-rename-js && npm run build-rename-css && npm run build-fix-index-js && npm run build-fix-index-css",
    "build-rename-js": "mv -v build/static/js/main.*.js build/static/js/main.js",
    "build-rename-css": "mv -v build/static/css/main.*.css build/static/css/main.css",
    "build-fix-index-js": "replace-in-file \"/main\\.[^\\.]+\\.js/i\" \"main.js\" build/index.html --isRegex",
    "build-fix-index-css": "replace-in-file \"/main\\.[^\\.]+\\.css/i\" \"main.css\" build/index.html --isRegex",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "electron-build": "electron-builder",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"react-electron\"",
    "package-linux": "electron-packager . --overwrite --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds",
    "build-installer": "node public/build-installer.js",
    "electron-start": "electron public/electron.js",
    "generate-build-version": "node ./update-build.js",
    "prebuild": "npm run generate-build-version"
  },
  "buildDate": 1687694182759
}
import { initializeApp } from "firebase/app";
import { getMessaging, getToken } from "firebase/messaging";

export function initializePush() {

  const firebaseConfig = {
    apiKey: `**********`,
    authDomain: `**********`,
    databaseURL: `**********`,
    projectId: `**********`,
    storageBucket: `**********`,
    messagingSenderId: `**********`,
    appId: `**********`
  };

  // Initialize Firebase
  const app = initializeApp(firebaseConfig);

  // Initialize Firebase Cloud Messaging and get a reference to the service
  const messaging = getMessaging(app);

  // Add the public key generated from the console here.
  getToken(messaging, { vapidKey: '****************************************************************************' }).then((currentToken) => {
    if (currentToken) {
      console.log("currentToken:", currentToken)
      // Send the token to your server and update the UI if necessary
      // ...
    } else {
      // Show permission request UI
      console.log('No registration token available. Request permission to generate one.');
      // ...
    }
  }).catch((err) => {
    console.log('An error occurred while retrieving token. ', err);
    // ...
  });
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions