I am currently using babel in my project, including ES6 features not supported by the current version of node such as import/export. I do this by using the babel-register module when I run the app:
electron --require babel-register ./main.js
This doesn't work when using electron-packager packager though and I get syntax errors related to import when trying to run the executable:
SyntaxError: Unexpected token import
at Object.exports.runInThisContext (vm.js:78:16)
at Module._compile (module.js:543:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Object.<anonymous> (/Users/me/Desktop/electron-packager-babel-question/electron-packager-babel-question-darwin-x64/electron-packager-babel-question.app/Contents/Resources/electron.asar/browser/init.js:171:8)
at Object.<anonymous> (/Users/me/Desktop/electron-packager-babel-question/electron-packager-babel-question-darwin-x64/electron-packager-babel-question.app/Contents/Resources/electron.asar/browser/init.js:173:3)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
Is there anyway to tell electron-packager to run electron with the --require babel-register flag?
Console output when you run electron-packager with the environment variable DEBUG=electron-packager. Please include the stack trace if one exists.
> [email protected] package /Users/dave/Desktop/temp/electron-packager-babel-question
> electron-packager .
electron-packager Electron Packager 8.7.2 +0ms
electron-packager Node v6.11.0 +3ms
electron-packager Host Operating system: darwin (x64) +1ms
electron-packager Packager Options: {"_":["."],"all":false,"deref-symlinks":true,"download":{"strictSSL":true},"overwrite":false,"prune":true,"quiet":false,"dir":".","protocols":[]} +1ms
electron-packager Target Platforms: darwin +0ms
electron-packager Target Architectures: x64 +0ms
electron-packager Inferring application name from name in /Users/dave/Desktop/temp/electron-packager-babel-question/package.json +16ms
electron-packager Inferring appVersion from version in /Users/dave/Desktop/temp/electron-packager-babel-question/package.json +0ms
electron-packager Inferring target Electron version from electron in /Users/dave/Desktop/temp/electron-packager-babel-question/package.json +4ms
electron-packager Application name: electron-packager-babel-question +0ms
electron-packager Target Electron version: 1.6.12 +0ms
electron-packager Ignored path regular expressions: [ '/node_modules/electron($|/)',
'/node_modules/electron-prebuilt(-compile)?($|/)',
'/node_modules/electron-packager($|/)',
'/\\.git($|/)',
'/node_modules/\\.bin($|/)',
'\\.o(bj)?$' ] +1ms
electron-packager Downloading Electron with options {"strictSSL":true,"platform":"darwin","arch":"x64","version":"1.6.12"} +7ms
Packaging app for platform darwin x64 using electron v1.6.12
electron-packager Creating /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64-template +291ms
electron-packager Extracting /Users/dave/.electron/electron-v1.6.12-darwin-x64.zip to /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64-template +0ms
electron-packager Initializing app in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64 from /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64-template template +2s
electron-packager Ignored paths based on the out param: [ '/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-darwin-ia32',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-darwin-x64',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-darwin-armv7l',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-linux-ia32',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-linux-x64',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-linux-armv7l',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-mas-ia32',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-mas-x64',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-mas-armv7l',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-win32-ia32',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-win32-x64',
'/Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-win32-armv7l' ] +3ms
electron-packager Pruning modules via: npm prune --production +2s
electron-packager Renaming Electron to electron-packager-babel-question in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/MacOS +3s
electron-packager Renaming Electron Helper to electron-packager-babel-question Helper in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS +0ms
electron-packager Renaming Electron Helper.app to electron-packager-babel-question Helper.app in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks +1ms
electron-packager Renaming Electron Helper EH to electron-packager-babel-question Helper EH in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper EH.app/Contents/MacOS +0ms
electron-packager Renaming Electron Helper EH.app to electron-packager-babel-question Helper EH.app in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks +0ms
electron-packager Renaming Electron Helper NP to electron-packager-babel-question Helper NP in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper NP.app/Contents/MacOS +1ms
electron-packager Renaming Electron Helper NP.app to electron-packager-babel-question Helper NP.app in /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64/Electron.app/Contents/Frameworks +0ms
electron-packager Moving /var/folders/2k/pgyx4y5s0kxghmdmkbcj5xqw0000gn/T/electron-packager/darwin-x64/electron-packager-babel-question-darwin-x64 to /Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-darwin-x64 +0ms
Wrote new app to /Users/dave/Desktop/temp/electron-packager-babel-question/electron-packager-babel-question-darwin-x64
What command line arguments are you passing? Alternatively, if you are using the API, what
parameters are you passing to the packager() function?
None
Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-quick-start
is a good starting point.
This repository recreates the issue using a simple app.
Electron Packager does not support Babel directly. You should use either electron-compile or Electron Forge, which uses both Packager and electron-compile internally.
Got it, thank you for the suggestions.
@dland512 @malept
Hi David,
Can you please share with us how eventually you resolved the issue?
Thank you!
Please see my related question at SO: https://stackoverflow.com/questions/49556041/es6-is-not-supported-after-electron-packaging
@malept
How can I use the electron-compile package in order to resolve this issue? please suggest.
thank you!
@ynevet check the electron-compile docs to see how to configure Babel.
If you need more assistance, please visit one of the community sites, as this issue tracker is for bug reports and feature requests only.