Skip to content

Commit 6a88c7c

Browse files
authored
[BUGFIX release] rollup step should deactivate ember modules polyfill >= 3.27 (#7552)
* [BUGFIX] rollup step should deactivate ember modules polyfill >= 3.27 (#7527) * disable modules polyfills when transpiling for rollup * implement fix * fix lint * fix expansion * better comment * fix lint
1 parent d431556 commit 6a88c7c

File tree

22 files changed

+285
-70
lines changed

22 files changed

+285
-70
lines changed

package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@
6969
"command-line-args": "^5.1.1",
7070
"common-tags": "^1.8.0",
7171
"debug": "^4.1.1",
72-
"ember-cli": "~3.25.0",
73-
"ember-cli-app-version": "^3.2.0",
74-
"ember-cli-babel": "^7.26.3",
72+
"ember-cli": "~3.26.1",
73+
"ember-cli-app-version": "^5.0.0",
74+
"ember-cli-babel": "^7.26.6",
7575
"ember-cli-blueprint-test-helpers": "^0.19.1",
7676
"ember-cli-dependency-checker": "^3.2.0",
7777
"ember-cli-htmlbars": "^5.1.2",
@@ -88,7 +88,6 @@
8888
"ember-cli-version-checker": "^5.1.1",
8989
"ember-cli-yuidoc": "^0.9.1",
9090
"ember-compatibility-helpers": "^1.2.0",
91-
"ember-decorators-polyfill": "^1.1.5",
9291
"ember-disable-prototype-extensions": "^1.1.3",
9392
"ember-export-application-global": "^2.0.1",
9493
"ember-load-initializers": "^2.1.1",

packages/-ember-data/ember-cli-build.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module.exports = function(defaults) {
1616
},
1717
'ember-cli-babel': {
1818
throwUnlessParallelizable: true,
19+
includeExternalHelpers: true,
1920
},
2021
'ember-cli-terser': {
2122
exclude: ['assets/dummy.js', 'assets/tests.js', 'assets/test-support.js', 'dist/docs/*', 'docs/*'],

packages/-ember-data/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"@ember/string": "^1.0.0",
3535
"@glimmer/env": "^0.1.7",
3636
"broccoli-merge-trees": "^4.2.0",
37-
"ember-cli-babel": "^7.26.3",
38-
"ember-cli-typescript": "^4.0.0",
37+
"ember-cli-babel": "^7.26.6",
38+
"ember-cli-typescript": "^4.1.0",
3939
"ember-inflector": "^4.0.1"
4040
},
4141
"devDependencies": {
@@ -68,7 +68,6 @@
6868
"ember-cli-typescript-blueprints": "^3.0.0",
6969
"ember-cli-yuidoc": "^0.9.1",
7070
"ember-compatibility-helpers": "^1.2.0",
71-
"ember-decorators-polyfill": "^1.1.5",
7271
"ember-disable-prototype-extensions": "^1.1.3",
7372
"ember-export-application-global": "^2.0.1",
7473
"ember-load-initializers": "^2.1.1",

packages/adapter/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@ember-data/store": "3.27.0",
2525
"@ember/edition-utils": "^1.2.0",
2626
"@ember/string": "^1.0.0",
27-
"ember-cli-babel": "^7.26.3",
27+
"ember-cli-babel": "^7.26.6",
2828
"ember-cli-test-info": "^1.0.0",
2929
"ember-cli-typescript": "^4.0.0"
3030
},
@@ -61,4 +61,4 @@
6161
"node": "12.16.2",
6262
"yarn": "1.22.4"
6363
}
64-
}
64+
}

packages/canary-features/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
},
1515
"scripts": {},
1616
"dependencies": {
17-
"ember-cli-babel": "^7.26.3",
18-
"ember-cli-typescript": "^4.0.0"
17+
"ember-cli-babel": "^7.26.6",
18+
"ember-cli-typescript": "^4.1.0"
1919
},
2020
"devDependencies": {
2121
"babel-plugin-debug-macros": "^0.3.3",

packages/debug/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"@ember-data/private-build-infra": "3.27.0",
2323
"@ember/edition-utils": "^1.2.0",
2424
"@ember/string": "^1.0.0",
25-
"ember-cli-babel": "^7.26.3",
25+
"ember-cli-babel": "^7.26.6",
2626
"ember-cli-test-info": "^1.0.0",
2727
"ember-cli-typescript": "^4.0.0"
2828
},
@@ -59,4 +59,4 @@
5959
"node": "12.16.2",
6060
"yarn": "1.22.4"
6161
}
62-
}
62+
}

