@skyux/packages 12.24.0 → 12.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/collection.json +5 -0
  2. package/package.json +58 -58
  3. package/src/schematics/migrations/migration-collection.json +1 -1
  4. package/src/schematics/ng-generate/convert-definition-list-to-description-list/convert-definition-list-to-description-list.schematic.d.ts +6 -0
  5. package/src/schematics/ng-generate/convert-definition-list-to-description-list/convert-definition-list-to-description-list.schematic.js +15 -0
  6. package/src/schematics/ng-generate/convert-definition-list-to-description-list/convert-definition-list-to-description-list.schematic.js.map +1 -0
  7. package/src/schematics/ng-generate/convert-definition-list-to-description-list/schema.d.ts +9 -0
  8. package/src/schematics/ng-generate/convert-definition-list-to-description-list/schema.js +3 -0
  9. package/src/schematics/ng-generate/convert-definition-list-to-description-list/schema.js.map +1 -0
  10. package/src/schematics/ng-generate/convert-definition-list-to-description-list/schema.json +13 -0
  11. package/src/schematics/rules/convert-definition-list-to-description-list/convert-definition-list-to-description-list.d.ts +2 -0
  12. package/src/schematics/rules/convert-definition-list-to-description-list/convert-definition-list-to-description-list.js +117 -0
  13. package/src/schematics/rules/convert-definition-list-to-description-list/convert-definition-list-to-description-list.js.map +1 -0
  14. package/src/schematics/utility/template.d.ts +14 -0
  15. package/src/schematics/utility/template.js +66 -0
  16. package/src/schematics/utility/template.js.map +1 -0
  17. package/src/schematics/utility/typescript/ng-ast.d.ts +5 -0
  18. package/src/schematics/utility/typescript/ng-ast.js +31 -0
  19. package/src/schematics/utility/typescript/ng-ast.js.map +1 -0
  20. package/src/schematics/utility/typescript/remove-import.d.ts +2 -2
  21. package/src/schematics/utility/typescript/remove-import.js +1 -3
  22. package/src/schematics/utility/typescript/remove-import.js.map +1 -1
  23. package/src/schematics/utility/typescript/swap-imported-class.d.ts +2 -2
  24. package/src/schematics/utility/typescript/swap-imported-class.js +25 -16
  25. package/src/schematics/utility/typescript/swap-imported-class.js.map +1 -1
  26. package/src/version.js +1 -1
package/collection.json CHANGED
@@ -16,6 +16,11 @@
16
16
  "factory": "./src/schematics/ag-grid-migrate/ag-grid-migrate.schematic",
17
17
  "schema": "./src/schematics/ag-grid-migrate/schema.json"
18
18
  },
