Skip to content

Commit f7cb1c7

Browse files
committed
Enable configurable module format
1 parent 8ed86e6 commit f7cb1c7

13 files changed

+4
-51
lines changed

docs/06-configuration.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ export default {
240240
241241
Node.js can only load non-standard extension as ES Modules when using [experimental loaders](https://nodejs.org/docs/latest/api/esm.html#esm_experimental_loaders). To use this you'll also have to configure AVA to `import()` your test file.
242242

243-
This is still an experimental feature. You can opt in to it by enabling the `configurableModuleFormat` experiment. Afterwards, you'll be able to specify per-extension module formats using an object form.
243+
This is an experimental feature in AVA 3. You can opt in to it by enabling the `configurableModuleFormat` experiment. Afterwards, you'll be able to specify per-extension module formats using an object form.
244+
245+
This feature is available by default in AVA 4.
244246
245247
As with the array form, you need to explicitly list `js`, `cjs`, and `mjs` extensions. These **must** be set using the `true` value; other extensions are configurable using either `'commonjs'` or `'module'`:
246248

lib/load-config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ const pkgConf = require('pkg-conf');
99
const NO_SUCH_FILE = Symbol('no ava.config.js file');
1010
const MISSING_DEFAULT_EXPORT = Symbol('missing default export');
1111
const EXPERIMENTS = new Set([
12-
'configurableModuleFormat',
1312
'disableNullExpectations',
1413
'disableSnapshotsInHooks',
1514
'nextGenConfig',

lib/module-types.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const deriveFromArray = (extensions, defaultModuleType) => {
5454
return moduleTypes;
5555
};
5656

57-
module.exports = (configuredExtensions, defaultModuleType, experiments) => {
57+
module.exports = (configuredExtensions, defaultModuleType) => {
5858
if (configuredExtensions === undefined) {
5959
return {
6060
cjs: 'commonjs',
@@ -67,9 +67,5 @@ module.exports = (configuredExtensions, defaultModuleType, experiments) => {
6767
return deriveFromArray(configuredExtensions, defaultModuleType);
6868
}
6969

70-
if (!experiments.configurableModuleFormat) {
71-
throw new Error('You must enable the `configurableModuleFormat` experiment in order to specify module types');
72-
}
73-
7470
return deriveFromObject(configuredExtensions, defaultModuleType);
7571
};

test/configurable-module-format/experimental.js

Lines changed: 0 additions & 8 deletions
This file was deleted.

test/configurable-module-format/fixtures/bad-custom-type.config.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,5 @@ export default {
22
extensions: {
33
js: true,
44
ts: 'cjs'
5-
},
6-
nonSemVerExperiments: {
7-
configurableModuleFormat: true
85
}
96
};
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
export default {
22
extensions: {
33
cjs: 'module'
4-
},
5-
nonSemVerExperiments: {
6-
configurableModuleFormat: true
74
}
85
};
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
export default {
22
extensions: {
33
js: 'module'
4-
},
5-
nonSemVerExperiments: {
6-
configurableModuleFormat: true
74
}
85
};
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
export default {
22
extensions: {
33
mjs: 'commonjs'
4-
},
5-
nonSemVerExperiments: {
6-
configurableModuleFormat: true
74
}
85
};

test/configurable-module-format/fixtures/not-enabled.config.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/configurable-module-format/fixtures/object-custom.config.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,5 @@ export default {
22
extensions: {
33
js: true,
44
ts: 'commonjs'
5-
},
6-
nonSemVerExperiments: {
7-
configurableModuleFormat: true
85
}
96
};

0 commit comments

Comments
 (0)