packages/model/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"@ember-data/store": "3.27.0",
2727
"@ember/edition-utils": "^1.2.0",
2828
"@ember/string": "^1.0.0",
29-
"ember-cli-babel": "^7.26.3",
29+
"ember-cli-babel": "^7.26.6",
3030
"ember-cli-string-utils": "^1.1.0",
3131
"ember-cli-test-info": "^1.0.0",
3232
"ember-cli-typescript": "^4.0.0",

packages/private-build-infra/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"broccoli-rollup": "^4.1.1",
2828
"calculate-cache-key-for-tree": "^2.0.0",
2929
"chalk": "^4.0.0",
30-
"ember-cli-babel": "^7.26.3",
30+
"ember-cli-babel": "^7.26.6",
3131
"ember-cli-path-utils": "^1.0.0",
3232
"ember-cli-string-utils": "^1.1.0",
3333
"ember-cli-typescript": "^3.1.3",
@@ -48,4 +48,4 @@
4848
"node": "12.16.2",
4949
"yarn": "1.22.4"
5050
}
51-
}
51+
}

packages/private-build-infra/src/addon-build-config-for-data-package.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const calculateCacheKeyForTree = require('calculate-cache-key-for-tree');
22
const Funnel = require('broccoli-funnel');
33
const merge = require('broccoli-merge-trees');
44
const BroccoliDebug = require('broccoli-debug');
5+
const VersionChecker = require('ember-cli-version-checker');
56

67
const rollupPrivateModule = require('./utilities/rollup-private-module');
78

