Skip to content

Commit 1c078c9

Browse files
authored
Merge pull request #20726 from emberjs/extra-content-in-testing
[BUGFIX release] Remove unintentional duplication from ember-testing bundle
2 parents 8abcd00 + cb17142 commit 1c078c9

File tree

2 files changed

+46
-23
lines changed

2 files changed

+46
-23
lines changed

rollup.config.mjs

Lines changed: 45 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ const testDependencies = ['qunit', 'vite'];
1818

1919
export default [
2020
esmConfig(),
21-
legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.debug.js', true),
22-
legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.prod.js', false),
23-
legacyBundleConfig(
24-
'./broccoli/amd-compat-entrypoints/ember-testing.js',
25-
'ember-testing.js',
26-
true
27-
),
21+
legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.debug.js', {
22+
isDeveloping: true,
23+
}),
24+
legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.prod.js', {
25+
isDeveloping: false,
26+
}),
27+
legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember-testing.js', 'ember-testing.js', {
28+
isDeveloping: true,
29+
isExternal(source) {
30+
return !source.startsWith('ember-testing');
31+
},
32+
}),
2833
templateCompilerConfig(),
2934
];
3035

@@ -57,7 +62,7 @@ function esmConfig() {
5762
}),
5863
resolveTS(),
5964
version(),
60-
resolvePackages(exposedDependencies(), hiddenDependencies()),
65+
resolvePackages({ ...exposedDependencies(), ...hiddenDependencies() }),
6166
pruneEmptyBundles(),
6267
],
6368
};
@@ -67,7 +72,7 @@ function renameEntrypoints(entrypoints, fn) {
6772
return Object.fromEntries(Object.entries(entrypoints).map(([k, v]) => [fn(k), v]));
6873
}
6974

70-
function legacyBundleConfig(input, output, isDeveloping) {
75+
function legacyBundleConfig(input, output, { isDeveloping, isExternal }) {
7176
let babelConfig = { ...sharedBabelConfig };
7277

7378
babelConfig.plugins = [...babelConfig.plugins, buildDebugMacroPlugin(isDeveloping)];
@@ -87,6 +92,12 @@ function legacyBundleConfig(input, output, isDeveloping) {
8792
// modules and hands them to our classic AMD loader. All of those modules
8893
// need the __esModule marker too.
8994
freeze: false,
95+
96+
globals: (id) => {
97+
return `require('${id}')`;
98+
},
99+
100+
interop: 'esModule',
90101
},
91102
plugins: [
92103
amdDefineSupport(),
@@ -99,7 +110,7 @@ function legacyBundleConfig(input, output, isDeveloping) {
99110
}),
100111
resolveTS(),
101112
version(),
102-
resolvePackages(exposedDependencies(), hiddenDependencies()),
113+
resolvePackages({ ...exposedDependencies(), ...hiddenDependencies() }, isExternal),
103114
licenseAndLoader(),
104115
],
105116
};
@@ -272,7 +283,7 @@ function resolveTS() {
272283
};
273284
}
274285

275-
export function resolvePackages(...depsList) {
286+
export function resolvePackages(deps, isExternal) {
276287
return {
277288
enforce: 'pre',
278289
name: 'resolve-packages',
@@ -289,10 +300,12 @@ export function resolvePackages(...depsList) {
289300
return { external: true, id: pkgName };
290301
}
291302

292-
for (let deps of depsList) {
293-
if (deps[source]) {
294-
return deps[source];
295-
}
303+
if (isExternal?.(source)) {
304+
return { external: true, id: source };
305+
}
306+
307+
if (deps[source]) {
308+
return deps[source];
296309
}
297310

298311
let candidateStem = resolve(projectRoot, 'packages', source);
@@ -419,19 +432,29 @@ function templateCompilerConfig() {
419432
// need to be discovered from ember.debug.js instead when running in the
420433
// browser, and stubbed to ember-template-compiler.js in node.
421434
const externals = {
422-
'@ember/template-compilation': `{ __registerTemplateCompiler(){} }`,
435+
'@ember/template-compilation': `{
436+
__esModule: true,
437+
__registerTemplateCompiler(){},
438+
}`,
423439
ember: `{
424-
get ENV() { return require('@ember/-internals/environment').ENV },
425-
get FEATURES() { return require('@ember/canary-features').FEATURES },
426-
get VERSION() { return require('ember/version').default },
440+
__esModule: true,
441+
default: {
442+
get ENV() { return require('@ember/-internals/environment').ENV },
443+
get FEATURES() { return require('@ember/canary-features').FEATURES },
444+
get VERSION() { return require('ember/version').default },
445+
},
446+
}`,
447+
'@ember/-internals/glimmer': `{
448+
__esModule: true,
449+
}`,
450+
'@ember/application': `{
451+
__esModule: true,
427452
}`,
428-
'@ember/-internals/glimmer': `{ template: undefined }`,
429-
'@ember/application': `undefined`,
430453
};
431454
let config = legacyBundleConfig(
432455
'./broccoli/amd-compat-entrypoints/ember-template-compiler.js',
433456
'ember-template-compiler.js',
434-
true
457+
{ isDeveloping: true }
435458
);
436459
config.plugins.unshift({
437460
enforce: 'pre',

vite.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default defineConfig(({ mode }) => {
2525
extensions: ['.js', '.ts'],
2626
configFile: resolve(dirname(fileURLToPath(import.meta.url)), './babel.test.config.mjs'),
2727
}),
28-
resolvePackages(exposedDependencies(), hiddenDependencies()),
28+
resolvePackages({ ...exposedDependencies(), ...hiddenDependencies() }),
2929
viteResolverBug(),
3030
version(),
3131
],

0 commit comments

Comments
 (0)