diff --git a/packages/compiler/src/util.ts b/packages/compiler/src/util.ts index ba629ca02a..cb167e14fe 100644 --- a/packages/compiler/src/util.ts +++ b/packages/compiler/src/util.ts @@ -163,8 +163,6 @@ export interface OutputContext { importExpr(reference: any, typeParams?: o.Type[]|null, useSummaries?: boolean): o.Expression; } -const MAX_LENGTH_STRINGIFY = 100; - export function stringify(token: any): string { if (typeof token === 'string') { return token; @@ -186,27 +184,16 @@ export function stringify(token: any): string { return `${token.name}`; } - let res; - try { - res = JSON.stringify(token); - } catch { - res = token.toString(); - } + // WARNING: do not try to `JSON.stringify(token)` here + // see https://github.com/angular/angular/issues/23440 + const res = token.toString(); if (res == null) { return '' + res; } const newLineIndex = res.indexOf('\n'); - if (0 < newLineIndex) { - res = res.substring(0, newLineIndex); - } - - if (MAX_LENGTH_STRINGIFY < res.length) { - res = res.substring(0, MAX_LENGTH_STRINGIFY) + '...'; - } - - return res; + return newLineIndex === -1 ? res : res.substring(0, newLineIndex); } /** diff --git a/packages/compiler/test/metadata_resolver_spec.ts b/packages/compiler/test/metadata_resolver_spec.ts index b322208453..2ef89defb0 100644 --- a/packages/compiler/test/metadata_resolver_spec.ts +++ b/packages/compiler/test/metadata_resolver_spec.ts @@ -409,7 +409,7 @@ import {TEST_COMPILER_PROVIDERS} from './test_bindings'; expect(() => { resolver.getNgModuleMetadata(InvalidModule); }) .toThrowError( - `Unexpected value '{"ngModule":true}' imported by the module 'InvalidModule'. Please add a @NgModule annotation.`); + `Unexpected value '[object Object]' imported by the module 'InvalidModule'. Please add a @NgModule annotation.`); })); }); diff --git a/packages/compiler/test/util_spec.ts b/packages/compiler/test/util_spec.ts index 0b14729be5..188c6c3739 100644 --- a/packages/compiler/test/util_spec.ts +++ b/packages/compiler/test/util_spec.ts @@ -7,8 +7,7 @@ */ import {fakeAsync} from '@angular/core/testing/src/fake_async'; - -import {SyncAsync, escapeRegExp, splitAtColon, stringify, utf8Encode} from '../src/util'; +import {SyncAsync, escapeRegExp, splitAtColon, utf8Encode} from '../src/util'; { describe('util', () => { @@ -76,23 +75,5 @@ import {SyncAsync, escapeRegExp, splitAtColon, stringify, utf8Encode} from '../s ([input, output]: [string, string]) => { expect(utf8Encode(input)).toEqual(output); }); }); }); - - describe('stringify', () => { - it('should pretty print an Object', () => { - const result = stringify({hello: 'world'}); - expect(result).toBe('{"hello":"world"}'); - }); - - it('should truncate large object', () => { - const result = stringify({ - selector: 'app-root', - preserveWhitespaces: false, - templateUrl: './app.component.ng.html', - styleUrls: ['./app.component.css'] - }); - expect(result).toBe( - '{"selector":"app-root","preserveWhitespaces":false,"templateUrl":"./app.component.ng.html","styleUrl...'); - }); - }); }); -} +} \ No newline at end of file diff --git a/packages/core/test/bundling/hello_world_r2/bundle.golden_symbols.json b/packages/core/test/bundling/hello_world_r2/bundle.golden_symbols.json index 016629f674..ddf748c827 100644 --- a/packages/core/test/bundling/hello_world_r2/bundle.golden_symbols.json +++ b/packages/core/test/bundling/hello_world_r2/bundle.golden_symbols.json @@ -1004,9 +1004,6 @@ { "name": "LiteralPrimitive" }, - { - "name": "MAX_LENGTH_STRINGIFY" - }, { "name": "MEANING_SEPARATOR" },