Skip to content

Commit fa25060

Browse files
authored
fix: add dynamic-import support flag into esbuild invocation (#3369)
Fixes #3368 --------- Co-authored-by: markiewic <[email protected]>
1 parent 7740a2d commit fa25060

13 files changed

+154
-1
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export function importB() {
2+
return import('./b.mjs').then((module) => module.b);
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const b = 'b';
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { importB } from '../__test_modules__/a.mjs';
2+
3+
test('should work with dynamic import in mjs module', async () => {
4+
await expect(importB()).resolves.toBe('b');
5+
});
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/** @jest-config-loader esbuild-register */
2+
3+
import type { Config } from 'jest';
4+
5+
const config: Config = {
6+
displayName: 'e2e-dynamic-import-in-mjs',
7+
testEnvironment: 'jsdom',
8+
setupFilesAfterEnv: ['<rootDir>/../setup-test-env.ts'],
9+
transform: {
10+
'^.+\\.(ts|mjs|js|html)$': [
11+
'<rootDir>/../../build/index.js',
12+
{
13+
tsconfig: '<rootDir>/tsconfig-cjs.spec.json',
14+
stringifyContentPathRegex: '\\.(html|svg)$',
15+
},
16+
],
17+
},
18+
transformIgnorePatterns: ['node_modules/(?!(.*\\.mjs$|@angular/common/locales/.*\\.js$))'],
19+
};
20+
21+
export default config;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/** @jest-config-loader esbuild-register */
2+
3+
import type { Config } from 'jest';
4+
5+
const config: Config = {
6+
displayName: 'e2e-dynamic-import-in-mjs',
7+
testEnvironment: 'jsdom',
8+
setupFilesAfterEnv: ['<rootDir>/../setup-test-env.mts'],
9+
moduleNameMapper: {
10+
rxjs: '<rootDir>/../../node_modules/rxjs/dist/bundles/rxjs.umd.js',
11+
},
12+
extensionsToTreatAsEsm: ['.ts', '.mts'],
13+
transform: {
14+
'^.+\\.(ts|mts|mjs|js|html)$': [
15+
'<rootDir>/../../build/index.js',
16+
{
17+
useESM: true,
18+
tsconfig: '<rootDir>/tsconfig-esm.spec.json',
19+
stringifyContentPathRegex: '\\.(html|svg)$',
20+
},
21+
],
22+
},
23+
};
24+
25+
export default config;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/** @jest-config-loader esbuild-register */
2+
3+
import type { Config } from 'jest';
4+
5+
const config: Config = {
6+
displayName: 'e2e-dynamic-import-in-mjs',
7+
testEnvironment: 'jsdom',
8+
setupFilesAfterEnv: ['<rootDir>/../setup-test-env.ts'],
9+
transform: {
10+
'^.+\\.(ts|mjs|js|html)$': [
11+
'<rootDir>/../../build/index.js',
12+
{
13+
tsconfig: '<rootDir>/tsconfig-transpile-cjs.spec.json',
14+
stringifyContentPathRegex: '\\.(html|svg)$',
15+
},
16+
],
17+
},
18+
transformIgnorePatterns: ['node_modules/(?!(.*\\.mjs$|@angular/common/locales/.*\\.js$))'],
19+
};
20+
21+
export default config;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/** @jest-config-loader esbuild-register */
2+
3+
import type { Config } from 'jest';
4+
5+
const config: Config = {
6+
displayName: 'e2e-dynamic-import-in-mjs',
7+
testEnvironment: 'jsdom',
8+
setupFilesAfterEnv: ['<rootDir>/../setup-test-env.mts'],
9+
moduleNameMapper: {
10+
rxjs: '<rootDir>/../../node_modules/rxjs/dist/bundles/rxjs.umd.js',
11+
},
12+
extensionsToTreatAsEsm: ['.ts', '.mts'],
13+
transform: {
14+
'^.+\\.(ts|mts|mjs|js|html)$': [
15+
'<rootDir>/../../build/index.js',
16+
{
17+
useESM: true,
18+
tsconfig: '<rootDir>/tsconfig-transpile-esm.spec.json',
19+
stringifyContentPathRegex: '\\.(html|svg)$',
20+
},
21+
],
22+
},
23+
};
24+
25+
export default config;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "../../tsconfig-base.spec.json",
3+
"compilerOptions": {
4+
"isolatedModules": false,
5+
}
6+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "../../tsconfig-base.spec.json",
3+
"compilerOptions": {
4+
"module": "ES2022",
5+
"esModuleInterop": true,
6+
"isolatedModules": false
7+
}
8+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "./tsconfig-cjs.spec.json",
3+
"compilerOptions": {
4+
"isolatedModules": true,
5+
}
6+
}

0 commit comments

Comments
 (0)