Skip to content

Commit e92a861

Browse files
crisbetoandrewseguin
authored andcommitted
build: switch dev app system config to es5 (#16853)
Currently the `system-config.js` is loaded in directly and it's written in ES6. This breaks loading the dev app in some older browsers that don't support it. These changes rewrite the file to ES5. (cherry picked from commit 809d991)
1 parent 8d46f95 commit e92a861

File tree

1 file changed

+93
-82
lines changed

1 file changed

+93
-82
lines changed

src/dev-app/system-config.js

Lines changed: 93 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
const CDK_PACKAGES = [
9+
// Note that this file isn't being transpiled so we need to keep it in ES5.
10+
11+
var CDK_PACKAGES = [
1012
'a11y',
1113
'accordion',
1214
'bidi',
@@ -26,13 +28,13 @@ const CDK_PACKAGES = [
2628
'tree',
2729
];
2830

29-
const CDK_EXPERIMENTAL_PACKAGES = [
31+
var CDK_EXPERIMENTAL_PACKAGES = [
3032
'dialog',
3133
'popover-edit',
3234
'scrolling',
3335
];
3436

35-
const MATERIAL_PACKAGES = [
37+
var MATERIAL_PACKAGES = [
3638
'autocomplete', 'badge',
3739
'bottom-sheet', 'button',
3840
'button-toggle', 'card',
@@ -53,11 +55,11 @@ const MATERIAL_PACKAGES = [
5355
'tree',
5456
];
5557

56-
const GOOGLE_MAPS_PACKAGES = [
58+
var GOOGLE_MAPS_PACKAGES = [
5759
'google-map',
5860
];
5961

60-
const MATERIAL_EXPERIMENTAL_PACKAGES = [
62+
var MATERIAL_EXPERIMENTAL_PACKAGES = [
6163
'mdc-button',
6264
'mdc-card',
6365
'mdc-checkbox',
@@ -71,13 +73,13 @@ const MATERIAL_EXPERIMENTAL_PACKAGES = [
7173
];
7274

7375
/** Bazel runfile path referring to the "src/" folder of the project. */
74-
const srcRunfilePath = 'angular_material/src';
76+
var srcRunfilePath = 'angular_material/src';
7577

7678
/** Path mappings that will be registered in SystemJS. */
77-
const pathMapping = {};
79+
var pathMapping = {};
7880

7981
/** Package configurations that will be used in SystemJS. */
80-
const packagesConfig = {};
82+
var packagesConfig = {};
8183

8284
// Configure all primary entry-points.
8385
configureEntryPoint('cdk');
@@ -88,88 +90,97 @@ configureEntryPoint('material-examples');
8890
configureEntryPoint('material-moment-adapter');
8991

9092
// Configure all secondary entry-points.
91-
CDK_PACKAGES.forEach(pkgName => configureEntryPoint('cdk', pkgName));
92-
CDK_EXPERIMENTAL_PACKAGES.forEach(pkgName => configureEntryPoint('cdk-experimental', pkgName));
93-
MATERIAL_EXPERIMENTAL_PACKAGES.forEach(
94-
pkgName => configureEntryPoint('material-experimental', pkgName));
95-
MATERIAL_PACKAGES.forEach(pkgName => configureEntryPoint('material', pkgName));
96-
GOOGLE_MAPS_PACKAGES.forEach(pkgName => configureEntryPoint('google-maps', pkgName));
93+
CDK_PACKAGES.forEach(function(pkgName) {
94+
configureEntryPoint('cdk', pkgName);
95+
});
96+
CDK_EXPERIMENTAL_PACKAGES.forEach(function(pkgName) {
97+
configureEntryPoint('cdk-experimental', pkgName);
98+
});
99+
MATERIAL_EXPERIMENTAL_PACKAGES.forEach(function(pkgName) {
100+
configureEntryPoint('material-experimental', pkgName);
101+
});
102+
MATERIAL_PACKAGES.forEach(function(pkgName) {
103+
configureEntryPoint('material', pkgName);
104+
});
105+
GOOGLE_MAPS_PACKAGES.forEach(function(pkgName) {
106+
configureEntryPoint('google-maps', pkgName);
107+
});
97108

98109
/** Configures the specified package and its entry-point. */
99110
function configureEntryPoint(pkgName, entryPoint) {
100111
if (entryPoint === undefined) {
101-
pathMapping[`@angular/${pkgName}`] = `${srcRunfilePath}/${pkgName}`;
102-
packagesConfig[`${srcRunfilePath}/${pkgName}`] = {main: 'index.js'};
112+
pathMapping['@angular/' + pkgName] = srcRunfilePath + '/' + pkgName;
113+
packagesConfig[srcRunfilePath + '/' + pkgName] = {main: 'index.js'};
103114
} else {
104-
pathMapping[`@angular/${pkgName}/${entryPoint}`] = `${srcRunfilePath}/${pkgName}/${entryPoint}`;
105-
packagesConfig[`${srcRunfilePath}/${pkgName}/${entryPoint}`] = {main: 'index.js'};
115+
pathMapping['@angular/' + pkgName + '/' + entryPoint] =
116+
srcRunfilePath + '/' + pkgName + '/' + entryPoint;
117+
packagesConfig[srcRunfilePath + '/' + pkgName + '/' + entryPoint] = {main: 'index.js'};
106118
}
107119
}
108120

121+
var map = Object.assign({
122+
'main': 'main.js',
123+
'tslib': 'tslib/tslib.js',
124+
'moment': 'moment/min/moment-with-locales.min.js',
125+
126+
'rxjs': 'rxjs/bundles/rxjs.umd.min.js',
127+
'rxjs/operators': 'system-rxjs-operators.js',
128+
129+
// MDC Web
130+
'@material/animation': '@material/animation/dist/mdc.animation.js',
131+
'@material/auto-init': '@material/auto-init/dist/mdc.autoInit.js',
132+
'@material/base': '@material/base/dist/mdc.base.js',
133+
'@material/checkbox': '@material/checkbox/dist/mdc.checkbox.js',
134+
'@material/chips': '@material/chips/dist/mdc.chips.js',
135+
'@material/dialog': '@material/dialog/dist/mdc.dialog.js',
136+
'@material/dom': '@material/dom/dist/mdc.dom.js',
137+
'@material/drawer': '@material/drawer/dist/mdc.drawer.js',
138+
'@material/floating-label': '@material/floating-label/dist/mdc.floatingLabel.js',
139+
'@material/form-field': '@material/form-field/dist/mdc.formField.js',
140+
'@material/grid-list': '@material/grid-list/dist/mdc.gridList.js',
141+
'@material/icon-button': '@material/icon-button/dist/mdc.iconButton.js',
142+
'@material/line-ripple': '@material/line-ripple/dist/mdc.lineRipple.js',
143+
'@material/linear-progress': '@material/linear-progress/dist/mdc.linearProgress.js',
144+
'@material/list': '@material/list/dist/mdc.list.js',
145+
'@material/menu': '@material/menu/dist/mdc.menu.js',
146+
'@material/menu-surface': '@material/menu-surface/dist/mdc.menuSurface.js',
147+
'@material/notched-outline': '@material/notched-outline/dist/mdc.notchedOutline.js',
148+
'@material/radio': '@material/radio/dist/mdc.radio.js',
149+
'@material/ripple': '@material/ripple/dist/mdc.ripple.js',
150+
'@material/select': '@material/select/dist/mdc.select.js',
151+
'@material/slider': '@material/slider/dist/mdc.slider.js',
152+
'@material/snackbar': '@material/snackbar/dist/mdc.snackbar.js',
153+
'@material/switch': '@material/switch/dist/mdc.switch.js',
154+
'@material/tab': '@material/tab/dist/mdc.tab.js',
155+
'@material/tab-bar': '@material/tab-bar/dist/mdc.tabBar.js',
156+
'@material/tab-indicator': '@material/tab-indicator/dist/mdc.tabIndicator.js',
157+
'@material/tab-scroller': '@material/tab-scroller/dist/mdc.tabScroller.js',
158+
'@material/text-field': '@material/textfield/dist/mdc.textfield.js',
159+
'@material/top-app-bar': '@material/top-app-bar/dist/mdc.topAppBar.js'
160+
}, pathMapping);
161+
162+
var packages = Object.assign({
163+
// Set the default extension for the root package, because otherwise the dev-app can't
164+
// be built within the production mode. Due to missing file extensions.
165+
'.': {defaultExtension: 'js'},
166+
167+
// Angular specific mappings.
168+
'@angular/core': {main: 'bundles/core.umd.js'},
169+
'@angular/common': {main: 'bundles/common.umd.js'},
170+
'@angular/common/http': {main: '../bundles/common-http.umd.js'},
171+
'@angular/compiler': {main: 'bundles/compiler.umd.js'},
172+
'@angular/forms': {main: 'bundles/forms.umd.js'},
173+
'@angular/animations': {main: 'bundles/animations.umd.js'},
174+
'@angular/elements': {main: 'bundles/elements.umd.js'},
175+
'@angular/router': {main: 'bundles/router.umd.js'},
176+
'@angular/animations/browser': {main: '../bundles/animations-browser.umd.js'},
177+
'@angular/platform-browser/animations': {main: '../bundles/platform-browser-animations.umd'},
178+
'@angular/platform-browser': {main: 'bundles/platform-browser.umd.js'},
179+
'@angular/platform-browser-dynamic': {main: 'bundles/platform-browser-dynamic.umd.js'},
180+
}, packagesConfig);
181+
109182
// Configure the base path and map the different node packages.
110183
System.config({
111-
map: {
112-
'main': 'main.js',
113-
'tslib': 'tslib/tslib.js',
114-
'moment': 'moment/min/moment-with-locales.min.js',
115-
116-
'rxjs': 'rxjs/bundles/rxjs.umd.min.js',
117-
'rxjs/operators': 'system-rxjs-operators.js',
118-
119-
// MDC Web
120-
'@material/animation': '@material/animation/dist/mdc.animation.js',
121-
'@material/auto-init': '@material/auto-init/dist/mdc.autoInit.js',
122-
'@material/base': '@material/base/dist/mdc.base.js',
123-
'@material/checkbox': '@material/checkbox/dist/mdc.checkbox.js',
124-
'@material/chips': '@material/chips/dist/mdc.chips.js',
125-
'@material/dialog': '@material/dialog/dist/mdc.dialog.js',
126-
'@material/dom': '@material/dom/dist/mdc.dom.js',
127-
'@material/drawer': '@material/drawer/dist/mdc.drawer.js',
128-
'@material/floating-label': '@material/floating-label/dist/mdc.floatingLabel.js',
129-
'@material/form-field': '@material/form-field/dist/mdc.formField.js',
130-
'@material/grid-list': '@material/grid-list/dist/mdc.gridList.js',
131-
'@material/icon-button': '@material/icon-button/dist/mdc.iconButton.js',
132-
'@material/line-ripple': '@material/line-ripple/dist/mdc.lineRipple.js',
133-
'@material/linear-progress': '@material/linear-progress/dist/mdc.linearProgress.js',
134-
'@material/list': '@material/list/dist/mdc.list.js',
135-
'@material/menu': '@material/menu/dist/mdc.menu.js',
136-
'@material/menu-surface': '@material/menu-surface/dist/mdc.menuSurface.js',
137-
'@material/notched-outline': '@material/notched-outline/dist/mdc.notchedOutline.js',
138-
'@material/radio': '@material/radio/dist/mdc.radio.js',
139-
'@material/ripple': '@material/ripple/dist/mdc.ripple.js',
140-
'@material/select': '@material/select/dist/mdc.select.js',
141-
'@material/slider': '@material/slider/dist/mdc.slider.js',
142-
'@material/snackbar': '@material/snackbar/dist/mdc.snackbar.js',
143-
'@material/switch': '@material/switch/dist/mdc.switch.js',
144-
'@material/tab': '@material/tab/dist/mdc.tab.js',
145-
'@material/tab-bar': '@material/tab-bar/dist/mdc.tabBar.js',
146-
'@material/tab-indicator': '@material/tab-indicator/dist/mdc.tabIndicator.js',
147-
'@material/tab-scroller': '@material/tab-scroller/dist/mdc.tabScroller.js',
148-
'@material/text-field': '@material/textfield/dist/mdc.textfield.js',
149-
'@material/top-app-bar': '@material/top-app-bar/dist/mdc.topAppBar.js',
150-
151-
...pathMapping,
152-
},
153-
packages: {
154-
// Set the default extension for the root package, because otherwise the dev-app can't
155-
// be built within the production mode. Due to missing file extensions.
156-
'.': {defaultExtension: 'js'},
157-
158-
// Angular specific mappings.
159-
'@angular/core': {main: 'bundles/core.umd.js'},
160-
'@angular/common': {main: 'bundles/common.umd.js'},
161-
'@angular/common/http': {main: '../bundles/common-http.umd.js'},
162-
'@angular/compiler': {main: 'bundles/compiler.umd.js'},
163-
'@angular/forms': {main: 'bundles/forms.umd.js'},
164-
'@angular/animations': {main: 'bundles/animations.umd.js'},
165-
'@angular/elements': {main: 'bundles/elements.umd.js'},
166-
'@angular/router': {main: 'bundles/router.umd.js'},
167-
'@angular/animations/browser': {main: '../bundles/animations-browser.umd.js'},
168-
'@angular/platform-browser/animations': {main: '../bundles/platform-browser-animations.umd'},
169-
'@angular/platform-browser': {main: 'bundles/platform-browser.umd.js'},
170-
'@angular/platform-browser-dynamic': {main: 'bundles/platform-browser-dynamic.umd.js'},
171-
172-
// Project specific configurations.
173-
...packagesConfig,
174-
}
184+
map: map,
185+
packages: packages
175186
});

0 commit comments

Comments
 (0)