Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions goldens/circular-deps/packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,55 @@
"packages/compiler-cli/src/ngtsc/scope/src/component_scope.ts",
"packages/compiler-cli/src/ngtsc/scope/src/local.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/lifecycle_reflector.ts",
"packages/compiler/src/compile_reflector.ts",
"packages/compiler/src/output/output_ast.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/ml_parser/parser.ts",
"packages/compiler/src/ml_parser/ast.ts",
"packages/compiler/src/i18n/i18n_ast.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/ml_parser/parser.ts",
"packages/compiler/src/ml_parser/ast.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/ml_parser/parser.ts",
"packages/compiler/src/ml_parser/lexer.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/ml_parser/parser.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/util.ts",
"packages/compiler/src/constant_pool.ts",
"packages/compiler/src/output/output_ast.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/util.ts",
"packages/compiler/src/output/output_ast.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/compile_metadata.ts",
"packages/compiler/src/util.ts",
"packages/compiler/src/parse_util.ts"
],
[
"packages/compiler/src/output/output_ast.ts",
"packages/compiler/src/render3/view/i18n/meta.ts"
Expand All @@ -50,6 +99,11 @@
"packages/compiler/src/render3/view/i18n/meta.ts",
"packages/compiler/src/render3/view/i18n/util.ts"
],
[
"packages/compiler/src/render3/r3_factory.ts",
"packages/compiler/src/render3/view/util.ts",
"packages/compiler/src/render3/view/api.ts"
],
[
"packages/compiler/src/render3/view/styling_builder.ts",
"packages/compiler/src/render3/view/template.ts"
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler-cli/ngcc/test/execution/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
import {DepGraph} from 'dependency-graph';
import {DtsProcessing, PartiallyOrderedTasks} from '../../src/execution/tasks/api';
import {DtsProcessing, PartiallyOrderedTasks, Task} from '../../src/execution/tasks/api';
import {EntryPoint, EntryPointJsonProperty} from '../../src/packages/entry_point';

/**
Expand Down
3 changes: 1 addition & 2 deletions packages/compiler-cli/test/compliance/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ are intelligently matched to check whether they are equivalent.
To check a mapping, add a `// SOURCE:` comment to the end of a line in an expectation file:

```
<generated code> // SOURCE: "<source-url>" "<source code>"
<generated code> // SOURCE: "<source-url>" <source code>
```

The generated code, stripped of the `// SOURCE: ` comment, will still be checked as normal by the
Expand All @@ -144,7 +144,6 @@ Note:
to be `/`.
* Whitespace is important and will be included when comparing the segments.
* There is a single space character between each part of the line.
* Double quotes in the mapping must be escaped.
* Newlines within a mapping must be escaped since the mapping and comment must all appear on a
single line of this file.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
i0.ɵɵelementStart(0, "div") // SOURCE: "/escaped_chars.html" "<div>"
i0.ɵɵelementStart(0, "div") // SOURCE: "/escaped_chars.html" <div>
…
// NOTE: the `\\r\\n` at the end of the next line will be unescaped to `\r\n`. If it was just `\r\n` it would get unescaped to the actual characters.
i0.ɵɵtext(1, " Some Message Encoded character: \uD83D\uDE80\\n") // SOURCE: "/escaped_chars.html" "Some Message\r\n Encoded character: 🚀\r\n"
i0.ɵɵtext(1, " Some Message Encoded character: \uD83D\uDE80\\n") // SOURCE: "/escaped_chars.html" Some Message\r\n Encoded character: 🚀\\r\\n
…
i0.ɵɵelementEnd() // SOURCE: "/escaped_chars.html" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/escaped_chars.html" </div>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.ɵɵelementStart(0, "div") // SOURCE: "/escaped_chars.html" "<div>\r\n "
.ɵɵelementStart(0, "div") // SOURCE: "/escaped_chars.html" <div>\r\n
…
// NOTE: the `\\r\\n` at the end of the next line will be unescaped to `\r\n`. If it was just `\r\n` it would get unescaped to the actual characters.
.ɵɵtext(1, " Some Message Encoded character: \uD83D\uDE80\\n") // SOURCE: "/escaped_chars.html" "Some Message\r\n Encoded character: 🚀\r\n"
.ɵɵtext(1, " Some Message Encoded character: \uD83D\uDE80\\n") // SOURCE: "/escaped_chars.html" Some Message\r\n Encoded character: 🚀\\r\\n
…
.ɵɵelementEnd() // SOURCE: "/escaped_chars.html" "</div>"
.ɵɵelementEnd() // SOURCE: "/escaped_chars.html" </div>
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
i0.ɵɵelementStart(0, "div") // SOURCE: "/dir/test.html" "<div>"
i0.ɵɵelementStart(0, "div") // SOURCE: "/dir/test.html" <div>
…
i0.ɵɵtext(1, "this is a test") // SOURCE: "/dir/test.html" "this is a test"
i0.ɵɵtext(1, "this is a test") // SOURCE: "/dir/test.html" this is a test
…
i0.ɵɵelementEnd() // SOURCE: "/dir/test.html" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/dir/test.html" </div>
…
i0.ɵɵelementStart(2, "div") // SOURCE: "/dir/test.html" "<div>"
i0.ɵɵelementStart(2, "div") // SOURCE: "/dir/test.html" <div>
…
i0.ɵɵtext(3) // SOURCE: "/dir/test.html" "{{ 1 + 2 }}"
i0.ɵɵtext(3) // SOURCE: "/dir/test.html" {{ 1 + 2 }}
…
i0.ɵɵelementEnd() // SOURCE: "/dir/test.html" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/dir/test.html" </div>
…
i0.ɵɵtextInterpolate(1 + 2) // SOURCE: "/dir/test.html" "{{ 1 + 2 }}"
i0.ɵɵtextInterpolate(1 + 2) // SOURCE: "/dir/test.html" {{ 1 + 2 }}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
.ɵɵelementStart(0, "div") // SOURCE: "/dir/test.html" "<div>"
.ɵɵelementStart(0, "div") // SOURCE: "/dir/test.html" <div>
…
.ɵɵtext(1, "this is a test") // SOURCE: "/dir/test.html" "this is a test"
.ɵɵtext(1, "this is a test") // SOURCE: "/dir/test.html" this is a test
…
.ɵɵelementEnd() // SOURCE: "/dir/test.html" "</div>\n"
.ɵɵelementEnd() // SOURCE: "/dir/test.html" </div>\n
…
.ɵɵelementStart(2, "div") // SOURCE: "/dir/test.html" "<div>"
.ɵɵelementStart(2, "div") // SOURCE: "/dir/test.html" <div>
…
.ɵɵtext(3) // SOURCE: "/dir/test.html" "{{ 1 + 2 }}"
.ɵɵtext(3) // SOURCE: "/dir/test.html" {{ 1 + 2 }}
…
// TODO: Work out how to fix the broken segment for the last item in a template
.ɵɵelementEnd() // SOURCE: "/dir/test.html" "</div>"
.ɵɵelementEnd() // SOURCE: "/dir/test.html" </div>
…
.ɵɵtextInterpolate(1 + 2) // SOURCE: "/dir/test.html" "{{ 1 + 2 }}"
.ɵɵtextInterpolate(1 + 2) // SOURCE: "/dir/test.html" {{ 1 + 2 }}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
i0.ɵɵelementStart(0, "div") // SOURCE: "/extraRootDir/dir/extra.html" "<div>"
i0.ɵɵelementStart(0, "div") // SOURCE: "/extraRootDir/dir/extra.html" <div>
…
i0.ɵɵtext(1, "this is a test") // SOURCE: "/extraRootDir/dir/extra.html" "this is a test"
i0.ɵɵtext(1, "this is a test") // SOURCE: "/extraRootDir/dir/extra.html" this is a test
…
i0.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" </div>
…
i0.ɵɵelementStart(2, "div") // SOURCE: "/extraRootDir/dir/extra.html" "<div>"
i0.ɵɵelementStart(2, "div") // SOURCE: "/extraRootDir/dir/extra.html" <div>
…
i0.ɵɵtext(3) // SOURCE: "/extraRootDir/dir/extra.html" "{{ 1 + 2 }}"
i0.ɵɵtext(3) // SOURCE: "/extraRootDir/dir/extra.html" {{ 1 + 2 }}
…
i0.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" </div>
…
i0.ɵɵtextInterpolate(1 + 2) // SOURCE: "/extraRootDir/dir/extra.html" "{{ 1 + 2 }}"
i0.ɵɵtextInterpolate(1 + 2) // SOURCE: "/extraRootDir/dir/extra.html" {{ 1 + 2 }}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
.ɵɵelementStart(0, "div") // SOURCE: "/extraRootDir/dir/extra.html" "<div>"
.ɵɵelementStart(0, "div") // SOURCE: "/extraRootDir/dir/extra.html" <div>
…
.ɵɵtext(1, "this is a test") // SOURCE: "/extraRootDir/dir/extra.html" "this is a test"
.ɵɵtext(1, "this is a test") // SOURCE: "/extraRootDir/dir/extra.html" this is a test
…
.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" "</div>\n"
.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" </div>\n
…
.ɵɵelementStart(2, "div") // SOURCE: "/extraRootDir/dir/extra.html" "<div>"
.ɵɵelementStart(2, "div") // SOURCE: "/extraRootDir/dir/extra.html" <div>
…
.ɵɵtext(3) // SOURCE: "/extraRootDir/dir/extra.html" "{{ 1 + 2 }}"
.ɵɵtext(3) // SOURCE: "/extraRootDir/dir/extra.html" {{ 1 + 2 }}
…
.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" "</div>"
.ɵɵelementEnd() // SOURCE: "/extraRootDir/dir/extra.html" </div>
…
.ɵɵtextInterpolate(1 + 2) // SOURCE: "/extraRootDir/dir/extra.html" "{{ 1 + 2 }}"
.ɵɵtextInterpolate(1 + 2) // SOURCE: "/extraRootDir/dir/extra.html" {{ 1 + 2 }}
Original file line number Diff line number Diff line change
Expand Up @@ -1652,78 +1652,6 @@ export declare class TestCmp {
static ɵcmp: i0.ɵɵComponentDeclaration<TestCmp, "test-cmp", never, {}, {}, never, never>;
}

/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.js
****************************************************************************************************/
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
export class TestCmp {
constructor() {
this.one = 1;
this.two = 2;
}
}
TestCmp.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", ngImport: i0, type: TestCmp, deps: [], target: i0.ɵɵFactoryTarget.Component });
TestCmp.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", type: TestCmp, selector: "test-cmp", ngImport: i0, template: '<div i18n>Interpolation: {{ one }}&nbsp;Interpolation: {{ two }}</div>', isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", ngImport: i0, type: TestCmp, decorators: [{
type: Component,
args: [{
selector: 'test-cmp',
template: '<div i18n>Interpolation: {{ one }}&nbsp;Interpolation: {{ two }}</div>',
}]
}] });
//# sourceMappingURL=i18n_message_placeholder_entities.js.map
/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.js.map
****************************************************************************************************/
{"version":3,"file":"i18n_message_placeholder_entities.js","sourceRoot":"","sources":["../i18n_message_placeholder_entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;;AAMxC,MAAM,OAAO,OAAO;IAJpB;QAKE,QAAG,GAAG,CAAC,CAAC;QACR,QAAG,GAAG,CAAC,CAAC;KACT;;+GAHY,OAAO;mGAAP,OAAO,gDAFR,wEAAwE;sGAEvE,OAAO;kBAJnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,wEAAwE;iBACnF"}
/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.d.ts
****************************************************************************************************/
import * as i0 from "@angular/core";
export declare class TestCmp {
one: number;
two: number;
static ɵfac: i0.ɵɵFactoryDeclaration<TestCmp, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TestCmp, "test-cmp", never, {}, {}, never, never>;
}

/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.js
****************************************************************************************************/
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
export class TestCmp {
constructor() {
this.one = 1;
this.two = 2;
}
}
TestCmp.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", ngImport: i0, type: TestCmp, deps: [], target: i0.ɵɵFactoryTarget.Component });
TestCmp.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", type: TestCmp, selector: "test-cmp", ngImport: i0, template: '<div i18n>Interpolation: {{ one }}&nbsp;Interpolation: {{ two }}</div>', isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0-PLACEHOLDER", ngImport: i0, type: TestCmp, decorators: [{
type: Component,
args: [{
selector: 'test-cmp',
template: '<div i18n>Interpolation: {{ one }}&nbsp;Interpolation: {{ two }}</div>',
}]
}] });
//# sourceMappingURL=i18n_message_placeholder_entities.js.map
/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.js.map
****************************************************************************************************/
{"version":3,"file":"i18n_message_placeholder_entities.js","sourceRoot":"","sources":["../i18n_message_placeholder_entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;;AAMxC,MAAM,OAAO,OAAO;IAJpB;QAKE,QAAG,GAAG,CAAC,CAAC;QACR,QAAG,GAAG,CAAC,CAAC;KACT;;+GAHY,OAAO;mGAAP,OAAO,gDAFR,wEAAwE;sGAEvE,OAAO;kBAJnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,wEAAwE;iBACnF"}
/****************************************************************************************************
* PARTIAL FILE: i18n_message_placeholder_entities.d.ts
****************************************************************************************************/
import * as i0 from "@angular/core";
export declare class TestCmp {
one: number;
two: number;
static ɵfac: i0.ɵɵFactoryDeclaration<TestCmp, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TestCmp, "test-cmp", never, {}, {}, never, never>;
}

/****************************************************************************************************
* PARTIAL FILE: i18n_message_interpolation_whitespace.js
****************************************************************************************************/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -749,40 +749,6 @@
"sourceMap": true
}
},
{
"description": "should handle encoded entities in i18n message source-mappings (full compile)",
"inputFiles": [
"i18n_message_placeholder_entities.ts"
],
"compilationModeFilter": [
"full compile"
],
"compilerOptions": {
"sourceMap": true
}
},
{
"description": "should handle encoded entities in i18n message source-mappings (partial compile)",
"inputFiles": [
"i18n_message_placeholder_entities.ts"
],
"expectations": [
{
"files": [
{
"generated": "i18n_message_placeholder_entities.js",
"expected": "i18n_message_placeholder_entities_partial.js"
}
]
}
],
"compilationModeFilter": [
"linked compile"
],
"compilerOptions": {
"sourceMap": true
}
},
{
"description": "should correctly handle collapsed whitespace in interpolation placeholder i18n message source-mappings (full compile)",
"inputFiles": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
consts: [[1, "some-class"]]
…
i0.ɵɵelementStart(0, "div", 0) // SOURCE: "/escape_sequences.ts" "<div class=\\"some-class\\">"
i0.ɵɵelementStart(0, "div", 0) // SOURCE: "/escape_sequences.ts" <div class=\"some-class\">
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
consts: [[1, "some-class"]]
…
.ɵɵelementStart(0, "div", 0) // SOURCE: "/escape_sequences.ts" "<div class=\\"some-class\\">"
.ɵɵelementStart(0, "div", 0) // SOURCE: "/escape_sequences.ts" <div class=\"some-class\">
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
`Hello, ${ // SOURCE: "/i18n_message_container_tag.ts" "Hello, "
`Hello, ${ // SOURCE: "/i18n_message_container_tag.ts" Hello,
…
"\uFFFD#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" "<b>"
"\uFFFD#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" <b>
…
}:START_BOLD_TEXT:World${ // SOURCE: "/i18n_message_container_tag.ts" "World"
}:START_BOLD_TEXT:World${ // SOURCE: "/i18n_message_container_tag.ts" World
…
"\uFFFD/#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" "</b>"
"\uFFFD/#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" </b>
…
}:CLOSE_BOLD_TEXT:!` // SOURCE: "/i18n_message_container_tag.ts" "!"
}:CLOSE_BOLD_TEXT:!` // SOURCE: "/i18n_message_container_tag.ts" !
…
i0.ɵɵelementStart(0, "div") // SOURCE: "/i18n_message_container_tag.ts" "<div i18n>"
i0.ɵɵelementStart(0, "div") // SOURCE: "/i18n_message_container_tag.ts" <div i18n>
…
i0.ɵɵelementEnd() // SOURCE: "/i18n_message_container_tag.ts" "</div>"
i0.ɵɵelementEnd() // SOURCE: "/i18n_message_container_tag.ts" </div>
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$localize`Hello, ${ // SOURCE: "/i18n_message_container_tag.ts" "Hello, "
$localize`Hello, ${ // SOURCE: "/i18n_message_container_tag.ts" Hello,
…
"\uFFFD#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" "<b>"
"\uFFFD#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" <b>
…
}:START_BOLD_TEXT:World${ // SOURCE: "/i18n_message_container_tag.ts" "World"
}:START_BOLD_TEXT:World${ // SOURCE: "/i18n_message_container_tag.ts" World
…
"\uFFFD/#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" "</b>"
"\uFFFD/#2\uFFFD" // SOURCE: "/i18n_message_container_tag.ts" </b>
…
}:CLOSE_BOLD_TEXT:!` // SOURCE: "/i18n_message_container_tag.ts" "!"
}:CLOSE_BOLD_TEXT:!` // SOURCE: "/i18n_message_container_tag.ts" !
…
.ɵɵelementStart(0, "div") // SOURCE: "/i18n_message_container_tag.ts" "<div i18n>"
.ɵɵelementStart(0, "div") // SOURCE: "/i18n_message_container_tag.ts" <div i18n>
…
// TODO: Work out how to fix the broken segment for the last item in a template
.ɵɵelem // SOURCE: "/i18n_message_container_tag.ts" "</div>'"
.ɵɵelem // SOURCE: "/i18n_message_container_tag.ts" </div>'
Loading