jqwidgets-ng 23.0.7 → 23.0.8
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.
- package/package.json +1 -1
- package/schematics/cdk/schematics/index.d.ts +1 -1
- package/schematics/cdk/schematics/index.js +2 -2
- package/schematics/cdk/schematics/index.js.map +1 -0
- package/schematics/cdk/schematics/migration.json +4 -4
- package/schematics/cdk/schematics/ng-add/index.d.ts +1 -1
- package/schematics/cdk/schematics/ng-add/index.js +13 -21
- package/schematics/cdk/schematics/ng-add/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-add/schema.d.ts +1 -1
- package/schematics/cdk/schematics/ng-add/schema.js +2 -2
- package/schematics/cdk/schematics/ng-add/schema.js.map +1 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +6 -2
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +5 -5
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +17 -8
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +2 -2
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/class-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/class-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.d.ts +27 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.js +12 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/index.d.ts +2 -1
- package/schematics/cdk/schematics/ng-update/data/index.js +3 -2
- package/schematics/cdk/schematics/ng-update/data/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/input-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/input-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/output-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/output-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/property-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/property-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js +3 -4
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +19 -8
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +3 -3
- package/schematics/cdk/schematics/ng-update/devkit-migration.js +2 -2
- package/schematics/cdk/schematics/ng-update/devkit-migration.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js +3 -4
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +7 -8
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +8 -8
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/index.d.ts +3 -3
- package/schematics/cdk/schematics/ng-update/index.js +6 -7
- package/schematics/cdk/schematics/ng-update/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +12 -9
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js +16 -13
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +11 -8
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js +83 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +7 -4
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +11 -7
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/public-api.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/public-api.js +2 -2
- package/schematics/cdk/schematics/ng-update/public-api.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js +3 -4
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/imports.js +7 -8
- package/schematics/cdk/schematics/ng-update/typescript/imports.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/literal.js +4 -5
- package/schematics/cdk/schematics/ng-update/typescript/literal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +5 -5
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +3 -2
- package/schematics/cdk/schematics/ng-update/upgrade-data.js +5 -4
- package/schematics/cdk/schematics/ng-update/upgrade-data.js.map +1 -0
- package/schematics/cdk/schematics/paths.d.ts +1 -1
- package/schematics/cdk/schematics/paths.js +2 -2
- package/schematics/cdk/schematics/paths.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js +4 -6
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/file-system.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/file-system.js +2 -2
- package/schematics/cdk/schematics/update-tool/file-system.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/index.d.ts +2 -2
- package/schematics/cdk/schematics/update-tool/index.js +4 -10
- package/schematics/cdk/schematics/update-tool/index.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/logger.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/logger.js +2 -2
- package/schematics/cdk/schematics/update-tool/logger.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/migration.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/migration.js +4 -11
- package/schematics/cdk/schematics/update-tool/migration.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/public-api.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/public-api.js +2 -2
- package/schematics/cdk/schematics/update-tool/public-api.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/target-version.d.ts +2 -2
- package/schematics/cdk/schematics/update-tool/target-version.js +5 -6
- package/schematics/cdk/schematics/update-tool/target-version.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/update-recorder.js +2 -2
- package/schematics/cdk/schematics/update-tool/update-recorder.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/decorators.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/decorators.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/functions.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/functions.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/imports.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/imports.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +4 -4
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/property-name.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/property-name.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +6 -7
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/version-changes.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/version-changes.js +4 -5
- package/schematics/cdk/schematics/update-tool/version-changes.js.map +1 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +3 -4
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js.map +1 -0
- package/schematics/cdk/schematics/utils/ast.d.ts +3 -3
- package/schematics/cdk/schematics/utils/ast.js +28 -18
- package/schematics/cdk/schematics/utils/ast.js.map +1 -0
- package/schematics/cdk/schematics/utils/build-component.d.ts +1 -1
- package/schematics/cdk/schematics/utils/build-component.js +24 -20
- package/schematics/cdk/schematics/utils/build-component.js.map +1 -0
- package/schematics/cdk/schematics/utils/get-project.d.ts +3 -3
- package/schematics/cdk/schematics/utils/get-project.js +3 -4
- package/schematics/cdk/schematics/utils/get-project.js.map +1 -0
- package/schematics/cdk/schematics/utils/html-manipulation.d.ts +1 -1
- package/schematics/cdk/schematics/utils/html-manipulation.js +5 -6
- package/schematics/cdk/schematics/utils/html-manipulation.js.map +1 -0
- package/schematics/cdk/schematics/utils/index.d.ts +1 -1
- package/schematics/cdk/schematics/utils/index.js +2 -2
- package/schematics/cdk/schematics/utils/index.js.map +1 -0
- package/schematics/cdk/schematics/utils/parse5-element.d.ts +1 -1
- package/schematics/cdk/schematics/utils/parse5-element.js +3 -4
- package/schematics/cdk/schematics/utils/parse5-element.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-index-file.d.ts +7 -4
- package/schematics/cdk/schematics/utils/project-index-file.js +32 -10
- package/schematics/cdk/schematics/utils/project-index-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-main-file.d.ts +4 -3
- package/schematics/cdk/schematics/utils/project-main-file.js +3 -4
- package/schematics/cdk/schematics/utils/project-main-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-style-file.d.ts +3 -3
- package/schematics/cdk/schematics/utils/project-style-file.js +3 -4
- package/schematics/cdk/schematics/utils/project-style-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-targets.d.ts +6 -5
- package/schematics/cdk/schematics/utils/project-targets.js +19 -12
- package/schematics/cdk/schematics/utils/project-targets.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +4 -4
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +29 -18
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js.map +1 -0
- package/schematics/cdk/schematics/utils/schematic-options.d.ts +3 -3
- package/schematics/cdk/schematics/utils/schematic-options.js +30 -19
- package/schematics/cdk/schematics/utils/schematic-options.js.map +1 -0
- package/schematics/cdk2/schematics/collection.json +18 -0
- package/schematics/cdk2/schematics/index.d.ts +14 -0
- package/schematics/cdk2/schematics/index.mjs +37 -0
- package/schematics/cdk2/schematics/migration.json +15 -0
- package/schematics/cdk2/schematics/ng-add/index.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-add/index.mjs +39 -0
- package/schematics/cdk2/schematics/ng-add/schema.d.ts +11 -0
- package/schematics/cdk2/schematics/ng-add/schema.json +16 -0
- package/schematics/cdk2/schematics/ng-add/schema.mjs +10 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +25 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +45 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/index.d.ts +11 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/index.mjs +33 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.json +100 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.mjs +10 -0
- package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/class-names.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/class-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/constructor-checks.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/constructor-checks.mjs +17 -0
- package/schematics/cdk2/schematics/ng-update/data/css-selectors.d.ts +27 -0
- package/schematics/cdk2/schematics/ng-update/data/css-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/element-selectors.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/element-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/index.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/index.mjs +34 -0
- package/schematics/cdk2/schematics/ng-update/data/input-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/data/input-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/method-call-checks.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/method-call-checks.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/output-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/data/output-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/property-names.d.ts +20 -0
- package/schematics/cdk2/schematics/ng-update/data/property-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/symbol-removal.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/symbol-removal.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/devkit-file-system.d.ts +30 -0
- package/schematics/cdk2/schematics/ng-update/devkit-file-system.mjs +84 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.mjs +131 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration.d.ts +35 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration.mjs +20 -0
- package/schematics/cdk2/schematics/ng-update/find-stylesheets.d.ts +16 -0
- package/schematics/cdk2/schematics/ng-update/find-stylesheets.mjs +42 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/angular.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/angular.mjs +52 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/elements.d.ts +24 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/elements.mjs +63 -0
- package/schematics/cdk2/schematics/ng-update/index.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-update/index.mjs +30 -0
- package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.mjs +68 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.mjs +55 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-names.d.ts +32 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-names.mjs +88 -0
- package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
- package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.mjs +136 -0
- package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.mjs +72 -0
- package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.mjs +63 -0
- package/schematics/cdk2/schematics/ng-update/migrations/input-names.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/input-names.mjs +56 -0
- package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.mjs +59 -0
- package/schematics/cdk2/schematics/ng-update/migrations/misc-template.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/migrations/misc-template.mjs +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/output-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/output-names.mjs +43 -0
- package/schematics/cdk2/schematics/ng-update/migrations/property-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/property-names.mjs +57 -0
- package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.mjs +43 -0
- package/schematics/cdk2/schematics/ng-update/public-api.d.ts +19 -0
- package/schematics/cdk2/schematics/ng-update/public-api.mjs +36 -0
- package/schematics/cdk2/schematics/ng-update/typescript/base-types.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-update/typescript/base-types.mjs +24 -0
- package/schematics/cdk2/schematics/ng-update/typescript/imports.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/typescript/imports.mjs +54 -0
- package/schematics/cdk2/schematics/ng-update/typescript/literal.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/typescript/literal.mjs +33 -0
- package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
- package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
- package/schematics/cdk2/schematics/ng-update/upgrade-data.d.ts +34 -0
- package/schematics/cdk2/schematics/ng-update/upgrade-data.mjs +39 -0
- package/schematics/cdk2/schematics/package.json +3 -0
- package/schematics/cdk2/schematics/paths.d.ts +11 -0
- package/schematics/cdk2/schematics/paths.mjs +16 -0
- package/schematics/cdk2/schematics/update-tool/component-resource-collector.d.ts +44 -0
- package/schematics/cdk2/schematics/update-tool/component-resource-collector.mjs +166 -0
- package/schematics/cdk2/schematics/update-tool/file-system.d.ts +72 -0
- package/schematics/cdk2/schematics/update-tool/file-system.mjs +18 -0
- package/schematics/cdk2/schematics/update-tool/index.d.ts +74 -0
- package/schematics/cdk2/schematics/update-tool/index.mjs +178 -0
- package/schematics/cdk2/schematics/update-tool/logger.d.ts +15 -0
- package/schematics/cdk2/schematics/update-tool/logger.mjs +18 -0
- package/schematics/cdk2/schematics/update-tool/migration.d.ts +87 -0
- package/schematics/cdk2/schematics/update-tool/migration.mjs +77 -0
- package/schematics/cdk2/schematics/update-tool/public-api.d.ts +16 -0
- package/schematics/cdk2/schematics/update-tool/public-api.mjs +33 -0
- package/schematics/cdk2/schematics/update-tool/target-version.d.ts +16 -0
- package/schematics/cdk2/schematics/update-tool/target-version.mjs +28 -0
- package/schematics/cdk2/schematics/update-tool/update-recorder.d.ts +13 -0
- package/schematics/cdk2/schematics/update-tool/update-recorder.mjs +10 -0
- package/schematics/cdk2/schematics/update-tool/utils/decorators.d.ts +22 -0
- package/schematics/cdk2/schematics/update-tool/utils/decorators.mjs +42 -0
- package/schematics/cdk2/schematics/update-tool/utils/diagnostics.d.ts +11 -0
- package/schematics/cdk2/schematics/update-tool/utils/diagnostics.mjs +19 -0
- package/schematics/cdk2/schematics/update-tool/utils/functions.d.ts +14 -0
- package/schematics/cdk2/schematics/update-tool/utils/functions.mjs +21 -0
- package/schematics/cdk2/schematics/update-tool/utils/imports.d.ts +17 -0
- package/schematics/cdk2/schematics/update-tool/utils/imports.mjs +111 -0
- package/schematics/cdk2/schematics/update-tool/utils/line-mappings.d.ts +21 -0
- package/schematics/cdk2/schematics/update-tool/utils/line-mappings.mjs +76 -0
- package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.d.ts +18 -0
- package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.mjs +45 -0
- package/schematics/cdk2/schematics/update-tool/utils/property-name.d.ts +18 -0
- package/schematics/cdk2/schematics/update-tool/utils/property-name.mjs +28 -0
- package/schematics/cdk2/schematics/update-tool/utils/virtual-host.d.ts +36 -0
- package/schematics/cdk2/schematics/update-tool/utils/virtual-host.mjs +72 -0
- package/schematics/cdk2/schematics/update-tool/version-changes.d.ts +32 -0
- package/schematics/cdk2/schematics/update-tool/version-changes.mjs +39 -0
- package/schematics/cdk2/schematics/utils/ast/ng-module-imports.d.ts +12 -0
- package/schematics/cdk2/schematics/utils/ast/ng-module-imports.mjs +83 -0
- package/schematics/cdk2/schematics/utils/ast.d.ts +25 -0
- package/schematics/cdk2/schematics/utils/ast.mjs +69 -0
- package/schematics/cdk2/schematics/utils/build-component.d.ts +20 -0
- package/schematics/cdk2/schematics/utils/build-component.mjs +184 -0
- package/schematics/cdk2/schematics/utils/get-project.d.ts +13 -0
- package/schematics/cdk2/schematics/utils/get-project.mjs +29 -0
- package/schematics/cdk2/schematics/utils/html-manipulation.d.ts +15 -0
- package/schematics/cdk2/schematics/utils/html-manipulation.mjs +92 -0
- package/schematics/cdk2/schematics/utils/index.d.ts +19 -0
- package/schematics/cdk2/schematics/utils/index.mjs +36 -0
- package/schematics/cdk2/schematics/utils/parse5-element.d.ts +12 -0
- package/schematics/cdk2/schematics/utils/parse5-element.mjs +31 -0
- package/schematics/cdk2/schematics/utils/project-index-file.d.ts +10 -0
- package/schematics/cdk2/schematics/utils/project-index-file.mjs +21 -0
- package/schematics/cdk2/schematics/utils/project-main-file.d.ts +10 -0
- package/schematics/cdk2/schematics/utils/project-main-file.mjs +26 -0
- package/schematics/cdk2/schematics/utils/project-style-file.d.ts +13 -0
- package/schematics/cdk2/schematics/utils/project-style-file.mjs +43 -0
- package/schematics/cdk2/schematics/utils/project-targets.d.ts +14 -0
- package/schematics/cdk2/schematics/utils/project-targets.mjs +39 -0
- package/schematics/cdk2/schematics/utils/project-tsconfig-paths.d.ts +14 -0
- package/schematics/cdk2/schematics/utils/project-tsconfig-paths.mjs +35 -0
- package/schematics/cdk2/schematics/utils/schematic-options.d.ts +20 -0
- package/schematics/cdk2/schematics/utils/schematic-options.mjs +78 -0
- /package/schematics/{cdk/schematics/index.mjs → cdk2/schematics/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-add/index.mjs → cdk2/schematics/ng-add/index.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.d.ts +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.js +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.mjs +0 -0
- /package/schematics/{cdk/schematics/ng-add/schema.mjs → cdk2/schematics/ng-add/schema.js} +0 -0
- /package/schematics/{cdk/schematics/ng-generate/drag-drop/index.mjs → cdk2/schematics/ng-generate/drag-drop/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-generate/drag-drop/schema.mjs → cdk2/schematics/ng-generate/drag-drop/schema.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/attribute-selectors.mjs → cdk2/schematics/ng-update/data/attribute-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/class-names.mjs → cdk2/schematics/ng-update/data/class-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/constructor-checks.mjs → cdk2/schematics/ng-update/data/constructor-checks.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/css-selectors.mjs → cdk2/schematics/ng-update/data/css-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/element-selectors.mjs → cdk2/schematics/ng-update/data/element-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/index.mjs → cdk2/schematics/ng-update/data/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/input-names.mjs → cdk2/schematics/ng-update/data/input-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/method-call-checks.mjs → cdk2/schematics/ng-update/data/method-call-checks.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/output-names.mjs → cdk2/schematics/ng-update/data/output-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/property-names.mjs → cdk2/schematics/ng-update/data/property-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/symbol-removal.mjs → cdk2/schematics/ng-update/data/symbol-removal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-file-system.mjs → cdk2/schematics/ng-update/devkit-file-system.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-migration-rule.mjs → cdk2/schematics/ng-update/devkit-migration-rule.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-migration.mjs → cdk2/schematics/ng-update/devkit-migration.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/find-stylesheets.mjs → cdk2/schematics/ng-update/find-stylesheets.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/html-parsing/angular.mjs → cdk2/schematics/ng-update/html-parsing/angular.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/html-parsing/elements.mjs → cdk2/schematics/ng-update/html-parsing/elements.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/index.mjs → cdk2/schematics/ng-update/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/attribute-selectors.mjs → cdk2/schematics/ng-update/migrations/attribute-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/class-inheritance.mjs → cdk2/schematics/ng-update/migrations/class-inheritance.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/class-names.mjs → cdk2/schematics/ng-update/migrations/class-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/constructor-signature.mjs → cdk2/schematics/ng-update/migrations/constructor-signature.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/css-selectors.mjs → cdk2/schematics/ng-update/migrations/css-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/element-selectors.mjs → cdk2/schematics/ng-update/migrations/element-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/input-names.mjs → cdk2/schematics/ng-update/migrations/input-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/method-call-arguments.mjs → cdk2/schematics/ng-update/migrations/method-call-arguments.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/misc-template.mjs → cdk2/schematics/ng-update/migrations/misc-template.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/output-names.mjs → cdk2/schematics/ng-update/migrations/output-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/property-names.mjs → cdk2/schematics/ng-update/migrations/property-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/symbol-removal.mjs → cdk2/schematics/ng-update/migrations/symbol-removal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/public-api.mjs → cdk2/schematics/ng-update/public-api.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/base-types.mjs → cdk2/schematics/ng-update/typescript/base-types.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/imports.mjs → cdk2/schematics/ng-update/typescript/imports.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/literal.mjs → cdk2/schematics/ng-update/typescript/literal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/module-specifiers.mjs → cdk2/schematics/ng-update/typescript/module-specifiers.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/upgrade-data.mjs → cdk2/schematics/ng-update/upgrade-data.js} +0 -0
- /package/schematics/{cdk/schematics/paths.mjs → cdk2/schematics/paths.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/schematics.externs.js +0 -0
- /package/schematics/{cdk → cdk2}/schematics/tsconfig.json +0 -0
- /package/schematics/{cdk/schematics/update-tool/component-resource-collector.mjs → cdk2/schematics/update-tool/component-resource-collector.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/file-system.mjs → cdk2/schematics/update-tool/file-system.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/index.mjs → cdk2/schematics/update-tool/index.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/logger.mjs → cdk2/schematics/update-tool/logger.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/migration.mjs → cdk2/schematics/update-tool/migration.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/public-api.mjs → cdk2/schematics/update-tool/public-api.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/target-version.mjs → cdk2/schematics/update-tool/target-version.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/update-recorder.mjs → cdk2/schematics/update-tool/update-recorder.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/update-tool/update-tool.externs.js +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/decorators.mjs → cdk2/schematics/update-tool/utils/decorators.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/diagnostics.mjs → cdk2/schematics/update-tool/utils/diagnostics.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/functions.mjs → cdk2/schematics/update-tool/utils/functions.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/imports.mjs → cdk2/schematics/update-tool/utils/imports.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/line-mappings.mjs → cdk2/schematics/update-tool/utils/line-mappings.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/parse-tsconfig.mjs → cdk2/schematics/update-tool/utils/parse-tsconfig.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/property-name.mjs → cdk2/schematics/update-tool/utils/property-name.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/virtual-host.mjs → cdk2/schematics/update-tool/utils/virtual-host.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/version-changes.mjs → cdk2/schematics/update-tool/version-changes.js} +0 -0
- /package/schematics/{cdk/schematics/utils/ast/ng-module-imports.mjs → cdk2/schematics/utils/ast/ng-module-imports.js} +0 -0
- /package/schematics/{cdk/schematics/utils/ast.mjs → cdk2/schematics/utils/ast.js} +0 -0
- /package/schematics/{cdk/schematics/utils/build-component.mjs → cdk2/schematics/utils/build-component.js} +0 -0
- /package/schematics/{cdk/schematics/utils/get-project.mjs → cdk2/schematics/utils/get-project.js} +0 -0
- /package/schematics/{cdk/schematics/utils/html-manipulation.mjs → cdk2/schematics/utils/html-manipulation.js} +0 -0
- /package/schematics/{cdk/schematics/utils/index.mjs → cdk2/schematics/utils/index.js} +0 -0
- /package/schematics/{cdk/schematics/utils/parse5-element.mjs → cdk2/schematics/utils/parse5-element.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-index-file.mjs → cdk2/schematics/utils/project-index-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-main-file.mjs → cdk2/schematics/utils/project-main-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-style-file.mjs → cdk2/schematics/utils/project-style-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-targets.mjs → cdk2/schematics/utils/project-targets.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-tsconfig-paths.mjs → cdk2/schematics/utils/project-tsconfig-paths.js} +0 -0
- /package/schematics/{cdk/schematics/utils/schematic-options.mjs → cdk2/schematics/utils/schematic-options.js} +0 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ComponentResourceCollector = void 0;
|
|
11
|
+
const path_1 = require("path");
|
|
12
|
+
const ts = require("typescript");
|
|
13
|
+
const decorators_1 = require("./utils/decorators");
|
|
14
|
+
const functions_1 = require("./utils/functions");
|
|
15
|
+
const line_mappings_1 = require("./utils/line-mappings");
|
|
16
|
+
const property_name_1 = require("./utils/property-name");
|
|
17
|
+
/**
|
|
18
|
+
* Collector that can be used to find Angular templates and stylesheets referenced within
|
|
19
|
+
* given TypeScript source files (inline or external referenced files)
|
|
20
|
+
*/
|
|
21
|
+
class ComponentResourceCollector {
|
|
22
|
+
typeChecker;
|
|
23
|
+
_fileSystem;
|
|
24
|
+
resolvedTemplates = [];
|
|
25
|
+
resolvedStylesheets = [];
|
|
26
|
+
constructor(typeChecker, _fileSystem) {
|
|
27
|
+
this.typeChecker = typeChecker;
|
|
28
|
+
this._fileSystem = _fileSystem;
|
|
29
|
+
}
|
|
30
|
+
visitNode(node) {
|
|
31
|
+
if (node.kind === ts.SyntaxKind.ClassDeclaration) {
|
|
32
|
+
this._visitClassDeclaration(node);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
_visitClassDeclaration(node) {
|
|
36
|
+
const decorators = ts.getDecorators(node);
|
|
37
|
+
if (!decorators || !decorators.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const ngDecorators = (0, decorators_1.getAngularDecorators)(this.typeChecker, decorators);
|
|
41
|
+
const componentDecorator = ngDecorators.find(dec => dec.name === 'Component');
|
|
42
|
+
// In case no "@Component" decorator could be found on the current class, skip.
|
|
43
|
+
if (!componentDecorator) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const decoratorCall = componentDecorator.node.expression;
|
|
47
|
+
// In case the component decorator call is not valid, skip this class declaration.
|
|
48
|
+
if (decoratorCall.arguments.length !== 1) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const componentMetadata = (0, functions_1.unwrapExpression)(decoratorCall.arguments[0]);
|
|
52
|
+
// Ensure that the component metadata is an object literal expression.
|
|
53
|
+
if (!ts.isObjectLiteralExpression(componentMetadata)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const sourceFile = node.getSourceFile();
|
|
57
|
+
const filePath = this._fileSystem.resolve(sourceFile.fileName);
|
|
58
|
+
const sourceFileDirPath = (0, path_1.dirname)(sourceFile.fileName);
|
|
59
|
+
// Walk through all component metadata properties and determine the referenced
|
|
60
|
+
// HTML templates (either external or inline)
|
|
61
|
+
componentMetadata.properties.forEach(property => {
|
|
62
|
+
if (!ts.isPropertyAssignment(property)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const propertyName = (0, property_name_1.getPropertyNameText)(property.name);
|
|
66
|
+
if (propertyName === 'styles') {
|
|
67
|
+
const elements = ts.isArrayLiteralExpression(property.initializer)
|
|
68
|
+
? property.initializer.elements
|
|
69
|
+
: [property.initializer];
|
|
70
|
+
elements.forEach(el => {
|
|
71
|
+
if (ts.isStringLiteralLike(el)) {
|
|
72
|
+
// Need to add an offset of one to the start because the template quotes are
|
|
73
|
+
// not part of the template content.
|
|
74
|
+
const templateStartIdx = el.getStart() + 1;
|
|
75
|
+
const content = stripBom(el.text);
|
|
76
|
+
this.resolvedStylesheets.push({
|
|
77
|
+
filePath,
|
|
78
|
+
container: node,
|
|
79
|
+
content,
|
|
80
|
+
inline: true,
|
|
81
|
+
start: templateStartIdx,
|
|
82
|
+
getCharacterAndLineOfPosition: pos => ts.getLineAndCharacterOfPosition(sourceFile, pos + templateStartIdx),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// In case there is an inline template specified, ensure that the value is statically
|
|
88
|
+
// analyzable by checking if the initializer is a string literal-like node.
|
|
89
|
+
if (propertyName === 'template' && ts.isStringLiteralLike(property.initializer)) {
|
|
90
|
+
// Need to add an offset of one to the start because the template quotes are
|
|
91
|
+
// not part of the template content.
|
|
92
|
+
const templateStartIdx = property.initializer.getStart() + 1;
|
|
93
|
+
this.resolvedTemplates.push({
|
|
94
|
+
filePath,
|
|
95
|
+
container: node,
|
|
96
|
+
content: property.initializer.text,
|
|
97
|
+
inline: true,
|
|
98
|
+
start: templateStartIdx,
|
|
99
|
+
getCharacterAndLineOfPosition: pos => ts.getLineAndCharacterOfPosition(sourceFile, pos + templateStartIdx),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (propertyName === 'styleUrls' && ts.isArrayLiteralExpression(property.initializer)) {
|
|
103
|
+
property.initializer.elements.forEach(el => {
|
|
104
|
+
if (ts.isStringLiteralLike(el)) {
|
|
105
|
+
this._trackExternalStylesheet(sourceFileDirPath, el, node);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (propertyName === 'styleUrl' && ts.isStringLiteralLike(property.initializer)) {
|
|
110
|
+
this._trackExternalStylesheet(sourceFileDirPath, property.initializer, node);
|
|
111
|
+
}
|
|
112
|
+
if (propertyName === 'templateUrl' && ts.isStringLiteralLike(property.initializer)) {
|
|
113
|
+
const templateUrl = property.initializer.text;
|
|
114
|
+
const templatePath = this._fileSystem.resolve(sourceFileDirPath, templateUrl);
|
|
115
|
+
// In case the template does not exist in the file system, skip this
|
|
116
|
+
// external template.
|
|
117
|
+
if (!this._fileSystem.fileExists(templatePath)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const fileContent = stripBom(this._fileSystem.read(templatePath) || '');
|
|
121
|
+
if (fileContent) {
|
|
122
|
+
const lineStartsMap = (0, line_mappings_1.computeLineStartsMap)(fileContent);
|
|
123
|
+
this.resolvedTemplates.push({
|
|
124
|
+
filePath: templatePath,
|
|
125
|
+
container: node,
|
|
126
|
+
content: fileContent,
|
|
127
|
+
inline: false,
|
|
128
|
+
start: 0,
|
|
129
|
+
getCharacterAndLineOfPosition: p => (0, line_mappings_1.getLineAndCharacterFromPosition)(lineStartsMap, p),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/** Resolves an external stylesheet by reading its content and computing line mappings. */
|
|
136
|
+
resolveExternalStylesheet(filePath, container) {
|
|
137
|
+
// Strip the BOM to avoid issues with the Sass compiler. See:
|
|
138
|
+
// https://github.com/angular/components/issues/24227#issuecomment-1200934258
|
|
139
|
+
const fileContent = stripBom(this._fileSystem.read(filePath) || '');
|
|
140
|
+
if (!fileContent) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const lineStartsMap = (0, line_mappings_1.computeLineStartsMap)(fileContent);
|
|
144
|
+
return {
|
|
145
|
+
filePath: filePath,
|
|
146
|
+
container: container,
|
|
147
|
+
content: fileContent,
|
|
148
|
+
inline: false,
|
|
149
|
+
start: 0,
|
|
150
|
+
getCharacterAndLineOfPosition: pos => (0, line_mappings_1.getLineAndCharacterFromPosition)(lineStartsMap, pos),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
_trackExternalStylesheet(sourceFileDirPath, node, container) {
|
|
154
|
+
const stylesheetPath = this._fileSystem.resolve(sourceFileDirPath, node.text);
|
|
155
|
+
const stylesheet = this.resolveExternalStylesheet(stylesheetPath, container);
|
|
156
|
+
if (stylesheet) {
|
|
157
|
+
this.resolvedStylesheets.push(stylesheet);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.ComponentResourceCollector = ComponentResourceCollector;
|
|
162
|
+
/** Strips the BOM from a string. */
|
|
163
|
+
function stripBom(content) {
|
|
164
|
+
return content.replace(/\uFEFF/g, '');
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlc291cmNlLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy91cGRhdGUtdG9vbC9jb21wb25lbnQtcmVzb3VyY2UtY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILCtCQUE2QjtBQUM3QixpQ0FBaUM7QUFFakMsbURBQXdEO0FBQ3hELGlEQUFtRDtBQUNuRCx5REFJK0I7QUFDL0IseURBQTBEO0FBcUIxRDs7O0dBR0c7QUFDSCxNQUFhLDBCQUEwQjtJQUs1QjtJQUNDO0lBTFYsaUJBQWlCLEdBQXVCLEVBQUUsQ0FBQztJQUMzQyxtQkFBbUIsR0FBdUIsRUFBRSxDQUFDO0lBRTdDLFlBQ1MsV0FBMkIsRUFDMUIsV0FBdUI7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQzlCLENBQUM7SUFFSixTQUFTLENBQUMsSUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBMkIsQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLElBQXlCO1FBQ3RELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDckMsT0FBTztTQUNSO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBQSxpQ0FBb0IsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxD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RUFBRSxHQUFHLENBQUM7U0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsaUJBQXlCLEVBQ3pCLElBQTBCLEVBQzFCLFNBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTdFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7Q0FDRjtBQS9LRCxnRUErS0M7QUFFRCxvQ0FBb0M7QUFDcEMsU0FBUyxRQUFRLENBQUMsT0FBZTtJQUMvQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtkaXJuYW1lfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtGaWxlU3lzdGVtLCBXb3Jrc3BhY2VQYXRofSBmcm9tICcuL2ZpbGUtc3lzdGVtJztcbmltcG9ydCB7Z2V0QW5ndWxhckRlY29yYXRvcnN9IGZyb20gJy4vdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQge3Vud3JhcEV4cHJlc3Npb259IGZyb20gJy4vdXRpbHMvZnVuY3Rpb25zJztcbmltcG9ydCB7XG4gIGNvbXB1dGVMaW5lU3RhcnRzTWFwLFxuICBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uLFxuICBMaW5lQW5kQ2hhcmFjdGVyLFxufSBmcm9tICcuL3V0aWxzL2xpbmUtbWFwcGluZ3MnO1xuaW1wb3J0IHtnZXRQcm9wZXJ0eU5hbWVUZXh0fSBmcm9tICcuL3V0aWxzL3Byb3BlcnR5LW5hbWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkUmVzb3VyY2Uge1xuICAvKiogQ2xhc3MgZGVjbGFyYXRpb24gdGhhdCBjb250YWlucyB0aGlzIHJlc291cmNlLiAqL1xuICBjb250YWluZXI6IHRzLkNsYXNzRGVjbGFyYXRpb24gfCBudWxsO1xuICAvKiogRmlsZSBjb250ZW50IG9mIHRoZSBnaXZlbiB0ZW1wbGF0ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogU3RhcnQgb2Zmc2V0IG9mIHRoZSByZXNvdXJjZSBjb250ZW50IChlLmcuIGluIHRoZSBpbmxpbmUgc291cmNlIGZpbGUpICovXG4gIHN0YXJ0OiBudW1iZXI7XG4gIC8qKiBXaGV0aGVyIHRoZSBnaXZlbiByZXNvdXJjZSBpcyBpbmxpbmUgb3Igbm90LiAqL1xuICBpbmxpbmU6IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSBmaWxlIHRoYXQgY29udGFpbnMgdGhpcyByZXNvdXJjZS4gKi9cbiAgZmlsZVBhdGg6IFdvcmtzcGFjZVBhdGg7XG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgYW5kIGxpbmUgb2YgYSBnaXZlbiBwb3NpdGlvbiBpbmRleCBpbiB0aGUgcmVzb3VyY2UuXG4gICAqIElmIHRoZSByZXNvdXJjZSBpcyBkZWNsYXJlZCBpbmxpbmUgd2l0aGluIGEgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZSwgdGhlIGxpbmUgYW5kXG4gICAqIGNoYXJhY3RlciBhcmUgYmFzZWQgb24gdGhlIGZ1bGwgc291cmNlIGZpbGUgY29udGVudC5cbiAgICovXG4gIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiAocG9zOiBudW1iZXIpID0+IExpbmVBbmRDaGFyYWN0ZXI7XG59XG5cbi8qKlxuICogQ29sbGVjdG9yIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmluZCBBbmd1bGFyIHRlbXBsYXRlcyBhbmQgc3R5bGVzaGVldHMgcmVmZXJlbmNlZCB3aXRoaW5cbiAqIGdpdmVuIFR5cGVTY3JpcHQgc291cmNlIGZpbGVzIChpbmxpbmUgb3IgZXh0ZXJuYWwgcmVmZXJlbmNlZCBmaWxlcylcbiAqL1xuZXhwb3J0IGNsYXNzIENvbXBvbmVudFJlc291cmNlQ29sbGVjdG9yIHtcbiAgcmVzb2x2ZWRUZW1wbGF0ZXM6IFJlc29sdmVkUmVzb3VyY2VbXSA9IFtdO1xuICByZXNvbHZlZFN0eWxlc2hlZXRzOiBSZXNvbHZlZFJlc291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgIHByaXZhdGUgX2ZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sXG4gICkge31cblxuICB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgIGlmIChub2RlLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuQ2xhc3NEZWNsYXJhdGlvbikge1xuICAgICAgdGhpcy5fdmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGUgYXMgdHMuQ2xhc3NEZWNsYXJhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24pIHtcbiAgICBjb25zdCBkZWNvcmF0b3JzID0gdHMuZ2V0RGVjb3JhdG9ycyhub2RlKTtcblxuICAgIGlmICghZGVjb3JhdG9ycyB8fCAhZGVjb3JhdG9ycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZ0RlY29yYXRvcnMgPSBnZXRBbmd1bGFyRGVjb3JhdG9ycyh0aGlzLnR5cGVDaGVja2VyLCBkZWNvcmF0b3JzKTtcbiAgICBjb25zdCBjb21wb25lbnREZWNvcmF0b3IgPSBuZ0RlY29yYXRvcnMuZmluZChkZWMgPT4gZGVjLm5hbWUgPT09ICdDb21wb25lbnQnKTtcblxuICAgIC8vIEluIGNhc2Ugbm8gXCJAQ29tcG9uZW50XCIgZGVjb3JhdG9yIGNvdWxkIGJlIGZvdW5kIG9uIHRoZSBjdXJyZW50IGNsYXNzLCBza2lwLlxuICAgIGlmICghY29tcG9uZW50RGVjb3JhdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVjb3JhdG9yQ2FsbCA9IGNvbXBvbmVudERlY29yYXRvci5ub2RlLmV4cHJlc3Npb247XG5cbiAgICAvLyBJbiBjYXNlIHRoZSBjb21wb25lbnQgZGVjb3JhdG9yIGNhbGwgaXMgbm90IHZhbGlkLCBza2lwIHRoaXMgY2xhc3MgZGVjbGFyYXRpb24uXG4gICAgaWYgKGRlY29yYXRvckNhbGwuYXJndW1lbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudE1ldGFkYXRhID0gdW53cmFwRXhwcmVzc2lvbihkZWNvcmF0b3JDYWxsLmFyZ3VtZW50c1swXSk7XG5cbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY29tcG9uZW50IG1ldGFkYXRhIGlzIGFuIG9iamVjdCBsaXRlcmFsIGV4cHJlc3Npb24uXG4gICAgaWYgKCF0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKGNvbXBvbmVudE1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBub2RlLmdldFNvdXJjZUZpbGUoKTtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMuX2ZpbGVTeXN0ZW0ucmVzb2x2ZShzb3VyY2VGaWxlLmZpbGVOYW1lKTtcbiAgICBjb25zdCBzb3VyY2VGaWxlRGlyUGF0aCA9IGRpcm5hbWUoc291cmNlRmlsZS5maWxlTmFtZSk7XG5cbiAgICAvLyBXYWxrIHRocm91Z2ggYWxsIGNvbXBvbmVudCBtZXRhZGF0YSBwcm9wZXJ0aWVzIGFuZCBkZXRlcm1pbmUgdGhlIHJlZmVyZW5jZWRcbiAgICAvLyBIVE1MIHRlbXBsYXRlcyAoZWl0aGVyIGV4dGVybmFsIG9yIGlubGluZSlcbiAgICBjb21wb25lbnRNZXRhZGF0YS5wcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgaWYgKCF0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSBnZXRQcm9wZXJ0eU5hbWVUZXh0KHByb3BlcnR5Lm5hbWUpO1xuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAnc3R5bGVzJykge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRzLmlzQXJyYXlMaXRlcmFsRXhwcmVzc2lvbihwcm9wZXJ0eS5pbml0aWFsaXplcilcbiAgICAgICAgICA/IHByb3BlcnR5LmluaXRpYWxpemVyLmVsZW1lbnRzXG4gICAgICAgICAgOiBbcHJvcGVydHkuaW5pdGlhbGl6ZXJdO1xuXG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goZWwgPT4ge1xuICAgICAgICAgIGlmICh0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKGVsKSkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBhZGQgYW4gb2Zmc2V0IG9mIG9uZSB0byB0aGUgc3RhcnQgYmVjYXVzZSB0aGUgdGVtcGxhdGUgcXVvdGVzIGFyZVxuICAgICAgICAgICAgLy8gbm90IHBhcnQgb2YgdGhlIHRlbXBsYXRlIGNvbnRlbnQuXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZVN0YXJ0SWR4ID0gZWwuZ2V0U3RhcnQoKSArIDE7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gc3RyaXBCb20oZWwudGV4dCk7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVkU3R5bGVzaGVldHMucHVzaCh7XG4gICAgICAgICAgICAgIGZpbGVQYXRoLFxuICAgICAgICAgICAgICBjb250YWluZXI6IG5vZGUsXG4gICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgIGlubGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgc3RhcnQ6IHRlbXBsYXRlU3RhcnRJZHgsXG4gICAgICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwb3MgPT5cbiAgICAgICAgICAgICAgICB0cy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihzb3VyY2VGaWxlLCBwb3MgKyB0ZW1wbGF0ZVN0YXJ0SWR4KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gaW5saW5lIHRlbXBsYXRlIHNwZWNpZmllZCwgZW5zdXJlIHRoYXQgdGhlIHZhbHVlIGlzIHN0YXRpY2FsbHlcbiAgICAgIC8vIGFuYWx5emFibGUgYnkgY2hlY2tpbmcgaWYgdGhlIGluaXRpYWxpemVyIGlzIGEgc3RyaW5nIGxpdGVyYWwtbGlrZSBub2RlLlxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3RlbXBsYXRlJyAmJiB0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICAvLyBOZWVkIHRvIGFkZCBhbiBvZmZzZXQgb2Ygb25lIHRvIHRoZSBzdGFydCBiZWNhdXNlIHRoZSB0ZW1wbGF0ZSBxdW90ZXMgYXJlXG4gICAgICAgIC8vIG5vdCBwYXJ0IG9mIHRoZSB0ZW1wbGF0ZSBjb250ZW50LlxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVN0YXJ0SWR4ID0gcHJvcGVydHkuaW5pdGlhbGl6ZXIuZ2V0U3RhcnQoKSArIDE7XG4gICAgICAgIHRoaXMucmVzb2x2ZWRUZW1wbGF0ZXMucHVzaCh7XG4gICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgY29udGFpbmVyOiBub2RlLFxuICAgICAgICAgIGNvbnRlbnQ6IHByb3BlcnR5LmluaXRpYWxpemVyLnRleHQsXG4gICAgICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgICAgIHN0YXJ0OiB0ZW1wbGF0ZVN0YXJ0SWR4LFxuICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwb3MgPT5cbiAgICAgICAgICAgIHRzLmdldExpbmVBbmRDaGFyYWN0ZXJPZlBvc2l0aW9uKHNvdXJjZUZpbGUsIHBvcyArIHRlbXBsYXRlU3RhcnRJZHgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3N0eWxlVXJscycgJiYgdHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICBwcm9wZXJ0eS5pbml0aWFsaXplci5lbGVtZW50cy5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgICBpZiAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShlbCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyYWNrRXh0ZXJuYWxTdHlsZXNoZWV0KHNvdXJjZUZpbGVEaXJQYXRoLCBlbCwgbm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3N0eWxlVXJsJyAmJiB0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICB0aGlzLl90cmFja0V4dGVybmFsU3R5bGVzaGVldChzb3VyY2VGaWxlRGlyUGF0aCwgcHJvcGVydHkuaW5pdGlhbGl6ZXIsIG5vZGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAndGVtcGxhdGVVcmwnICYmIHRzLmlzU3RyaW5nTGl0ZXJhbExpa2UocHJvcGVydHkuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gcHJvcGVydHkuaW5pdGlhbGl6ZXIudGV4dDtcbiAgICAgICAgY29uc3QgdGVtcGxhdGVQYXRoID0gdGhpcy5fZmlsZVN5c3RlbS5yZXNvbHZlKHNvdXJjZUZpbGVEaXJQYXRoLCB0ZW1wbGF0ZVVybCk7XG5cbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgdGVtcGxhdGUgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGZpbGUgc3lzdGVtLCBza2lwIHRoaXNcbiAgICAgICAgLy8gZXh0ZXJuYWwgdGVtcGxhdGUuXG4gICAgICAgIGlmICghdGhpcy5fZmlsZVN5c3RlbS5maWxlRXhpc3RzKHRlbXBsYXRlUGF0aCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlQ29udGVudCA9IHN0cmlwQm9tKHRoaXMuX2ZpbGVTeXN0ZW0ucmVhZCh0ZW1wbGF0ZVBhdGgpIHx8ICcnKTtcblxuICAgICAgICBpZiAoZmlsZUNvbnRlbnQpIHtcbiAgICAgICAgICBjb25zdCBsaW5lU3RhcnRzTWFwID0gY29tcHV0ZUxpbmVTdGFydHNNYXAoZmlsZUNvbnRlbnQpO1xuXG4gICAgICAgICAgdGhpcy5yZXNvbHZlZFRlbXBsYXRlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVQYXRoOiB0ZW1wbGF0ZVBhdGgsXG4gICAgICAgICAgICBjb250YWluZXI6IG5vZGUsXG4gICAgICAgICAgICBjb250ZW50OiBmaWxlQ29udGVudCxcbiAgICAgICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwID0+IGdldExpbmVBbmRDaGFyYWN0ZXJGcm9tUG9zaXRpb24obGluZVN0YXJ0c01hcCwgcCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXNvbHZlcyBhbiBleHRlcm5hbCBzdHlsZXNoZWV0IGJ5IHJlYWRpbmcgaXRzIGNvbnRlbnQgYW5kIGNvbXB1dGluZyBsaW5lIG1hcHBpbmdzLiAqL1xuICByZXNvbHZlRXh0ZXJuYWxTdHlsZXNoZWV0KFxuICAgIGZpbGVQYXRoOiBXb3Jrc3BhY2VQYXRoLFxuICAgIGNvbnRhaW5lcjogdHMuQ2xhc3NEZWNsYXJhdGlvbiB8IG51bGwsXG4gICk6IFJlc29sdmVkUmVzb3VyY2UgfCBudWxsIHtcbiAgICAvLyBTdHJpcCB0aGUgQk9NIHRvIGF2b2lkIGlzc3VlcyB3aXRoIHRoZSBTYXNzIGNvbXBpbGVyLiBTZWU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMjQyMjcjaXNzdWVjb21tZW50LTEyMDA5MzQyNThcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IHN0cmlwQm9tKHRoaXMuX2ZpbGVTeXN0ZW0ucmVhZChmaWxlUGF0aCkgfHwgJycpO1xuXG4gICAgaWYgKCFmaWxlQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZVN0YXJ0c01hcCA9IGNvbXB1dGVMaW5lU3RhcnRzTWFwKGZpbGVDb250ZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmaWxlUGF0aDogZmlsZVBhdGgsXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgIGNvbnRlbnQ6IGZpbGVDb250ZW50LFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIHN0YXJ0OiAwLFxuICAgICAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IHBvcyA9PiBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uKGxpbmVTdGFydHNNYXAsIHBvcyksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYWNrRXh0ZXJuYWxTdHlsZXNoZWV0KFxuICAgIHNvdXJjZUZpbGVEaXJQYXRoOiBzdHJpbmcsXG4gICAgbm9kZTogdHMuU3RyaW5nTGl0ZXJhbExpa2UsXG4gICAgY29udGFpbmVyOiB0cy5DbGFzc0RlY2xhcmF0aW9uLFxuICApIHtcbiAgICBjb25zdCBzdHlsZXNoZWV0UGF0aCA9IHRoaXMuX2ZpbGVTeXN0ZW0ucmVzb2x2ZShzb3VyY2VGaWxlRGlyUGF0aCwgbm9kZS50ZXh0KTtcbiAgICBjb25zdCBzdHlsZXNoZWV0ID0gdGhpcy5yZXNvbHZlRXh0ZXJuYWxTdHlsZXNoZWV0KHN0eWxlc2hlZXRQYXRoLCBjb250YWluZXIpO1xuXG4gICAgaWYgKHN0eWxlc2hlZXQpIHtcbiAgICAgIHRoaXMucmVzb2x2ZWRTdHlsZXNoZWV0cy5wdXNoKHN0eWxlc2hlZXQpO1xuICAgIH1cbiAgfVxufVxuXG4vKiogU3RyaXBzIHRoZSBCT00gZnJvbSBhIHN0cmluZy4gKi9cbmZ1bmN0aW9uIHN0cmlwQm9tKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBjb250ZW50LnJlcGxhY2UoL1xcdUZFRkYvZywgJycpO1xufVxuIl19
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
import { UpdateRecorder } from './update-recorder';
|
|
9
|
+
/**
|
|
10
|
+
* A workspace path semantically is equivalent to the `Path` type provided by the
|
|
11
|
+
* Angular devkit. Paths denoted with such a type are guaranteed to be representing
|
|
12
|
+
* paths of a given virtual file system. This means that the root of a path can be
|
|
13
|
+
* different, and does not necessarily need to match the root in the real file system.
|
|
14
|
+
*
|
|
15
|
+
* For example: Consider we have a project in `/home/<..>/my-project`. Then a path
|
|
16
|
+
* like `/package.json` could actually refer to the `package.json` file in `my-project`.
|
|
17
|
+
* Note that in the real file system this would not match though.
|
|
18
|
+
*
|
|
19
|
+
* One might wonder why another type has been declared for such paths, when there
|
|
20
|
+
* already is the `Path` type provided by the devkit. We do this for a couple of reasons:
|
|
21
|
+
*
|
|
22
|
+
* 1. The update-tool cannot have a dependency on the Angular devkit as that one
|
|
23
|
+
* is not synced into g3. We want to be able to run migrations in g3 if needed.
|
|
24
|
+
*/
|
|
25
|
+
export type WorkspacePath = string & {
|
|
26
|
+
__PRIVATE_DEVKIT_PATH: void;
|
|
27
|
+
};
|
|
28
|
+
/** Interface that describes a directory. */
|
|
29
|
+
export interface DirectoryEntry {
|
|
30
|
+
/** List of directories inside the directory. */
|
|
31
|
+
directories: string[];
|
|
32
|
+
/** List of files inside the directory. */
|
|
33
|
+
files: string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Abstraction of the file system that migrations can use to record and apply
|
|
37
|
+
* changes. This is necessary to support virtual file systems as used in the CLI devkit.
|
|
38
|
+
*/
|
|
39
|
+
export declare abstract class FileSystem {
|
|
40
|
+
/** Checks whether the given file exists. */
|
|
41
|
+
abstract fileExists(path: WorkspacePath): boolean;
|
|
42
|
+
/** Checks whether the given directory exists. */
|
|
43
|
+
abstract directoryExists(path: WorkspacePath): boolean;
|
|
44
|
+
/** Gets the contents of the given file. */
|
|
45
|
+
abstract read(filePath: WorkspacePath): string | null;
|
|
46
|
+
/** Reads the given directory to retrieve children. */
|
|
47
|
+
abstract readDirectory(dirPath: WorkspacePath): DirectoryEntry;
|
|
48
|
+
/**
|
|
49
|
+
* Creates an update recorder for the given file. Edits can be recorded and
|
|
50
|
+
* committed in batches. Changes are not applied automatically because otherwise
|
|
51
|
+
* migrations would need to re-read files, or account for shifted file contents.
|
|
52
|
+
*/
|
|
53
|
+
abstract edit(filePath: WorkspacePath): UpdateRecorder;
|
|
54
|
+
/** Applies all changes which have been recorded in update recorders. */
|
|
55
|
+
abstract commitEdits(): void;
|
|
56
|
+
/** Creates a new file with the given content. */
|
|
57
|
+
abstract create(filePath: WorkspacePath, content: string): void;
|
|
58
|
+
/** Overwrites an existing file with the given content. */
|
|
59
|
+
abstract overwrite(filePath: WorkspacePath, content: string): void;
|
|
60
|
+
/** Deletes the given file. */
|
|
61
|
+
abstract delete(filePath: WorkspacePath): void;
|
|
62
|
+
/**
|
|
63
|
+
* Resolves given paths to a resolved path in the file system. For example, the devkit
|
|
64
|
+
* tree considers the actual workspace directory as file system root.
|
|
65
|
+
*
|
|
66
|
+
* Follows the same semantics as the native path `resolve` method. i.e. segments
|
|
67
|
+
* are processed in reverse. The last segment is considered the target and the
|
|
68
|
+
* function will iterate from the target through other segments until it finds an
|
|
69
|
+
* absolute path segment.
|
|
70
|
+
*/
|
|
71
|
+
abstract resolve(...segments: string[]): WorkspacePath;
|
|
72
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.FileSystem = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Abstraction of the file system that migrations can use to record and apply
|
|
13
|
+
* changes. This is necessary to support virtual file systems as used in the CLI devkit.
|
|
14
|
+
*/
|
|
15
|
+
class FileSystem {
|
|
16
|
+
}
|
|
17
|
+
exports.FileSystem = FileSystem;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zeXN0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXBkYXRlLXRvb2wvZmlsZS1zeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBa0NIOzs7R0FHRztBQUNILE1BQXNCLFVBQVU7Q0FpQy9CO0FBakNELGdDQWlDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1VwZGF0ZVJlY29yZGVyfSBmcm9tICcuL3VwZGF0ZS1yZWNvcmRlcic7XG5cbi8qKlxuICogQSB3b3Jrc3BhY2UgcGF0aCBzZW1hbnRpY2FsbHkgaXMgZXF1aXZhbGVudCB0byB0aGUgYFBhdGhgIHR5cGUgcHJvdmlkZWQgYnkgdGhlXG4gKiBBbmd1bGFyIGRldmtpdC4gUGF0aHMgZGVub3RlZCB3aXRoIHN1Y2ggYSB0eXBlIGFyZSBndWFyYW50ZWVkIHRvIGJlIHJlcHJlc2VudGluZ1xuICogcGF0aHMgb2YgYSBnaXZlbiB2aXJ0dWFsIGZpbGUgc3lzdGVtLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHJvb3Qgb2YgYSBwYXRoIGNhbiBiZVxuICogZGlmZmVyZW50LCBhbmQgZG9lcyBub3QgbmVjZXNzYXJpbHkgbmVlZCB0byBtYXRjaCB0aGUgcm9vdCBpbiB0aGUgcmVhbCBmaWxlIHN5c3RlbS5cbiAqXG4gKiBGb3IgZXhhbXBsZTogQ29uc2lkZXIgd2UgaGF2ZSBhIHByb2plY3QgaW4gYC9ob21lLzwuLj4vbXktcHJvamVjdGAuIFRoZW4gYSBwYXRoXG4gKiBsaWtlIGAvcGFja2FnZS5qc29uYCBjb3VsZCBhY3R1YWxseSByZWZlciB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiBgbXktcHJvamVjdGAuXG4gKiBOb3RlIHRoYXQgaW4gdGhlIHJlYWwgZmlsZSBzeXN0ZW0gdGhpcyB3b3VsZCBub3QgbWF0Y2ggdGhvdWdoLlxuICpcbiAqIE9uZSBtaWdodCB3b25kZXIgd2h5IGFub3RoZXIgdHlwZSBoYXMgYmVlbiBkZWNsYXJlZCBmb3Igc3VjaCBwYXRocywgd2hlbiB0aGVyZVxuICogYWxyZWFkeSBpcyB0aGUgYFBhdGhgIHR5cGUgcHJvdmlkZWQgYnkgdGhlIGRldmtpdC4gV2UgZG8gdGhpcyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczpcbiAqXG4gKiAgIDEuIFRoZSB1cGRhdGUtdG9vbCBjYW5ub3QgaGF2ZSBhIGRlcGVuZGVuY3kgb24gdGhlIEFuZ3VsYXIgZGV2a2l0IGFzIHRoYXQgb25lXG4gKiAgICAgIGlzIG5vdCBzeW5jZWQgaW50byBnMy4gV2Ugd2FudCB0byBiZSBhYmxlIHRvIHJ1biBtaWdyYXRpb25zIGluIGczIGlmIG5lZWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgV29ya3NwYWNlUGF0aCA9IHN0cmluZyAmIHtcbiAgLy8gQnJhbmQgc2lnbmF0dXJlIG1hdGNoZXMgdGhlIGRldmtpdCBwYXRocyBzbyB0aGF0IGV4aXN0aW5nIHBhdGhcbiAgLy8gdXRpbGl0aWVzIGZyb20gdGhlIEFuZ3VsYXIgZGV2a2l0IGNhbiBiZSBjb252ZW5pZW50bHkgdXNlZC5cbiAgX19QUklWQVRFX0RFVktJVF9QQVRIOiB2b2lkO1xufTtcblxuLyoqIEludGVyZmFjZSB0aGF0IGRlc2NyaWJlcyBhIGRpcmVjdG9yeS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0b3J5RW50cnkge1xuICAvKiogTGlzdCBvZiBkaXJlY3RvcmllcyBpbnNpZGUgdGhlIGRpcmVjdG9yeS4gKi9cbiAgZGlyZWN0b3JpZXM6IHN0cmluZ1tdO1xuICAvKiogTGlzdCBvZiBmaWxlcyBpbnNpZGUgdGhlIGRpcmVjdG9yeS4gKi9cbiAgZmlsZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0aW9uIG9mIHRoZSBmaWxlIHN5c3RlbSB0aGF0IG1pZ3JhdGlvbnMgY2FuIHVzZSB0byByZWNvcmQgYW5kIGFwcGx5XG4gKiBjaGFuZ2VzLiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHZpcnR1YWwgZmlsZSBzeXN0ZW1zIGFzIHVzZWQgaW4gdGhlIENMSSBkZXZraXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWxlU3lzdGVtIHtcbiAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBmaWxlIGV4aXN0cy4gKi9cbiAgYWJzdHJhY3QgZmlsZUV4aXN0cyhwYXRoOiBXb3Jrc3BhY2VQYXRoKTogYm9vbGVhbjtcbiAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBkaXJlY3RvcnkgZXhpc3RzLiAqL1xuICBhYnN0cmFjdCBkaXJlY3RvcnlFeGlzdHMocGF0aDogV29ya3NwYWNlUGF0aCk6IGJvb2xlYW47XG4gIC8qKiBHZXRzIHRoZSBjb250ZW50cyBvZiB0aGUgZ2l2ZW4gZmlsZS4gKi9cbiAgYWJzdHJhY3QgcmVhZChmaWxlUGF0aDogV29ya3NwYWNlUGF0aCk6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSZWFkcyB0aGUgZ2l2ZW4gZGlyZWN0b3J5IHRvIHJldHJpZXZlIGNoaWxkcmVuLiAqL1xuICBhYnN0cmFjdCByZWFkRGlyZWN0b3J5KGRpclBhdGg6IFdvcmtzcGFjZVBhdGgpOiBEaXJlY3RvcnlFbnRyeTtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gdXBkYXRlIHJlY29yZGVyIGZvciB0aGUgZ2l2ZW4gZmlsZS4gRWRpdHMgY2FuIGJlIHJlY29yZGVkIGFuZFxuICAgKiBjb21taXR0ZWQgaW4gYmF0Y2hlcy4gQ2hhbmdlcyBhcmUgbm90IGFwcGxpZWQgYXV0b21hdGljYWxseSBiZWNhdXNlIG90aGVyd2lzZVxuICAgKiBtaWdyYXRpb25zIHdvdWxkIG5lZWQgdG8gcmUtcmVhZCBmaWxlcywgb3IgYWNjb3VudCBmb3Igc2hpZnRlZCBmaWxlIGNvbnRlbnRzLlxuICAgKi9cbiAgYWJzdHJhY3QgZWRpdChmaWxlUGF0aDogV29ya3NwYWNlUGF0aCk6IFVwZGF0ZVJlY29yZGVyO1xuICAvKiogQXBwbGllcyBhbGwgY2hhbmdlcyB3aGljaCBoYXZlIGJlZW4gcmVjb3JkZWQgaW4gdXBkYXRlIHJlY29yZGVycy4gKi9cbiAgYWJzdHJhY3QgY29tbWl0RWRpdHMoKTogdm9pZDtcbiAgLyoqIENyZWF0ZXMgYSBuZXcgZmlsZSB3aXRoIHRoZSBnaXZlbiBjb250ZW50LiAqL1xuICBhYnN0cmFjdCBjcmVhdGUoZmlsZVBhdGg6IFdvcmtzcGFjZVBhdGgsIGNvbnRlbnQ6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKiBPdmVyd3JpdGVzIGFuIGV4aXN0aW5nIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gY29udGVudC4gKi9cbiAgYWJzdHJhY3Qgb3ZlcndyaXRlKGZpbGVQYXRoOiBXb3Jrc3BhY2VQYXRoLCBjb250ZW50OiBzdHJpbmcpOiB2b2lkO1xuICAvKiogRGVsZXRlcyB0aGUgZ2l2ZW4gZmlsZS4gKi9cbiAgYWJzdHJhY3QgZGVsZXRlKGZpbGVQYXRoOiBXb3Jrc3BhY2VQYXRoKTogdm9pZDtcbiAgLyoqXG4gICAqIFJlc29sdmVzIGdpdmVuIHBhdGhzIHRvIGEgcmVzb2x2ZWQgcGF0aCBpbiB0aGUgZmlsZSBzeXN0ZW0uIEZvciBleGFtcGxlLCB0aGUgZGV2a2l0XG4gICAqIHRyZWUgY29uc2lkZXJzIHRoZSBhY3R1YWwgd29ya3NwYWNlIGRpcmVjdG9yeSBhcyBmaWxlIHN5c3RlbSByb290LlxuICAgKlxuICAgKiBGb2xsb3dzIHRoZSBzYW1lIHNlbWFudGljcyBhcyB0aGUgbmF0aXZlIHBhdGggYHJlc29sdmVgIG1ldGhvZC4gaS5lLiBzZWdtZW50c1xuICAgKiBhcmUgcHJvY2Vzc2VkIGluIHJldmVyc2UuIFRoZSBsYXN0IHNlZ21lbnQgaXMgY29uc2lkZXJlZCB0aGUgdGFyZ2V0IGFuZCB0aGVcbiAgICogZnVuY3Rpb24gd2lsbCBpdGVyYXRlIGZyb20gdGhlIHRhcmdldCB0aHJvdWdoIG90aGVyIHNlZ21lbnRzIHVudGlsIGl0IGZpbmRzIGFuXG4gICAqIGFic29sdXRlIHBhdGggc2VnbWVudC5cbiAgICovXG4gIGFic3RyYWN0IHJlc29sdmUoLi4uc2VnbWVudHM6IHN0cmluZ1tdKTogV29ya3NwYWNlUGF0aDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
import * as ts from 'typescript';
|
|
9
|
+
import { FileSystem, WorkspacePath } from './file-system';
|
|
10
|
+
import { UpdateLogger } from './logger';
|
|
11
|
+
import { MigrationCtor } from './migration';
|
|
12
|
+
import { TargetVersion } from './target-version';
|
|
13
|
+
/**
|
|
14
|
+
* An update project that can be run against individual migrations. An update project
|
|
15
|
+
* accepts a TypeScript program and a context that is provided to all migrations. The
|
|
16
|
+
* context is usually not used by migrations, but in some cases migrations rely on
|
|
17
|
+
* specifics from the tool that performs the update (e.g. the Angular CLI). In those cases,
|
|
18
|
+
* the context can provide the necessary specifics to the migrations in a type-safe way.
|
|
19
|
+
*/
|
|
20
|
+
export declare class UpdateProject<Context> {
|
|
21
|
+
/** Context provided to all migrations. */
|
|
22
|
+
private _context;
|
|
23
|
+
/** TypeScript program using workspace paths. */
|
|
24
|
+
private _program;
|
|
25
|
+
/** File system used for reading, writing and editing files. */
|
|
26
|
+
private _fileSystem;
|
|
27
|
+
/**
|
|
28
|
+
* Set of analyzed files. Used for avoiding multiple migration runs if
|
|
29
|
+
* files overlap between targets.
|
|
30
|
+
*/
|
|
31
|
+
private _analyzedFiles;
|
|
32
|
+
/** Logger used for printing messages. */
|
|
33
|
+
private _logger;
|
|
34
|
+
private readonly _typeChecker;
|
|
35
|
+
constructor(
|
|
36
|
+
/** Context provided to all migrations. */
|
|
37
|
+
_context: Context,
|
|
38
|
+
/** TypeScript program using workspace paths. */
|
|
39
|
+
_program: ts.Program,
|
|
40
|
+
/** File system used for reading, writing and editing files. */
|
|
41
|
+
_fileSystem: FileSystem,
|
|
42
|
+
/**
|
|
43
|
+
* Set of analyzed files. Used for avoiding multiple migration runs if
|
|
44
|
+
* files overlap between targets.
|
|
45
|
+
*/
|
|
46
|
+
_analyzedFiles?: Set<WorkspacePath>,
|
|
47
|
+
/** Logger used for printing messages. */
|
|
48
|
+
_logger?: UpdateLogger);
|
|
49
|
+
/**
|
|
50
|
+
* Migrates the project to the specified target version.
|
|
51
|
+
* @param migrationTypes Migrations that should be run.
|
|
52
|
+
* @param target Version the project should be updated to. Can be `null` if the set of
|
|
53
|
+
* specified migrations runs regardless of a target version.
|
|
54
|
+
* @param data Upgrade data that is passed to all migration rules.
|
|
55
|
+
* @param additionalStylesheetPaths Additional stylesheets that should be migrated, if not
|
|
56
|
+
* referenced in an Angular component. This is helpful for global stylesheets in a project.
|
|
57
|
+
* @param limitToDirectory If specified, changes will be limited to the given directory.
|
|
58
|
+
*/
|
|
59
|
+
migrate<Data>(migrationTypes: MigrationCtor<Data, Context>[], target: TargetVersion | null, data: Data, additionalStylesheetPaths?: string[], limitToDirectory?: string): {
|
|
60
|
+
hasFailures: boolean;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Creates instances of the given migrations with the specified target
|
|
64
|
+
* version and data.
|
|
65
|
+
*/
|
|
66
|
+
private _createMigrations;
|
|
67
|
+
/**
|
|
68
|
+
* Creates a program form the specified tsconfig and patches the host
|
|
69
|
+
* to read files and directories through the given file system.
|
|
70
|
+
*
|
|
71
|
+
* @throws {TsconfigParseError} If the tsconfig could not be parsed.
|
|
72
|
+
*/
|
|
73
|
+
static createProgramFromTsconfig(tsconfigPath: WorkspacePath, fs: FileSystem): ts.Program;
|
|
74
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.UpdateProject = void 0;
|
|
11
|
+
const ts = require("typescript");
|
|
12
|
+
const component_resource_collector_1 = require("./component-resource-collector");
|
|
13
|
+
const logger_1 = require("./logger");
|
|
14
|
+
const parse_tsconfig_1 = require("./utils/parse-tsconfig");
|
|
15
|
+
const virtual_host_1 = require("./utils/virtual-host");
|
|
16
|
+
/**
|
|
17
|
+
* An update project that can be run against individual migrations. An update project
|
|
18
|
+
* accepts a TypeScript program and a context that is provided to all migrations. The
|
|
19
|
+
* context is usually not used by migrations, but in some cases migrations rely on
|
|
20
|
+
* specifics from the tool that performs the update (e.g. the Angular CLI). In those cases,
|
|
21
|
+
* the context can provide the necessary specifics to the migrations in a type-safe way.
|
|
22
|
+
*/
|
|
23
|
+
class UpdateProject {
|
|
24
|
+
_context;
|
|
25
|
+
_program;
|
|
26
|
+
_fileSystem;
|
|
27
|
+
_analyzedFiles;
|
|
28
|
+
_logger;
|
|
29
|
+
_typeChecker;
|
|
30
|
+
constructor(
|
|
31
|
+
/** Context provided to all migrations. */
|
|
32
|
+
_context,
|
|
33
|
+
/** TypeScript program using workspace paths. */
|
|
34
|
+
_program,
|
|
35
|
+
/** File system used for reading, writing and editing files. */
|
|
36
|
+
_fileSystem,
|
|
37
|
+
/**
|
|
38
|
+
* Set of analyzed files. Used for avoiding multiple migration runs if
|
|
39
|
+
* files overlap between targets.
|
|
40
|
+
*/
|
|
41
|
+
_analyzedFiles = new Set(),
|
|
42
|
+
/** Logger used for printing messages. */
|
|
43
|
+
_logger = logger_1.defaultLogger) {
|
|
44
|
+
this._context = _context;
|
|
45
|
+
this._program = _program;
|
|
46
|
+
this._fileSystem = _fileSystem;
|
|
47
|
+
this._analyzedFiles = _analyzedFiles;
|
|
48
|
+
this._logger = _logger;
|
|
49
|
+
this._typeChecker = this._program.getTypeChecker();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Migrates the project to the specified target version.
|
|
53
|
+
* @param migrationTypes Migrations that should be run.
|
|
54
|
+
* @param target Version the project should be updated to. Can be `null` if the set of
|
|
55
|
+
* specified migrations runs regardless of a target version.
|
|
56
|
+
* @param data Upgrade data that is passed to all migration rules.
|
|
57
|
+
* @param additionalStylesheetPaths Additional stylesheets that should be migrated, if not
|
|
58
|
+
* referenced in an Angular component. This is helpful for global stylesheets in a project.
|
|
59
|
+
* @param limitToDirectory If specified, changes will be limited to the given directory.
|
|
60
|
+
*/
|
|
61
|
+
migrate(migrationTypes, target, data, additionalStylesheetPaths, limitToDirectory) {
|
|
62
|
+
limitToDirectory &&= this._fileSystem.resolve(limitToDirectory);
|
|
63
|
+
// Create instances of the specified migrations.
|
|
64
|
+
const migrations = this._createMigrations(migrationTypes, target, data);
|
|
65
|
+
// Creates the component resource collector. The collector can visit arbitrary
|
|
66
|
+
// TypeScript nodes and will find Angular component resources. Resources include
|
|
67
|
+
// templates and stylesheets. It also captures inline stylesheets and templates.
|
|
68
|
+
const resourceCollector = new component_resource_collector_1.ComponentResourceCollector(this._typeChecker, this._fileSystem);
|
|
69
|
+
// Collect all of the TypeScript source files we want to migrate. We don't
|
|
70
|
+
// migrate type definition files, or source files from external libraries.
|
|
71
|
+
const sourceFiles = this._program.getSourceFiles().filter(f => {
|
|
72
|
+
return (!f.isDeclarationFile &&
|
|
73
|
+
(limitToDirectory == null ||
|
|
74
|
+
this._fileSystem.resolve(f.fileName).startsWith(limitToDirectory)) &&
|
|
75
|
+
!this._program.isSourceFileFromExternalLibrary(f));
|
|
76
|
+
});
|
|
77
|
+
// Helper function that visits a given TypeScript node and collects all referenced
|
|
78
|
+
// component resources (i.e. stylesheets or templates). Additionally, the helper
|
|
79
|
+
// visits the node in each instantiated migration.
|
|
80
|
+
const visitNodeAndCollectResources = (node) => {
|
|
81
|
+
migrations.forEach(r => r.visitNode(node));
|
|
82
|
+
ts.forEachChild(node, visitNodeAndCollectResources);
|
|
83
|
+
resourceCollector.visitNode(node);
|
|
84
|
+
};
|
|
85
|
+
// Walk through all source file, if it has not been visited before, and
|
|
86
|
+
// visit found nodes while collecting potential resources.
|
|
87
|
+
sourceFiles.forEach(sourceFile => {
|
|
88
|
+
const resolvedPath = this._fileSystem.resolve(sourceFile.fileName);
|
|
89
|
+
// Do not visit source files which have been checked as part of a
|
|
90
|
+
// previously migrated TypeScript project.
|
|
91
|
+
if (!this._analyzedFiles.has(resolvedPath)) {
|
|
92
|
+
visitNodeAndCollectResources(sourceFile);
|
|
93
|
+
this._analyzedFiles.add(resolvedPath);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
// Walk through all resolved templates and visit them in each instantiated
|
|
97
|
+
// migration. Note that this can only happen after source files have been
|
|
98
|
+
// visited because we find templates through the TypeScript source files.
|
|
99
|
+
resourceCollector.resolvedTemplates.forEach(template => {
|
|
100
|
+
// Do not visit the template if it has been checked before. Inline
|
|
101
|
+
// templates cannot be referenced multiple times.
|
|
102
|
+
if (template.inline || !this._analyzedFiles.has(template.filePath)) {
|
|
103
|
+
migrations.forEach(m => m.visitTemplate(template));
|
|
104
|
+
this._analyzedFiles.add(template.filePath);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
// Walk through all resolved stylesheets and visit them in each instantiated
|
|
108
|
+
// migration. Note that this can only happen after source files have been
|
|
109
|
+
// visited because we find stylesheets through the TypeScript source files.
|
|
110
|
+
resourceCollector.resolvedStylesheets.forEach(stylesheet => {
|
|
111
|
+
// Do not visit the stylesheet if it has been checked before. Inline
|
|
112
|
+
// stylesheets cannot be referenced multiple times.
|
|
113
|
+
if (stylesheet.inline || !this._analyzedFiles.has(stylesheet.filePath)) {
|
|
114
|
+
migrations.forEach(r => r.visitStylesheet(stylesheet));
|
|
115
|
+
this._analyzedFiles.add(stylesheet.filePath);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
// In some applications, developers will have global stylesheets which are not
|
|
119
|
+
// specified in any Angular component. Therefore we allow for additional stylesheets
|
|
120
|
+
// being specified. We visit them in each migration unless they have been already
|
|
121
|
+
// discovered before as actual component resource.
|
|
122
|
+
if (additionalStylesheetPaths) {
|
|
123
|
+
additionalStylesheetPaths.forEach(filePath => {
|
|
124
|
+
const resolvedPath = this._fileSystem.resolve(filePath);
|
|
125
|
+
if (limitToDirectory == null || resolvedPath.startsWith(limitToDirectory)) {
|
|
126
|
+
const stylesheet = resourceCollector.resolveExternalStylesheet(resolvedPath, null);
|
|
127
|
+
// Do not visit stylesheets which have been referenced from a component.
|
|
128
|
+
if (!this._analyzedFiles.has(resolvedPath) && stylesheet) {
|
|
129
|
+
migrations.forEach(r => r.visitStylesheet(stylesheet));
|
|
130
|
+
this._analyzedFiles.add(resolvedPath);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// Call the "postAnalysis" method for each migration.
|
|
136
|
+
migrations.forEach(r => r.postAnalysis());
|
|
137
|
+
// Collect all failures reported by individual migrations.
|
|
138
|
+
const failures = migrations.reduce((res, m) => res.concat(m.failures), []);
|
|
139
|
+
// In case there are failures, print these to the CLI logger as warnings.
|
|
140
|
+
if (failures.length) {
|
|
141
|
+
failures.forEach(({ filePath, message, position }) => {
|
|
142
|
+
const lineAndCharacter = position ? `@${position.line + 1}:${position.character + 1}` : '';
|
|
143
|
+
this._logger.warn(`${filePath}${lineAndCharacter} - ${message}`);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
hasFailures: !!failures.length,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Creates instances of the given migrations with the specified target
|
|
152
|
+
* version and data.
|
|
153
|
+
*/
|
|
154
|
+
_createMigrations(types, target, data) {
|
|
155
|
+
const result = [];
|
|
156
|
+
for (const ctor of types) {
|
|
157
|
+
const instance = new ctor(this._program, this._typeChecker, target, this._context, data, this._fileSystem, this._logger);
|
|
158
|
+
instance.init();
|
|
159
|
+
if (instance.enabled) {
|
|
160
|
+
result.push(instance);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Creates a program form the specified tsconfig and patches the host
|
|
167
|
+
* to read files and directories through the given file system.
|
|
168
|
+
*
|
|
169
|
+
* @throws {TsconfigParseError} If the tsconfig could not be parsed.
|
|
170
|
+
*/
|
|
171
|
+
static createProgramFromTsconfig(tsconfigPath, fs) {
|
|
172
|
+
const parsed = (0, parse_tsconfig_1.parseTsconfigFile)(fs.resolve(tsconfigPath), fs);
|
|
173
|
+
const host = (0, virtual_host_1.createFileSystemCompilerHost)(parsed.options, fs);
|
|
174
|
+
return ts.createProgram(parsed.fileNames, parsed.options, host);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.UpdateProject = UpdateProject;
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXBkYXRlLXRvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBRWpDLGlGQUEwRTtBQUUxRSxxQ0FBcUQ7QUFHckQsMkRBQXlEO0FBQ3pELHVEQUFrRTtBQUVsRTs7Ozs7O0dBTUc7QUFDSCxNQUFhLGFBQWE7SUFLZDtJQUVBO0lBRUE7SUFLQTtJQUVBO0lBZk8sWUFBWSxDQUFpQjtJQUU5QztJQUNFLDBDQUEwQztJQUNsQyxRQUFpQjtJQUN6QixnREFBZ0Q7SUFDeEMsUUFBb0I7SUFDNUIsK0RBQStEO0lBQ3ZELFdBQXVCO0lBQy9COzs7T0FHRztJQUNLLGlCQUFxQyxJQUFJLEdBQUcsRUFBRTtJQUN0RCx5Q0FBeUM7SUFDakMsVUFBd0Isc0JBQWE7UUFYckMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUVqQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRXBCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBS3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQUU5QyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUU3QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE9BQU8sQ0FDTCxjQUE4QyxFQUM5QyxNQUE0QixFQUM1QixJQUFVLEVBQ1YseUJBQW9DLEVBQ3BDLGdCQUF5QjtRQUV6QixnQkFBZ0IsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWhFLGdEQUFnRDtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztR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LFlBQTJCLEVBQUUsRUFBYztRQUMxRSxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBNEIsRUFBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBckxELHNDQXFMQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtDb21wb25lbnRSZXNvdXJjZUNvbGxlY3Rvcn0gZnJvbSAnLi9jb21wb25lbnQtcmVzb3VyY2UtY29sbGVjdG9yJztcbmltcG9ydCB7RmlsZVN5c3RlbSwgV29ya3NwYWNlUGF0aH0gZnJvbSAnLi9maWxlLXN5c3RlbSc7XG5pbXBvcnQge2RlZmF1bHRMb2dnZXIsIFVwZGF0ZUxvZ2dlcn0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtNaWdyYXRpb24sIE1pZ3JhdGlvbkN0b3IsIE1pZ3JhdGlvbkZhaWx1cmV9IGZyb20gJy4vbWlncmF0aW9uJztcbmltcG9ydCB7VGFyZ2V0VmVyc2lvbn0gZnJvbSAnLi90YXJnZXQtdmVyc2lvbic7XG5pbXBvcnQge3BhcnNlVHNjb25maWdGaWxlfSBmcm9tICcuL3V0aWxzL3BhcnNlLXRzY29uZmlnJztcbmltcG9ydCB7Y3JlYXRlRmlsZVN5c3RlbUNvbXBpbGVySG9zdH0gZnJvbSAnLi91dGlscy92aXJ0dWFsLWhvc3QnO1xuXG4vKipcbiAqIEFuIHVwZGF0ZSBwcm9qZWN0IHRoYXQgY2FuIGJlIHJ1biBhZ2FpbnN0IGluZGl2aWR1YWwgbWlncmF0aW9ucy4gQW4gdXBkYXRlIHByb2plY3RcbiAqIGFjY2VwdHMgYSBUeXBlU2NyaXB0IHByb2dyYW0gYW5kIGEgY29udGV4dCB0aGF0IGlzIHByb3ZpZGVkIHRvIGFsbCBtaWdyYXRpb25zLiBUaGVcbiAqIGNvbnRleHQgaXMgdXN1YWxseSBub3QgdXNlZCBieSBtaWdyYXRpb25zLCBidXQgaW4gc29tZSBjYXNlcyBtaWdyYXRpb25zIHJlbHkgb25cbiAqIHNwZWNpZmljcyBmcm9tIHRoZSB0b29sIHRoYXQgcGVyZm9ybXMgdGhlIHVwZGF0ZSAoZS5nLiB0aGUgQW5ndWxhciBDTEkpLiBJbiB0aG9zZSBjYXNlcyxcbiAqIHRoZSBjb250ZXh0IGNhbiBwcm92aWRlIHRoZSBuZWNlc3Nhcnkgc3BlY2lmaWNzIHRvIHRoZSBtaWdyYXRpb25zIGluIGEgdHlwZS1zYWZlIHdheS5cbiAqL1xuZXhwb3J0IGNsYXNzIFVwZGF0ZVByb2plY3Q8Q29udGV4dD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF90eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqIENvbnRleHQgcHJvdmlkZWQgdG8gYWxsIG1pZ3JhdGlvbnMuICovXG4gICAgcHJpdmF0ZSBfY29udGV4dDogQ29udGV4dCxcbiAgICAvKiogVHlwZVNjcmlwdCBwcm9ncmFtIHVzaW5nIHdvcmtzcGFjZSBwYXRocy4gKi9cbiAgICBwcml2YXRlIF9wcm9ncmFtOiB0cy5Qcm9ncmFtLFxuICAgIC8qKiBGaWxlIHN5c3RlbSB1c2VkIGZvciByZWFkaW5nLCB3cml0aW5nIGFuZCBlZGl0aW5nIGZpbGVzLiAqL1xuICAgIHByaXZhdGUgX2ZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sXG4gICAgLyoqXG4gICAgICogU2V0IG9mIGFuYWx5emVkIGZpbGVzLiBVc2VkIGZvciBhdm9pZGluZyBtdWx0aXBsZSBtaWdyYXRpb24gcnVucyBpZlxuICAgICAqIGZpbGVzIG92ZXJsYXAgYmV0d2VlbiB0YXJnZXRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2FuYWx5emVkRmlsZXM6IFNldDxXb3Jrc3BhY2VQYXRoPiA9IG5ldyBTZXQoKSxcbiAgICAvKiogTG9nZ2VyIHVzZWQgZm9yIHByaW50aW5nIG1lc3NhZ2VzLiAqL1xuICAgIHByaXZhdGUgX2xvZ2dlcjogVXBkYXRlTG9nZ2VyID0gZGVmYXVsdExvZ2dlcixcbiAgKSB7XG4gICAgdGhpcy5fdHlwZUNoZWNrZXIgPSB0aGlzLl9wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIH1cblxuICAvKipcbiAgICogTWlncmF0ZXMgdGhlIHByb2plY3QgdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgdmVyc2lvbi5cbiAgICogQHBhcmFtIG1pZ3JhdGlvblR5cGVzIE1pZ3JhdGlvbnMgdGhhdCBzaG91bGQgYmUgcnVuLlxuICAgKiBAcGFyYW0gdGFyZ2V0IFZlcnNpb24gdGhlIHByb2plY3Qgc2hvdWxkIGJlIHVwZGF0ZWQgdG8uIENhbiBiZSBgbnVsbGAgaWYgdGhlIHNldCBvZlxuICAgKiAgIHNwZWNpZmllZCBtaWdyYXRpb25zIHJ1bnMgcmVnYXJkbGVzcyBvZiBhIHRhcmdldCB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gZGF0YSBVcGdyYWRlIGRhdGEgdGhhdCBpcyBwYXNzZWQgdG8gYWxsIG1pZ3JhdGlvbiBydWxlcy5cbiAgICogQHBhcmFtIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHMgQWRkaXRpb25hbCBzdHlsZXNoZWV0cyB0aGF0IHNob3VsZCBiZSBtaWdyYXRlZCwgaWYgbm90XG4gICAqICAgcmVmZXJlbmNlZCBpbiBhbiBBbmd1bGFyIGNvbXBvbmVudC4gVGhpcyBpcyBoZWxwZnVsIGZvciBnbG9iYWwgc3R5bGVzaGVldHMgaW4gYSBwcm9qZWN0LlxuICAgKiBAcGFyYW0gbGltaXRUb0RpcmVjdG9yeSBJZiBzcGVjaWZpZWQsIGNoYW5nZXMgd2lsbCBiZSBsaW1pdGVkIHRvIHRoZSBnaXZlbiBkaXJlY3RvcnkuXG4gICAqL1xuICBtaWdyYXRlPERhdGE+KFxuICAgIG1pZ3JhdGlvblR5cGVzOiBNaWdyYXRpb25DdG9yPERhdGEsIENvbnRleHQ+W10sXG4gICAgdGFyZ2V0OiBUYXJnZXRWZXJzaW9uIHwgbnVsbCxcbiAgICBkYXRhOiBEYXRhLFxuICAgIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHM/OiBzdHJpbmdbXSxcbiAgICBsaW1pdFRvRGlyZWN0b3J5Pzogc3RyaW5nLFxuICApOiB7aGFzRmFpbHVyZXM6IGJvb2xlYW59IHtcbiAgICBsaW1pdFRvRGlyZWN0b3J5ICYmPSB0aGlzLl9maWxlU3lzdGVtLnJlc29sdmUobGltaXRUb0RpcmVjdG9yeSk7XG5cbiAgICAvLyBDcmVhdGUgaW5zdGFuY2VzIG9mIHRoZSBzcGVjaWZpZWQgbWlncmF0aW9ucy5cbiAgICBjb25zdCBtaWdyYXRpb25zID0gdGhpcy5fY3JlYXRlTWlncmF0aW9ucyhtaWdyYXRpb25UeXBlcywgdGFyZ2V0LCBkYXRhKTtcbiAgICAvLyBDcmVhdGVzIHRoZSBjb21wb25lbnQgcmVzb3VyY2UgY29sbGVjdG9yLiBUaGUgY29sbGVjdG9yIGNhbiB2aXNpdCBhcmJpdHJhcnlcbiAgICAvLyBUeXBlU2NyaXB0IG5vZGVzIGFuZCB3aWxsIGZpbmQgQW5ndWxhciBjb21wb25lbnQgcmVzb3VyY2VzLiBSZXNvdXJjZXMgaW5jbHVkZVxuICAgIC8vIHRlbXBsYXRlcyBhbmQgc3R5bGVzaGVldHMuIEl0IGFsc28gY2FwdHVyZXMgaW5saW5lIHN0eWxlc2hlZXRzIGFuZCB0ZW1wbGF0ZXMuXG4gICAgY29uc3QgcmVzb3VyY2VDb2xsZWN0b3IgPSBuZXcgQ29tcG9uZW50UmVzb3VyY2VDb2xsZWN0b3IodGhpcy5fdHlwZUNoZWNrZXIsIHRoaXMuX2ZpbGVTeXN0ZW0pO1xuICAgIC8vIENvbGxlY3QgYWxsIG9mIHRoZSBUeXBlU2NyaXB0IHNvdXJjZSBmaWxlcyB3ZSB3YW50IHRvIG1pZ3JhdGUuIFdlIGRvbid0XG4gICAgLy8gbWlncmF0ZSB0eXBlIGRlZmluaXRpb24gZmlsZXMsIG9yIHNvdXJjZSBmaWxlcyBmcm9tIGV4dGVybmFsIGxpYnJhcmllcy5cbiAgICBjb25zdCBzb3VyY2VGaWxlcyA9IHRoaXMuX3Byb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoZiA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAhZi5pc0RlY2xhcmF0aW9uRmlsZSAmJlxuICAgICAgICAobGltaXRUb0RpcmVjdG9yeSA9PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5fZmlsZVN5c3RlbS5yZXNvbHZlKGYuZmlsZU5hbWUpLnN0YXJ0c1dpdGgobGltaXRUb0RpcmVjdG9yeSkpICYmXG4gICAgICAgICF0aGlzLl9wcm9ncmFtLmlzU291cmNlRmlsZUZyb21FeHRlcm5hbExpYnJhcnkoZilcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdGhhdCB2aXNpdHMgYSBnaXZlbiBUeXBlU2NyaXB0IG5vZGUgYW5kIGNvbGxlY3RzIGFsbCByZWZlcmVuY2VkXG4gICAgLy8gY29tcG9uZW50IHJlc291cmNlcyAoaS5lLiBzdHlsZXNoZWV0cyBvciB0ZW1wbGF0ZXMpLiBBZGRpdGlvbmFsbHksIHRoZSBoZWxwZXJcbiAgICAvLyB2aXNpdHMgdGhlIG5vZGUgaW4gZWFjaCBpbnN0YW50aWF0ZWQgbWlncmF0aW9uLlxuICAgIGNvbnN0IHZpc2l0Tm9kZUFuZENvbGxlY3RSZXNvdXJjZXMgPSAobm9kZTogdHMuTm9kZSkgPT4ge1xuICAgICAgbWlncmF0aW9ucy5mb3JFYWNoKHIgPT4gci52aXNpdE5vZGUobm9kZSkpO1xuICAgICAgdHMuZm9yRWFjaENoaWxkKG5vZGUsIHZpc2l0Tm9kZUFuZENvbGxlY3RSZXNvdXJjZXMpO1xuICAgICAgcmVzb3VyY2VDb2xsZWN0b3IudmlzaXROb2RlKG5vZGUpO1xuICAgIH07XG5cbiAgICAvLyBXYWxrIHRocm91Z2ggYWxsIHNvdXJjZSBmaWxlLCBpZiBpdCBoYXMgbm90IGJlZW4gdmlzaXRlZCBiZWZvcmUsIGFuZFxuICAgIC8vIHZpc2l0IGZvdW5kIG5vZGVzIHdoaWxlIGNvbGxlY3RpbmcgcG90ZW50aWFsIHJlc291cmNlcy5cbiAgICBzb3VyY2VGaWxlcy5mb3JFYWNoKHNvdXJjZUZpbGUgPT4ge1xuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gdGhpcy5fZmlsZVN5c3RlbS5yZXNvbHZlKHNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuICAgICAgLy8gRG8gbm90IHZpc2l0IHNvdXJjZSBmaWxlcyB3aGljaCBoYXZlIGJlZW4gY2hlY2tlZCBhcyBwYXJ0IG9mIGFcbiAgICAgIC8vIHByZXZpb3VzbHkgbWlncmF0ZWQgVHlwZVNjcmlwdCBwcm9qZWN0LlxuICAgICAgaWYgKCF0aGlzLl9hbmFseXplZEZpbGVzLmhhcyhyZXNvbHZlZFBhdGgpKSB7XG4gICAgICAgIHZpc2l0Tm9kZUFuZENvbGxlY3RSZXNvdXJjZXMoc291cmNlRmlsZSk7XG4gICAgICAgIHRoaXMuX2FuYWx5emVkRmlsZXMuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBXYWxrIHRocm91Z2ggYWxsIHJlc29sdmVkIHRlbXBsYXRlcyBhbmQgdmlzaXQgdGhlbSBpbiBlYWNoIGluc3RhbnRpYXRlZFxuICAgIC8vIG1pZ3JhdGlvbi4gTm90ZSB0aGF0IHRoaXMgY2FuIG9ubHkgaGFwcGVuIGFmdGVyIHNvdXJjZSBmaWxlcyBoYXZlIGJlZW5cbiAgICAvLyB2aXNpdGVkIGJlY2F1c2Ugd2UgZmluZCB0ZW1wbGF0ZXMgdGhyb3VnaCB0aGUgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZXMuXG4gICAgcmVzb3VyY2VDb2xsZWN0b3IucmVzb2x2ZWRUZW1wbGF0ZXMuZm9yRWFjaCh0ZW1wbGF0ZSA9PiB7XG4gICAgICAvLyBEbyBub3QgdmlzaXQgdGhlIHRlbXBsYXRlIGlmIGl0IGhhcyBiZWVuIGNoZWNrZWQgYmVmb3JlLiBJbmxpbmVcbiAgICAgIC8vIHRlbXBsYXRlcyBjYW5ub3QgYmUgcmVmZXJlbmNlZCBtdWx0aXBsZSB0aW1lcy5cbiAgICAgIGlmICh0ZW1wbGF0ZS5pbmxpbmUgfHwgIXRoaXMuX2FuYWx5emVkRmlsZXMuaGFzKHRlbXBsYXRlLmZpbGVQYXRoKSkge1xuICAgICAgICBtaWdyYXRpb25zLmZvckVhY2gobSA9PiBtLnZpc2l0VGVtcGxhdGUodGVtcGxhdGUpKTtcbiAgICAgICAgdGhpcy5fYW5hbHl6ZWRGaWxlcy5hZGQodGVtcGxhdGUuZmlsZVBhdGgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gV2FsayB0aHJvdWdoIGFsbCByZXNvbHZlZCBzdHlsZXNoZWV0cyBhbmQgdmlzaXQgdGhlbSBpbiBlYWNoIGluc3RhbnRpYXRlZFxuICAgIC8vIG1pZ3JhdGlvbi4gTm90ZSB0aGF0IHRoaXMgY2FuIG9ubHkgaGFwcGVuIGFmdGVyIHNvdXJjZSBmaWxlcyBoYXZlIGJlZW5cbiAgICAvLyB2aXNpdGVkIGJlY2F1c2Ugd2UgZmluZCBzdHlsZXNoZWV0cyB0aHJvdWdoIHRoZSBUeXBlU2NyaXB0IHNvdXJjZSBmaWxlcy5cbiAgICByZXNvdXJjZUNvbGxlY3Rvci5yZXNvbHZlZFN0eWxlc2hlZXRzLmZvckVhY2goc3R5bGVzaGVldCA9PiB7XG4gICAgICAvLyBEbyBub3QgdmlzaXQgdGhlIHN0eWxlc2hlZXQgaWYgaXQgaGFzIGJlZW4gY2hlY2tlZCBiZWZvcmUuIElubGluZVxuICAgICAgLy8gc3R5bGVzaGVldHMgY2Fubm90IGJlIHJlZmVyZW5jZWQgbXVsdGlwbGUgdGltZXMuXG4gICAgICBpZiAoc3R5bGVzaGVldC5pbmxpbmUgfHwgIXRoaXMuX2FuYWx5emVkRmlsZXMuaGFzKHN0eWxlc2hlZXQuZmlsZVBhdGgpKSB7XG4gICAgICAgIG1pZ3JhdGlvbnMuZm9yRWFjaChyID0+IHIudmlzaXRTdHlsZXNoZWV0KHN0eWxlc2hlZXQpKTtcbiAgICAgICAgdGhpcy5fYW5hbHl6ZWRGaWxlcy5hZGQoc3R5bGVzaGVldC5maWxlUGF0aCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBJbiBzb21lIGFwcGxpY2F0aW9ucywgZGV2ZWxvcGVycyB3aWxsIGhhdmUgZ2xvYmFsIHN0eWxlc2hlZXRzIHdoaWNoIGFyZSBub3RcbiAgICAvLyBzcGVjaWZpZWQgaW4gYW55IEFuZ3VsYXIgY29tcG9uZW50LiBUaGVyZWZvcmUgd2UgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3R5bGVzaGVldHNcbiAgICAvLyBiZWluZyBzcGVjaWZpZWQuIFdlIHZpc2l0IHRoZW0gaW4gZWFjaCBtaWdyYXRpb24gdW5sZXNzIHRoZXkgaGF2ZSBiZWVuIGFscmVhZHlcbiAgICAvLyBkaXNjb3ZlcmVkIGJlZm9yZSBhcyBhY3R1YWwgY29tcG9uZW50IHJlc291cmNlLlxuICAgIGlmIChhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzKSB7XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzLmZvckVhY2goZmlsZVBhdGggPT4ge1xuICAgICAgICBjb25zdCByZXNvbHZlZFBhdGggPSB0aGlzLl9maWxlU3lzdGVtLnJlc29sdmUoZmlsZVBhdGgpO1xuICAgICAgICBpZiAobGltaXRUb0RpcmVjdG9yeSA9PSBudWxsIHx8IHJlc29sdmVkUGF0aC5zdGFydHNXaXRoKGxpbWl0VG9EaXJlY3RvcnkpKSB7XG4gICAgICAgICAgY29uc3Qgc3R5bGVzaGVldCA9IHJlc291cmNlQ29sbGVjdG9yLnJlc29sdmVFeHRlcm5hbFN0eWxlc2hlZXQocmVzb2x2ZWRQYXRoLCBudWxsKTtcbiAgICAgICAgICAvLyBEbyBub3QgdmlzaXQgc3R5bGVzaGVldHMgd2hpY2ggaGF2ZSBiZWVuIHJlZmVyZW5jZWQgZnJvbSBhIGNvbXBvbmVudC5cbiAgICAgICAgICBpZiAoIXRoaXMuX2FuYWx5emVkRmlsZXMuaGFzKHJlc29sdmVkUGF0aCkgJiYgc3R5bGVzaGVldCkge1xuICAgICAgICAgICAgbWlncmF0aW9ucy5mb3JFYWNoKHIgPT4gci52aXNpdFN0eWxlc2hlZXQoc3R5bGVzaGVldCkpO1xuICAgICAgICAgICAgdGhpcy5fYW5hbHl6ZWRGaWxlcy5hZGQocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIENhbGwgdGhlIFwicG9zdEFuYWx5c2lzXCIgbWV0aG9kIGZvciBlYWNoIG1pZ3JhdGlvbi5cbiAgICBtaWdyYXRpb25zLmZvckVhY2gociA9PiByLnBvc3RBbmFseXNpcygpKTtcblxuICAgIC8vIENvbGxlY3QgYWxsIGZhaWx1cmVzIHJlcG9ydGVkIGJ5IGluZGl2aWR1YWwgbWlncmF0aW9ucy5cbiAgICBjb25zdCBmYWlsdXJlcyA9IG1pZ3JhdGlvbnMucmVkdWNlKFxuICAgICAgKHJlcywgbSkgPT4gcmVzLmNvbmNhdChtLmZhaWx1cmVzKSxcbiAgICAgIFtdIGFzIE1pZ3JhdGlvbkZhaWx1cmVbXSxcbiAgICApO1xuXG4gICAgLy8gSW4gY2FzZSB0aGVyZSBhcmUgZmFpbHVyZXMsIHByaW50IHRoZXNlIHRvIHRoZSBDTEkgbG9nZ2VyIGFzIHdhcm5pbmdzLlxuICAgIGlmIChmYWlsdXJlcy5sZW5ndGgpIHtcbiAgICAgIGZhaWx1cmVzLmZvckVhY2goKHtmaWxlUGF0aCwgbWVzc2FnZSwgcG9zaXRpb259KSA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmVBbmRDaGFyYWN0ZXIgPSBwb3NpdGlvbiA/IGBAJHtwb3NpdGlvbi5saW5lICsgMX06JHtwb3NpdGlvbi5jaGFyYWN0ZXIgKyAxfWAgOiAnJztcbiAgICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oYCR7ZmlsZVBhdGh9JHtsaW5lQW5kQ2hhcmFjdGVyfSAtICR7bWVzc2FnZX1gKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBoYXNGYWlsdXJlczogISFmYWlsdXJlcy5sZW5ndGgsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGluc3RhbmNlcyBvZiB0aGUgZ2l2ZW4gbWlncmF0aW9ucyB3aXRoIHRoZSBzcGVjaWZpZWQgdGFyZ2V0XG4gICAqIHZlcnNpb24gYW5kIGRhdGEuXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVNaWdyYXRpb25zPERhdGE+KFxuICAgIHR5cGVzOiBNaWdyYXRpb25DdG9yPERhdGEsIENvbnRleHQ+W10sXG4gICAgdGFyZ2V0OiBUYXJnZXRWZXJzaW9uIHwgbnVsbCxcbiAgICBkYXRhOiBEYXRhLFxuICApOiBNaWdyYXRpb248RGF0YSwgQ29udGV4dD5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBNaWdyYXRpb248RGF0YSwgQ29udGV4dD5bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgY3RvciBvZiB0eXBlcykge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgY3RvcihcbiAgICAgICAgdGhpcy5fcHJvZ3JhbSxcbiAgICAgICAgdGhpcy5fdHlwZUNoZWNrZXIsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGhpcy5fY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGhpcy5fZmlsZVN5c3RlbSxcbiAgICAgICAgdGhpcy5fbG9nZ2VyLFxuICAgICAgKTtcbiAgICAgIGluc3RhbmNlLmluaXQoKTtcbiAgICAgIGlmIChpbnN0YW5jZS5lbmFibGVkKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHJvZ3JhbSBmb3JtIHRoZSBzcGVjaWZpZWQgdHNjb25maWcgYW5kIHBhdGNoZXMgdGhlIGhvc3RcbiAgICogdG8gcmVhZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhyb3VnaCB0aGUgZ2l2ZW4gZmlsZSBzeXN0ZW0uXG4gICAqXG4gICAqIEB0aHJvd3Mge1RzY29uZmlnUGFyc2VFcnJvcn0gSWYgdGhlIHRzY29uZmlnIGNvdWxkIG5vdCBiZSBwYXJzZWQuXG4gICAqL1xuICBzdGF0aWMgY3JlYXRlUHJvZ3JhbUZyb21Uc2NvbmZpZyh0c2NvbmZpZ1BhdGg6IFdvcmtzcGFjZVBhdGgsIGZzOiBGaWxlU3lzdGVtKTogdHMuUHJvZ3JhbSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VUc2NvbmZpZ0ZpbGUoZnMucmVzb2x2ZSh0c2NvbmZpZ1BhdGgpLCBmcyk7XG4gICAgY29uc3QgaG9zdCA9IGNyZWF0ZUZpbGVTeXN0ZW1Db21waWxlckhvc3QocGFyc2VkLm9wdGlvbnMsIGZzKTtcbiAgICByZXR1cm4gdHMuY3JlYXRlUHJvZ3JhbShwYXJzZWQuZmlsZU5hbWVzLCBwYXJzZWQub3B0aW9ucywgaG9zdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
export interface UpdateLogger {
|
|
9
|
+
debug(message: string): void;
|
|
10
|
+
error(message: string): void;
|
|
11
|
+
fatal(message: string): void;
|
|
12
|
+
info(message: string): void;
|
|
13
|
+
warn(message: string): void;
|
|
14
|
+
}
|
|
15
|
+
export declare const defaultLogger: UpdateLogger;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.defaultLogger = void 0;
|
|
11
|
+
exports.defaultLogger = {
|
|
12
|
+
debug: m => console.debug(m),
|
|
13
|
+
error: m => console.error(m),
|
|
14
|
+
fatal: m => console.error(m),
|
|
15
|
+
info: m => console.info(m),
|
|
16
|
+
warn: m => console.warn(m),
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3VwZGF0ZS10b29sL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFVVSxRQUFBLGFBQWEsR0FBaUI7SUFDekMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Q0FDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxvZ2dlciB7XG4gIGRlYnVnKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQ7XG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQ7XG4gIGZhdGFsKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQ7XG4gIGluZm8obWVzc2FnZTogc3RyaW5nKTogdm9pZDtcbiAgd2FybihtZXNzYWdlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdExvZ2dlcjogVXBkYXRlTG9nZ2VyID0ge1xuICBkZWJ1ZzogbSA9PiBjb25zb2xlLmRlYnVnKG0pLFxuICBlcnJvcjogbSA9PiBjb25zb2xlLmVycm9yKG0pLFxuICBmYXRhbDogbSA9PiBjb25zb2xlLmVycm9yKG0pLFxuICBpbmZvOiBtID0+IGNvbnNvbGUuaW5mbyhtKSxcbiAgd2FybjogbSA9PiBjb25zb2xlLndhcm4obSksXG59O1xuIl19
|