jqwidgets-ng 14.1.10 → 14.1.13
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/collection.json +17 -0
- package/schematics/cdk/schematics/index.d.ts +13 -0
- package/schematics/cdk/schematics/index.js +37 -0
- package/schematics/cdk/schematics/index.mjs +37 -0
- package/schematics/cdk/schematics/migration.json +50 -0
- package/schematics/cdk/schematics/ng-add/index.d.ts +17 -0
- package/schematics/cdk/schematics/ng-add/index.js +39 -0
- package/schematics/cdk/schematics/ng-add/index.mjs +39 -0
- package/schematics/cdk/schematics/ng-add/package-config.d.ts +12 -0
- package/schematics/cdk/schematics/ng-add/package-config.js +52 -0
- package/schematics/cdk/schematics/ng-add/package-config.mjs +52 -0
- package/schematics/cdk/schematics/ng-add/schema.d.ts +11 -0
- package/schematics/cdk/schematics/ng-add/schema.js +10 -0
- package/schematics/cdk/schematics/ng-add/schema.json +16 -0
- package/schematics/cdk/schematics/ng-add/schema.mjs +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +29 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +43 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +11 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +39 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.mjs +39 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.json +93 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.mjs +10 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +23 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.mjs +23 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.js +42 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.mjs +42 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +74 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.mjs +74 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +27 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js +15 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.mjs +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.mjs +15 -0
- package/schematics/cdk/schematics/ng-update/data/index.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/index.js +34 -0
- package/schematics/cdk/schematics/ng-update/data/index.mjs +34 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.js +105 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.mjs +105 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +57 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.mjs +57 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.js +29 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.mjs +29 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +20 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.js +137 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.mjs +137 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +12 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.mjs +12 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +30 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js +80 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.mjs +80 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +139 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.mjs +139 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +35 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.js +20 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.mjs +20 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +16 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js +42 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.mjs +42 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +52 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.mjs +52 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +25 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +64 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.mjs +64 -0
- package/schematics/cdk/schematics/ng-update/index.d.ts +24 -0
- package/schematics/cdk/schematics/ng-update/index.js +66 -0
- package/schematics/cdk/schematics/ng-update/index.mjs +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +71 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.mjs +71 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +58 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.mjs +58 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +32 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js +91 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.mjs +91 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +139 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.mjs +139 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +75 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.mjs +75 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.mjs +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js +59 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.mjs +59 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +62 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.mjs +62 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +38 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.mjs +38 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js +46 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.mjs +46 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js +60 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.mjs +60 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +47 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.mjs +47 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +39 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +39 -0
- package/schematics/cdk/schematics/ng-update/public-api.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/public-api.js +34 -0
- package/schematics/cdk/schematics/ng-update/public-api.mjs +34 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +10 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js +24 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.mjs +24 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.js +54 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.mjs +54 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.js +33 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.mjs +33 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +35 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +34 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.js +36 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.mjs +36 -0
- package/schematics/cdk/schematics/package.json +3 -0
- package/schematics/cdk/schematics/paths.d.ts +11 -0
- package/schematics/cdk/schematics/paths.js +16 -0
- package/schematics/cdk/schematics/paths.mjs +16 -0
- package/schematics/cdk/schematics/schematics.externs.js +0 -0
- package/schematics/cdk/schematics/tsconfig.json +28 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +43 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js +147 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.mjs +147 -0
- package/schematics/cdk/schematics/update-tool/file-system.d.ts +72 -0
- package/schematics/cdk/schematics/update-tool/file-system.js +18 -0
- package/schematics/cdk/schematics/update-tool/file-system.mjs +18 -0
- package/schematics/cdk/schematics/update-tool/index.d.ts +70 -0
- package/schematics/cdk/schematics/update-tool/index.js +162 -0
- package/schematics/cdk/schematics/update-tool/index.mjs +162 -0
- package/schematics/cdk/schematics/update-tool/logger.d.ts +15 -0
- package/schematics/cdk/schematics/update-tool/logger.js +18 -0
- package/schematics/cdk/schematics/update-tool/logger.mjs +18 -0
- package/schematics/cdk/schematics/update-tool/migration.d.ts +81 -0
- package/schematics/cdk/schematics/update-tool/migration.js +67 -0
- package/schematics/cdk/schematics/update-tool/migration.mjs +67 -0
- package/schematics/cdk/schematics/update-tool/public-api.d.ts +15 -0
- package/schematics/cdk/schematics/update-tool/public-api.js +32 -0
- package/schematics/cdk/schematics/update-tool/public-api.mjs +32 -0
- package/schematics/cdk/schematics/update-tool/target-version.d.ts +23 -0
- package/schematics/cdk/schematics/update-tool/target-version.js +35 -0
- package/schematics/cdk/schematics/update-tool/target-version.mjs +35 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +13 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.js +10 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.mjs +10 -0
- package/schematics/cdk/schematics/update-tool/update-tool.externs.js +0 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +22 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.js +42 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.mjs +42 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +14 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.js +21 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.mjs +21 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +17 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.js +111 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.mjs +111 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +21 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +76 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.mjs +76 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +10 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +19 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.mjs +19 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +18 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.js +28 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.mjs +28 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +34 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +62 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.mjs +62 -0
- package/schematics/cdk/schematics/update-tool/version-changes.d.ts +32 -0
- package/schematics/cdk/schematics/update-tool/version-changes.js +39 -0
- package/schematics/cdk/schematics/update-tool/version-changes.mjs +39 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +12 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +83 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.mjs +83 -0
- package/schematics/cdk/schematics/utils/ast.d.ts +25 -0
- package/schematics/cdk/schematics/utils/ast.js +79 -0
- package/schematics/cdk/schematics/utils/ast.mjs +79 -0
- package/schematics/cdk/schematics/utils/build-component.d.ts +20 -0
- package/schematics/cdk/schematics/utils/build-component.js +189 -0
- package/schematics/cdk/schematics/utils/build-component.mjs +189 -0
- package/schematics/cdk/schematics/utils/get-project.d.ts +13 -0
- package/schematics/cdk/schematics/utils/get-project.js +24 -0
- package/schematics/cdk/schematics/utils/get-project.mjs +24 -0
- package/schematics/cdk/schematics/utils/html-manipulation.d.ts +15 -0
- package/schematics/cdk/schematics/utils/html-manipulation.js +92 -0
- package/schematics/cdk/schematics/utils/html-manipulation.mjs +92 -0
- package/schematics/cdk/schematics/utils/index.d.ts +18 -0
- package/schematics/cdk/schematics/utils/index.js +35 -0
- package/schematics/cdk/schematics/utils/index.mjs +35 -0
- package/schematics/cdk/schematics/utils/parse5-element.d.ts +10 -0
- package/schematics/cdk/schematics/utils/parse5-element.js +31 -0
- package/schematics/cdk/schematics/utils/parse5-element.mjs +31 -0
- package/schematics/cdk/schematics/utils/project-index-file.d.ts +11 -0
- package/schematics/cdk/schematics/utils/project-index-file.js +21 -0
- package/schematics/cdk/schematics/utils/project-index-file.mjs +21 -0
- package/schematics/cdk/schematics/utils/project-main-file.d.ts +11 -0
- package/schematics/cdk/schematics/utils/project-main-file.js +23 -0
- package/schematics/cdk/schematics/utils/project-main-file.mjs +23 -0
- package/schematics/cdk/schematics/utils/project-style-file.d.ts +13 -0
- package/schematics/cdk/schematics/utils/project-style-file.js +42 -0
- package/schematics/cdk/schematics/utils/project-style-file.mjs +42 -0
- package/schematics/cdk/schematics/utils/project-targets.d.ts +18 -0
- package/schematics/cdk/schematics/utils/project-targets.js +34 -0
- package/schematics/cdk/schematics/utils/project-targets.mjs +34 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +14 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +50 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.mjs +50 -0
- package/schematics/cdk/schematics/utils/schematic-options.d.ts +17 -0
- package/schematics/cdk/schematics/utils/schematic-options.js +58 -0
- package/schematics/cdk/schematics/utils/schematic-options.mjs +58 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.d.ts +70 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.js +480 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.mjs +480 -0
- package/schematics/fonts/material-fonts.js +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/setup-project.js +1 -1
- package/schematics/ng-generate/grid/index.js +1 -1
- package/schematics/ng-generate/grid/index.ts +1 -1
- package/schematics/theming/theming.js +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
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.getProjectFromWorkspace = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
/**
|
|
13
|
+
* Finds the specified project configuration in the workspace. Throws an error if the project
|
|
14
|
+
* couldn't be found.
|
|
15
|
+
*/
|
|
16
|
+
function getProjectFromWorkspace(workspace, projectName = workspace.extensions.defaultProject) {
|
|
17
|
+
const project = workspace.projects.get(projectName);
|
|
18
|
+
if (!project) {
|
|
19
|
+
throw new schematics_1.SchematicsException(`Could not find project in workspace: ${projectName}`);
|
|
20
|
+
}
|
|
21
|
+
return project;
|
|
22
|
+
}
|
|
23
|
+
exports.getProjectFromWorkspace = getProjectFromWorkspace;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvZ2V0LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsMkRBQStEO0FBRS9EOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxTQUE4QixFQUM5QixjQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBd0I7SUFFM0QsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFcEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxnQ0FBbUIsQ0FBQyx3Q0FBd0MsV0FBVyxFQUFFLENBQUMsQ0FBQztLQUN0RjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFYRCwwREFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1Byb2plY3REZWZpbml0aW9uLCBXb3Jrc3BhY2VEZWZpbml0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9zcmMvd29ya3NwYWNlJztcbmltcG9ydCB7U2NoZW1hdGljc0V4Y2VwdGlvbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG4vKipcbiAqIEZpbmRzIHRoZSBzcGVjaWZpZWQgcHJvamVjdCBjb25maWd1cmF0aW9uIGluIHRoZSB3b3Jrc3BhY2UuIFRocm93cyBhbiBlcnJvciBpZiB0aGUgcHJvamVjdFxuICogY291bGRuJ3QgYmUgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZShcbiAgd29ya3NwYWNlOiBXb3Jrc3BhY2VEZWZpbml0aW9uLFxuICBwcm9qZWN0TmFtZSA9IHdvcmtzcGFjZS5leHRlbnNpb25zLmRlZmF1bHRQcm9qZWN0IGFzIHN0cmluZyxcbik6IFByb2plY3REZWZpbml0aW9uIHtcbiAgY29uc3QgcHJvamVjdCA9IHdvcmtzcGFjZS5wcm9qZWN0cy5nZXQocHJvamVjdE5hbWUpO1xuXG4gIGlmICghcHJvamVjdCkge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBDb3VsZCBub3QgZmluZCBwcm9qZWN0IGluIHdvcmtzcGFjZTogJHtwcm9qZWN0TmFtZX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm9qZWN0O1xufVxuIl19
|
|
@@ -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
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
9
|
+
import { Element } from 'parse5';
|
|
10
|
+
/** Appends the given element HTML fragment to the `<head>` element of the specified HTML file. */
|
|
11
|
+
export declare function appendHtmlElementToHead(host: Tree, htmlFilePath: string, elementHtml: string): void;
|
|
12
|
+
/** Parses the given HTML file and returns the head element if available. */
|
|
13
|
+
export declare function getHtmlHeadTagElement(htmlContent: string): Element | null;
|
|
14
|
+
/** Adds a class to the body of the document. */
|
|
15
|
+
export declare function addBodyClass(host: Tree, htmlFilePath: string, className: string): void;
|
|
@@ -0,0 +1,92 @@
|
|
|
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.addBodyClass = exports.getHtmlHeadTagElement = exports.appendHtmlElementToHead = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
const parse5_element_1 = require("./parse5-element");
|
|
13
|
+
const parse5_1 = require("parse5");
|
|
14
|
+
/** Appends the given element HTML fragment to the `<head>` element of the specified HTML file. */
|
|
15
|
+
function appendHtmlElementToHead(host, htmlFilePath, elementHtml) {
|
|
16
|
+
const htmlFileBuffer = host.read(htmlFilePath);
|
|
17
|
+
if (!htmlFileBuffer) {
|
|
18
|
+
throw new schematics_1.SchematicsException(`Could not read file for path: ${htmlFilePath}`);
|
|
19
|
+
}
|
|
20
|
+
const htmlContent = htmlFileBuffer.toString();
|
|
21
|
+
if (htmlContent.includes(elementHtml)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const headTag = getHtmlHeadTagElement(htmlContent);
|
|
25
|
+
if (!headTag) {
|
|
26
|
+
throw Error(`Could not find '<head>' element in HTML file: ${htmlFileBuffer}`);
|
|
27
|
+
}
|
|
28
|
+
// We always have access to the source code location here because the `getHeadTagElement`
|
|
29
|
+
// function explicitly has the `sourceCodeLocationInfo` option enabled.
|
|
30
|
+
const endTagOffset = headTag.sourceCodeLocation.endTag.startOffset;
|
|
31
|
+
const indentationOffset = (0, parse5_element_1.getChildElementIndentation)(headTag);
|
|
32
|
+
const insertion = `${' '.repeat(indentationOffset)}${elementHtml}`;
|
|
33
|
+
const recordedChange = host.beginUpdate(htmlFilePath).insertRight(endTagOffset, `${insertion}\n`);
|
|
34
|
+
host.commitUpdate(recordedChange);
|
|
35
|
+
}
|
|
36
|
+
exports.appendHtmlElementToHead = appendHtmlElementToHead;
|
|
37
|
+
/** Parses the given HTML file and returns the head element if available. */
|
|
38
|
+
function getHtmlHeadTagElement(htmlContent) {
|
|
39
|
+
return getElementByTagName('head', htmlContent);
|
|
40
|
+
}
|
|
41
|
+
exports.getHtmlHeadTagElement = getHtmlHeadTagElement;
|
|
42
|
+
/** Adds a class to the body of the document. */
|
|
43
|
+
function addBodyClass(host, htmlFilePath, className) {
|
|
44
|
+
const htmlFileBuffer = host.read(htmlFilePath);
|
|
45
|
+
if (!htmlFileBuffer) {
|
|
46
|
+
throw new schematics_1.SchematicsException(`Could not read file for path: ${htmlFilePath}`);
|
|
47
|
+
}
|
|
48
|
+
const htmlContent = htmlFileBuffer.toString();
|
|
49
|
+
const body = getElementByTagName('body', htmlContent);
|
|
50
|
+
if (!body) {
|
|
51
|
+
throw Error(`Could not find <body> element in HTML file: ${htmlFileBuffer}`);
|
|
52
|
+
}
|
|
53
|
+
const classAttribute = body.attrs.find(attribute => attribute.name === 'class');
|
|
54
|
+
if (classAttribute) {
|
|
55
|
+
const hasClass = classAttribute.value
|
|
56
|
+
.split(' ')
|
|
57
|
+
.map(part => part.trim())
|
|
58
|
+
.includes(className);
|
|
59
|
+
if (!hasClass) {
|
|
60
|
+
// We have source code location info enabled, and we pre-checked that the element
|
|
61
|
+
// has attributes, specifically the `class` attribute.
|
|
62
|
+
const classAttributeLocation = body.sourceCodeLocation.attrs.class;
|
|
63
|
+
const recordedChange = host
|
|
64
|
+
.beginUpdate(htmlFilePath)
|
|
65
|
+
.insertRight(classAttributeLocation.endOffset - 1, ` ${className}`);
|
|
66
|
+
host.commitUpdate(recordedChange);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const recordedChange = host
|
|
71
|
+
.beginUpdate(htmlFilePath)
|
|
72
|
+
.insertRight(body.sourceCodeLocation.startTag.endOffset - 1, ` class="${className}"`);
|
|
73
|
+
host.commitUpdate(recordedChange);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.addBodyClass = addBodyClass;
|
|
77
|
+
/** Finds an element by its tag name. */
|
|
78
|
+
function getElementByTagName(tagName, htmlContent) {
|
|
79
|
+
const document = (0, parse5_1.parse)(htmlContent, { sourceCodeLocationInfo: true });
|
|
80
|
+
const nodeQueue = [...document.childNodes];
|
|
81
|
+
while (nodeQueue.length) {
|
|
82
|
+
const node = nodeQueue.shift();
|
|
83
|
+
if (node.nodeName.toLowerCase() === tagName) {
|
|
84
|
+
return node;
|
|
85
|
+
}
|
|
86
|
+
else if (node.childNodes) {
|
|
87
|
+
nodeQueue.push(...node.childNodes);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1tYW5pcHVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvaHRtbC1tYW5pcHVsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQXFFO0FBQ3JFLHFEQUE0RDtBQUM1RCxtQ0FBbUQ7QUFFbkQsa0dBQWtHO0FBQ2xHLFNBQWdCLHVCQUF1QixDQUFDLElBQVUsRUFBRSxZQUFvQixFQUFFLFdBQW1CO0lBQzNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFL0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixNQUFNLElBQUksZ0NBQW1CLENBQUMsaUNBQWlDLFlBQVksRUFBRSxDQUFDLENBQUM7S0FDaEY7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFOUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3JDLE9BQU87S0FDUjtJQUVELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRW5ELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLEtBQUssQ0FBQyxpREFBaUQsY0FBYyxFQUFFLENBQUMsQ0FBQztLQUNoRjtJQUVELHlGQUF5RjtJQUN6Rix1RUFBdUU7SUFDdkUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGtCQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDJDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBRW5FLE1BQU0sY0FBYyxHQUFH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LENBQUMsVUFBVSxFQUFFO1lBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEM7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1NjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWV9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7Z2V0Q2hpbGRFbGVtZW50SW5kZW50YXRpb259IGZyb20gJy4vcGFyc2U1LWVsZW1lbnQnO1xuaW1wb3J0IHtFbGVtZW50LCBwYXJzZSBhcyBwYXJzZUh0bWx9IGZyb20gJ3BhcnNlNSc7XG5cbi8qKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50IEhUTUwgZnJhZ21lbnQgdG8gdGhlIGA8aGVhZD5gIGVsZW1lbnQgb2YgdGhlIHNwZWNpZmllZCBIVE1MIGZpbGUuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdDogVHJlZSwgaHRtbEZpbGVQYXRoOiBzdHJpbmcsIGVsZW1lbnRIdG1sOiBzdHJpbmcpIHtcbiAgY29uc3QgaHRtbEZpbGVCdWZmZXIgPSBob3N0LnJlYWQoaHRtbEZpbGVQYXRoKTtcblxuICBpZiAoIWh0bWxGaWxlQnVmZmVyKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCByZWFkIGZpbGUgZm9yIHBhdGg6ICR7aHRtbEZpbGVQYXRofWApO1xuICB9XG5cbiAgY29uc3QgaHRtbENvbnRlbnQgPSBodG1sRmlsZUJ1ZmZlci50b1N0cmluZygpO1xuXG4gIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhlbGVtZW50SHRtbCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBoZWFkVGFnID0gZ2V0SHRtbEhlYWRUYWdFbGVtZW50KGh0bWxDb250ZW50KTtcblxuICBpZiAoIWhlYWRUYWcpIHtcbiAgICB0aHJvdyBFcnJvcihgQ291bGQgbm90IGZpbmQgJzxoZWFkPicgZWxlbWVudCBpbiBIVE1MIGZpbGU6ICR7aHRtbEZpbGVCdWZmZXJ9YCk7XG4gIH1cblxuICAvLyBXZSBhbHdheXMgaGF2ZSBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9uIGhlcmUgYmVjYXVzZSB0aGUgYGdldEhlYWRUYWdFbGVtZW50YFxuICAvLyBmdW5jdGlvbiBleHBsaWNpdGx5IGhhcyB0aGUgYHNvdXJjZUNvZGVMb2NhdGlvbkluZm9gIG9wdGlvbiBlbmFibGVkLlxuICBjb25zdCBlbmRUYWdPZmZzZXQgPSBoZWFkVGFnLnNvdXJjZUNvZGVMb2NhdGlvbiEuZW5kVGFnLnN0YXJ0T2Zmc2V0O1xuICBjb25zdCBpbmRlbnRhdGlvbk9mZnNldCA9IGdldENoaWxkRWxlbWVudEluZGVudGF0aW9uKGhlYWRUYWcpO1xuICBjb25zdCBpbnNlcnRpb24gPSBgJHsnICcucmVwZWF0KGluZGVudGF0aW9uT2Zmc2V0KX0ke2VsZW1lbnRIdG1sfWA7XG5cbiAgY29uc3QgcmVjb3JkZWRDaGFuZ2UgPSBob3N0LmJlZ2luVXBkYXRlKGh0bWxGaWxlUGF0aCkuaW5zZXJ0UmlnaHQoZW5kVGFnT2Zmc2V0LCBgJHtpbnNlcnRpb259XFxuYCk7XG5cbiAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZWRDaGFuZ2UpO1xufVxuXG4vKiogUGFyc2VzIHRoZSBnaXZlbiBIVE1MIGZpbGUgYW5kIHJldHVybnMgdGhlIGhlYWQgZWxlbWVudCBpZiBhdmFpbGFibGUuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SHRtbEhlYWRUYWdFbGVtZW50KGh0bWxDb250ZW50OiBzdHJpbmcpOiBFbGVtZW50IHwgbnVsbCB7XG4gIHJldHVybiBnZXRFbGVtZW50QnlUYWdOYW1lKCdoZWFkJywgaHRtbENvbnRlbnQpO1xufVxuXG4vKiogQWRkcyBhIGNsYXNzIHRvIHRoZSBib2R5IG9mIHRoZSBkb2N1bWVudC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRCb2R5Q2xhc3MoaG9zdDogVHJlZSwgaHRtbEZpbGVQYXRoOiBzdHJpbmcsIGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGh0bWxGaWxlQnVmZmVyID0gaG9zdC5yZWFkKGh0bWxGaWxlUGF0aCk7XG5cbiAgaWYgKCFodG1sRmlsZUJ1ZmZlcikge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBDb3VsZCBub3QgcmVhZCBmaWxlIGZvciBwYXRoOiAke2h0bWxGaWxlUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IGh0bWxDb250ZW50ID0gaHRtbEZpbGVCdWZmZXIudG9TdHJpbmcoKTtcbiAgY29uc3QgYm9keSA9IGdldEVsZW1lbnRCeVRhZ05hbWUoJ2JvZHknLCBodG1sQ29udGVudCk7XG5cbiAgaWYgKCFib2R5KSB7XG4gICAgdGhyb3cgRXJyb3IoYENvdWxkIG5vdCBmaW5kIDxib2R5PiBlbGVtZW50IGluIEhUTUwgZmlsZTogJHtodG1sRmlsZUJ1ZmZlcn1gKTtcbiAgfVxuXG4gIGNvbnN0IGNsYXNzQXR0cmlidXRlID0gYm9keS5hdHRycy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ2NsYXNzJyk7XG5cbiAgaWYgKGNsYXNzQXR0cmlidXRlKSB7XG4gICAgY29uc3QgaGFzQ2xhc3MgPSBjbGFzc0F0dHJpYnV0ZS52YWx1ZVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5tYXAocGFydCA9PiBwYXJ0LnRyaW0oKSlcbiAgICAgIC5pbmNsdWRlcyhjbGFzc05hbWUpO1xuXG4gICAgaWYgKCFoYXNDbGFzcykge1xuICAgICAgLy8gV2UgaGF2ZSBzb3VyY2UgY29kZSBsb2NhdGlvbiBpbmZvIGVuYWJsZWQsIGFuZCB3ZSBwcmUtY2hlY2tlZCB0aGF0IHRoZSBlbGVtZW50XG4gICAgICAvLyBoYXMgYXR0cmlidXRlcywgc3BlY2lmaWNhbGx5IHRoZSBgY2xhc3NgIGF0dHJpYnV0ZS5cbiAgICAgIGNvbnN0IGNsYXNzQXR0cmlidXRlTG9jYXRpb24gPSBib2R5LnNvdXJjZUNvZGVMb2NhdGlvbiEuYXR0cnMhLmNsYXNzO1xuICAgICAgY29uc3QgcmVjb3JkZWRDaGFuZ2UgPSBob3N0XG4gICAgICAgIC5iZWdpblVwZGF0ZShodG1sRmlsZVBhdGgpXG4gICAgICAgIC5pbnNlcnRSaWdodChjbGFzc0F0dHJpYnV0ZUxvY2F0aW9uLmVuZE9mZnNldCAtIDEsIGAgJHtjbGFzc05hbWV9YCk7XG4gICAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlZENoYW5nZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHJlY29yZGVkQ2hhbmdlID0gaG9zdFxuICAgICAgLmJlZ2luVXBkYXRlKGh0bWxGaWxlUGF0aClcbiAgICAgIC5pbnNlcnRSaWdodChib2R5LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRUYWcuZW5kT2Zmc2V0IC0gMSwgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCk7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZWRDaGFuZ2UpO1xuICB9XG59XG5cbi8qKiBGaW5kcyBhbiBlbGVtZW50IGJ5IGl0cyB0YWcgbmFtZS4gKi9cbmZ1bmN0aW9uIGdldEVsZW1lbnRCeVRhZ05hbWUodGFnTmFtZTogc3RyaW5nLCBodG1sQ29udGVudDogc3RyaW5nKTogRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBkb2N1bWVudCA9IHBhcnNlSHRtbChodG1sQ29udGVudCwge3NvdXJjZUNvZGVMb2NhdGlvbkluZm86IHRydWV9KTtcbiAgY29uc3Qgbm9kZVF1ZXVlID0gWy4uLmRvY3VtZW50LmNoaWxkTm9kZXNdO1xuXG4gIHdoaWxlIChub2RlUXVldWUubGVuZ3RoKSB7XG4gICAgY29uc3Qgbm9kZSA9IG5vZGVRdWV1ZS5zaGlmdCgpIGFzIEVsZW1lbnQ7XG5cbiAgICBpZiAobm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0YWdOYW1lKSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGROb2Rlcykge1xuICAgICAgbm9kZVF1ZXVlLnB1c2goLi4ubm9kZS5jaGlsZE5vZGVzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,92 @@
|
|
|
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.addBodyClass = exports.getHtmlHeadTagElement = exports.appendHtmlElementToHead = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
const parse5_element_1 = require("./parse5-element");
|
|
13
|
+
const parse5_1 = require("parse5");
|
|
14
|
+
/** Appends the given element HTML fragment to the `<head>` element of the specified HTML file. */
|
|
15
|
+
function appendHtmlElementToHead(host, htmlFilePath, elementHtml) {
|
|
16
|
+
const htmlFileBuffer = host.read(htmlFilePath);
|
|
17
|
+
if (!htmlFileBuffer) {
|
|
18
|
+
throw new schematics_1.SchematicsException(`Could not read file for path: ${htmlFilePath}`);
|
|
19
|
+
}
|
|
20
|
+
const htmlContent = htmlFileBuffer.toString();
|
|
21
|
+
if (htmlContent.includes(elementHtml)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const headTag = getHtmlHeadTagElement(htmlContent);
|
|
25
|
+
if (!headTag) {
|
|
26
|
+
throw Error(`Could not find '<head>' element in HTML file: ${htmlFileBuffer}`);
|
|
27
|
+
}
|
|
28
|
+
// We always have access to the source code location here because the `getHeadTagElement`
|
|
29
|
+
// function explicitly has the `sourceCodeLocationInfo` option enabled.
|
|
30
|
+
const endTagOffset = headTag.sourceCodeLocation.endTag.startOffset;
|
|
31
|
+
const indentationOffset = (0, parse5_element_1.getChildElementIndentation)(headTag);
|
|
32
|
+
const insertion = `${' '.repeat(indentationOffset)}${elementHtml}`;
|
|
33
|
+
const recordedChange = host.beginUpdate(htmlFilePath).insertRight(endTagOffset, `${insertion}\n`);
|
|
34
|
+
host.commitUpdate(recordedChange);
|
|
35
|
+
}
|
|
36
|
+
exports.appendHtmlElementToHead = appendHtmlElementToHead;
|
|
37
|
+
/** Parses the given HTML file and returns the head element if available. */
|
|
38
|
+
function getHtmlHeadTagElement(htmlContent) {
|
|
39
|
+
return getElementByTagName('head', htmlContent);
|
|
40
|
+
}
|
|
41
|
+
exports.getHtmlHeadTagElement = getHtmlHeadTagElement;
|
|
42
|
+
/** Adds a class to the body of the document. */
|
|
43
|
+
function addBodyClass(host, htmlFilePath, className) {
|
|
44
|
+
const htmlFileBuffer = host.read(htmlFilePath);
|
|
45
|
+
if (!htmlFileBuffer) {
|
|
46
|
+
throw new schematics_1.SchematicsException(`Could not read file for path: ${htmlFilePath}`);
|
|
47
|
+
}
|
|
48
|
+
const htmlContent = htmlFileBuffer.toString();
|
|
49
|
+
const body = getElementByTagName('body', htmlContent);
|
|
50
|
+
if (!body) {
|
|
51
|
+
throw Error(`Could not find <body> element in HTML file: ${htmlFileBuffer}`);
|
|
52
|
+
}
|
|
53
|
+
const classAttribute = body.attrs.find(attribute => attribute.name === 'class');
|
|
54
|
+
if (classAttribute) {
|
|
55
|
+
const hasClass = classAttribute.value
|
|
56
|
+
.split(' ')
|
|
57
|
+
.map(part => part.trim())
|
|
58
|
+
.includes(className);
|
|
59
|
+
if (!hasClass) {
|
|
60
|
+
// We have source code location info enabled, and we pre-checked that the element
|
|
61
|
+
// has attributes, specifically the `class` attribute.
|
|
62
|
+
const classAttributeLocation = body.sourceCodeLocation.attrs.class;
|
|
63
|
+
const recordedChange = host
|
|
64
|
+
.beginUpdate(htmlFilePath)
|
|
65
|
+
.insertRight(classAttributeLocation.endOffset - 1, ` ${className}`);
|
|
66
|
+
host.commitUpdate(recordedChange);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const recordedChange = host
|
|
71
|
+
.beginUpdate(htmlFilePath)
|
|
72
|
+
.insertRight(body.sourceCodeLocation.startTag.endOffset - 1, ` class="${className}"`);
|
|
73
|
+
host.commitUpdate(recordedChange);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.addBodyClass = addBodyClass;
|
|
77
|
+
/** Finds an element by its tag name. */
|
|
78
|
+
function getElementByTagName(tagName, htmlContent) {
|
|
79
|
+
const document = (0, parse5_1.parse)(htmlContent, { sourceCodeLocationInfo: true });
|
|
80
|
+
const nodeQueue = [...document.childNodes];
|
|
81
|
+
while (nodeQueue.length) {
|
|
82
|
+
const node = nodeQueue.shift();
|
|
83
|
+
if (node.nodeName.toLowerCase() === tagName) {
|
|
84
|
+
return node;
|
|
85
|
+
}
|
|
86
|
+
else if (node.childNodes) {
|
|
87
|
+
nodeQueue.push(...node.childNodes);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1tYW5pcHVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvaHRtbC1tYW5pcHVsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQXFFO0FBQ3JFLHFEQUE0RDtBQUM1RCxtQ0FBbUQ7QUFFbkQsa0dBQWtHO0FBQ2xHLFNBQWdCLHVCQUF1QixDQUFDLElBQVUsRUFBRSxZQUFvQixFQUFFLFdBQW1CO0lBQzNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFL0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixNQUFNLElBQUksZ0NBQW1CLENBQUMsaUNBQWlDLFlBQVksRUFBRSxDQUFDLENBQUM7S0FDaEY7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFOUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3JDLE9BQU87S0FDUjtJQUVELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRW5ELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLEtBQUssQ0FBQyxpREFBaUQsY0FBYyxFQUFFLENBQUMsQ0FBQztLQUNoRjtJQUVELHlGQUF5RjtJQUN6Rix1RUFBdUU7SUFDdkUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGtCQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDJDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBRW5FLE1BQU0sY0FBYyxHQUFH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LENBQUMsVUFBVSxFQUFFO1lBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEM7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1NjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWV9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7Z2V0Q2hpbGRFbGVtZW50SW5kZW50YXRpb259IGZyb20gJy4vcGFyc2U1LWVsZW1lbnQnO1xuaW1wb3J0IHtFbGVtZW50LCBwYXJzZSBhcyBwYXJzZUh0bWx9IGZyb20gJ3BhcnNlNSc7XG5cbi8qKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50IEhUTUwgZnJhZ21lbnQgdG8gdGhlIGA8aGVhZD5gIGVsZW1lbnQgb2YgdGhlIHNwZWNpZmllZCBIVE1MIGZpbGUuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdDogVHJlZSwgaHRtbEZpbGVQYXRoOiBzdHJpbmcsIGVsZW1lbnRIdG1sOiBzdHJpbmcpIHtcbiAgY29uc3QgaHRtbEZpbGVCdWZmZXIgPSBob3N0LnJlYWQoaHRtbEZpbGVQYXRoKTtcblxuICBpZiAoIWh0bWxGaWxlQnVmZmVyKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCByZWFkIGZpbGUgZm9yIHBhdGg6ICR7aHRtbEZpbGVQYXRofWApO1xuICB9XG5cbiAgY29uc3QgaHRtbENvbnRlbnQgPSBodG1sRmlsZUJ1ZmZlci50b1N0cmluZygpO1xuXG4gIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhlbGVtZW50SHRtbCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBoZWFkVGFnID0gZ2V0SHRtbEhlYWRUYWdFbGVtZW50KGh0bWxDb250ZW50KTtcblxuICBpZiAoIWhlYWRUYWcpIHtcbiAgICB0aHJvdyBFcnJvcihgQ291bGQgbm90IGZpbmQgJzxoZWFkPicgZWxlbWVudCBpbiBIVE1MIGZpbGU6ICR7aHRtbEZpbGVCdWZmZXJ9YCk7XG4gIH1cblxuICAvLyBXZSBhbHdheXMgaGF2ZSBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9uIGhlcmUgYmVjYXVzZSB0aGUgYGdldEhlYWRUYWdFbGVtZW50YFxuICAvLyBmdW5jdGlvbiBleHBsaWNpdGx5IGhhcyB0aGUgYHNvdXJjZUNvZGVMb2NhdGlvbkluZm9gIG9wdGlvbiBlbmFibGVkLlxuICBjb25zdCBlbmRUYWdPZmZzZXQgPSBoZWFkVGFnLnNvdXJjZUNvZGVMb2NhdGlvbiEuZW5kVGFnLnN0YXJ0T2Zmc2V0O1xuICBjb25zdCBpbmRlbnRhdGlvbk9mZnNldCA9IGdldENoaWxkRWxlbWVudEluZGVudGF0aW9uKGhlYWRUYWcpO1xuICBjb25zdCBpbnNlcnRpb24gPSBgJHsnICcucmVwZWF0KGluZGVudGF0aW9uT2Zmc2V0KX0ke2VsZW1lbnRIdG1sfWA7XG5cbiAgY29uc3QgcmVjb3JkZWRDaGFuZ2UgPSBob3N0LmJlZ2luVXBkYXRlKGh0bWxGaWxlUGF0aCkuaW5zZXJ0UmlnaHQoZW5kVGFnT2Zmc2V0LCBgJHtpbnNlcnRpb259XFxuYCk7XG5cbiAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZWRDaGFuZ2UpO1xufVxuXG4vKiogUGFyc2VzIHRoZSBnaXZlbiBIVE1MIGZpbGUgYW5kIHJldHVybnMgdGhlIGhlYWQgZWxlbWVudCBpZiBhdmFpbGFibGUuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SHRtbEhlYWRUYWdFbGVtZW50KGh0bWxDb250ZW50OiBzdHJpbmcpOiBFbGVtZW50IHwgbnVsbCB7XG4gIHJldHVybiBnZXRFbGVtZW50QnlUYWdOYW1lKCdoZWFkJywgaHRtbENvbnRlbnQpO1xufVxuXG4vKiogQWRkcyBhIGNsYXNzIHRvIHRoZSBib2R5IG9mIHRoZSBkb2N1bWVudC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRCb2R5Q2xhc3MoaG9zdDogVHJlZSwgaHRtbEZpbGVQYXRoOiBzdHJpbmcsIGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGh0bWxGaWxlQnVmZmVyID0gaG9zdC5yZWFkKGh0bWxGaWxlUGF0aCk7XG5cbiAgaWYgKCFodG1sRmlsZUJ1ZmZlcikge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBDb3VsZCBub3QgcmVhZCBmaWxlIGZvciBwYXRoOiAke2h0bWxGaWxlUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IGh0bWxDb250ZW50ID0gaHRtbEZpbGVCdWZmZXIudG9TdHJpbmcoKTtcbiAgY29uc3QgYm9keSA9IGdldEVsZW1lbnRCeVRhZ05hbWUoJ2JvZHknLCBodG1sQ29udGVudCk7XG5cbiAgaWYgKCFib2R5KSB7XG4gICAgdGhyb3cgRXJyb3IoYENvdWxkIG5vdCBmaW5kIDxib2R5PiBlbGVtZW50IGluIEhUTUwgZmlsZTogJHtodG1sRmlsZUJ1ZmZlcn1gKTtcbiAgfVxuXG4gIGNvbnN0IGNsYXNzQXR0cmlidXRlID0gYm9keS5hdHRycy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ2NsYXNzJyk7XG5cbiAgaWYgKGNsYXNzQXR0cmlidXRlKSB7XG4gICAgY29uc3QgaGFzQ2xhc3MgPSBjbGFzc0F0dHJpYnV0ZS52YWx1ZVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5tYXAocGFydCA9PiBwYXJ0LnRyaW0oKSlcbiAgICAgIC5pbmNsdWRlcyhjbGFzc05hbWUpO1xuXG4gICAgaWYgKCFoYXNDbGFzcykge1xuICAgICAgLy8gV2UgaGF2ZSBzb3VyY2UgY29kZSBsb2NhdGlvbiBpbmZvIGVuYWJsZWQsIGFuZCB3ZSBwcmUtY2hlY2tlZCB0aGF0IHRoZSBlbGVtZW50XG4gICAgICAvLyBoYXMgYXR0cmlidXRlcywgc3BlY2lmaWNhbGx5IHRoZSBgY2xhc3NgIGF0dHJpYnV0ZS5cbiAgICAgIGNvbnN0IGNsYXNzQXR0cmlidXRlTG9jYXRpb24gPSBib2R5LnNvdXJjZUNvZGVMb2NhdGlvbiEuYXR0cnMhLmNsYXNzO1xuICAgICAgY29uc3QgcmVjb3JkZWRDaGFuZ2UgPSBob3N0XG4gICAgICAgIC5iZWdpblVwZGF0ZShodG1sRmlsZVBhdGgpXG4gICAgICAgIC5pbnNlcnRSaWdodChjbGFzc0F0dHJpYnV0ZUxvY2F0aW9uLmVuZE9mZnNldCAtIDEsIGAgJHtjbGFzc05hbWV9YCk7XG4gICAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlZENoYW5nZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHJlY29yZGVkQ2hhbmdlID0gaG9zdFxuICAgICAgLmJlZ2luVXBkYXRlKGh0bWxGaWxlUGF0aClcbiAgICAgIC5pbnNlcnRSaWdodChib2R5LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRUYWcuZW5kT2Zmc2V0IC0gMSwgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCk7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZWRDaGFuZ2UpO1xuICB9XG59XG5cbi8qKiBGaW5kcyBhbiBlbGVtZW50IGJ5IGl0cyB0YWcgbmFtZS4gKi9cbmZ1bmN0aW9uIGdldEVsZW1lbnRCeVRhZ05hbWUodGFnTmFtZTogc3RyaW5nLCBodG1sQ29udGVudDogc3RyaW5nKTogRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBkb2N1bWVudCA9IHBhcnNlSHRtbChodG1sQ29udGVudCwge3NvdXJjZUNvZGVMb2NhdGlvbkluZm86IHRydWV9KTtcbiAgY29uc3Qgbm9kZVF1ZXVlID0gWy4uLmRvY3VtZW50LmNoaWxkTm9kZXNdO1xuXG4gIHdoaWxlIChub2RlUXVldWUubGVuZ3RoKSB7XG4gICAgY29uc3Qgbm9kZSA9IG5vZGVRdWV1ZS5zaGlmdCgpIGFzIEVsZW1lbnQ7XG5cbiAgICBpZiAobm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0YWdOYW1lKSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGROb2Rlcykge1xuICAgICAgbm9kZVF1ZXVlLnB1c2goLi4ubm9kZS5jaGlsZE5vZGVzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
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 * from './ast';
|
|
9
|
+
export * from './ast/ng-module-imports';
|
|
10
|
+
export * from './build-component';
|
|
11
|
+
export * from './get-project';
|
|
12
|
+
export * from './html-manipulation';
|
|
13
|
+
export * from './parse5-element';
|
|
14
|
+
export * from './project-index-file';
|
|
15
|
+
export * from './project-main-file';
|
|
16
|
+
export * from './project-style-file';
|
|
17
|
+
export * from './project-targets';
|
|
18
|
+
export * from './schematic-options';
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
__exportStar(require("./ast"), exports);
|
|
25
|
+
__exportStar(require("./ast/ng-module-imports"), exports);
|
|
26
|
+
__exportStar(require("./build-component"), exports);
|
|
27
|
+
__exportStar(require("./get-project"), exports);
|
|
28
|
+
__exportStar(require("./html-manipulation"), exports);
|
|
29
|
+
__exportStar(require("./parse5-element"), exports);
|
|
30
|
+
__exportStar(require("./project-index-file"), exports);
|
|
31
|
+
__exportStar(require("./project-main-file"), exports);
|
|
32
|
+
__exportStar(require("./project-style-file"), exports);
|
|
33
|
+
__exportStar(require("./project-targets"), exports);
|
|
34
|
+
__exportStar(require("./schematic-options"), exports);
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHdDQUFzQjtBQUN0QiwwREFBd0M7QUFDeEMsb0RBQWtDO0FBQ2xDLGdEQUE4QjtBQUM5QixzREFBb0M7QUFDcEMsbURBQWlDO0FBQ2pDLHVEQUFxQztBQUNyQyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLG9EQUFrQztBQUNsQyxzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3QvbmctbW9kdWxlLWltcG9ydHMnO1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZC1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtbWFuaXB1bGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2U1LWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0LWluZGV4LWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0LW1haW4tZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Qtc3R5bGUtZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3QtdGFyZ2V0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYXRpYy1vcHRpb25zJztcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
__exportStar(require("./ast"), exports);
|
|
25
|
+
__exportStar(require("./ast/ng-module-imports"), exports);
|
|
26
|
+
__exportStar(require("./build-component"), exports);
|
|
27
|
+
__exportStar(require("./get-project"), exports);
|
|
28
|
+
__exportStar(require("./html-manipulation"), exports);
|
|
29
|
+
__exportStar(require("./parse5-element"), exports);
|
|
30
|
+
__exportStar(require("./project-index-file"), exports);
|
|
31
|
+
__exportStar(require("./project-main-file"), exports);
|
|
32
|
+
__exportStar(require("./project-style-file"), exports);
|
|
33
|
+
__exportStar(require("./project-targets"), exports);
|
|
34
|
+
__exportStar(require("./schematic-options"), exports);
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHdDQUFzQjtBQUN0QiwwREFBd0M7QUFDeEMsb0RBQWtDO0FBQ2xDLGdEQUE4QjtBQUM5QixzREFBb0M7QUFDcEMsbURBQWlDO0FBQ2pDLHVEQUFxQztBQUNyQyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLG9EQUFrQztBQUNsQyxzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3QvbmctbW9kdWxlLWltcG9ydHMnO1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZC1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtbWFuaXB1bGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2U1LWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0LWluZGV4LWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0LW1haW4tZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Qtc3R5bGUtZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3QtdGFyZ2V0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYXRpYy1vcHRpb25zJztcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
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 { Element } from 'parse5';
|
|
9
|
+
/** Determines the indentation of child elements for the given Parse5 element. */
|
|
10
|
+
export declare function getChildElementIndentation(element: Element): number;
|
|
@@ -0,0 +1,31 @@
|
|
|
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.getChildElementIndentation = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
/** Determines the indentation of child elements for the given Parse5 element. */
|
|
13
|
+
function getChildElementIndentation(element) {
|
|
14
|
+
const childElement = element.childNodes.find(node => node.tagName);
|
|
15
|
+
if ((childElement && !childElement.sourceCodeLocation) || !element.sourceCodeLocation) {
|
|
16
|
+
throw new schematics_1.SchematicsException('Cannot determine child element indentation because the ' +
|
|
17
|
+
'specified Parse5 element does not have any source code location metadata.');
|
|
18
|
+
}
|
|
19
|
+
const startColumns = childElement
|
|
20
|
+
? // In case there are child elements inside of the element, we assume that their
|
|
21
|
+
// indentation is also applicable for other child elements.
|
|
22
|
+
childElement.sourceCodeLocation.startCol
|
|
23
|
+
: // In case there is no child element, we just assume that child elements should be indented
|
|
24
|
+
// by two spaces.
|
|
25
|
+
element.sourceCodeLocation.startCol + 2;
|
|
26
|
+
// Since Parse5 does not set the `startCol` properties as zero-based, we need to subtract
|
|
27
|
+
// one column in order to have a proper zero-based offset for the indentation.
|
|
28
|
+
return startColumns - 1;
|
|
29
|
+
}
|
|
30
|
+
exports.getChildElementIndentation = getChildElementIndentation;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2U1LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvcGFyc2U1LWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQStEO0FBRy9ELGlGQUFpRjtBQUNqRixTQUFnQiwwQkFBMEIsQ0FBQyxPQUFnQjtJQUN6RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLElBQWdCLENBQUMsT0FBTyxDQUFtQixDQUFDO0lBRWxHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUNyRixNQUFNLElBQUksZ0NBQW1CLENBQzNCLHlEQUF5RDtZQUN2RCwyRUFBMkUsQ0FDOUUsQ0FBQztLQUNIO0lBRUQsTUFBTSxZQUFZLEdBQUcsWUFBWTtRQUMvQixDQUFDLENBQUMsK0VBQStFO1lBQy9FLDJEQUEyRDtZQUMzRCxZQUFZLENBQUMsa0JBQW1CLENBQUMsUUFBUTtRQUMzQyxDQUFDLENBQUMsMkZBQTJGO1lBQzNGLGlCQUFpQjtZQUNqQixPQUFPLENBQUMsa0JBQW1CLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUU3Qyx5RkFBeUY7SUFDekYsOEVBQThFO0lBQzlFLE9BQU8sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBckJELGdFQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1NjaGVtYXRpY3NFeGNlcHRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7RWxlbWVudH0gZnJvbSAncGFyc2U1JztcblxuLyoqIERldGVybWluZXMgdGhlIGluZGVudGF0aW9uIG9mIGNoaWxkIGVsZW1lbnRzIGZvciB0aGUgZ2l2ZW4gUGFyc2U1IGVsZW1lbnQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hpbGRFbGVtZW50SW5kZW50YXRpb24oZWxlbWVudDogRWxlbWVudCkge1xuICBjb25zdCBjaGlsZEVsZW1lbnQgPSBlbGVtZW50LmNoaWxkTm9kZXMuZmluZChub2RlID0+IChub2RlIGFzIEVsZW1lbnQpLnRhZ05hbWUpIGFzIEVsZW1lbnQgfCBudWxsO1xuXG4gIGlmICgoY2hpbGRFbGVtZW50ICYmICFjaGlsZEVsZW1lbnQuc291cmNlQ29kZUxvY2F0aW9uKSB8fCAhZWxlbWVudC5zb3VyY2VDb2RlTG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICdDYW5ub3QgZGV0ZXJtaW5lIGNoaWxkIGVsZW1lbnQgaW5kZW50YXRpb24gYmVjYXVzZSB0aGUgJyArXG4gICAgICAgICdzcGVjaWZpZWQgUGFyc2U1IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhbnkgc291cmNlIGNvZGUgbG9jYXRpb24gbWV0YWRhdGEuJyxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRDb2x1bW5zID0gY2hpbGRFbGVtZW50XG4gICAgPyAvLyBJbiBjYXNlIHRoZXJlIGFyZSBjaGlsZCBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIGVsZW1lbnQsIHdlIGFzc3VtZSB0aGF0IHRoZWlyXG4gICAgICAvLyBpbmRlbnRhdGlvbiBpcyBhbHNvIGFwcGxpY2FibGUgZm9yIG90aGVyIGNoaWxkIGVsZW1lbnRzLlxuICAgICAgY2hpbGRFbGVtZW50LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRDb2xcbiAgICA6IC8vIEluIGNhc2UgdGhlcmUgaXMgbm8gY2hpbGQgZWxlbWVudCwgd2UganVzdCBhc3N1bWUgdGhhdCBjaGlsZCBlbGVtZW50cyBzaG91bGQgYmUgaW5kZW50ZWRcbiAgICAgIC8vIGJ5IHR3byBzcGFjZXMuXG4gICAgICBlbGVtZW50LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRDb2wgKyAyO1xuXG4gIC8vIFNpbmNlIFBhcnNlNSBkb2VzIG5vdCBzZXQgdGhlIGBzdGFydENvbGAgcHJvcGVydGllcyBhcyB6ZXJvLWJhc2VkLCB3ZSBuZWVkIHRvIHN1YnRyYWN0XG4gIC8vIG9uZSBjb2x1bW4gaW4gb3JkZXIgdG8gaGF2ZSBhIHByb3BlciB6ZXJvLWJhc2VkIG9mZnNldCBmb3IgdGhlIGluZGVudGF0aW9uLlxuICByZXR1cm4gc3RhcnRDb2x1bW5zIC0gMTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
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.getChildElementIndentation = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
/** Determines the indentation of child elements for the given Parse5 element. */
|
|
13
|
+
function getChildElementIndentation(element) {
|
|
14
|
+
const childElement = element.childNodes.find(node => node.tagName);
|
|
15
|
+
if ((childElement && !childElement.sourceCodeLocation) || !element.sourceCodeLocation) {
|
|
16
|
+
throw new schematics_1.SchematicsException('Cannot determine child element indentation because the ' +
|
|
17
|
+
'specified Parse5 element does not have any source code location metadata.');
|
|
18
|
+
}
|
|
19
|
+
const startColumns = childElement
|
|
20
|
+
? // In case there are child elements inside of the element, we assume that their
|
|
21
|
+
// indentation is also applicable for other child elements.
|
|
22
|
+
childElement.sourceCodeLocation.startCol
|
|
23
|
+
: // In case there is no child element, we just assume that child elements should be indented
|
|
24
|
+
// by two spaces.
|
|
25
|
+
element.sourceCodeLocation.startCol + 2;
|
|
26
|
+
// Since Parse5 does not set the `startCol` properties as zero-based, we need to subtract
|
|
27
|
+
// one column in order to have a proper zero-based offset for the indentation.
|
|
28
|
+
return startColumns - 1;
|
|
29
|
+
}
|
|
30
|
+
exports.getChildElementIndentation = getChildElementIndentation;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2U1LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvcGFyc2U1LWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQStEO0FBRy9ELGlGQUFpRjtBQUNqRixTQUFnQiwwQkFBMEIsQ0FBQyxPQUFnQjtJQUN6RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLElBQWdCLENBQUMsT0FBTyxDQUFtQixDQUFDO0lBRWxHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUNyRixNQUFNLElBQUksZ0NBQW1CLENBQzNCLHlEQUF5RDtZQUN2RCwyRUFBMkUsQ0FDOUUsQ0FBQztLQUNIO0lBRUQsTUFBTSxZQUFZLEdBQUcsWUFBWTtRQUMvQixDQUFDLENBQUMsK0VBQStFO1lBQy9FLDJEQUEyRDtZQUMzRCxZQUFZLENBQUMsa0JBQW1CLENBQUMsUUFBUTtRQUMzQyxDQUFDLENBQUMsMkZBQTJGO1lBQzNGLGlCQUFpQjtZQUNqQixPQUFPLENBQUMsa0JBQW1CLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUU3Qyx5RkFBeUY7SUFDekYsOEVBQThFO0lBQzlFLE9BQU8sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBckJELGdFQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1NjaGVtYXRpY3NFeGNlcHRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7RWxlbWVudH0gZnJvbSAncGFyc2U1JztcblxuLyoqIERldGVybWluZXMgdGhlIGluZGVudGF0aW9uIG9mIGNoaWxkIGVsZW1lbnRzIGZvciB0aGUgZ2l2ZW4gUGFyc2U1IGVsZW1lbnQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hpbGRFbGVtZW50SW5kZW50YXRpb24oZWxlbWVudDogRWxlbWVudCkge1xuICBjb25zdCBjaGlsZEVsZW1lbnQgPSBlbGVtZW50LmNoaWxkTm9kZXMuZmluZChub2RlID0+IChub2RlIGFzIEVsZW1lbnQpLnRhZ05hbWUpIGFzIEVsZW1lbnQgfCBudWxsO1xuXG4gIGlmICgoY2hpbGRFbGVtZW50ICYmICFjaGlsZEVsZW1lbnQuc291cmNlQ29kZUxvY2F0aW9uKSB8fCAhZWxlbWVudC5zb3VyY2VDb2RlTG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICdDYW5ub3QgZGV0ZXJtaW5lIGNoaWxkIGVsZW1lbnQgaW5kZW50YXRpb24gYmVjYXVzZSB0aGUgJyArXG4gICAgICAgICdzcGVjaWZpZWQgUGFyc2U1IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhbnkgc291cmNlIGNvZGUgbG9jYXRpb24gbWV0YWRhdGEuJyxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRDb2x1bW5zID0gY2hpbGRFbGVtZW50XG4gICAgPyAvLyBJbiBjYXNlIHRoZXJlIGFyZSBjaGlsZCBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIGVsZW1lbnQsIHdlIGFzc3VtZSB0aGF0IHRoZWlyXG4gICAgICAvLyBpbmRlbnRhdGlvbiBpcyBhbHNvIGFwcGxpY2FibGUgZm9yIG90aGVyIGNoaWxkIGVsZW1lbnRzLlxuICAgICAgY2hpbGRFbGVtZW50LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRDb2xcbiAgICA6IC8vIEluIGNhc2UgdGhlcmUgaXMgbm8gY2hpbGQgZWxlbWVudCwgd2UganVzdCBhc3N1bWUgdGhhdCBjaGlsZCBlbGVtZW50cyBzaG91bGQgYmUgaW5kZW50ZWRcbiAgICAgIC8vIGJ5IHR3byBzcGFjZXMuXG4gICAgICBlbGVtZW50LnNvdXJjZUNvZGVMb2NhdGlvbiEuc3RhcnRDb2wgKyAyO1xuXG4gIC8vIFNpbmNlIFBhcnNlNSBkb2VzIG5vdCBzZXQgdGhlIGBzdGFydENvbGAgcHJvcGVydGllcyBhcyB6ZXJvLWJhc2VkLCB3ZSBuZWVkIHRvIHN1YnRyYWN0XG4gIC8vIG9uZSBjb2x1bW4gaW4gb3JkZXIgdG8gaGF2ZSBhIHByb3BlciB6ZXJvLWJhc2VkIG9mZnNldCBmb3IgdGhlIGluZGVudGF0aW9uLlxuICByZXR1cm4gc3RhcnRDb2x1bW5zIC0gMTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
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 { Path } from '@angular-devkit/core';
|
|
9
|
+
import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
|
|
10
|
+
/** Gets the path of the index file in the given project. */
|
|
11
|
+
export declare function getProjectIndexFiles(project: ProjectDefinition): Path[];
|
|
@@ -0,0 +1,21 @@
|
|
|
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.getProjectIndexFiles = void 0;
|
|
11
|
+
const project_targets_1 = require("./project-targets");
|
|
12
|
+
/** Gets the path of the index file in the given project. */
|
|
13
|
+
function getProjectIndexFiles(project) {
|
|
14
|
+
const paths = (0, project_targets_1.getTargetsByBuilderName)(project, project_targets_1.defaultTargetBuilders.build)
|
|
15
|
+
.filter(t => { var _a; return (_a = t.options) === null || _a === void 0 ? void 0 : _a.index; })
|
|
16
|
+
.map(t => t.options.index);
|
|
17
|
+
// Use a set to remove duplicate index files referenced in multiple build targets of a project.
|
|
18
|
+
return Array.from(new Set(paths));
|
|
19
|
+
}
|
|
20
|
+
exports.getProjectIndexFiles = getProjectIndexFiles;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1pbmRleC1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3V0aWxzL3Byb2plY3QtaW5kZXgtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFJSCx1REFBaUY7QUFFakYsNERBQTREO0FBQzVELFNBQWdCLG9CQUFvQixDQUFDLE9BQTBCO0lBQzdELE1BQU0sS0FBSyxHQUFHLElBQUEseUNBQXVCLEVBQUMsT0FBTyxFQUFFLHVDQUFxQixDQUFDLEtBQUssQ0FBQztTQUN4RSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBQyxPQUFBLE1BQUEsQ0FBQyxDQUFDLE9BQU8sMENBQUUsS0FBSyxDQUFBLEVBQUEsQ0FBQztTQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBUSxDQUFDLEtBQWEsQ0FBQyxDQUFDO0lBRXRDLCtGQUErRjtJQUMvRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBUEQsb0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtQYXRofSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1Byb2plY3REZWZpbml0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9zcmMvd29ya3NwYWNlJztcbmltcG9ydCB7ZGVmYXVsdFRhcmdldEJ1aWxkZXJzLCBnZXRUYXJnZXRzQnlCdWlsZGVyTmFtZX0gZnJvbSAnLi9wcm9qZWN0LXRhcmdldHMnO1xuXG4vKiogR2V0cyB0aGUgcGF0aCBvZiB0aGUgaW5kZXggZmlsZSBpbiB0aGUgZ2l2ZW4gcHJvamVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0SW5kZXhGaWxlcyhwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbik6IFBhdGhbXSB7XG4gIGNvbnN0IHBhdGhzID0gZ2V0VGFyZ2V0c0J5QnVpbGRlck5hbWUocHJvamVjdCwgZGVmYXVsdFRhcmdldEJ1aWxkZXJzLmJ1aWxkKVxuICAgIC5maWx0ZXIodCA9PiB0Lm9wdGlvbnM/LmluZGV4KVxuICAgIC5tYXAodCA9PiB0Lm9wdGlvbnMhLmluZGV4IGFzIFBhdGgpO1xuXG4gIC8vIFVzZSBhIHNldCB0byByZW1vdmUgZHVwbGljYXRlIGluZGV4IGZpbGVzIHJlZmVyZW5jZWQgaW4gbXVsdGlwbGUgYnVpbGQgdGFyZ2V0cyBvZiBhIHByb2plY3QuXG4gIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQocGF0aHMpKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
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.getProjectIndexFiles = void 0;
|
|
11
|
+
const project_targets_1 = require("./project-targets");
|
|
12
|
+
/** Gets the path of the index file in the given project. */
|
|
13
|
+
function getProjectIndexFiles(project) {
|
|
14
|
+
const paths = (0, project_targets_1.getTargetsByBuilderName)(project, project_targets_1.defaultTargetBuilders.build)
|
|
15
|
+
.filter(t => { var _a; return (_a = t.options) === null || _a === void 0 ? void 0 : _a.index; })
|
|
16
|
+
.map(t => t.options.index);
|
|
17
|
+
// Use a set to remove duplicate index files referenced in multiple build targets of a project.
|
|
18
|
+
return Array.from(new Set(paths));
|
|
19
|
+
}
|
|
20
|
+
exports.getProjectIndexFiles = getProjectIndexFiles;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1pbmRleC1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3V0aWxzL3Byb2plY3QtaW5kZXgtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFJSCx1REFBaUY7QUFFakYsNERBQTREO0FBQzVELFNBQWdCLG9CQUFvQixDQUFDLE9BQTBCO0lBQzdELE1BQU0sS0FBSyxHQUFHLElBQUEseUNBQXVCLEVBQUMsT0FBTyxFQUFFLHVDQUFxQixDQUFDLEtBQUssQ0FBQztTQUN4RSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBQyxPQUFBLE1BQUEsQ0FBQyxDQUFDLE9BQU8sMENBQUUsS0FBSyxDQUFBLEVBQUEsQ0FBQztTQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBUSxDQUFDLEtBQWEsQ0FBQyxDQUFDO0lBRXRDLCtGQUErRjtJQUMvRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBUEQsb0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtQYXRofSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1Byb2plY3REZWZpbml0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9zcmMvd29ya3NwYWNlJztcbmltcG9ydCB7ZGVmYXVsdFRhcmdldEJ1aWxkZXJzLCBnZXRUYXJnZXRzQnlCdWlsZGVyTmFtZX0gZnJvbSAnLi9wcm9qZWN0LXRhcmdldHMnO1xuXG4vKiogR2V0cyB0aGUgcGF0aCBvZiB0aGUgaW5kZXggZmlsZSBpbiB0aGUgZ2l2ZW4gcHJvamVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0SW5kZXhGaWxlcyhwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbik6IFBhdGhbXSB7XG4gIGNvbnN0IHBhdGhzID0gZ2V0VGFyZ2V0c0J5QnVpbGRlck5hbWUocHJvamVjdCwgZGVmYXVsdFRhcmdldEJ1aWxkZXJzLmJ1aWxkKVxuICAgIC5maWx0ZXIodCA9PiB0Lm9wdGlvbnM/LmluZGV4KVxuICAgIC5tYXAodCA9PiB0Lm9wdGlvbnMhLmluZGV4IGFzIFBhdGgpO1xuXG4gIC8vIFVzZSBhIHNldCB0byByZW1vdmUgZHVwbGljYXRlIGluZGV4IGZpbGVzIHJlZmVyZW5jZWQgaW4gbXVsdGlwbGUgYnVpbGQgdGFyZ2V0cyBvZiBhIHByb2plY3QuXG4gIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQocGF0aHMpKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
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 { Path } from '@angular-devkit/core';
|
|
9
|
+
import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
|
|
10
|
+
/** Looks for the main TypeScript file in the given project and returns its path. */
|
|
11
|
+
export declare function getProjectMainFile(project: ProjectDefinition): Path;
|
|
@@ -0,0 +1,23 @@
|
|
|
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.getProjectMainFile = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
const project_targets_1 = require("./project-targets");
|
|
13
|
+
/** Looks for the main TypeScript file in the given project and returns its path. */
|
|
14
|
+
function getProjectMainFile(project) {
|
|
15
|
+
const buildOptions = (0, project_targets_1.getProjectTargetOptions)(project, 'build');
|
|
16
|
+
if (!buildOptions.main) {
|
|
17
|
+
throw new schematics_1.SchematicsException(`Could not find the project main file inside of the ` +
|
|
18
|
+
`workspace config (${project.sourceRoot})`);
|
|
19
|
+
}
|
|
20
|
+
return buildOptions.main;
|
|
21
|
+
}
|
|
22
|
+
exports.getProjectMainFile = getProjectMainFile;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1tYWluLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvcHJvamVjdC1tYWluLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBSUgsMkRBQStEO0FBQy9ELHVEQUEwRDtBQUUxRCxvRkFBb0Y7QUFDcEYsU0FBZ0Isa0JBQWtCLENBQUMsT0FBMEI7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBQSx5Q0FBdUIsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7UUFDdEIsTUFBTSxJQUFJLGdDQUFtQixDQUMzQixxREFBcUQ7WUFDbkQscUJBQXFCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FDN0MsQ0FBQztLQUNIO0lBRUQsT0FBTyxZQUFZLENBQUMsSUFBWSxDQUFDO0FBQ25DLENBQUM7QUFYRCxnREFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1BhdGh9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7UHJvamVjdERlZmluaXRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlL3NyYy93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF0aWNzRXhjZXB0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFByb2plY3RUYXJnZXRPcHRpb25zfSBmcm9tICcuL3Byb2plY3QtdGFyZ2V0cyc7XG5cbi8qKiBMb29rcyBmb3IgdGhlIG1haW4gVHlwZVNjcmlwdCBmaWxlIGluIHRoZSBnaXZlbiBwcm9qZWN0IGFuZCByZXR1cm5zIGl0cyBwYXRoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbik6IFBhdGgge1xuICBjb25zdCBidWlsZE9wdGlvbnMgPSBnZXRQcm9qZWN0VGFyZ2V0T3B0aW9ucyhwcm9qZWN0LCAnYnVpbGQnKTtcblxuICBpZiAoIWJ1aWxkT3B0aW9ucy5tYWluKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICBgQ291bGQgbm90IGZpbmQgdGhlIHByb2plY3QgbWFpbiBmaWxlIGluc2lkZSBvZiB0aGUgYCArXG4gICAgICAgIGB3b3Jrc3BhY2UgY29uZmlnICgke3Byb2plY3Quc291cmNlUm9vdH0pYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkT3B0aW9ucy5tYWluIGFzIFBhdGg7XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
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.getProjectMainFile = void 0;
|
|
11
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
|
+
const project_targets_1 = require("./project-targets");
|
|
13
|
+
/** Looks for the main TypeScript file in the given project and returns its path. */
|
|
14
|
+
function getProjectMainFile(project) {
|
|
15
|
+
const buildOptions = (0, project_targets_1.getProjectTargetOptions)(project, 'build');
|
|
16
|
+
if (!buildOptions.main) {
|
|
17
|
+
throw new schematics_1.SchematicsException(`Could not find the project main file inside of the ` +
|
|
18
|
+
`workspace config (${project.sourceRoot})`);
|
|
19
|
+
}
|
|
20
|
+
return buildOptions.main;
|
|
21
|
+
}
|
|
22
|
+
exports.getProjectMainFile = getProjectMainFile;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1tYWluLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvcHJvamVjdC1tYWluLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBSUgsMkRBQStEO0FBQy9ELHVEQUEwRDtBQUUxRCxvRkFBb0Y7QUFDcEYsU0FBZ0Isa0JBQWtCLENBQUMsT0FBMEI7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBQSx5Q0FBdUIsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7UUFDdEIsTUFBTSxJQUFJLGdDQUFtQixDQUMzQixxREFBcUQ7WUFDbkQscUJBQXFCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FDN0MsQ0FBQztLQUNIO0lBRUQsT0FBTyxZQUFZLENBQUMsSUFBWSxDQUFDO0FBQ25DLENBQUM7QUFYRCxnREFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1BhdGh9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7UHJvamVjdERlZmluaXRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlL3NyYy93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF0aWNzRXhjZXB0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFByb2plY3RUYXJnZXRPcHRpb25zfSBmcm9tICcuL3Byb2plY3QtdGFyZ2V0cyc7XG5cbi8qKiBMb29rcyBmb3IgdGhlIG1haW4gVHlwZVNjcmlwdCBmaWxlIGluIHRoZSBnaXZlbiBwcm9qZWN0IGFuZCByZXR1cm5zIGl0cyBwYXRoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbik6IFBhdGgge1xuICBjb25zdCBidWlsZE9wdGlvbnMgPSBnZXRQcm9qZWN0VGFyZ2V0T3B0aW9ucyhwcm9qZWN0LCAnYnVpbGQnKTtcblxuICBpZiAoIWJ1aWxkT3B0aW9ucy5tYWluKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICBgQ291bGQgbm90IGZpbmQgdGhlIHByb2plY3QgbWFpbiBmaWxlIGluc2lkZSBvZiB0aGUgYCArXG4gICAgICAgIGB3b3Jrc3BhY2UgY29uZmlnICgke3Byb2plY3Quc291cmNlUm9vdH0pYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkT3B0aW9ucy5tYWluIGFzIFBhdGg7XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { ProjectDefinition } from '@angular-devkit/core/src/workspace';
|
|
9
|
+
/**
|
|
10
|
+
* Gets a style file with the given extension in a project and returns its path. If no
|
|
11
|
+
* extension is specified, any style file with a valid extension will be returned.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getProjectStyleFile(project: ProjectDefinition, extension?: string): string | null;
|