19
+ "convert-definition-list-to-description-list": {
20
+ "description": "Convert <sky-definition-list> components to <sky-description-list> components.",
21
+ "factory": "./src/schematics/ng-generate/convert-definition-list-to-description-list/convert-definition-list-to-description-list.schematic",
22
+ "schema": "./src/schematics/ng-generate/convert-definition-list-to-description-list/schema.json"
23
+ },
19
24
  "polyfills": {
20
25
  "description": "Add @skyux/packages/polyfills to project config.",
21
26
  "factory": "./src/schematics/ng-generate/polyfills/polyfills.schematic",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/packages",
3
- "version": "12.24.0",
3
+ "version": "12.26.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "description": "Handles the `ng update` command for SKY UX component libraries.",
6
6
  "keywords": [
@@ -35,68 +35,68 @@
35
35
  "ng-update": {
36
36
  "migrations": "./src/schematics/migrations/migration-collection.json",
37
37
  "packageGroup": {
38
- "@skyux/packages": "12.24.0",
38
+ "@skyux/packages": "12.26.0",
39
39
  "@blackbaud/angular-tree-component": "^1.0.0",
40
- "@skyux-sdk/eslint-config": "12.24.0",
41
- "@skyux-sdk/eslint-schematics": "12.24.0",
42
- "@skyux-sdk/prettier-schematics": "12.24.0",
43
- "@skyux-sdk/stylelint-schematics": "12.24.0",
44
- "@skyux-sdk/testing": "12.24.0",
45
- "@skyux/a11y": "12.24.0",
46
- "@skyux/action-bars": "12.24.0",
47
- "@skyux/ag-grid": "12.24.0",
48
- "@skyux/angular-tree-component": "12.24.0",
49
- "@skyux/animations": "12.24.0",
50
- "@skyux/assets": "12.24.0",
51
- "@skyux/autonumeric": "12.24.0",
52
- "@skyux/avatar": "12.24.0",
53
- "@skyux/code-examples": "12.24.0",
54
- "@skyux/colorpicker": "12.24.0",
55
- "@skyux/config": "12.24.0",
56
- "@skyux/core": "12.24.0",
57
- "@skyux/data-manager": "12.24.0",
58
- "@skyux/datetime": "12.24.0",
59
- "@skyux/docs-tools": "12.24.0",
60
- "@skyux/errors": "12.24.0",
61
- "@skyux/flyout": "12.24.0",
62
- "@skyux/forms": "12.24.0",
63
- "@skyux/grids": "12.24.0",
64
- "@skyux/help-inline": "12.24.0",
65
- "@skyux/i18n": "12.24.0",
66
- "@skyux/icon": "12.24.0",
67
- "@skyux/icons": "^8.2.0",
68
- "@skyux/indicators": "12.24.0",
69
- "@skyux/inline-form": "12.24.0",
70
- "@skyux/layout": "12.24.0",
71
- "@skyux/list-builder": "12.24.0",
72
- "@skyux/list-builder-common": "12.24.0",
73
- "@skyux/list-builder-view-checklist": "12.24.0",
74
- "@skyux/list-builder-view-grids": "12.24.0",
75
- "@skyux/lists": "12.24.0",
76
- "@skyux/lookup": "12.24.0",
77
- "@skyux/manifest": "12.24.0",
78
- "@skyux/modals": "12.24.0",
79
- "@skyux/navbar": "12.24.0",
80
- "@skyux/pages": "12.24.0",
81
- "@skyux/phone-field": "12.24.0",
82
- "@skyux/popovers": "12.24.0",
83
- "@skyux/progress-indicator": "12.24.0",
84
- "@skyux/router": "12.24.0",
85
- "@skyux/select-field": "12.24.0",
86
- "@skyux/split-view": "12.24.0",
87
- "@skyux/tabs": "12.24.0",
88
- "@skyux/text-editor": "12.24.0",
89
- "@skyux/theme": "12.24.0",
90
- "@skyux/tiles": "12.24.0",
91
- "@skyux/toast": "12.24.0",
92
- "@skyux/validation": "12.24.0",
40
+ "@skyux-sdk/eslint-config": "12.26.0",
41
+ "@skyux-sdk/eslint-schematics": "12.26.0",
42
+ "@skyux-sdk/prettier-schematics": "12.26.0",
43
+ "@skyux-sdk/stylelint-schematics": "12.26.0",
44
+ "@skyux-sdk/testing": "12.26.0",
45
+ "@skyux/a11y": "12.26.0",
46
+ "@skyux/action-bars": "12.26.0",
47
+ "@skyux/ag-grid": "12.26.0",
48
+ "@skyux/angular-tree-component": "12.26.0",
49
+ "@skyux/animations": "12.26.0",
50
+ "@skyux/assets": "12.26.0",
51
+ "@skyux/autonumeric": "12.26.0",
52
+ "@skyux/avatar": "12.26.0",
53
+ "@skyux/code-examples": "12.26.0",
54
+ "@skyux/colorpicker": "12.26.0",
55
+ "@skyux/config": "12.26.0",
56
+ "@skyux/core": "12.26.0",
57
+ "@skyux/data-manager": "12.26.0",
58
+ "@skyux/datetime": "12.26.0",
59
+ "@skyux/docs-tools": "12.26.0",
60
+ "@skyux/errors": "12.26.0",
61
+ "@skyux/flyout": "12.26.0",
62
+ "@skyux/forms": "12.26.0",
63
+ "@skyux/grids": "12.26.0",
64
+ "@skyux/help-inline": "12.26.0",
65
+ "@skyux/i18n": "12.26.0",
66
+ "@skyux/icon": "12.26.0",
67
+ "@skyux/icons": "^9.0.0",
68
+ "@skyux/indicators": "12.26.0",
69
+ "@skyux/inline-form": "12.26.0",
70
+ "@skyux/layout": "12.26.0",
71
+ "@skyux/list-builder": "12.26.0",
72
+ "@skyux/list-builder-common": "12.26.0",
73
+ "@skyux/list-builder-view-checklist": "12.26.0",
74
+ "@skyux/list-builder-view-grids": "12.26.0",
75
+ "@skyux/lists": "12.26.0",
76
+ "@skyux/lookup": "12.26.0",
77
+ "@skyux/manifest": "12.26.0",
78
+ "@skyux/modals": "12.26.0",
79
+ "@skyux/navbar": "12.26.0",
80
+ "@skyux/pages": "12.26.0",
81
+ "@skyux/phone-field": "12.26.0",
82
+ "@skyux/popovers": "12.26.0",
83
+ "@skyux/progress-indicator": "12.26.0",
84
+ "@skyux/router": "12.26.0",
85
+ "@skyux/select-field": "12.26.0",
86
+ "@skyux/split-view": "12.26.0",
87
+ "@skyux/tabs": "12.26.0",
88
+ "@skyux/text-editor": "12.26.0",
89
+ "@skyux/theme": "12.26.0",
90
+ "@skyux/tiles": "12.26.0",
91
+ "@skyux/toast": "12.26.0",
92
+ "@skyux/validation": "12.26.0",
93
93
  "ag-grid-angular": "^33.3.2",
94
94
  "ag-grid-community": "^33.3.2",
95
95
  "ag-grid-enterprise": "^32.1.0",
96
96
  "autonumeric": "^4.10.5",
97
- "eslint-config-skyux": "12.24.0",
98
- "skyux-stylelint": "12.24.0",
99
- "stylelint-config-skyux": "12.24.0"
97
+ "eslint-config-skyux": "12.26.0",
98
+ "skyux-stylelint": "12.26.0",
99
+ "stylelint-config-skyux": "12.26.0"
100
100
  }
101
101
  },
102
102
  "peerDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schematics": {
3
3
  "noop": {
4
- "version": "12.24.0",
4
+ "version": "12.26.0",
5
5
  "factory": "./noop/noop.schematic",
6
6
  "description": "Update all SKY UX component packages"
7
7
  },
@@ -0,0 +1,6 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { Schema } from './schema';
3
+ /**
4
+ * Converts `<sky-definition-list>` to `<sky-description-list>`.
5
+ */
6
+ export default function convertDefinitionListToDescriptionListSchematic(options: Schema): Rule;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = convertDefinitionListToDescriptionListSchematic;
4
+ const convert_definition_list_to_description_list_1 = require("../../rules/convert-definition-list-to-description-list/convert-definition-list-to-description-list");
5
+ const workspace_1 = require("../../utility/workspace");
6
+ /**
7
+ * Converts `<sky-definition-list>` to `<sky-description-list>`.
8
+ */
9
+ function convertDefinitionListToDescriptionListSchematic(options) {
10
+ return async (tree) => {
11
+ const { project } = await (0, workspace_1.getRequiredProject)(tree, options.project);
12
+ return (0, convert_definition_list_to_description_list_1.convertDefinitionListToDescriptionList)(project.root);
13
+ };
14
+ }
15
+ //# sourceMappingURL=convert-definition-list-to-description-list.schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-definition-list-to-description-list.schematic.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/ng-generate/convert-definition-list-to-description-list/convert-definition-list-to-description-list.schematic.ts"],"names":[],"mappings":";;AAUA,kEAQC;AAhBD,qKAA6J;AAC7J,uDAA6D;AAI7D;;GAEG;AACH,SAAwB,+CAA+C,CACrE,OAAe;IAEf,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,8BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEpE,OAAO,IAAA,oFAAsC,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Represents options passed via Angular CLI.
3
+ */
4
+ export interface Schema {
5
+ /**
6
+ * The name of the project to convert.
7
+ */
8
+ project?: string;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/ng-generate/convert-definition-list-to-description-list/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "project": {
6
+ "type": "string",
7
+ "description": "The name of the project.",
8
+ "$default": {
9
+ "$source": "projectName"
10
+ }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export declare function convertDefinitionListToDescriptionList(projectPath: string): Rule;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertDefinitionListToDescriptionList = convertDefinitionListToDescriptionList;
4
+ const schematics_1 = require("@angular/cdk/schematics");
5
+ const eol_1 = require("@schematics/angular/utility/eol");
6
+ const template_1 = require("../../utility/template");
7
+ const ng_ast_1 = require("../../utility/typescript/ng-ast");
8
+ const swap_imported_class_1 = require("../../utility/typescript/swap-imported-class");
9
+ const visit_project_files_1 = require("../../utility/visit-project-files");
10
+ /**
11
+ * Description list does not use a heading element.
12
+ * Create a new `<h3>` element with the heading text.
13
+ */
14
+ function moveHeading(definitionList, recorder, offset, eol) {
15
+ const heading = (0, template_1.getElementsByTagName)('sky-definition-list-heading', definitionList)[0];
16
+ if ((0, template_1.isParentNode)(heading)) {
17
+ const headingText = schematics_1.parse5.serialize(heading);
18
+ const indent = ' '.repeat(definitionList.sourceCodeLocation.startTag.startCol - 1);
19
+ recorder.insertLeft(offset + definitionList.sourceCodeLocation.startTag.startOffset, `<h3>${headingText}</h3>${eol}${indent}`);
20
+ recorder.remove(offset + heading.sourceCodeLocation.startOffset, heading.sourceCodeLocation.endOffset -
21
+ heading.sourceCodeLocation.startOffset);
22
+ }
23
+ }
24
+ const regexpEscape = (str) => str.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
25
+ const tags = {
26
+ 'sky-definition-list': 'sky-description-list',
27
+ 'sky-definition-list-content': 'sky-description-list-content',
28
+ 'sky-definition-list-label': 'sky-description-list-term',
29
+ 'sky-definition-list-value': 'sky-description-list-description',
30
+ };
31
+ function definitionListTagSwap(context) {
32
+ return (position, oldTag, node, content) => {
33
+ if (position === 'open') {
34
+ const attributesString = content.substring(node.sourceCodeLocation.startOffset + oldTag.length + 1, node.sourceCodeLocation.startTag.endOffset);
35
+ if (oldTag === 'sky-definition-list') {
36
+ let value = `<${tags[oldTag]} mode="longDescription"`;
37
+ // Copy over any other attributes that are not in the new tag.
38
+ for (const attr of node.attrs) {
39
+ // eslint-disable-next-line @cspell/spellchecker
40
+ if (['labelwidth', '[labelwidth]'].includes(attr.name)) {
41
+ context.logger.warn(`The "labelWidth" attribute is not supported on the <${tags[oldTag]}> component. Please review the code to ensure it still works as expected.`);
42
+ }
43
+ else if (attr.name === 'defaultValue'.toLowerCase()) {
44
+ value += ` defaultDescription="${attr.value}"`;
45
+ }
46
+ else if (attr.name === '[defaultValue]'.toLowerCase()) {
47
+ value += ` [defaultDescription]="${attr.value}"`;
48
+ }
49
+ else if (!['defaultvalue', '[defaultvalue]', 'mode'].includes(attr.name)) {
50
+ const attributeText = new RegExp(`(?<=\\s)${regexpEscape(attr.name)}(="[^"]*")?`, 'di')
51
+ .exec(attributesString)
52
+ ?.shift();
53
+ if (attributeText) {
54
+ value += ` ${attributeText}`;
55
+ }
56
+ }
57
+ }
58
+ value += '>';
59
+ return value;
60
+ }
61
+ return `<${tags[oldTag]}${attributesString}`;
62
+ }
63
+ return `</${tags[oldTag]}>`;
64
+ };
65
+ }
66
+ function convertTemplate(recorder, context, content, offset = 0) {
67
+ const eol = (0, eol_1.getEOL)(content);
68
+ const fragment = (0, template_1.parseTemplate)(content);
69
+ const definitionLists = (0, template_1.getElementsByTagName)('sky-definition-list', fragment);
70
+ for (const definitionList of definitionLists) {
71
+ moveHeading(definitionList, recorder, offset, eol);
72
+ (0, template_1.swapTags)(content, recorder, offset, Object.keys(tags), definitionListTagSwap(context), definitionList);
73
+ }
74
+ }
75
+ function convertHtmlFile(tree, filePath, context) {
76
+ const content = tree.readText(filePath);
77
+ if (content.includes('<sky-definition-list')) {
78
+ const recorder = tree.beginUpdate(filePath);
79
+ convertTemplate(recorder, context, content);
80
+ tree.commitUpdate(recorder);
81
+ }
82
+ }
83
+ function convertTypescriptFile(tree, filePath, context) {
84
+ const source = (0, schematics_1.parseSourceFile)(tree, filePath);
85
+ const templates = (0, ng_ast_1.getInlineTemplates)(source);
86
+ const recorder = tree.beginUpdate(filePath);
87
+ if (templates.length > 0) {
88
+ const content = tree.readText(filePath);
89
+ for (const template of templates) {
90
+ convertTemplate(recorder, context, content.slice(template.start, template.end), template.start);
91
+ }
92
+ }
93
+ if ((0, schematics_1.isImported)(source, 'SkyDefinitionListModule', '@skyux/layout')) {
94
+ (0, swap_imported_class_1.swapImportedClass)(recorder, filePath, source, [
95
+ {
96
+ classNames: {
97
+ SkyDefinitionListModule: 'SkyDescriptionListModule',
98
+ },
99
+ moduleName: '@skyux/layout',
100
+ },
101
+ ]);
102
+ }
103
+ tree.commitUpdate(recorder);
104
+ }
105
+ function convertDefinitionListToDescriptionList(projectPath) {
106
+ return (tree, context) => {
107
+ (0, visit_project_files_1.visitProjectFiles)(tree, projectPath, (filePath) => {
108
+ if (filePath.endsWith('.html')) {
109
+ convertHtmlFile(tree, filePath, context);
110
+ }
111
+ else if (filePath.endsWith('.ts')) {
112
+ convertTypescriptFile(tree, filePath, context);
113
+ }
114
+ });
115
+ };
116
+ }
117
+ //# sourceMappingURL=convert-definition-list-to-description-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-definition-list-to-description-list.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/rules/convert-definition-list-to-description-list/convert-definition-list-to-description-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { UpdateRecorder } from '@angular-devkit/schematics';
2
+ import { Element, parse5 } from '@angular/cdk/schematics';
3
+ export type ElementWithLocation = Element & {
4
+ sourceCodeLocation: Required<parse5.Token.ElementLocation>;
5
+ };
6
+ type ParentNode = parse5.DefaultTreeAdapterTypes.ParentNode & {
7
+ sourceCodeLocation: Required<parse5.Token.ElementLocation>;
8
+ };
9
+ export type SwapTagCallback<T extends string> = (position: 'open' | 'close', tag: T, node: ElementWithLocation, content: string) => string;
10
+ export declare function isParentNode(node: unknown): node is ParentNode;
11
+ export declare function getElementsByTagName(tagName: string, node: Element | ParentNode): ElementWithLocation[];
12
+ export declare function parseTemplate(template: string): ParentNode;
13
+ export declare function swapTags<T extends string>(content: string, recorder: UpdateRecorder, offset: number, oldTags: T[], callback: SwapTagCallback<T>, ...node: (ElementWithLocation | ParentNode)[]): void;
14
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isParentNode = isParentNode;
4
+ exports.getElementsByTagName = getElementsByTagName;
5
+ exports.parseTemplate = parseTemplate;
6
+ exports.swapTags = swapTags;
7
+ const schematics_1 = require("@angular/cdk/schematics");
8
+ function isElement(node) {
9
+ return !!node && typeof node === 'object' && 'tagName' in node;
10
+ }
11
+ function isParentNode(node) {
12
+ return !!node && typeof node === 'object' && 'childNodes' in node;
13
+ }
14
+ function getElementsByTagName(tagName, node) {
15
+ const elements = [];
16
+ const nodeQueue = [node];
17
+ while (nodeQueue.length) {
18
+ const currentNode = nodeQueue.shift();
19
+ if (isElement(currentNode) &&
20
+ currentNode.tagName.toLowerCase() === tagName.toLowerCase()) {
21
+ elements.push(currentNode);
22
+ }
23
+ if (isParentNode(currentNode)) {
24
+ nodeQueue.push(...currentNode.childNodes.filter(isElement));
25
+ }
26
+ }
27
+ return elements;
28
+ }
29
+ function parseTemplate(template) {
30
+ const document = schematics_1.parse5.parseFragment(template, {
31
+ sourceCodeLocationInfo: true,
32
+ });
33
+ if (isParentNode(document)) {
34
+ return document;
35
+ }
36
+ return schematics_1.parse5.parseFragment('', {
37
+ sourceCodeLocationInfo: true,
38
+ });
39
+ }
40
+ function swapTags(content, recorder, offset, oldTags, callback, ...node) {
41
+ const nodeQueue = [...node];
42
+ while (nodeQueue.length) {
43
+ const currentNode = nodeQueue.shift();
44
+ if (isElement(currentNode)) {
45
+ const tagName = currentNode.tagName.toLowerCase();
46
+ if (oldTags.includes(tagName)) {
47
+ /* istanbul ignore if */
48
+ if (!currentNode.sourceCodeLocation?.startTag ||
49
+ !currentNode.sourceCodeLocation?.endTag) {
50
+ // Skip if source code location is not available
51
+ continue;
52
+ }
53
+ recorder.remove(offset + currentNode.sourceCodeLocation.startTag.startOffset, currentNode.sourceCodeLocation.startTag.endOffset -
54
+ currentNode.sourceCodeLocation.startTag.startOffset);
55
+ recorder.insertLeft(offset + currentNode.sourceCodeLocation.startTag.startOffset, callback('open', tagName, currentNode, content));
56
+ recorder.remove(offset + currentNode.sourceCodeLocation.endTag.startOffset, currentNode.sourceCodeLocation.endTag.endOffset -
57
+ currentNode.sourceCodeLocation.endTag.startOffset);
58
+ recorder.insertLeft(offset + currentNode.sourceCodeLocation.endTag.startOffset, callback('close', tagName, currentNode, content));
59
+ }
60
+ }
61
+ if (isParentNode(currentNode)) {
62
+ nodeQueue.push(...currentNode.childNodes.filter(isElement));
63
+ }
64
+ }
65
+ }
66
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../../../libs/components/packages/src/schematics/utility/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
2
+ export declare function getInlineTemplates(sourceFile: ts.SourceFile): {
3
+ start: number;
4
+ end: number;
5
+ }[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInlineTemplates = getInlineTemplates;
4
+ const tslib_1 = require("tslib");
5
+ const schematics_1 = require("@angular/cdk/schematics");
6
+ const typescript_1 = tslib_1.__importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
7
+ function getInlineTemplates(sourceFile) {
8
+ if ((0, schematics_1.isImported)(sourceFile, 'Component', '@angular/core')) {
9
+ const components = (0, schematics_1.getDecoratorMetadata)(sourceFile, 'Component', '@angular/core');
10
+ const templates = components
11
+ .filter((component) => typescript_1.default.isObjectLiteralExpression(component))
12
+ .flatMap((component) => (0, schematics_1.getMetadataField)(component, 'template'))
13
+ .filter((template) => typescript_1.default.isPropertyAssignment(template));
14
+ if (templates.length > 0) {
15
+ return templates
16
+ .map((template) => {
17
+ if (typescript_1.default.isStringLiteralLike(template.initializer) ||
18
+ typescript_1.default.isNoSubstitutionTemplateLiteral(template.initializer)) {
19
+ return {
20
+ start: template.initializer.getStart() + 1,
21
+ end: template.initializer.getEnd() - 1, // Exclude quotes
22
+ };
23
+ }
24
+ return undefined;
25
+ })
26
+ .filter(Boolean);
27
+ }
28
+ }
29
+ return [];
30
+ }
31
+ //# sourceMappingURL=ng-ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-ast.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/ng-ast.ts"],"names":[],"mappings":";;AAOA,gDA+BC;;AAtCD,wDAIiC;AACjC,wIAAgG;AAEhG,SAAgB,kBAAkB,CAChC,UAAyB;IAEzB,IAAI,IAAA,uBAAU,EAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,IAAA,iCAAoB,EACrC,UAAU,EACV,WAAW,EACX,eAAe,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,UAAU;aACzB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;aAC9D,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,6BAAgB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS;iBACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChB,IACE,oBAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC5C,oBAAE,CAAC,+BAA+B,CAAC,QAAQ,CAAC,WAAW,CAAC,EACxD,CAAC;oBACD,OAAO;wBACL,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAC1C,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB;qBAC1D,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAqC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Tree } from '@angular-devkit/schematics';
1
+ import { UpdateRecorder } from '@angular-devkit/schematics';
2
2
  import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
3
3
  export interface RemoveImportOptions {
4
4
  classNames: string[];
5
5
  moduleName: string;
6
6
  }
7
- export declare function removeImport(tree: Tree, projectPath: string, sourceFile: ts.SourceFile, options: RemoveImportOptions): void;
7
+ export declare function removeImport(recorder: UpdateRecorder, sourceFile: ts.SourceFile, options: RemoveImportOptions): void;
@@ -4,8 +4,7 @@ exports.removeImport = removeImport;
4
4
  const tslib_1 = require("tslib");
5
5
  const typescript_1 = tslib_1.__importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
6
6
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
7
- function removeImport(tree, projectPath, sourceFile, options) {
8
- const recorder = tree.beginUpdate(projectPath);
7
+ function removeImport(recorder, sourceFile, options) {
9
8
  const importDeclarations = (0, ast_utils_1.findNodes)(sourceFile, typescript_1.default.SyntaxKind.ImportDeclaration).filter((node) => typescript_1.default.isImportDeclaration(node) &&
10
9
  typescript_1.default.isStringLiteral(node.moduleSpecifier) &&
11
10
  node.moduleSpecifier.text === options.moduleName);
@@ -29,7 +28,6 @@ function removeImport(tree, projectPath, sourceFile, options) {
29
28
  }
30
29
  }
31
30
  }
32
- tree.commitUpdate(recorder);
33
31
  }
34
32
  }
35
33
  //# sourceMappingURL=remove-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/remove-import.ts"],"names":[],"mappings":";;AASA,oCA+CC;;AAvDD,wIAAgG;AAChG,qEAAkE;AAOlE,SAAgB,YAAY,CAC1B,IAAU,EACV,WAAmB,EACnB,UAAyB,EACzB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,IAAA,qBAAS,EAClC,UAAU,EACV,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAChC,CAAC,MAAM,CACN,CAAC,IAAI,EAAgC,EAAE,CACrC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC5B,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CACnD,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAChC,iBAAiB,EACjB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CACrC,CAAC;YACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAC/D,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CACvD,CAAC;YACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAC1C,CAAC,eAAe,EAAE,EAAE,CAClB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;wBACvC,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACzD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACzD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3D,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/remove-import.ts"],"names":[],"mappings":";;AASA,oCA2CC;;AAnDD,wIAAgG;AAChG,qEAAkE;AAOlE,SAAgB,YAAY,CAC1B,QAAwB,EACxB,UAAyB,EACzB,OAA4B;IAE5B,MAAM,kBAAkB,GAAG,IAAA,qBAAS,EAClC,UAAU,EACV,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAChC,CAAC,MAAM,CACN,CAAC,IAAI,EAAgC,EAAE,CACrC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC5B,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CACnD,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAChC,iBAAiB,EACjB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CACrC,CAAC;YACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAC/D,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CACvD,CAAC;YACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAC1C,CAAC,eAAe,EAAE,EAAE,CAClB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;wBACvC,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACzD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACzD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3D,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
- import { Tree } from '@angular-devkit/schematics';
1
+ import { UpdateRecorder } from '@angular-devkit/schematics';
2
2
  import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
3
3
  export interface SwapImportedClassOptions {
4
4
  classNames: Record<string, string>;
5
5
  moduleName: string;
6
6
  filter?: (node: ts.Identifier) => boolean;
7
7
  }
8
- export declare function swapImportedClass(tree: Tree, filePath: string, sourceFile: ts.SourceFile, options: SwapImportedClassOptions[]): void;
8
+ export declare function swapImportedClass(recorder: UpdateRecorder, filePath: string, sourceFile: ts.SourceFile, options: SwapImportedClassOptions[]): void;
@@ -15,14 +15,12 @@ function swapReference(recorder, reference, newClassName) {
15
15
  recorder.remove(start, reference.getWidth());
16
16
  recorder.insertRight(start, newClassName);
17
17
  }
18
- function swapImportedClass(tree, filePath, sourceFile, options) {
18
+ function swapImportedClass(recorder, filePath, sourceFile, options) {
19
19
  const applicableOptions = options.filter((option) => Object.keys(option.classNames).some((className) => (0, schematics_1.isImported)(sourceFile, className, option.moduleName)));
20
20
  if (applicableOptions.length === 0) {
21
21
  return;
22
22
  }
23
23
  const endOfImports = (0, ast_utils_1.findNodes)(sourceFile, typescript_1.default.SyntaxKind.ImportDeclaration).reduce((max, node) => Math.max(max, node.getEnd()), 0);
24
- const recorder = tree.beginUpdate(filePath);
25
- const addImports = {};
26
24
  const removeImports = {};
27
25
  applicableOptions.forEach(({ classNames, moduleName, filter }) => {
28
26
  Object.entries(classNames).forEach(([oldClassName, newClassName]) => {
@@ -31,24 +29,35 @@ function swapImportedClass(tree, filePath, sourceFile, options) {
31
29
  referencesFiltered.forEach((reference) => {
32
30
  swapReference(recorder, reference, newClassName);
33
31
  });
34
- if (referencesFiltered.length > 0 &&
35
- !(0, schematics_1.isImported)(sourceFile, newClassName, moduleName)) {
36
- addImports[moduleName] ??= [];
37
- addImports[moduleName].push(newClassName);
38
- }
39
- if (referencesFiltered.length === referencesInCode.length) {
40
- removeImports[moduleName] ??= [];
41
- removeImports[moduleName].push(oldClassName);
32
+ if (referencesFiltered.length > 0) {
33
+ const allReferencesToBeReplaced = referencesFiltered.length === referencesInCode.length;
34
+ if (!(0, schematics_1.isImported)(sourceFile, newClassName, moduleName)) {
35
+ if (allReferencesToBeReplaced) {
36
+ const referencesInImport = findReferences(sourceFile, oldClassName).filter((reference) => reference.getEnd() < endOfImports);
37
+ /* istanbul ignore if */
38
+ if (referencesInImport.length !== 1) {
39
+ throw new Error(`Expected exactly one import for ${oldClassName} from ${moduleName}, found ${referencesInImport.length}.`);
40
+ }
41
+ swapReference(recorder, referencesInImport[0], newClassName);
42
+ }
43
+ else {
44
+ (0, change_1.applyToUpdateRecorder)(recorder, [
45
+ (0, ast_utils_1.insertImport)(sourceFile, filePath, newClassName, moduleName),
46
+ ]);
47
+ }
48
+ }
49
+ else {
50
+ if (allReferencesToBeReplaced) {
51
+ removeImports[moduleName] ??= [];
52
+ removeImports[moduleName].push(oldClassName);
53
+ }
54
+ }
42
55
  }
43
56
  });
44
57
  });
45
- const changes = Object.entries(addImports).flatMap(([moduleName, classNames]) => classNames.map((className) => (0, ast_utils_1.insertImport)(sourceFile, filePath, className, moduleName)));
46
- (0, change_1.applyToUpdateRecorder)(recorder, changes);
47
- tree.commitUpdate(recorder);
48
58
  const removeImportEntries = Object.entries(removeImports);
49
59
  if (removeImportEntries.length > 0) {
50
- const sourceFileAfterChanges = typescript_1.default.createSourceFile(filePath, tree.readText(filePath), typescript_1.default.ScriptTarget.Latest, true);
51
- removeImportEntries.forEach(([moduleName, classNames]) => (0, remove_import_1.removeImport)(tree, filePath, sourceFileAfterChanges, {
60
+ removeImportEntries.forEach(([moduleName, classNames]) => (0, remove_import_1.removeImport)(recorder, sourceFile, {
52
61
  classNames,
53
62
  moduleName,
54
63
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"swap-imported-class.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/swap-imported-class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-imported-class.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/swap-imported-class.ts"],"names":[],"mappings":"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"}
package/src/version.js CHANGED
@@ -19,5 +19,5 @@ exports.Version = Version;
19
19
  /**
20
20
  * Represents the version of @skyux/core.
21
21
  */
22
- exports.VERSION = new Version('12.24.0');
22
+ exports.VERSION = new Version('12.26.0');
23
23
  //# sourceMappingURL=version.js.map