Migrate to ES6 modules

Configure project to use ES6 modules to enable top-level await
capabilities. This change helps project to align well with modern JS
standards.

- Set `type` to `module` in `package.json`.
- Use import/export syntax in Cypress configuration files.
- Rename configurations files that do not support modules to use
  the `.cjs` extension:
  - `vue.config.js` to `vue.config.cjs` (vuejs/vue-cli#4477).
  - `babel.config.js` to `babel.config.cjs (babel/babel-loader#894)
  - `.eslintrc.js` to `.eslintrc.cjs` (eslint/eslint#13440,
    eslint/eslint#14137)
  - `postcss.config.js` to `postcss.config.cjs` (postcss/postcss#1771)
- Provide a workaround for Vue CLI & Mocha ES6 modules conflict in
  Vue configuration file (vuejs/vue-cli#7417).
This commit is contained in:
undergroundwires
2023-08-17 18:50:14 +02:00
parent 6a20d804dc
commit a14929a13c
9 changed files with 21 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
import { defineConfig } from 'cypress'
import { defineConfig } from 'cypress';
import setupPlugins from './tests/e2e/plugins/index.js';
export default defineConfig({
fixturesFolder: 'tests/e2e/fixtures',
@@ -6,7 +7,7 @@ export default defineConfig({
videosFolder: 'tests/e2e/videos',
e2e: {
setupNodeEvents(on, config) {
return require('./tests/e2e/plugins/index.js')(on, config)
return setupPlugins(on, config);
},
specPattern: 'tests/e2e/specs/**/*.cy.{js,jsx,ts,tsx}',
supportFile: 'tests/e2e/support/index.js',