@angular/core 15.1.0-next.2 → 15.1.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/esm2020/src/application_init.mjs +2 -1
  2. package/esm2020/src/application_ref.mjs +10 -3
  3. package/esm2020/src/di/injector_compatibility.mjs +2 -2
  4. package/esm2020/src/di/r3_injector.mjs +2 -2
  5. package/esm2020/src/errors.mjs +1 -1
  6. package/esm2020/src/linker/view_ref.mjs +1 -1
  7. package/esm2020/src/render3/i18n/i18n_parse.mjs +17 -2
  8. package/esm2020/src/util/global.mjs +1 -1
  9. package/esm2020/src/version.mjs +1 -1
  10. package/esm2020/testing/src/component_fixture.mjs +1 -1
  11. package/esm2020/testing/src/logger.mjs +7 -7
  12. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  13. package/esm2020/testing/src/test_bed.mjs +1 -1
  14. package/fesm2015/core.mjs +111 -1560
  15. package/fesm2015/core.mjs.map +1 -1
  16. package/fesm2015/testing.mjs +79 -1334
  17. package/fesm2015/testing.mjs.map +1 -1
  18. package/fesm2020/core.mjs +113 -1584
  19. package/fesm2020/core.mjs.map +1 -1
  20. package/fesm2020/testing.mjs +81 -1358
  21. package/fesm2020/testing.mjs.map +1 -1
  22. package/index.d.ts +4 -4
  23. package/package.json +1 -1
  24. package/schematics/migrations/relative-link-resolution/bundle.js +265 -0
  25. package/schematics/migrations/relative-link-resolution/bundle.js.map +7 -0
  26. package/schematics/migrations/relative-link-resolution/bundle_metadata.json +1 -0
  27. package/schematics/migrations/router-link-with-href/bundle.js +350 -0
  28. package/schematics/migrations/router-link-with-href/bundle.js.map +7 -0
  29. package/schematics/migrations/router-link-with-href/bundle_metadata.json +1 -0
  30. package/schematics/migrations.json +5 -20
  31. package/testing/index.d.ts +4 -1
  32. package/esm2020/src/render3/util/debug_utils.mjs +0 -40
  33. package/esm2020/testing/src/lang_utils.mjs +0 -14
  34. package/schematics/migrations/entry-components/index.d.ts +0 -11
  35. package/schematics/migrations/entry-components/index.js +0 -71
  36. package/schematics/migrations/entry-components/util.d.ts +0 -16
  37. package/schematics/migrations/entry-components/util.js +0 -57
  38. package/schematics/migrations/path-match-type/index.d.ts +0 -11
  39. package/schematics/migrations/path-match-type/index.js +0 -95
  40. package/schematics/migrations/path-match-type/transform.d.ts +0 -19
  41. package/schematics/migrations/path-match-type/transform.js +0 -48
  42. package/schematics/migrations/path-match-type/update_recorder.d.ts +0 -18
  43. package/schematics/migrations/path-match-type/update_recorder.js +0 -20
  44. package/schematics/migrations/path-match-type/util.d.ts +0 -11
  45. package/schematics/migrations/path-match-type/util.js +0 -106
  46. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -10
  47. package/schematics/migrations/relative-link-resolution/index.js +0 -68
  48. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -20
  49. package/schematics/migrations/relative-link-resolution/util.js +0 -82
  50. package/schematics/migrations/router-link-with-href/index.d.ts +0 -10
  51. package/schematics/migrations/router-link-with-href/index.js +0 -70
  52. package/schematics/migrations/router-link-with-href/util.d.ts +0 -19
  53. package/schematics/migrations/router-link-with-href/util.js +0 -111
  54. package/schematics/migrations/typed-forms/index.d.ts +0 -10
  55. package/schematics/migrations/typed-forms/index.js +0 -68
  56. package/schematics/migrations/typed-forms/util.d.ts +0 -19
  57. package/schematics/migrations/typed-forms/util.js +0 -134
  58. package/schematics/utils/import_manager.d.ts +0 -57
  59. package/schematics/utils/import_manager.js +0 -234
  60. package/schematics/utils/line_mappings.d.ts +0 -18
  61. package/schematics/utils/line_mappings.js +0 -75
  62. package/schematics/utils/load_esm.d.ts +0 -32
  63. package/schematics/utils/load_esm.js +0 -79
  64. package/schematics/utils/ng_component_template.d.ts +0 -44
  65. package/schematics/utils/ng_component_template.js +0 -131
  66. package/schematics/utils/ng_decorators.d.ts +0 -23
  67. package/schematics/utils/ng_decorators.js +0 -37
  68. package/schematics/utils/parse_html.d.ts +0 -14
  69. package/schematics/utils/parse_html.js +0 -37
  70. package/schematics/utils/project_tsconfig_paths.d.ts +0 -17
  71. package/schematics/utils/project_tsconfig_paths.js +0 -122
  72. package/schematics/utils/template_ast_visitor.d.ts +0 -55
  73. package/schematics/utils/template_ast_visitor.js +0 -73
  74. package/schematics/utils/typescript/class_declaration.d.ts +0 -15
  75. package/schematics/utils/typescript/class_declaration.js +0 -52
  76. package/schematics/utils/typescript/compiler_host.d.ts +0 -34
  77. package/schematics/utils/typescript/compiler_host.js +0 -85
  78. package/schematics/utils/typescript/decorators.d.ts +0 -11
  79. package/schematics/utils/typescript/decorators.js +0 -37
  80. package/schematics/utils/typescript/find_base_classes.d.ts +0 -14
  81. package/schematics/utils/typescript/find_base_classes.js +0 -47
  82. package/schematics/utils/typescript/functions.d.ts +0 -17
  83. package/schematics/utils/typescript/functions.js +0 -46
  84. package/schematics/utils/typescript/imports.d.ts +0 -53
  85. package/schematics/utils/typescript/imports.js +0 -128
  86. package/schematics/utils/typescript/nodes.d.ts +0 -20
  87. package/schematics/utils/typescript/nodes.js +0 -77
  88. package/schematics/utils/typescript/parse_tsconfig.d.ts +0 -10
  89. package/schematics/utils/typescript/parse_tsconfig.js +0 -66
  90. package/schematics/utils/typescript/property_name.d.ts +0 -19
  91. package/schematics/utils/typescript/property_name.js +0 -41
  92. package/schematics/utils/typescript/symbol.d.ts +0 -19
  93. package/schematics/utils/typescript/symbol.js +0 -93
