diff --git a/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts b/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts index 849abbef7e1a..6316dded32cd 100644 --- a/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts +++ b/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts @@ -404,6 +404,9 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { safari10: true, output: { ecma: terserEcma, + // For differential loading, this is handled in the bundle processing. + // The experimental rollup support breaks without this check. + ascii_only: !differentialLoadingMode, // default behavior (undefined value) is to keep only important comments (licenses, etc.) comments: !buildOptions.extractLicenses && undefined, webkit: true, diff --git a/packages/angular_devkit/build_angular/test/browser/optimization-level_spec_large.ts b/packages/angular_devkit/build_angular/test/browser/optimization-level_spec_large.ts index b37c9dc9afaf..3d982aff4ac8 100644 --- a/packages/angular_devkit/build_angular/test/browser/optimization-level_spec_large.ts +++ b/packages/angular_devkit/build_angular/test/browser/optimization-level_spec_large.ts @@ -79,4 +79,17 @@ describe('Browser Builder optimization level', () => { expect(await files['main.js']).toContain('color: white'); expect(await files['styles.css']).toContain('color: white'); }); + + it('outputs ASCII only content', async () => { + const overrides = { aot: true, optimization: true }; + + host.writeMultipleFiles({ + 'src/app/app.component.html': `

€€€

`, + }); + + const { files } = await browserBuild(architect, host, target, overrides); + expect(await files['main.js']).not.toContain('ɵ'); + expect(await files['main.js']).not.toContain('€€€'); + expect(await files['main.js']).toContain('\\u20ac\\u20ac\\u20ac'); + }); }); diff --git a/tests/legacy-cli/e2e/tests/basic/ivy.ts b/tests/legacy-cli/e2e/tests/basic/ivy.ts index 80bb9fff78f0..fc5a42a594ef 100644 --- a/tests/legacy-cli/e2e/tests/basic/ivy.ts +++ b/tests/legacy-cli/e2e/tests/basic/ivy.ts @@ -42,7 +42,7 @@ export default async function() { const mainUrl = mainUrlMatch && mainUrlMatch[1]; const main = await request('http://localhost:4200/' + mainUrl); - if (!main.match(/ɵcmp\s*=/)) { + if (!main.match(/ɵcmp\s*=/) && !main.match(/\\u0275cmp\s*=/)) { throw new Error('Ivy could not be found.'); } if (main.match(/ngDevMode/)) {