foo-software / lighthouse-persist

Uploads a Lighthouse report to your AWS S3 account.
12 stars 3 forks source link

Support Node.js ES Modules #6

Open adamhenson opened 4 years ago

adamhenson commented 4 years ago

Node.js now supports ES Modules. We should support it by exporting both CommonJS and ES modules as outlined in this article and this one.

I attempted this and got pretty far until I reached a blocker in which you need to explicitly define file extensions in the Node.js implementation as described in this issue (see below).

Allowed

import myModule from './myModule.js'

Not allowed

import myModule from './myModule'

Once this issue is addressed in Node.js, we can proceed with this support.

jacogr commented 3 years ago

Sorry for barging in... :)

So for the file extensions, since you use babel, I found this plugin useful - https://www.npmjs.com/package/babel-plugin-module-extension-resolver

(Not affiliated, not the author, just a user to solve the same file-extension madness in https://github.com/polkadot-js/dev/blob/master/packages/dev/config/babel-plugins.cjs#L26)

adamhenson commented 3 years ago

@jacogr - thanks for the feedback. This issue is about removing the dependency of Babel to ES modules on Node.js natively. Everything works correctly in its current state.