PSA: Please use `.mjs` file extension for in-tree ES modules

6 views
Skip to first unread message

Mark Banner

unread,
Mar 23, 2023, 7:38:11 AM3/23/23
to dev-pl...@mozilla.org, firefox-dev list

PSA: When landing new ES modules into the tree please use the `.mjs` file extension. For system ES modules, please continue using the `.sys.mjs` extension.

Using `.mjs` will automatically signal to ESLint and other tools that they are ES modules, rather than regular JavaScript files. Hence this will avoid you needing to manually tell ESLint via .eslintrc.js files.

This also turns on some other rules for the module files which are useful to have, for example, checking for no-unused-vars on the global scope.

If you have a specific case where for some reason `.mjs` can't be used, please have a chat in #lint:mozilla.org (Lint and Formatting) on Matrix and we can figure out an appropriate alternative.

There are some pre-existing cases of ES module files in the tree that still use `.js`, which we are working towards changing.

Mark.


Reply all
Reply to author
Forward
0 new messages