The code was using a mix of .js ("import") and .cjs ("require") files. This makes it impossible to use from Vite/Vitess and harder to migrate from CommonJS to ESM in the near future.
Describe the changes in this PR
This converts all .cjs files to .js. Most of the change involves just renaming the files and changing require to import and module.exports to export default. But the .postcssrc.js file required an extra build step. That's because it's not capable of dealing with imports (I tried using .mjs and .ts - which both failed). Now the code it needs is pre-bundled so it can be required.
Using the "Compare Directories" feature in IntelliJ to compare the build output before and after the change, we can see that the only files that changed are:
components/Theme/script.js
utils/maker-colors.js
Taking a closer look at these two, it appears that this change caused Webpack to bundle these two files slightly differently. But the content appears to effectively be the same.
Describe the problem this PR addresses
The code was using a mix of
.js
("import") and.cjs
("require") files. This makes it impossible to use from Vite/Vitess and harder to migrate from CommonJS to ESM in the near future.Describe the changes in this PR
This converts all
.cjs
files to.js
. Most of the change involves just renaming the files and changingrequire
toimport
andmodule.exports
toexport default
. But the.postcssrc.js
file required an extra build step. That's because it's not capable of dealing withimport
s (I tried using.mjs
and.ts
- which both failed). Now the code it needs is pre-bundled so it can berequire
d.Using the "Compare Directories" feature in IntelliJ to compare the build output before and after the change, we can see that the only files that changed are:
components/Theme/script.js
utils/maker-colors.js
Taking a closer look at these two, it appears that this change caused Webpack to bundle these two files slightly differently. But the content appears to effectively be the same.