@@ -150,11 +151,28 @@ function addonBuildConfigForDataPackage(PackageName) {
150151
this._setupBabelOptions();
151152

152153
let babel = this.addons.find(addon => addon.name === 'ember-cli-babel');
154+
let externalDeps = this.externalDependenciesForPrivateModule();
155+
156+
const host = this._findHost();
157+
158+
// don't print this for consumers
159+
if (this.isDevelopingAddon()) {
160+
// eslint-disable-next-line no-console
161+
console.log(
162+
`Rolling up ${this.name} private modules with the following external dependencies: ['${externalDeps.join(
163+
"', '"
164+
)}']`
165+
);
166+
}
167+
let checker = new VersionChecker(this.project);
168+
let emberVersion = checker.for('ember-source');
153169

154170
let privateTree = rollupPrivateModule(tree, {
155171
packageName: PackageName,
156172
babelCompiler: babel,
157173
babelOptions: this.options.babel,
174+
emberVersion: emberVersion,
175+
emberCliBabelOptions: host.options && host.options['ember-cli-babel'] ? host.options['ember-cli-babel'] : {},
158176
onWarn: this._suppressUneededRollupWarnings.bind(this),
159177
externalDependencies: this.externalDependenciesForPrivateModule(),
160178
destDir: this.getOutputDirForVersion(),

packages/private-build-infra/src/utilities/rollup-private-module.js

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,53 @@ module.exports = function rollupPrivateModule(tree, options) {
1212
destDir: '-private',
1313
});
1414

15+
const emberCliBabelOptions = {
16+
// we leave our output as valid ES
17+
// for the consuming app's config to transpile as desired
18+
// so we don't want to compileModules to amd here
19+
compileModules: false,
20+
21+
// we never need this on our own stuff
22+
disableEmberDataPackagesPolyfill: true,
23+
24+
// TODO for the embroider world we want to leave our -private module
25+
// as an es module and only transpile the few things we genuinely care about.
26+
// ideally this would occur as a pre-publish step so that consuming apps would
27+
// just see a `-private.js` file and not pay any additional costs.
28+
// CURRENTLY we transpile the -private module fully acccording to the
29+
// consuming app's config, so we must leave these enabled.
30+
disablePresetEnv: false,
31+
disableDebugTooling: false,
32+
disableDecoratorTransforms: false,
33+
34+
throwUnlessParallelizable: true,
35+
36+
// consuming app will take care of this if needed,
37+
// we don't need to also include
38+
includePolyfill: false,
39+
40+
// defer to consuming app's selection
41+
// necessary as only consuming app can set this, must only have
42+
// one copy
43+
includeExternalHelpers: options.emberCliBabelOptions.includeExternalHelpers || false,
44+
45+
extensions: ['js', 'ts'],
46+
};
47+
48+
// and we don't want
49+
// to convert imports to globals when real modules is possible
50+
// this is necessary because compileModules: false forces globals
51+
// conversion without it.
52+
if (options.emberVersion.gte('3.27.0')) {
53+
// TODO should we just set this all the time?
54+
// yes, this needs to be "false" to disable it in 3.27+
55+
// when compileModules is false (which it is)
56+
emberCliBabelOptions.disableEmberModulesAPIPolyfill = false;
57+
}
58+
1559
let privateTree = babelCompiler.transpileTree(debugTree(withPrivate, 'babel-private:input'), {
1660
babel: babelOptions,
17-
'ember-cli-babel': {
18-
compileModules: false,
19-
extensions: ['js', 'ts'],
20-
},
61+
'ember-cli-babel': emberCliBabelOptions,
2162
});
2263

2364
privateTree = debugTree(privateTree, 'babel-private:output');
@@ -27,7 +68,7 @@ module.exports = function rollupPrivateModule(tree, options) {
2768
output: [
2869
{
2970
file: `${packageName}/-private.js`,
30-
format: babelCompiler.shouldCompileModules() ? 'amd' : 'es',
71+
format: 'amd',
3172
amd: { id: `${packageName}/-private` },
3273
exports: 'named',
3374
},

packages/record-data/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@ember-data/store": "3.27.0",
2525
"@ember/edition-utils": "^1.2.0",
2626
"@ember/ordered-set": "^4.0.0",
27-
"ember-cli-babel": "^7.26.3",
27+
"ember-cli-babel": "^7.26.6",
2828
"ember-cli-test-info": "^1.0.0",
2929
"ember-cli-typescript": "^4.0.0"
3030
},

packages/serializer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"dependencies": {
2424
"@ember-data/private-build-infra": "3.27.0",
2525
"@ember-data/store": "3.27.0",
26-
"ember-cli-babel": "^7.26.3",
26+
"ember-cli-babel": "^7.26.6",
2727
"ember-cli-test-info": "^1.0.0",
2828
"ember-cli-typescript": "^4.0.0"
2929
},

packages/store/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"@ember-data/canary-features": "3.27.0",
2424
"@ember-data/private-build-infra": "3.27.0",
2525
"@ember/string": "^1.0.0",
26-
"ember-cli-babel": "^7.26.3",
26+
"@glimmer/tracking": "^1.0.4",
27+
"ember-cli-babel": "^7.26.6",
2728
"ember-cli-path-utils": "^1.0.0",
2829
"ember-cli-typescript": "^4.0.0",
2930
"heimdalljs": "^0.3.0"

packages/unpublished-adapter-encapsulation-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"@ember-data/unpublished-test-infra": "3.27.0",
3030
"@ember/optional-features": "^1.3.0",
3131
"broccoli-asset-rev": "^3.0.0",
32-
"ember-cli": "~3.25.0",
33-
"ember-cli-app-version": "^3.2.0",
34-
"ember-cli-babel": "^7.26.3",
32+
"ember-cli": "~3.26.1",
33+
"ember-cli-app-version": "^5.0.0",
34+
"ember-cli-babel": "^7.26.6",
3535
"ember-cli-dependency-checker": "^3.2.0",
3636
"ember-cli-htmlbars": "^5.1.2",
3737
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-debug-encapsulation-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
"@ember-data/unpublished-test-infra": "3.27.0",
2929
"@ember/optional-features": "^1.3.0",
3030
"broccoli-asset-rev": "^3.0.0",
31-
"ember-cli": "~3.25.0",
32-
"ember-cli-app-version": "^3.2.0",
33-
"ember-cli-babel": "^7.26.3",
31+
"ember-cli": "~3.26.1",
32+
"ember-cli-app-version": "^5.0.0",
33+
"ember-cli-babel": "^7.26.6",
3434
"ember-cli-dependency-checker": "^3.2.0",
3535
"ember-cli-htmlbars": "^5.1.2",
3636
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-fastboot-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
"@types/qunit": "^2.5.3",
3232
"@types/rsvp": "^4.0.3",
3333
"broccoli-asset-rev": "^3.0.0",
34-
"ember-cli": "~3.25.0",
35-
"ember-cli-app-version": "^3.2.0",
36-
"ember-cli-babel": "^7.26.3",
34+
"ember-cli": "~3.26.1",
35+
"ember-cli-app-version": "^5.0.0",
36+
"ember-cli-babel": "^7.26.6",
3737
"ember-cli-dependency-checker": "^3.2.0",
3838
"ember-cli-fastboot": "^2.2.1",
3939
"ember-cli-fastboot-testing": "^0.2.3",

packages/unpublished-model-encapsulation-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"@ember-data/unpublished-test-infra": "3.27.0",
3030
"@ember/optional-features": "^1.3.0",
3131
"broccoli-asset-rev": "^3.0.0",
32-
"ember-cli": "~3.25.0",
33-
"ember-cli-app-version": "^3.2.0",
34-
"ember-cli-babel": "^7.26.3",
32+
"ember-cli": "~3.26.1",
33+
"ember-cli-app-version": "^5.0.0",
34+
"ember-cli-babel": "^7.26.6",
3535
"ember-cli-dependency-checker": "^3.2.0",
3636
"ember-cli-htmlbars": "^5.1.2",
3737
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-record-data-encapsulation-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"@ember-data/unpublished-test-infra": "3.27.0",
3030
"@ember/optional-features": "^1.3.0",
3131
"broccoli-asset-rev": "^3.0.0",
32-
"ember-cli": "~3.25.0",
33-
"ember-cli-app-version": "^3.2.0",
34-
"ember-cli-babel": "^7.26.3",
32+
"ember-cli": "~3.26.1",
33+
"ember-cli-app-version": "^5.0.0",
34+
"ember-cli-babel": "^7.26.6",
3535
"ember-cli-dependency-checker": "^3.2.0",
3636
"ember-cli-htmlbars": "^5.1.2",
3737
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-relationship-performance-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
"@ember-data/unpublished-test-infra": "3.27.0",
2525
"@ember/optional-features": "^1.3.0",
2626
"broccoli-asset-rev": "^3.0.0",
27-
"ember-cli": "~3.25.0",
28-
"ember-cli-app-version": "^3.2.0",
29-
"ember-cli-babel": "^7.26.3",
27+
"ember-cli": "~3.26.1",
28+
"ember-cli-app-version": "^5.0.0",
29+
"ember-cli-babel": "^7.26.6",
3030
"ember-cli-dependency-checker": "^3.2.0",
3131
"ember-cli-htmlbars": "^5.1.2",
3232
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-serializer-encapsulation-test-app/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
"@ember-data/unpublished-test-infra": "3.27.0",
2929
"@ember/optional-features": "^1.3.0",
3030
"broccoli-asset-rev": "^3.0.0",
31-
"ember-cli": "~3.25.0",
32-
"ember-cli-app-version": "^3.2.0",
33-
"ember-cli-babel": "^7.26.3",
31+
"ember-cli": "~3.26.1",
32+
"ember-cli-app-version": "^5.0.0",
33+
"ember-cli-babel": "^7.26.6",
3434
"ember-cli-dependency-checker": "^3.2.0",
3535
"ember-cli-htmlbars": "^5.1.2",
3636
"ember-cli-inject-live-reload": "^2.0.2",

packages/unpublished-test-infra/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"dependencies": {
2020
"@ember-data/private-build-infra": "3.27.0",
2121
"@ember/edition-utils": "^1.2.0",
22-
"ember-cli-babel": "^7.26.3",
22+
"ember-cli-babel": "^7.26.6",
2323
"ember-cli-blueprint-test-helpers": "^0.19.2",
2424
"ember-cli-typescript": "^4.0.0",
2525
"ember-get-config": "^0.2.4",
@@ -55,4 +55,4 @@
5555
"node": "12.16.2",
5656
"yarn": "1.22.4"
5757
}
58-
}
58+
}

0 commit comments

Comments
 (0)