@@ -1,16 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/entry-components/util" />
9
- import ts from 'typescript';
10
- /** Finds and migrates all Angular decorators that pass in `entryComponents`. */
11
- export declare function migrateEntryComponentsUsages(typeChecker: ts.TypeChecker, printer: ts.Printer, sourceFile: ts.SourceFile): {
12
- start: number;
13
- length: number;
14
- end: number;
15
- replacement: string;
16
- }[];
@@ -1,57 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/entry-components/util", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/decorators"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.migrateEntryComponentsUsages = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const decorators_1 = require("@angular/core/schematics/utils/typescript/decorators");
25
- /** Finds and migrates all Angular decorators that pass in `entryComponents`. */
26
- function migrateEntryComponentsUsages(typeChecker, printer, sourceFile) {
27
- const results = [];
28
- sourceFile.forEachChild(function walk(node) {
29
- if (typescript_1.default.isDecorator(node) && typescript_1.default.isCallExpression(node.expression) &&
30
- node.expression.arguments.length === 1 &&
31
- typescript_1.default.isObjectLiteralExpression(node.expression.arguments[0])) {
32
- const analysis = (0, decorators_1.getCallDecoratorImport)(typeChecker, node);
33
- if (analysis && analysis.importModule === '@angular/core' &&
34
- (analysis.name === 'Component' || analysis.name === 'NgModule')) {
35
- const literal = node.expression.arguments[0];
36
- const entryComponentsProp = literal.properties.find(property => typescript_1.default.isPropertyAssignment(property) && typescript_1.default.isIdentifier(property.name) &&
37
- property.name.text === 'entryComponents');
38
- if (entryComponentsProp) {
39
- const replacementNode = typescript_1.default.factory.updateObjectLiteralExpression(literal, literal.properties.filter(prop => prop !== entryComponentsProp));
40
- results.push({
41
- start: literal.getStart(),
42
- length: literal.getWidth(),
43
- end: literal.getEnd(),
44
- replacement: printer.printNode(typescript_1.default.EmitHint.Unspecified, replacementNode, sourceFile)
45
- });
46
- }
47
- }
48
- }
49
- node.forEachChild(walk);
50
- });
51
- // Sort the operations in reverse order in order to avoid
52
- // issues when migrating multiple usages within the same file.
53
- return results.sort((a, b) => b.start - a.start);
54
- }
55
- exports.migrateEntryComponentsUsages = migrateEntryComponentsUsages;
56
- });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL2VudHJ5LWNvbXBvbmVudHMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCw0REFBNEI7SUFFNUIscUZBQXlFO0lBRXpFLGdGQUFnRjtJQUNoRixTQUFnQiw0QkFBNEIsQ0FDeEMsV0FBMkIsRUFBRSxPQUFtQixFQUFFLFVBQXlCO1FBQzdFLE1BQU0sT0FBTyxHQUF3RSxFQUFFLENBQUM7UUFFeEYsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFhO1lBQ2pELElBQUksb0JBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDdEMsb0JBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFBLG1DQUFzQixFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFM0QsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxlQUFlO29CQUNyRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLEVBQUU7b0JBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3QyxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMvQyxRQUFRLENBQUMsRUFBRSxDQUFDLG9CQUFFLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksb0JBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQzt3QkFDM0UsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsQ0FBQztvQkFFbEQsSUFBSSxtQkFBbUIsRUFBRTt3QkFDdkIsTUFBTSxlQUFlLEdBQUcsb0JBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQzVELE9BQU8sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7d0JBRTlFLE9BQU8sQ0FBQyxJQUFJLENBQUM7NEJBQ1gsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7NEJBQ3pCLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFOzRCQUMxQixHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRTs0QkFDckIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsb0JBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUM7eUJBQ3JGLENBQUMsQ0FBQztxQkFDSjtpQkFDRjthQUNGO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILHlEQUF5RDtRQUN6RCw4REFBOEQ7UUFDOUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQXJDRCxvRUFxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge2dldENhbGxEZWNvcmF0b3JJbXBvcnR9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvZGVjb3JhdG9ycyc7XG5cbi8qKiBGaW5kcyBhbmQgbWlncmF0ZXMgYWxsIEFuZ3VsYXIgZGVjb3JhdG9ycyB0aGF0IHBhc3MgaW4gYGVudHJ5Q29tcG9uZW50c2AuICovXG5leHBvcnQgZnVuY3Rpb24gbWlncmF0ZUVudHJ5Q29tcG9uZW50c1VzYWdlcyhcbiAgICB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsIHByaW50ZXI6IHRzLlByaW50ZXIsIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpIHtcbiAgY29uc3QgcmVzdWx0czoge3N0YXJ0OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyLCBlbmQ6IG51bWJlciwgcmVwbGFjZW1lbnQ6IHN0cmluZ31bXSA9IFtdO1xuXG4gIHNvdXJjZUZpbGUuZm9yRWFjaENoaWxkKGZ1bmN0aW9uIHdhbGsobm9kZTogdHMuTm9kZSkge1xuICAgIGlmICh0cy5pc0RlY29yYXRvcihub2RlKSAmJiB0cy5pc0NhbGxFeHByZXNzaW9uKG5vZGUuZXhwcmVzc2lvbikgJiZcbiAgICAgICAgbm9kZS5leHByZXNzaW9uLmFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgdHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24uYXJndW1lbnRzWzBdKSkge1xuICAgICAgY29uc3QgYW5hbHlzaXMgPSBnZXRDYWxsRGVjb3JhdG9ySW1wb3J0KHR5cGVDaGVja2VyLCBub2RlKTtcblxuICAgICAgaWYgKGFuYWx5c2lzICYmIGFuYWx5c2lzLmltcG9ydE1vZHVsZSA9PT0gJ0Bhbmd1bGFyL2NvcmUnICYmXG4gICAgICAgICAgKGFuYWx5c2lzLm5hbWUgPT09ICdDb21wb25lbnQnIHx8IGFuYWx5c2lzLm5hbWUgPT09ICdOZ01vZHVsZScpKSB7XG4gICAgICAgIGNvbnN0IGxpdGVyYWwgPSBub2RlLmV4cHJlc3Npb24uYXJndW1lbnRzWzBdO1xuICAgICAgICBjb25zdCBlbnRyeUNvbXBvbmVudHNQcm9wID0gbGl0ZXJhbC5wcm9wZXJ0aWVzLmZpbmQoXG4gICAgICAgICAgICBwcm9wZXJ0eSA9PiB0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkgJiYgdHMuaXNJZGVudGlmaWVyKHByb3BlcnR5Lm5hbWUpICYmXG4gICAgICAgICAgICAgICAgcHJvcGVydHkubmFtZS50ZXh0ID09PSAnZW50cnlDb21wb25lbnRzJyk7XG5cbiAgICAgICAgaWYgKGVudHJ5Q29tcG9uZW50c1Byb3ApIHtcbiAgICAgICAgICBjb25zdCByZXBsYWNlbWVudE5vZGUgPSB0cy5mYWN0b3J5LnVwZGF0ZU9iamVjdExpdGVyYWxFeHByZXNzaW9uKFxuICAgICAgICAgICAgICBsaXRlcmFsLCBsaXRlcmFsLnByb3BlcnRpZXMuZmlsdGVyKHByb3AgPT4gcHJvcCAhPT0gZW50cnlDb21wb25lbnRzUHJvcCkpO1xuXG4gICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgIHN0YXJ0OiBsaXRlcmFsLmdldFN0YXJ0KCksXG4gICAgICAgICAgICBsZW5ndGg6IGxpdGVyYWwuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIGVuZDogbGl0ZXJhbC5nZXRFbmQoKSxcbiAgICAgICAgICAgIHJlcGxhY2VtZW50OiBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgcmVwbGFjZW1lbnROb2RlLCBzb3VyY2VGaWxlKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZS5mb3JFYWNoQ2hpbGQod2Fsayk7XG4gIH0pO1xuXG4gIC8vIFNvcnQgdGhlIG9wZXJhdGlvbnMgaW4gcmV2ZXJzZSBvcmRlciBpbiBvcmRlciB0byBhdm9pZFxuICAvLyBpc3N1ZXMgd2hlbiBtaWdyYXRpbmcgbXVsdGlwbGUgdXNhZ2VzIHdpdGhpbiB0aGUgc2FtZSBmaWxlLlxuICByZXR1cm4gcmVzdWx0cy5zb3J0KChhLCBiKSA9PiBiLnN0YXJ0IC0gYS5zdGFydCk7XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/path-match-type" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Migration that adds explicit type to `Route`/`Routes` which use `patchMatch` */
11
- export default function (): Rule;
@@ -1,95 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- (function (factory) {
21
- if (typeof module === "object" && typeof module.exports === "object") {
22
- var v = factory(require, exports);
23
- if (v !== undefined) module.exports = v;
24
- }
25
- else if (typeof define === "function" && define.amd) {
26
- define("@angular/core/schematics/migrations/path-match-type", ["require", "exports", "@angular-devkit/schematics", "path", "typescript", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/path-match-type/transform"], factory);
27
- }
28
- })(function (require, exports) {
29
- "use strict";
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const schematics_1 = require("@angular-devkit/schematics");
32
- const path_1 = require("path");
33
- const typescript_1 = __importDefault(require("typescript"));
34
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
35
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
36
- const transform_1 = require("@angular/core/schematics/migrations/path-match-type/transform");
37
- /** Migration that adds explicit type to `Route`/`Routes` which use `patchMatch` */
38
- function default_1() {
39
- return (tree) => __awaiter(this, void 0, void 0, function* () {
40
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
41
- const basePath = process.cwd();
42
- const allPaths = [...buildPaths, ...testPaths];
43
- if (!allPaths.length) {
44
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot perform pathMatch migration.');
45
- }
46
- for (const tsconfigPath of allPaths) {
47
- runMigration(tree, tsconfigPath, basePath);
48
- }
49
- });
50
- }
51
- exports.default = default_1;
52
- function runMigration(tree, tsconfigPath, basePath) {
53
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
54
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
55
- const updateRecorders = new Map();
56
- const transform = new transform_1.PathMatchTypeTransform(getUpdateRecorder);
57
- // Migrate all source files in the project.
58
- transform.migrate(sourceFiles);
59
- // Record the changes collected in the import manager.
60
- transform.recordChanges();
61
- // Walk through each update recorder and commit the update. We need to commit the
62
- // updates in batches per source file as there can be only one recorder per source
63
- // file in order to avoid shifted character offsets.
64
- updateRecorders.forEach(recorder => recorder.commitUpdate());
65
- /** Gets the update recorder for the specified source file. */
66
- function getUpdateRecorder(sourceFile) {
67
- if (updateRecorders.has(sourceFile)) {
68
- return updateRecorders.get(sourceFile);
69
- }
70
- const printer = typescript_1.default.createPrinter();
71
- const treeRecorder = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
72
- const recorder = {
73
- updateNode(oldExpr, newExpr) {
74
- treeRecorder.insertRight(oldExpr.name.getEnd(), ': ' + printer.printNode(typescript_1.default.EmitHint.Unspecified, newExpr.type, sourceFile));
75
- },
76
- addNewImport(start, importText) {
77
- // New imports should be inserted at the left while decorators should be inserted
78
- // at the right in order to ensure that imports are inserted before the decorator
79
- // if the start position of import and decorator is the source file start.
80
- treeRecorder.insertLeft(start, importText);
81
- },
82
- updateExistingImport(namedBindings, newNamedBindings) {
83
- treeRecorder.remove(namedBindings.getStart(), namedBindings.getWidth());
84
- treeRecorder.insertRight(namedBindings.getStart(), newNamedBindings);
85
- },
86
- commitUpdate() {
87
- tree.commitUpdate(treeRecorder);
88
- }
89
- };
90
- updateRecorders.set(sourceFile, recorder);
91
- return recorder;
92
- }
93
- }
94
- });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9wYXRoLW1hdGNoLXR5cGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBMkU7SUFDM0UsK0JBQThCO0lBQzlCLDREQUE0QjtJQUU1QixrR0FBMkU7SUFDM0UsMkZBQTRGO0lBRTVGLDZGQUFtRDtJQUluRCxtRkFBbUY7SUFDbkY7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLElBQUEsZ0RBQXVCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6Qix1RUFBdUUsQ0FBQyxDQUFDO2FBQzlFO1lBRUQsS0FBSyxNQUFNLFlBQVksSUFBSSxRQUFRLEVBQUU7Z0JBQ25DLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQzVDO1FBQ0gsQ0FBQyxDQUFBLENBQUM7SUFDSixDQUFDO0lBZkQsNEJBZUM7SUFFRCxTQUFTLFlBQVksQ0FBQyxJQUFVLEVBQUUsWUFBb0IsRUFBRSxRQUFnQjtRQUN0RSxNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsSUFBQSxzQ0FBc0IsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUNiLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFBLDhCQUFjLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO1FBQ2pFLE1BQU0sU0FBUyxHQUFHLElBQUksa0NBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVoRSwyQ0FBMkM7UUFDM0MsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixzREFBc0Q7UUFDdEQsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTFCLGlGQUFpRjtRQUNqRixrRkFBa0Y7UUFDbEYsb0RBQW9EO1FBQ3BELGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUU3RCw4REFBOEQ7UUFDOUQsU0FBUyxpQkFBaUIsQ0FBQyxVQUF5QjtZQUNsRCxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ25DLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUUsQ0FBQzthQUN6QztZQUNELE1BQU0sT0FBTyxHQUFHLG9CQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFBLGVBQVEsRUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0UsTUFBTSxRQUFRLEdBQW1CO2dCQUMvQixVQUFVLENBQUMsT0FBK0IsRUFBRSxPQUErQjtvQkFDekUsWUFBWSxDQUFDLFdBQVcsQ0FDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFDckIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsb0JBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsQ0FBQztnQkFDRCxZQUFZLENBQUMsS0FBYSxFQUFFLFVBQWtCO29CQUM1QyxpRkFBaUY7b0JBQ2pGLGlGQUFpRjtvQkFDakYsMEVBQTBFO29CQUMxRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxvQkFBb0IsQ0FBQyxhQUE4QixFQUFFLGdCQUF3QjtvQkFDM0UsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQ3hFLFlBQVksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZFLENBQUM7Z0JBQ0QsWUFBWTtvQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2FBQ0YsQ0FBQztZQUNGLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtyZWxhdGl2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0UHJvamVjdFRzQ29uZmlnUGF0aHN9IGZyb20gJy4uLy4uL3V0aWxzL3Byb2plY3RfdHNjb25maWdfcGF0aHMnO1xuaW1wb3J0IHtjYW5NaWdyYXRlRmlsZSwgY3JlYXRlTWlncmF0aW9uUHJvZ3JhbX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9jb21waWxlcl9ob3N0JztcblxuaW1wb3J0IHtQYXRoTWF0Y2hUeXBlVHJhbnNmb3JtfSBmcm9tICcuL3RyYW5zZm9ybSc7XG5pbXBvcnQge1VwZGF0ZVJlY29yZGVyfSBmcm9tICcuL3VwZGF0ZV9yZWNvcmRlcic7XG5cblxuLyoqIE1pZ3JhdGlvbiB0aGF0IGFkZHMgZXhwbGljaXQgdHlwZSB0byBgUm91dGVgL2BSb3V0ZXNgIHdoaWNoIHVzZSBgcGF0Y2hNYXRjaGAgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUpID0+IHtcbiAgICBjb25zdCB7YnVpbGRQYXRocywgdGVzdFBhdGhzfSA9IGF3YWl0IGdldFByb2plY3RUc0NvbmZpZ1BhdGhzKHRyZWUpO1xuICAgIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBjb25zdCBhbGxQYXRocyA9IFsuLi5idWlsZFBhdGhzLCAuLi50ZXN0UGF0aHNdO1xuXG4gICAgaWYgKCFhbGxQYXRocy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKFxuICAgICAgICAgICdDb3VsZCBub3QgZmluZCBhbnkgdHNjb25maWcgZmlsZS4gQ2Fubm90IHBlcmZvcm0gcGF0aE1hdGNoIG1pZ3JhdGlvbi4nKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHRzY29uZmlnUGF0aCBvZiBhbGxQYXRocykge1xuICAgICAgcnVuTWlncmF0aW9uKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcnVuTWlncmF0aW9uKHRyZWU6IFRyZWUsIHRzY29uZmlnUGF0aDogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuICBjb25zdCB1cGRhdGVSZWNvcmRlcnMgPSBuZXcgTWFwPHRzLlNvdXJjZUZpbGUsIFVwZGF0ZVJlY29yZGVyPigpO1xuICBjb25zdCB0cmFuc2Zvcm0gPSBuZXcgUGF0aE1hdGNoVHlwZVRyYW5zZm9ybShnZXRVcGRhdGVSZWNvcmRlcik7XG5cbiAgLy8gTWlncmF0ZSBhbGwgc291cmNlIGZpbGVzIGluIHRoZSBwcm9qZWN0LlxuICB0cmFuc2Zvcm0ubWlncmF0ZShzb3VyY2VGaWxlcyk7XG4gIC8vIFJlY29yZCB0aGUgY2hhbmdlcyBjb2xsZWN0ZWQgaW4gdGhlIGltcG9ydCBtYW5hZ2VyLlxuICB0cmFuc2Zvcm0ucmVjb3JkQ2hhbmdlcygpO1xuXG4gIC8vIFdhbGsgdGhyb3VnaCBlYWNoIHVwZGF0ZSByZWNvcmRlciBhbmQgY29tbWl0IHRoZSB1cGRhdGUuIFdlIG5lZWQgdG8gY29tbWl0IHRoZVxuICAvLyB1cGRhdGVzIGluIGJhdGNoZXMgcGVyIHNvdXJjZSBmaWxlIGFzIHRoZXJlIGNhbiBiZSBvbmx5IG9uZSByZWNvcmRlciBwZXIgc291cmNlXG4gIC8vIGZpbGUgaW4gb3JkZXIgdG8gYXZvaWQgc2hpZnRlZCBjaGFyYWN0ZXIgb2Zmc2V0cy5cbiAgdXBkYXRlUmVjb3JkZXJzLmZvckVhY2gocmVjb3JkZXIgPT4gcmVjb3JkZXIuY29tbWl0VXBkYXRlKCkpO1xuXG4gIC8qKiBHZXRzIHRoZSB1cGRhdGUgcmVjb3JkZXIgZm9yIHRoZSBzcGVjaWZpZWQgc291cmNlIGZpbGUuICovXG4gIGZ1bmN0aW9uIGdldFVwZGF0ZVJlY29yZGVyKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgaWYgKHVwZGF0ZVJlY29yZGVycy5oYXMoc291cmNlRmlsZSkpIHtcbiAgICAgIHJldHVybiB1cGRhdGVSZWNvcmRlcnMuZ2V0KHNvdXJjZUZpbGUpITtcbiAgICB9XG4gICAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoKTtcbiAgICBjb25zdCB0cmVlUmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKHJlbGF0aXZlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLmZpbGVOYW1lKSk7XG4gICAgY29uc3QgcmVjb3JkZXI6IFVwZGF0ZVJlY29yZGVyID0ge1xuICAgICAgdXBkYXRlTm9kZShvbGRFeHByOiB0cy5WYXJpYWJsZURlY2xhcmF0aW9uLCBuZXdFeHByOiB0cy5WYXJpYWJsZURlY2xhcmF0aW9uKSB7XG4gICAgICAgIHRyZWVSZWNvcmRlci5pbnNlcnRSaWdodChcbiAgICAgICAgICAgIG9sZEV4cHIubmFtZS5nZXRFbmQoKSxcbiAgICAgICAgICAgICc6ICcgKyBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbmV3RXhwci50eXBlISwgc291cmNlRmlsZSkpO1xuICAgICAgfSxcbiAgICAgIGFkZE5ld0ltcG9ydChzdGFydDogbnVtYmVyLCBpbXBvcnRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gTmV3IGltcG9ydHMgc2hvdWxkIGJlIGluc2VydGVkIGF0IHRoZSBsZWZ0IHdoaWxlIGRlY29yYXRvcnMgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICAgIC8vIGF0IHRoZSByaWdodCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBpbXBvcnRzIGFyZSBpbnNlcnRlZCBiZWZvcmUgdGhlIGRlY29yYXRvclxuICAgICAgICAvLyBpZiB0aGUgc3RhcnQgcG9zaXRpb24gb2YgaW1wb3J0IGFuZCBkZWNvcmF0b3IgaXMgdGhlIHNvdXJjZSBmaWxlIHN0YXJ0LlxuICAgICAgICB0cmVlUmVjb3JkZXIuaW5zZXJ0TGVmdChzdGFydCwgaW1wb3J0VGV4dCk7XG4gICAgICB9LFxuICAgICAgdXBkYXRlRXhpc3RpbmdJbXBvcnQobmFtZWRCaW5kaW5nczogdHMuTmFtZWRJbXBvcnRzLCBuZXdOYW1lZEJpbmRpbmdzOiBzdHJpbmcpIHtcbiAgICAgICAgdHJlZVJlY29yZGVyLnJlbW92ZShuYW1lZEJpbmRpbmdzLmdldFN0YXJ0KCksIG5hbWVkQmluZGluZ3MuZ2V0V2lkdGgoKSk7XG4gICAgICAgIHRyZWVSZWNvcmRlci5pbnNlcnRSaWdodChuYW1lZEJpbmRpbmdzLmdldFN0YXJ0KCksIG5ld05hbWVkQmluZGluZ3MpO1xuICAgICAgfSxcbiAgICAgIGNvbW1pdFVwZGF0ZSgpIHtcbiAgICAgICAgdHJlZS5jb21taXRVcGRhdGUodHJlZVJlY29yZGVyKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHVwZGF0ZVJlY29yZGVycy5zZXQoc291cmNlRmlsZSwgcmVjb3JkZXIpO1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/path-match-type/transform" />
9
- import ts from 'typescript';
10
- import { UpdateRecorder } from './update_recorder';
11
- export declare class PathMatchTypeTransform {
12
- private getUpdateRecorder;
13
- private printer;
14
- private importManager;
15
- constructor(getUpdateRecorder: (sf: ts.SourceFile) => UpdateRecorder);
16
- migrate(sourceFiles: ts.SourceFile[]): void;
17
- /** Records all changes that were made in the import manager. */
18
- recordChanges(): void;
19
- }
@@ -1,48 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/path-match-type/transform", ["require", "exports", "typescript", "@angular/core/schematics/utils/import_manager", "@angular/core/schematics/migrations/path-match-type/util"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.PathMatchTypeTransform = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const import_manager_1 = require("@angular/core/schematics/utils/import_manager");
25
- const util_1 = require("@angular/core/schematics/migrations/path-match-type/util");
26
- class PathMatchTypeTransform {
27
- constructor(getUpdateRecorder) {
28
- this.getUpdateRecorder = getUpdateRecorder;
29
- this.printer = typescript_1.default.createPrinter();
30
- this.importManager = new import_manager_1.ImportManager(this.getUpdateRecorder, this.printer);
31
- }
32
- migrate(sourceFiles) {
33
- for (const sourceFile of sourceFiles) {
34
- const toMigrate = (0, util_1.findExpressionsToMigrate)(sourceFile, this.importManager);
35
- const recorder = this.getUpdateRecorder(sourceFile);
36
- for (const [oldNode, newNode] of toMigrate) {
37
- recorder.updateNode(oldNode, newNode, sourceFile);
38
- }
39
- }
40
- }
41
- /** Records all changes that were made in the import manager. */
42
- recordChanges() {
43
- this.importManager.recordChanges();
44
- }
45
- }
46
- exports.PathMatchTypeTransform = PathMatchTypeTransform;
47
- });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvcGF0aC1tYXRjaC10eXBlL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCw0REFBNEI7SUFFNUIsa0ZBQXlEO0lBR3pELG1GQUFnRDtJQUdoRCxNQUFhLHNCQUFzQjtRQUlqQyxZQUFvQixpQkFBd0Q7WUFBeEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QztZQUhwRSxZQUFPLEdBQUcsb0JBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixrQkFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRUQsQ0FBQztRQUVoRixPQUFPLENBQUMsV0FBNEI7WUFDbEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7Z0JBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUEsK0JBQXdCLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDM0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwRCxLQUFLLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksU0FBUyxFQUFFO29CQUMxQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7aUJBQ25EO2FBQ0Y7UUFDSCxDQUFDO1FBQ0QsZ0VBQWdFO1FBQ2hFLGFBQWE7WUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLENBQUM7S0FDRjtJQW5CRCx3REFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0ltcG9ydE1hbmFnZXJ9IGZyb20gJy4uLy4uL3V0aWxzL2ltcG9ydF9tYW5hZ2VyJztcblxuaW1wb3J0IHtVcGRhdGVSZWNvcmRlcn0gZnJvbSAnLi91cGRhdGVfcmVjb3JkZXInO1xuaW1wb3J0IHtmaW5kRXhwcmVzc2lvbnNUb01pZ3JhdGV9IGZyb20gJy4vdXRpbCc7XG5cblxuZXhwb3J0IGNsYXNzIFBhdGhNYXRjaFR5cGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIHByaXZhdGUgaW1wb3J0TWFuYWdlciA9IG5ldyBJbXBvcnRNYW5hZ2VyKHRoaXMuZ2V0VXBkYXRlUmVjb3JkZXIsIHRoaXMucHJpbnRlcik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnZXRVcGRhdGVSZWNvcmRlcjogKHNmOiB0cy5Tb3VyY2VGaWxlKSA9PiBVcGRhdGVSZWNvcmRlcikge31cblxuICBtaWdyYXRlKHNvdXJjZUZpbGVzOiB0cy5Tb3VyY2VGaWxlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHNvdXJjZUZpbGUgb2Ygc291cmNlRmlsZXMpIHtcbiAgICAgIGNvbnN0IHRvTWlncmF0ZSA9IGZpbmRFeHByZXNzaW9uc1RvTWlncmF0ZShzb3VyY2VGaWxlLCB0aGlzLmltcG9ydE1hbmFnZXIpO1xuICAgICAgY29uc3QgcmVjb3JkZXIgPSB0aGlzLmdldFVwZGF0ZVJlY29yZGVyKHNvdXJjZUZpbGUpO1xuICAgICAgZm9yIChjb25zdCBbb2xkTm9kZSwgbmV3Tm9kZV0gb2YgdG9NaWdyYXRlKSB7XG4gICAgICAgIHJlY29yZGVyLnVwZGF0ZU5vZGUob2xkTm9kZSwgbmV3Tm9kZSwgc291cmNlRmlsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKiBSZWNvcmRzIGFsbCBjaGFuZ2VzIHRoYXQgd2VyZSBtYWRlIGluIHRoZSBpbXBvcnQgbWFuYWdlci4gKi9cbiAgcmVjb3JkQ2hhbmdlcygpIHtcbiAgICB0aGlzLmltcG9ydE1hbmFnZXIucmVjb3JkQ2hhbmdlcygpO1xuICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/path-match-type/update_recorder" />
9
- import ts from 'typescript';
10
- import { ImportManagerUpdateRecorder } from '../../utils/import_manager';
11
- /**
12
- * Update recorder interface that is used to transform source files
13
- * in a non-colliding way.
14
- */
15
- export interface UpdateRecorder extends ImportManagerUpdateRecorder {
16
- updateNode(oldNode: ts.VariableDeclaration, newNode: ts.VariableDeclaration, sourceFile: ts.SourceFile): void;
17
- commitUpdate(): void;
18
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/core/schematics/migrations/path-match-type/update_recorder", ["require", "exports"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlX3JlY29yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvcGF0aC1tYXRjaC10eXBlL3VwZGF0ZV9yZWNvcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0ltcG9ydE1hbmFnZXJVcGRhdGVSZWNvcmRlcn0gZnJvbSAnLi4vLi4vdXRpbHMvaW1wb3J0X21hbmFnZXInO1xuXG4vKipcbiAqIFVwZGF0ZSByZWNvcmRlciBpbnRlcmZhY2UgdGhhdCBpcyB1c2VkIHRvIHRyYW5zZm9ybSBzb3VyY2UgZmlsZXNcbiAqIGluIGEgbm9uLWNvbGxpZGluZyB3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVjb3JkZXIgZXh0ZW5kcyBJbXBvcnRNYW5hZ2VyVXBkYXRlUmVjb3JkZXIge1xuICB1cGRhdGVOb2RlKFxuICAgICAgb2xkTm9kZTogdHMuVmFyaWFibGVEZWNsYXJhdGlvbiwgbmV3Tm9kZTogdHMuVmFyaWFibGVEZWNsYXJhdGlvbixcbiAgICAgIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiB2b2lkO1xuICBjb21taXRVcGRhdGUoKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/path-match-type/util" />
9
- import ts from 'typescript';
10
- import { ImportManager } from '../../utils/import_manager';
11
- export declare function findExpressionsToMigrate(sourceFile: ts.SourceFile, importManager: ImportManager): Map<ts.VariableDeclaration, ts.VariableDeclaration>;
@@ -1,106 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/path-match-type/util", ["require", "exports", "typescript"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.findExpressionsToMigrate = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- function findExpressionsToMigrate(sourceFile, importManager) {
25
- const migratedNodesMap = new Map();
26
- let _currentVariableDecl = null;
27
- (() => {
28
- sourceFile.forEachChild(function visitNode(node) {
29
- if (typescript_1.default.isVariableDeclaration(node)) {
30
- _currentVariableDecl = node;
31
- node.forEachChild(visitNode);
32
- _currentVariableDecl = null;
33
- }
34
- if (isRouteOrRoutesVariableDeclaration(node)) {
35
- // The variable declaration is already explicitly typed as `Route` or `Routes` so it does
36
- // not need a migration.
37
- return;
38
- }
39
- else if (typescript_1.default.isObjectLiteralExpression(node)) {
40
- if (_currentVariableDecl !== null && _currentVariableDecl.type === undefined) {
41
- visitObjectLiteral(node);
42
- }
43
- }
44
- else {
45
- node.forEachChild(visitNode);
46
- }
47
- });
48
- function visitObjectLiteral(obj) {
49
- const hasPathMatch = obj.properties.some(p => isPropertyWithName(p, 'pathMatch'));
50
- const hasPath = obj.properties.some(p => isPropertyWithName(p, 'path'));
51
- const childrenProperty = obj.properties.find(p => isPropertyWithName(p, 'children'));
52
- // The object must have _both_ pathMatch _and_ path for us to be reasonably sure that it's
53
- // a `Route` definition.
54
- if (hasPath && hasPathMatch) {
55
- updateCurrentVariableDeclaration();
56
- }
57
- else if (childrenProperty !== undefined && typescript_1.default.isPropertyAssignment(childrenProperty) &&
58
- typescript_1.default.isArrayLiteralExpression(childrenProperty.initializer)) {
59
- // Also need to check the children if it exists
60
- for (const child of childrenProperty.initializer.elements) {
61
- if (typescript_1.default.isObjectLiteralExpression(child)) {
62
- visitObjectLiteral(child);
63
- // If the child caused a migration, we can exit early
64
- if (_currentVariableDecl && migratedNodesMap.has(_currentVariableDecl)) {
65
- break;
66
- }
67
- }
68
- }
69
- }
70
- }
71
- function isPropertyWithName(p, name) {
72
- if (typescript_1.default.isPropertyAssignment(p)) {
73
- return p.name.getText() === name;
74
- }
75
- else if (typescript_1.default.isShorthandPropertyAssignment(p)) {
76
- return p.name.getText() === name;
77
- }
78
- else {
79
- // Don't attempt to migrate edge case spreadAssignment
80
- return false;
81
- }
82
- }
83
- function updateCurrentVariableDeclaration() {
84
- if (_currentVariableDecl === null || _currentVariableDecl.initializer === undefined) {
85
- return;
86
- }
87
- let typeToUse;
88
- if (typescript_1.default.isArrayLiteralExpression(_currentVariableDecl.initializer)) {
89
- typeToUse = importManager.addImportToSourceFile(sourceFile, 'Routes', '@angular/router');
90
- }
91
- else {
92
- typeToUse = importManager.addImportToSourceFile(sourceFile, 'Route', '@angular/router');
93
- }
94
- const migrated = typescript_1.default.factory.updateVariableDeclaration(_currentVariableDecl, _currentVariableDecl.name, _currentVariableDecl.exclamationToken, typeToUse, _currentVariableDecl.initializer);
95
- migratedNodesMap.set(_currentVariableDecl, migrated);
96
- }
97
- })();
98
- return migratedNodesMap;
99
- }
100
- exports.findExpressionsToMigrate = findExpressionsToMigrate;
101
- function isRouteOrRoutesVariableDeclaration(node) {
102
- return typescript_1.default.isVariableDeclaration(node) && node.type &&
103
- (node.type.getText() === 'Route' || node.type.getText() === 'Routes');
104
- }
105
- });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3BhdGgtbWF0Y2gtdHlwZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUs1QixTQUFnQix3QkFBd0IsQ0FBQyxVQUF5QixFQUFFLGFBQTRCO1FBQzlGLE1BQU0sZ0JBQWdCLEdBQXdELElBQUksR0FBRyxFQUFFLENBQUM7UUFDeEYsSUFBSSxvQkFBb0IsR0FBZ0MsSUFBSSxDQUFDO1FBQzdELENBQUMsR0FBRyxFQUFFO1lBQ0osVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLFNBQVMsQ0FBQyxJQUFhO2dCQUN0RCxJQUFJLG9CQUFFLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2xDLG9CQUFvQixHQUFHLElBQUksQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDN0Isb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2lCQUM3QjtnQkFDRCxJQUFJLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM1Qyx5RkFBeUY7b0JBQ3pGLHdCQUF3QjtvQkFDeEIsT0FBTztpQkFDUjtxQkFBTSxJQUFJLG9CQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzdDLElBQUksb0JBQW9CLEtBQUssSUFBSSxJQUFJLG9CQUFvQixDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQzVFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUMxQjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxrQkFBa0IsQ0FBQyxHQUErQjtnQkFDekQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDbEYsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNyRiwwRkFBMEY7Z0JBQzFGLHdCQUF3QjtnQkFDeEIsSUFBSSxPQUFPLElBQUksWUFBWSxFQUFFO29CQUMzQixnQ0FBZ0MsRUFBRSxDQUFDO2lCQUNwQztxQkFBTSxJQUNILGdCQUFnQixLQUFLLFNBQVMsSUFBSSxvQkFBRSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDO29CQUMzRSxvQkFBRSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUM3RCwrQ0FBK0M7b0JBQy9DLEtBQUssTUFBTSxLQUFLLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTt3QkFDekQsSUFBSSxvQkFBRSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUN2QyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDMUIscURBQXFEOzRCQUNyRCxJQUFJLG9CQUFvQixJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2dDQUN0RSxNQUFNOzZCQUNQO3lCQUNGO3FCQUNGO2lCQUNGO1lBQ0gsQ0FBQztZQUVELFNBQVMsa0JBQWtCLENBQUMsQ0FBOEIsRUFBRSxJQUFZO2dCQUN0RSxJQUFJLG9CQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzlCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUM7aUJBQ2xDO3FCQUFNLElBQUksb0JBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0wsc0RBQXNEO29CQUN0RCxPQUFPLEtBQUssQ0FBQztpQkFDZDtZQUNILENBQUM7WUFFRCxTQUFTLGdDQUFnQztnQkFDdkMsSUFBSSxvQkFBb0IsS0FBSyxJQUFJLElBQUksb0JBQW9CLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDbkYsT0FBTztpQkFDUjtnQkFDRCxJQUFJLFNBQXNCLENBQUM7Z0JBQzNCLElBQUksb0JBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDakUsU0FBUyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixDQUM3RCxDQUFDO2lCQUM1QjtxQkFBTTtvQkFDTCxTQUFTLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQzVELENBQUM7aUJBQzVCO2dCQUVELE1BQU0sUUFBUSxHQUFHLG9CQUFFLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUNqRCxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsZ0JBQWdCLEVBQ3RGLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDakQsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRUwsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBL0VELDREQStFQztJQUVELFNBQVMsa0NBQWtDLENBQUMsSUFBYTtRQUN2RCxPQUFPLG9CQUFFLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUk7WUFDOUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0ltcG9ydE1hbmFnZXJ9IGZyb20gJy4uLy4uL3V0aWxzL2ltcG9ydF9tYW5hZ2VyJztcblxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEV4cHJlc3Npb25zVG9NaWdyYXRlKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUsIGltcG9ydE1hbmFnZXI6IEltcG9ydE1hbmFnZXIpIHtcbiAgY29uc3QgbWlncmF0ZWROb2Rlc01hcDogTWFwPHRzLlZhcmlhYmxlRGVjbGFyYXRpb24sIHRzLlZhcmlhYmxlRGVjbGFyYXRpb24+ID0gbmV3IE1hcCgpO1xuICBsZXQgX2N1cnJlbnRWYXJpYWJsZURlY2w6IHRzLlZhcmlhYmxlRGVjbGFyYXRpb258bnVsbCA9IG51bGw7XG4gICgoKSA9PiB7XG4gICAgc291cmNlRmlsZS5mb3JFYWNoQ2hpbGQoZnVuY3Rpb24gdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICAgIGlmICh0cy5pc1ZhcmlhYmxlRGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgICAgX2N1cnJlbnRWYXJpYWJsZURlY2wgPSBub2RlO1xuICAgICAgICBub2RlLmZvckVhY2hDaGlsZCh2aXNpdE5vZGUpO1xuICAgICAgICBfY3VycmVudFZhcmlhYmxlRGVjbCA9IG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoaXNSb3V0ZU9yUm91dGVzVmFyaWFibGVEZWNsYXJhdGlvbihub2RlKSkge1xuICAgICAgICAvLyBUaGUgdmFyaWFibGUgZGVjbGFyYXRpb24gaXMgYWxyZWFkeSBleHBsaWNpdGx5IHR5cGVkIGFzIGBSb3V0ZWAgb3IgYFJvdXRlc2Agc28gaXQgZG9lc1xuICAgICAgICAvLyBub3QgbmVlZCBhIG1pZ3JhdGlvbi5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICh0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKG5vZGUpKSB7XG4gICAgICAgIGlmIChfY3VycmVudFZhcmlhYmxlRGVjbCAhPT0gbnVsbCAmJiBfY3VycmVudFZhcmlhYmxlRGVjbC50eXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2aXNpdE9iamVjdExpdGVyYWwobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuZm9yRWFjaENoaWxkKHZpc2l0Tm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiB2aXNpdE9iamVjdExpdGVyYWwob2JqOiB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbikge1xuICAgICAgY29uc3QgaGFzUGF0aE1hdGNoID0gb2JqLnByb3BlcnRpZXMuc29tZShwID0+IGlzUHJvcGVydHlXaXRoTmFtZShwLCAncGF0aE1hdGNoJykpO1xuICAgICAgY29uc3QgaGFzUGF0aCA9IG9iai5wcm9wZXJ0aWVzLnNvbWUocCA9PiBpc1Byb3BlcnR5V2l0aE5hbWUocCwgJ3BhdGgnKSk7XG4gICAgICBjb25zdCBjaGlsZHJlblByb3BlcnR5ID0gb2JqLnByb3BlcnRpZXMuZmluZChwID0+IGlzUHJvcGVydHlXaXRoTmFtZShwLCAnY2hpbGRyZW4nKSk7XG4gICAgICAvLyBUaGUgb2JqZWN0IG11c3QgaGF2ZSBfYm90aF8gcGF0aE1hdGNoIF9hbmRfIHBhdGggZm9yIHVzIHRvIGJlIHJlYXNvbmFibHkgc3VyZSB0aGF0IGl0J3NcbiAgICAgIC8vIGEgYFJvdXRlYCBkZWZpbml0aW9uLlxuICAgICAgaWYgKGhhc1BhdGggJiYgaGFzUGF0aE1hdGNoKSB7XG4gICAgICAgIHVwZGF0ZUN1cnJlbnRWYXJpYWJsZURlY2xhcmF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGNoaWxkcmVuUHJvcGVydHkgIT09IHVuZGVmaW5lZCAmJiB0cy5pc1Byb3BlcnR5QXNzaWdubWVudChjaGlsZHJlblByb3BlcnR5KSAmJlxuICAgICAgICAgIHRzLmlzQXJyYXlMaXRlcmFsRXhwcmVzc2lvbihjaGlsZHJlblByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICAvLyBBbHNvIG5lZWQgdG8gY2hlY2sgdGhlIGNoaWxkcmVuIGlmIGl0IGV4aXN0c1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuUHJvcGVydHkuaW5pdGlhbGl6ZXIuZWxlbWVudHMpIHtcbiAgICAgICAgICBpZiAodHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihjaGlsZCkpIHtcbiAgICAgICAgICAgIHZpc2l0T2JqZWN0TGl0ZXJhbChjaGlsZCk7XG4gICAgICAgICAgICAvLyBJZiB0aGUgY2hpbGQgY2F1c2VkIGEgbWlncmF0aW9uLCB3ZSBjYW4gZXhpdCBlYXJseVxuICAgICAgICAgICAgaWYgKF9jdXJyZW50VmFyaWFibGVEZWNsICYmIG1pZ3JhdGVkTm9kZXNNYXAuaGFzKF9jdXJyZW50VmFyaWFibGVEZWNsKSkge1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1Byb3BlcnR5V2l0aE5hbWUocDogdHMuT2JqZWN0TGl0ZXJhbEVsZW1lbnRMaWtlLCBuYW1lOiBzdHJpbmcpIHtcbiAgICAgIGlmICh0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwKSkge1xuICAgICAgICByZXR1cm4gcC5uYW1lLmdldFRleHQoKSA9PT0gbmFtZTtcbiAgICAgIH0gZWxzZSBpZiAodHMuaXNTaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnQocCkpIHtcbiAgICAgICAgcmV0dXJuIHAubmFtZS5nZXRUZXh0KCkgPT09IG5hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEb24ndCBhdHRlbXB0IHRvIG1pZ3JhdGUgZWRnZSBjYXNlIHNwcmVhZEFzc2lnbm1lbnRcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHVwZGF0ZUN1cnJlbnRWYXJpYWJsZURlY2xhcmF0aW9uKCkge1xuICAgICAgaWYgKF9jdXJyZW50VmFyaWFibGVEZWNsID09PSBudWxsIHx8IF9jdXJyZW50VmFyaWFibGVEZWNsLmluaXRpYWxpemVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IHR5cGVUb1VzZTogdHMuVHlwZU5vZGU7XG4gICAgICBpZiAodHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKF9jdXJyZW50VmFyaWFibGVEZWNsLmluaXRpYWxpemVyKSkge1xuICAgICAgICB0eXBlVG9Vc2UgPSBpbXBvcnRNYW5hZ2VyLmFkZEltcG9ydFRvU291cmNlRmlsZShzb3VyY2VGaWxlLCAnUm91dGVzJywgJ0Bhbmd1bGFyL3JvdXRlcicpIGFzXG4gICAgICAgICAgICB1bmtub3duIGFzIHRzLlR5cGVOb2RlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZVRvVXNlID0gaW1wb3J0TWFuYWdlci5hZGRJbXBvcnRUb1NvdXJjZUZpbGUoc291cmNlRmlsZSwgJ1JvdXRlJywgJ0Bhbmd1bGFyL3JvdXRlcicpIGFzXG4gICAgICAgICAgICB1bmtub3duIGFzIHRzLlR5cGVOb2RlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtaWdyYXRlZCA9IHRzLmZhY3RvcnkudXBkYXRlVmFyaWFibGVEZWNsYXJhdGlvbihcbiAgICAgICAgICBfY3VycmVudFZhcmlhYmxlRGVjbCwgX2N1cnJlbnRWYXJpYWJsZURlY2wubmFtZSwgX2N1cnJlbnRWYXJpYWJsZURlY2wuZXhjbGFtYXRpb25Ub2tlbixcbiAgICAgICAgICB0eXBlVG9Vc2UsIF9jdXJyZW50VmFyaWFibGVEZWNsLmluaXRpYWxpemVyKTtcbiAgICAgIG1pZ3JhdGVkTm9kZXNNYXAuc2V0KF9jdXJyZW50VmFyaWFibGVEZWNsLCBtaWdyYXRlZCk7XG4gICAgfVxuICB9KSgpO1xuXG4gIHJldHVybiBtaWdyYXRlZE5vZGVzTWFwO1xufVxuXG5mdW5jdGlvbiBpc1JvdXRlT3JSb3V0ZXNWYXJpYWJsZURlY2xhcmF0aW9uKG5vZGU6IHRzLk5vZGUpIHtcbiAgcmV0dXJuIHRzLmlzVmFyaWFibGVEZWNsYXJhdGlvbihub2RlKSAmJiBub2RlLnR5cGUgJiZcbiAgICAgIChub2RlLnR5cGUuZ2V0VGV4dCgpID09PSAnUm91dGUnIHx8IG5vZGUudHlwZS5nZXRUZXh0KCkgPT09ICdSb3V0ZXMnKTtcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/relative-link-resolution" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- export default function (): Rule;
@@ -1,68 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- (function (factory) {
18
- if (typeof module === "object" && typeof module.exports === "object") {
19
- var v = factory(require, exports);
20
- if (v !== undefined) module.exports = v;
21
- }
22
- else if (typeof define === "function" && define.amd) {
23
- define("@angular/core/schematics/migrations/relative-link-resolution", ["require", "exports", "@angular-devkit/schematics", "path", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/relative-link-resolution/util"], factory);
24
- }
25
- })(function (require, exports) {
26
- "use strict";
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- const schematics_1 = require("@angular-devkit/schematics");
29
- const path_1 = require("path");
30
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
31
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
32
- const util_1 = require("@angular/core/schematics/migrations/relative-link-resolution/util");
33
- function default_1() {
34
- return (tree) => __awaiter(this, void 0, void 0, function* () {
35
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
36
- const basePath = process.cwd();
37
- const allPaths = [...buildPaths, ...testPaths];
38
- if (!allPaths.length) {
39
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. ' +
40
- 'Cannot run a migration to cleanup the deprecated `relativeLinkResolution` config option.');
41
- }
42
- for (const tsconfigPath of allPaths) {
43
- runRelativeLinkResolutionMigration(tree, tsconfigPath, basePath);
44
- }
45
- });
46
- }
47
- exports.default = default_1;
48
- function runRelativeLinkResolutionMigration(tree, tsconfigPath, basePath) {
49
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
50
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
51
- for (const sourceFile of sourceFiles) {
52
- let update = null;
53
- const rewriter = (startPos, origLength, text) => {
54
- if (update === null) {
55
- // Lazily initialize update, because most files will not require migration.
56
- update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
57
- }
58
- update.remove(startPos, origLength);
59
- update.insertLeft(startPos, text);
60
- };
61
- (0, util_1.migrateFile)(sourceFile, rewriter);
62
- if (update !== null) {
63
- tree.commitUpdate(update);
64
- }
65
- }
66
- }
67
- });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yZWxhdGl2ZS1saW5rLXJlc29sdXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBMkY7SUFDM0YsK0JBQThCO0lBRTlCLGtHQUEyRTtJQUMzRSwyRkFBNEY7SUFFNUYsNEZBQW1DO0lBRW5DO1FBQ0UsT0FBTyxDQUFPLElBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsTUFBTSxJQUFBLGdEQUF1QixFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFFL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxnQ0FBbUIsQ0FDekIsb0NBQW9DO29CQUNwQywwRkFBMEYsQ0FBQyxDQUFDO2FBQ2pHO1lBRUQsS0FBSyxNQUFNLFlBQVksSUFBSSxRQUFRLEVBQUU7Z0JBQ25DLGtDQUFrQyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUEsQ0FBQztJQUNKLENBQUM7SUFoQkQsNEJBZ0JDO0lBRUQsU0FBUyxrQ0FBa0MsQ0FBQyxJQUFVLEVBQUUsWUFBb0IsRUFBRSxRQUFnQjtRQUM1RixNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsSUFBQSxzQ0FBc0IsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUNiLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFBLDhCQUFjLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRWpHLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksTUFBTSxHQUF3QixJQUFJLENBQUM7WUFFdkMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUFFLFVBQWtCLEVBQUUsSUFBWSxFQUFFLEVBQUU7Z0JBQ3RFLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtvQkFDbkIsMkVBQTJFO29CQUMzRSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFBLGVBQVEsRUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3BFO2dCQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUM7WUFFRixJQUFBLGtCQUFXLEVBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRWxDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzQjtTQUNGO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1J1bGUsIFNjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWUsIFVwZGF0ZVJlY29yZGVyfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtnZXRQcm9qZWN0VHNDb25maWdQYXRoc30gZnJvbSAnLi4vLi4vdXRpbHMvcHJvamVjdF90c2NvbmZpZ19wYXRocyc7XG5pbXBvcnQge2Nhbk1pZ3JhdGVGaWxlLCBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2NvbXBpbGVyX2hvc3QnO1xuXG5pbXBvcnQge21pZ3JhdGVGaWxlfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbigpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3Qge2J1aWxkUGF0aHMsIHRlc3RQYXRoc30gPSBhd2FpdCBnZXRQcm9qZWN0VHNDb25maWdQYXRocyh0cmVlKTtcbiAgICBjb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgYWxsUGF0aHMgPSBbLi4uYnVpbGRQYXRocywgLi4udGVzdFBhdGhzXTtcblxuICAgIGlmICghYWxsUGF0aHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW55IHRzY29uZmlnIGZpbGUuICcgK1xuICAgICAgICAgICdDYW5ub3QgcnVuIGEgbWlncmF0aW9uIHRvIGNsZWFudXAgdGhlIGRlcHJlY2F0ZWQgYHJlbGF0aXZlTGlua1Jlc29sdXRpb25gIGNvbmZpZyBvcHRpb24uJyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0c2NvbmZpZ1BhdGggb2YgYWxsUGF0aHMpIHtcbiAgICAgIHJ1blJlbGF0aXZlTGlua1Jlc29sdXRpb25NaWdyYXRpb24odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBydW5SZWxhdGl2ZUxpbmtSZXNvbHV0aW9uTWlncmF0aW9uKHRyZWU6IFRyZWUsIHRzY29uZmlnUGF0aDogc3RyaW5nLCBiYXNlUGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuXG4gIGZvciAoY29uc3Qgc291cmNlRmlsZSBvZiBzb3VyY2VGaWxlcykge1xuICAgIGxldCB1cGRhdGU6IFVwZGF0ZVJlY29yZGVyfG51bGwgPSBudWxsO1xuXG4gICAgY29uc3QgcmV3cml0ZXIgPSAoc3RhcnRQb3M6IG51bWJlciwgb3JpZ0xlbmd0aDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh1cGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgLy8gTGF6aWx5IGluaXRpYWxpemUgdXBkYXRlLCBiZWNhdXNlIG1vc3QgZmlsZXMgd2lsbCBub3QgcmVxdWlyZSBtaWdyYXRpb24uXG4gICAgICAgIHVwZGF0ZSA9IHRyZWUuYmVnaW5VcGRhdGUocmVsYXRpdmUoYmFzZVBhdGgsIHNvdXJjZUZpbGUuZmlsZU5hbWUpKTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZS5yZW1vdmUoc3RhcnRQb3MsIG9yaWdMZW5ndGgpO1xuICAgICAgdXBkYXRlLmluc2VydExlZnQoc3RhcnRQb3MsIHRleHQpO1xuICAgIH07XG5cbiAgICBtaWdyYXRlRmlsZShzb3VyY2VGaWxlLCByZXdyaXRlcik7XG5cbiAgICBpZiAodXBkYXRlICE9PSBudWxsKSB7XG4gICAgICB0cmVlLmNvbW1pdFVwZGF0ZSh1cGRhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/relative-link-resolution/util" />
9
- import ts from 'typescript';
10
- export interface RewriteEntity {
11
- startPos: number;
12
- width: number;
13
- replacement: string;
14
- }
15
- export interface MigratableNode {
16
- objectLiteral: ts.ObjectLiteralExpression;
17
- property: ts.ObjectLiteralElementLike;
18
- }
19
- export type RewriteFn = (startPos: number, origLength: number, text: string) => void;
20
- export declare function migrateFile(sourceFile: ts.SourceFile, rewriteFn: RewriteFn): void;