Electron-packager: Is babel supported?

Created on 21 Aug 2017  路  5Comments  路  Source: electron/electron-packager

  • [x] I have read the contribution documentation for this project.
  • [x] I agree to follow the code of conduct that this project follows, as appropriate.
  • [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

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.

question

All 5 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

corvinrok picture corvinrok  路  4Comments

kdawg1406 picture kdawg1406  路  4Comments

Liam-Ryan picture Liam-Ryan  路  4Comments

Orrison picture Orrison  路  3Comments

andreabisello picture andreabisello  路  3Comments