@skyux/packages 9.0.0-alpha.8 → 9.0.0-beta.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 (19) hide show
  1. package/package.json +50 -49
  2. package/src/schematics/migrations/migration-collection.json +16 -1
  3. package/src/schematics/migrations/update-9/ag-grid-29/ag-grid-29.schematic.js +16 -10
  4. package/src/schematics/migrations/update-9/ag-grid-29/ag-grid-29.schematic.js.map +1 -1
  5. package/src/schematics/migrations/update-9/i18n-resources-module/i18n-resources-module.schematic.d.ts +2 -0
  6. package/src/schematics/migrations/update-9/i18n-resources-module/i18n-resources-module.schematic.js +42 -0
  7. package/src/schematics/migrations/update-9/i18n-resources-module/i18n-resources-module.schematic.js.map +1 -0
  8. package/src/schematics/migrations/update-9/legacy-services/legacy-services.schematic.d.ts +10 -0
  9. package/src/schematics/migrations/update-9/legacy-services/legacy-services.schematic.js +70 -0
  10. package/src/schematics/migrations/update-9/legacy-services/legacy-services.schematic.js.map +1 -0
  11. package/src/schematics/migrations/update-9/move-page-component/move-page-component.schematic.d.ts +2 -0
  12. package/src/schematics/migrations/update-9/move-page-component/move-page-component.schematic.js +101 -0
  13. package/src/schematics/migrations/update-9/move-page-component/move-page-component.schematic.js.map +1 -0
  14. package/src/schematics/utility/typescript/imports.d.ts +11 -0
  15. package/src/schematics/utility/typescript/imports.js +83 -0
  16. package/src/schematics/utility/typescript/imports.js.map +1 -0
  17. package/src/schematics/utility/typescript/source-file.d.ts +2 -0
  18. package/src/schematics/utility/typescript/source-file.js +10 -0
  19. package/src/schematics/utility/typescript/source-file.js.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/packages",
3
- "version": "9.0.0-alpha.8",
3
+ "version": "9.0.0-beta.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "description": "Handles the `ng update` command for SKY UX component libraries.",
6
6
  "keywords": [
@@ -37,54 +37,54 @@
37
37
  "migrations": "./src/schematics/migrations/migration-collection.json",
38
38
  "packageGroup": {
39
39
  "@blackbaud/angular-tree-component": "^1.0.0-alpha.0",
40
- "@skyux-sdk/eslint-config": "9.0.0-alpha.8",
41
- "@skyux-sdk/prettier-schematics": "9.0.0-alpha.8",
42
- "@skyux-sdk/testing": "9.0.0-alpha.8",
43
- "@skyux/a11y": "9.0.0-alpha.8",
44
- "@skyux/action-bars": "9.0.0-alpha.8",
45
- "@skyux/ag-grid": "9.0.0-alpha.8",
46
- "@skyux/angular-tree-component": "9.0.0-alpha.8",
47
- "@skyux/animations": "9.0.0-alpha.8",
48
- "@skyux/assets": "9.0.0-alpha.8",
49
- "@skyux/autonumeric": "9.0.0-alpha.8",
50
- "@skyux/avatar": "9.0.0-alpha.8",
51
- "@skyux/colorpicker": "9.0.0-alpha.8",
52
- "@skyux/config": "9.0.0-alpha.8",
53
- "@skyux/core": "9.0.0-alpha.8",
54
- "@skyux/data-manager": "9.0.0-alpha.8",
55
- "@skyux/datetime": "9.0.0-alpha.8",
56
- "@skyux/errors": "9.0.0-alpha.8",
57
- "@skyux/flyout": "9.0.0-alpha.8",
58
- "@skyux/forms": "9.0.0-alpha.8",
59
- "@skyux/grids": "9.0.0-alpha.8",
60
- "@skyux/http": "9.0.0-alpha.8",
61
- "@skyux/i18n": "9.0.0-alpha.8",
40
+ "@skyux-sdk/eslint-config": "9.0.0-beta.0",
41
+ "@skyux-sdk/prettier-schematics": "9.0.0-beta.0",
42
+ "@skyux-sdk/testing": "9.0.0-beta.0",
43
+ "@skyux/a11y": "9.0.0-beta.0",
44
+ "@skyux/action-bars": "9.0.0-beta.0",
45
+ "@skyux/ag-grid": "9.0.0-beta.0",
46
+ "@skyux/angular-tree-component": "9.0.0-beta.0",
47
+ "@skyux/animations": "9.0.0-beta.0",
48
+ "@skyux/assets": "9.0.0-beta.0",
49
+ "@skyux/autonumeric": "9.0.0-beta.0",
50
+ "@skyux/avatar": "9.0.0-beta.0",
51
+ "@skyux/colorpicker": "9.0.0-beta.0",
52
+ "@skyux/config": "9.0.0-beta.0",
53
+ "@skyux/core": "9.0.0-beta.0",
54
+ "@skyux/data-manager": "9.0.0-beta.0",
55
+ "@skyux/datetime": "9.0.0-beta.0",
56
+ "@skyux/errors": "9.0.0-beta.0",
57
+ "@skyux/flyout": "9.0.0-beta.0",
58
+ "@skyux/forms": "9.0.0-beta.0",
59
+ "@skyux/grids": "9.0.0-beta.0",
60
+ "@skyux/http": "9.0.0-beta.0",
61
+ "@skyux/i18n": "9.0.0-beta.0",
62
62
  "@skyux/icons": "^6.0.0",
63
- "@skyux/indicators": "9.0.0-alpha.8",
64
- "@skyux/inline-form": "9.0.0-alpha.8",
65
- "@skyux/layout": "9.0.0-alpha.8",
66
- "@skyux/list-builder": "9.0.0-alpha.8",
67
- "@skyux/list-builder-common": "9.0.0-alpha.8",
68
- "@skyux/list-builder-view-checklist": "9.0.0-alpha.8",
69
- "@skyux/list-builder-view-grids": "9.0.0-alpha.8",
70
- "@skyux/lists": "9.0.0-alpha.8",
71
- "@skyux/lookup": "9.0.0-alpha.8",
72
- "@skyux/modals": "9.0.0-alpha.8",
73
- "@skyux/navbar": "9.0.0-alpha.8",
74
- "@skyux/omnibar-interop": "9.0.0-alpha.8",
75
- "@skyux/pages": "9.0.0-alpha.8",
76
- "@skyux/phone-field": "9.0.0-alpha.8",
77
- "@skyux/popovers": "9.0.0-alpha.8",
78
- "@skyux/progress-indicator": "9.0.0-alpha.8",
79
- "@skyux/router": "9.0.0-alpha.8",
80
- "@skyux/select-field": "9.0.0-alpha.8",
81
- "@skyux/split-view": "9.0.0-alpha.8",
82
- "@skyux/tabs": "9.0.0-alpha.8",
83
- "@skyux/text-editor": "9.0.0-alpha.8",
84
- "@skyux/theme": "9.0.0-alpha.8",
85
- "@skyux/tiles": "9.0.0-alpha.8",
86
- "@skyux/toast": "9.0.0-alpha.8",
87
- "@skyux/validation": "9.0.0-alpha.8",
63
+ "@skyux/indicators": "9.0.0-beta.0",
64
+ "@skyux/inline-form": "9.0.0-beta.0",
65
+ "@skyux/layout": "9.0.0-beta.0",
66
+ "@skyux/list-builder": "9.0.0-beta.0",
67
+ "@skyux/list-builder-common": "9.0.0-beta.0",
68
+ "@skyux/list-builder-view-checklist": "9.0.0-beta.0",
69
+ "@skyux/list-builder-view-grids": "9.0.0-beta.0",
70
+ "@skyux/lists": "9.0.0-beta.0",
71
+ "@skyux/lookup": "9.0.0-beta.0",
72
+ "@skyux/modals": "9.0.0-beta.0",
73
+ "@skyux/navbar": "9.0.0-beta.0",
74
+ "@skyux/omnibar-interop": "9.0.0-beta.0",
75
+ "@skyux/pages": "9.0.0-beta.0",
76
+ "@skyux/phone-field": "9.0.0-beta.0",
77
+ "@skyux/popovers": "9.0.0-beta.0",
78
+ "@skyux/progress-indicator": "9.0.0-beta.0",
79
+ "@skyux/router": "9.0.0-beta.0",
80
+ "@skyux/select-field": "9.0.0-beta.0",
81
+ "@skyux/split-view": "9.0.0-beta.0",
82
+ "@skyux/tabs": "9.0.0-beta.0",
83
+ "@skyux/text-editor": "9.0.0-beta.0",
84
+ "@skyux/theme": "9.0.0-beta.0",
85
+ "@skyux/tiles": "9.0.0-beta.0",
86
+ "@skyux/toast": "9.0.0-beta.0",
87
+ "@skyux/validation": "9.0.0-beta.0",
88
88
  "ag-grid-angular": "^29.3.5",
89
89
  "ag-grid-community": "^29.3.5",
90
90
  "ag-grid-enterprise": "^29.3.5",
@@ -92,7 +92,8 @@
92
92
  }
93
93
  },
94
94
  "peerDependencies": {
95
- "@angular/cli": "^16.2.0"
95
+ "@angular/cli": "^16.2.0",
96
+ "@angular/core": "^16.2.1"
96
97
  },
97
98
  "dependencies": {
98
99
  "fs-extra": "10.1.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schematics": {
3
3
  "noop": {
4
- "version": "9.0.0-alpha.8",
4
+ "version": "9.0.0-beta.0",
5
5
  "factory": "./noop/noop.schematic",
6
6
  "description": "Update all SKY UX component packages"
7
7
  },
@@ -24,6 +24,21 @@
24
24
  "version": "9.0.0-0",
25
25
  "factory": "./update-9/ag-grid-29/ag-grid-29.schematic",
26
26
  "description": "Apply changes to support AG Grid 29"
27
+ },
28
+ "legacy-services": {
29
+ "version": "9.0.0-0",
30
+ "factory": "./update-9/legacy-services/legacy-services.schematic",
31
+ "description": "Modal and flyout services were previously provided in 'any' but are now provided in 'root'. Replace with a 'legacy' version for backward compatibility."
32
+ },
33
+ "i18n-resources-module": {
34
+ "version": "9.0.0-0",
35
+ "factory": "./update-9/i18n-resources-module/i18n-resources-module.schematic",
36
+ "description": "Regenerate i18n resources modules for libraries."
37
+ },
38
+ "move-page-component": {
39
+ "version": "9.0.0-0",
40
+ "factory": "./update-9/move-page-component/move-page-component.schematic",
41
+ "description": "Move SkyPageComponent from @skyux/layout to @skyux/pages."
27
42
  }
28
43
  }
29
44
  }
@@ -27,17 +27,23 @@ function removeAgGridCssFiles() {
27
27
  return async (tree) => {
28
28
  const workspace = await (0, utility_1.readWorkspace)(tree);
29
29
  workspace.projects.forEach((project, projectName) => {
30
- const build = project.targets.get('build');
31
- if (build) {
32
- build.options ??= {};
33
- build.options['styles'] ??= [];
34
- build.options['styles'] = build.options['styles'].filter((cssFile) => !cssFile.startsWith('ag-grid-community/dist/styles/'));
35
- if (!build.options['styles'].includes('node_modules/@skyux/ag-grid/css/sky-ag-grid.css')) {
36
- build.options['styles'].push('node_modules/@skyux/ag-grid/css/sky-ag-grid.css');
30
+ ['build', 'test'].forEach((targetName) => {
31
+ if (targetName === 'build' &&
32
+ project.extensions['projectType'] === 'library') {
33
+ return;
37
34
  }
38
- project.targets.set('build', build);
39
- workspace.projects.set(projectName, project);
40
- }
35
+ const targetDefinition = project.targets.get(targetName);
36
+ if (targetDefinition?.['options']?.['styles'] &&
37
+ Array.isArray(targetDefinition.options['styles']) &&
38
+ targetDefinition.options['styles'].includes('node_modules/@skyux/theme/css/sky.css')) {
39
+ targetDefinition['options']['styles'] = targetDefinition.options['styles'].filter((cssFile) => !cssFile.startsWith('ag-grid-community/dist/styles/'));
40
+ if (!targetDefinition.options['styles'].includes('node_modules/@skyux/ag-grid/css/sky-ag-grid.css')) {
41
+ targetDefinition.options['styles'].push('node_modules/@skyux/ag-grid/css/sky-ag-grid.css');
42
+ }
43
+ project.targets.set(targetName, targetDefinition);
44
+ }
45
+ });
46
+ workspace.projects.set(projectName, project);
41
47
  });
42
48
  await (0, utility_1.writeWorkspace)(tree, workspace);
43
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ag-grid-29.schematic.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/packages/src/schematics/migrations/update-9/ag-grid-29/ag-grid-29.schematic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ag-grid-29.schematic.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/packages/src/schematics/migrations/update-9/ag-grid-29/ag-grid-29.schematic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export default function (): Rule;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const schematics_1 = require("@angular-devkit/schematics");
4
+ const tree_1 = require("../../../utility/tree");
5
+ const workspace_1 = require("../../../utility/workspace");
6
+ const RESOURCES_MODULE_SUFFIX = '-resources.module.ts';
7
+ function default_1() {
8
+ return async (tree) => {
9
+ const { workspace } = await (0, workspace_1.getWorkspace)(tree);
10
+ const rules = [];
11
+ for (const [projectName, projectDefinition,] of workspace.projects.entries()) {
12
+ if (projectDefinition.extensions['projectType'] === 'library') {
13
+ const packageJson = JSON.parse((0, tree_1.readRequiredFile)(tree, '/package.json'));
14
+ const dependencies = {
15
+ ...(packageJson.dependencies ?? {}),
16
+ ...(packageJson.devDependencies ?? {}),
17
+ };
18
+ if (dependencies['@skyux/i18n'] === undefined) {
19
+ continue;
20
+ }
21
+ const srcRoot = projectDefinition.sourceRoot ?? `${projectDefinition.root}/src`;
22
+ const srcRootRegex = new RegExp(`^/${srcRoot}/`);
23
+ tree.getDir(srcRoot).visit((filePath) => {
24
+ if (filePath.endsWith(RESOURCES_MODULE_SUFFIX)) {
25
+ const content = (0, tree_1.readRequiredFile)(tree, filePath);
26
+ if (content.includes('SKY_LIB_RESOURCES_PROVIDERS')) {
27
+ rules.push((0, schematics_1.externalSchematic)('@skyux/i18n', 'lib-resources-module', {
28
+ project: projectName,
29
+ name: filePath
30
+ .replace(srcRootRegex, '')
31
+ .replace(/-resources\.module\.ts$/, ''),
32
+ }));
33
+ }
34
+ }
35
+ });
36
+ }
37
+ }
38
+ return (0, schematics_1.chain)(rules);
39
+ };
40
+ }
41
+ exports.default = default_1;
42
+ //# sourceMappingURL=i18n-resources-module.schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-resources-module.schematic.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/packages/src/schematics/migrations/update-9/i18n-resources-module/i18n-resources-module.schematic.ts"],"names":[],"mappings":";;AAAA,2DAA4E;AAE5E,gDAAyD;AACzD,0DAA0D;AAE1D,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAEvD;IACE,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,KAAK,MAAM,CACT,WAAW,EACX,iBAAiB,EAClB,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE;gBAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAgB,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;gBAExE,MAAM,YAAY,GAAG;oBACnB,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;oBACnC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;iBACvC,CAAC;gBAEF,IAAI,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE;oBAC7C,SAAS;iBACV;gBAED,MAAM,OAAO,GACX,iBAAiB,CAAC,UAAU,IAAI,GAAG,iBAAiB,CAAC,IAAI,MAAM,CAAC;gBAElE,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC;gBAEjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;wBAC9C,MAAM,OAAO,GAAG,IAAA,uBAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAEjD,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;4BACnD,KAAK,CAAC,IAAI,CACR,IAAA,8BAAiB,EAAC,aAAa,EAAE,sBAAsB,EAAE;gCACvD,OAAO,EAAE,WAAW;gCACpB,IAAI,EAAE,QAAQ;qCACX,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qCACzB,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;6BAC1C,CAAC,CACH,CAAC;yBACH;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;QAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAhDD,4BAgDC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The contents of this file are heavily inspired by Angular's "untyped forms" migration.
3
+ * @see https://github.com/angular/angular/blob/14.3.x/packages/core/schematics/migrations/typed-forms/index.ts
4
+ */
5
+ import { Rule } from '@angular-devkit/schematics';
6
+ /**
7
+ * Replaces certain SKY UX services with their "legacy" equivalents.
8
+ * For example, `SkyModalService` becomes `SkyModalLegacyService`.
9
+ */
10
+ export default function (): Rule;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tree_1 = require("../../../utility/tree");
4
+ const imports_1 = require("../../../utility/typescript/imports");
5
+ const source_file_1 = require("../../../utility/typescript/source-file");
6
+ const workspace_1 = require("../../../utility/workspace");
7
+ // A collection of services (and their packages) that should be replaced with "legacy" versions.
8
+ const packages = new Map([
9
+ ['@skyux/core', ['SkyDynamicComponentService', 'SkyOverlayService']],
10
+ ['@skyux/flyout', ['SkyFlyoutService']],
11
+ ['@skyux/modals', ['SkyModalService']],
12
+ ['@skyux/toast', ['SkyToastService']],
13
+ ]);
14
+ function runLegacyServicesMigration(tree, filePath) {
15
+ const sourceFile = (0, source_file_1.createSourceFile)(filePath, (0, tree_1.readRequiredFile)(tree, filePath));
16
+ let update = null;
17
+ const rewriter = (startPos, origLength, text) => {
18
+ if (update === null) {
19
+ // Lazily initialize update, because most files will not require migration.
20
+ update = tree.beginUpdate(sourceFile.fileName);
21
+ }
22
+ update.remove(startPos, origLength);
23
+ update.insertLeft(startPos, text);
24
+ };
25
+ const imports = (0, imports_1.getImports)(sourceFile, packages);
26
+ // If no relevant classes are imported, we can exit early.
27
+ if (imports.length === 0) {
28
+ return;
29
+ }
30
+ // For each control class, migrate all of its uses.
31
+ for (const imp of imports) {
32
+ const usages = (0, imports_1.getUsages)(sourceFile, imp);
33
+ for (const usage of usages) {
34
+ const newName = getLegacyVersionOfName(imp.getText(sourceFile));
35
+ if (newName) {
36
+ rewriter(usage.node.getStart(sourceFile), usage.node.getWidth(sourceFile), newName);
37
+ }
38
+ }
39
+ }
40
+ // For each imported control class, migrate to the corresponding legacy import.
41
+ for (const imp of imports) {
42
+ // If the import specifier has a property name, use that instead (for example, `import {PropertyName as Foo}`).
43
+ const item = imp.propertyName ?? imp;
44
+ rewriter(item.getStart(sourceFile), item.getWidth(sourceFile), getLegacyVersionOfName(item.getText(sourceFile)));
45
+ }
46
+ if (update) {
47
+ tree.commitUpdate(update);
48
+ }
49
+ }
50
+ function getLegacyVersionOfName(name) {
51
+ return name.replace(/(?:Service)$/, 'LegacyService');
52
+ }
53
+ /**
54
+ * Replaces certain SKY UX services with their "legacy" equivalents.
55
+ * For example, `SkyModalService` becomes `SkyModalLegacyService`.
56
+ */
57
+ function default_1() {
58
+ return async (tree) => {
59
+ const { workspace } = await (0, workspace_1.getWorkspace)(tree);
60
+ workspace.projects.forEach((project) => {
61
+ tree.getDir(project.root).visit((filePath) => {
62
+ if (filePath.endsWith('.ts') && !filePath.includes('node_modules')) {
63
+ runLegacyServicesMigration(tree, filePath);
64
+ }
65
+ });
66
+ });
67
+ };
68
+ }
69
+ exports.default = default_1;
70
+ //# sourceMappingURL=legacy-services.schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-services.schematic.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/packages/src/schematics/migrations/update-9/legacy-services/legacy-services.schematic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export default function movePageComponent(): Rule;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ const typescript_1 = tslib_1.__importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
6
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
7
+ const dependencies_1 = require("@schematics/angular/utility/dependencies");
8
+ const imports_1 = require("../../../utility/typescript/imports");
9
+ const workspace_1 = require("../../../utility/workspace");
10
+ function movePageComponent() {
11
+ return async (tree, context) => {
12
+ const { workspace } = await (0, workspace_1.getWorkspace)(tree);
13
+ let addDependency = false;
14
+ workspace.projects.forEach((project) => {
15
+ const source = project.sourceRoot || `${project.root}/src`;
16
+ // Visit all TypeScript files in each project.
17
+ tree.getDir(source).visit((path) => {
18
+ if (path.endsWith('.ts')) {
19
+ // Parse the TypeScript file.
20
+ const source = typescript_1.default.createSourceFile(path, tree.readText(path), typescript_1.default.ScriptTarget.Latest, true);
21
+ // Find all imports of SkyPageLayoutType and SkyPageModule from @skyux/layout.
22
+ const pageImports = (0, imports_1.getImports)(source, new Map([['@skyux/layout', ['SkyPageLayoutType', 'SkyPageModule']]]));
23
+ // Found one.
24
+ if (pageImports.length > 0) {
25
+ // We'll need to add the dependency to @skyux/pages.
26
+ addDependency = true;
27
+ pageImports.forEach((pageImport) => {
28
+ // Angular uses a change recorder and the magic string library.
29
+ const insertRecorder = tree.beginUpdate(path);
30
+ // Add the new import.
31
+ const change = (0, ast_utils_1.insertImport)(source, path, pageImport.getText(), '@skyux/pages');
32
+ insertRecorder.insertRight(change.pos, change.toAdd);
33
+ // Commit the update.
34
+ tree.commitUpdate(insertRecorder);
35
+ const removeRecorder = tree.beginUpdate(path);
36
+ // Is anything else imported from @skyux/layout?
37
+ if (pageImport.parent.elements.length > 1) {
38
+ // Yes. Remove only one named import.
39
+ const index = pageImport.parent.elements.findIndex((element) => element.name.getText() === pageImport.getText());
40
+ // Find the start and end of the import.
41
+ let importStart;
42
+ let importEnd;
43
+ if (index > 0) {
44
+ // Not the first import.
45
+ // Remove text from the end of the previous import to the end of the import.
46
+ importStart = pageImport.parent.elements.at(index - 1).getEnd();
47
+ importEnd = pageImport.parent.elements.at(index).getEnd();
48
+ }
49
+ else {
50
+ // First import.
51
+ // Remove text from the start of the import to the start of the next import.
52
+ importStart = pageImport.parent.elements.at(index).getStart();
53
+ importEnd = pageImport.parent.elements.at(index + 1).getStart();
54
+ }
55
+ // Remove the import.
56
+ removeRecorder.remove(importStart, importEnd - importStart);
57
+ }
58
+ else {
59
+ // No. Remove the whole import declaration.
60
+ const importDeclaration = pageImport.parent.parent.parent;
61
+ removeRecorder.remove(importDeclaration.getFullStart(), importDeclaration.getFullWidth());
62
+ }
63
+ // Commit the update.
64
+ tree.commitUpdate(removeRecorder);
65
+ });
66
+ }
67
+ }
68
+ else if (path.endsWith('.component.html')) {
69
+ // Update <sky-page layout="auto"> to remove the layout attribute.
70
+ const content = tree.readText(path);
71
+ // Based on code search, any use of `layout="auto"` matches this pattern.
72
+ const search = '<sky-page layout="auto"';
73
+ const skyPageIndex = content.indexOf(search);
74
+ if (skyPageIndex > -1) {
75
+ const recorder = tree.beginUpdate(path);
76
+ // Remove ' layout="auto"'.
77
+ recorder.remove(skyPageIndex + 9, 14);
78
+ tree.commitUpdate(recorder);
79
+ }
80
+ }
81
+ });
82
+ });
83
+ // Add the dependency to @skyux/pages.
84
+ if (addDependency) {
85
+ const pages = (0, dependencies_1.getPackageJsonDependency)(tree, '@skyux/pages');
86
+ if (!pages) {
87
+ const layout = (0, dependencies_1.getPackageJsonDependency)(tree, '@skyux/layout');
88
+ if (layout) {
89
+ (0, dependencies_1.addPackageJsonDependency)(tree, {
90
+ type: dependencies_1.NodeDependencyType.Default,
91
+ name: '@skyux/pages',
92
+ version: layout.version,
93
+ });
94
+ context.addTask(new tasks_1.NodePackageInstallTask());
95
+ }
96
+ }
97
+ }
98
+ };
99
+ }
100
+ exports.default = movePageComponent;
101
+ //# sourceMappingURL=move-page-component.schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-page-component.schematic.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/packages/src/schematics/migrations/update-9/move-page-component/move-page-component.schematic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The contents of this file are heavily inspired by Angular's source code.
3
+ * @see https://github.com/angular/angular/blob/14.3.x/packages/core/schematics/utils/typescript/imports.ts
4
+ */
5
+ import * as ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
6
+ export interface ImportUsage {
7
+ node: ts.Node;
8
+ importName: string;
9
+ }
10
+ export declare function getImports(sourceFile: ts.SourceFile, packages: Map<string, string[]>): ts.ImportSpecifier[];
11
+ export declare function getUsages(sourceFile: ts.SourceFile, importSpecifier: ts.ImportSpecifier): ImportUsage[];
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUsages = exports.getImports = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * The contents of this file are heavily inspired by Angular's source code.
7
+ * @see https://github.com/angular/angular/blob/14.3.x/packages/core/schematics/utils/typescript/imports.ts
8
+ */
9
+ const ts = tslib_1.__importStar(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
10
+ function getImports(sourceFile, packages) {
11
+ const importSpecifiers = [];
12
+ for (const [packageName, classes] of packages.entries()) {
13
+ for (const cc of classes) {
14
+ const specifiers = getImportSpecifiers(sourceFile, packageName, cc);
15
+ if (specifiers) {
16
+ importSpecifiers.push(...specifiers);
17
+ }
18
+ }
19
+ }
20
+ return importSpecifiers;
21
+ }
22
+ exports.getImports = getImports;
23
+ function getUsages(sourceFile, importSpecifier) {
24
+ const usages = [];
25
+ const visitNode = (node) => {
26
+ // Skip this node and all of its children; imports are a special case.
27
+ if (ts.isImportSpecifier(node)) {
28
+ return;
29
+ }
30
+ const importName = importSpecifier.getText(sourceFile);
31
+ if (ts.isIdentifier(node) && node.escapedText === importName) {
32
+ usages.push({ node, importName });
33
+ }
34
+ ts.forEachChild(node, visitNode);
35
+ };
36
+ ts.forEachChild(sourceFile, visitNode);
37
+ return usages;
38
+ }
39
+ exports.getUsages = getUsages;
40
+ /**
41
+ * Gets top-level import specifiers with a specific name that is imported from a particular module.
42
+ * E.g. given a file that looks like:
43
+ *
44
+ * ```
45
+ * import { Component, Directive } from '@angular/core';
46
+ * import { Foo } from './foo';
47
+ * ```
48
+ *
49
+ * Calling `getImportSpecifiers(sourceFile, '@angular/core', 'Directive')` will yield the nodes
50
+ * referring to `Directive` in the top import.
51
+ *
52
+ * @param sourceFile File in which to look for imports.
53
+ * @param moduleName Name of the import's module.
54
+ * @param specifierName Original name of the specifier to look for. Aliases will be resolved to
55
+ * their original name.
56
+ */
57
+ function getImportSpecifiers(sourceFile, moduleName, specifierName) {
58
+ const importSpecifiers = [];
59
+ for (const node of sourceFile.statements) {
60
+ if (ts.isImportDeclaration(node) &&
61
+ ts.isStringLiteral(node.moduleSpecifier) &&
62
+ node.moduleSpecifier.text === moduleName) {
63
+ const namedBindings = node.importClause && node.importClause.namedBindings;
64
+ if (namedBindings && ts.isNamedImports(namedBindings)) {
65
+ const match = findImportSpecifier(namedBindings.elements, specifierName);
66
+ if (match) {
67
+ importSpecifiers.push(match);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ return importSpecifiers;
73
+ }
74
+ /**
75
+ * Finds an import specifier with a particular name.
76
+ */
77
+ function findImportSpecifier(nodes, specifierName) {
78
+ return nodes.find((element) => {
79
+ const { name, propertyName } = element;
80
+ return propertyName?.text === specifierName || name.text === specifierName;
81
+ });
82
+ }
83
+ //# sourceMappingURL=imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/imports.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,2HAAqG;AAOrG,SAAgB,UAAU,CACxB,UAAyB,EACzB,QAA+B;IAE/B,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAElD,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QACvD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YAEpE,IAAI,UAAU,EAAE;gBACd,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;aACtC;SACF;KACF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAjBD,gCAiBC;AAED,SAAgB,SAAS,CACvB,UAAyB,EACzB,eAAmC;IAEnC,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE;QAClC,sEAAsE;QACtE,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvD,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;YAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;SACnC;QAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,8BAwBC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,mBAAmB,CAC1B,UAAyB,EACzB,UAAkB,EAClB,aAAqB;IAErB,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE;QACxC,IACE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,UAAU,EACxC;YACA,MAAM,aAAa,GACjB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAEvD,IAAI,aAAa,IAAI,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;gBACrD,MAAM,KAAK,GAAG,mBAAmB,CAC/B,aAAa,CAAC,QAAQ,EACtB,aAAa,CACd,CAAC;gBAEF,IAAI,KAAK,EAAE;oBACT,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC9B;aACF;SACF;KACF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,KAAuC,EACvC,aAAqB;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAEvC,OAAO,YAAY,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
2
+ export declare function createSourceFile(filePath: string, fileContents: string): ts.SourceFile;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSourceFile = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts = tslib_1.__importStar(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
6
+ function createSourceFile(filePath, fileContents) {
7
+ return ts.createSourceFile(filePath, fileContents, ts.ScriptTarget.Latest, false, ts.ScriptKind.TS);
8
+ }
9
+ exports.createSourceFile = createSourceFile;
10
+ //# sourceMappingURL=source-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-file.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/utility/typescript/source-file.ts"],"names":[],"mappings":";;;;AAAA,2HAAqG;AAErG,SAAgB,gBAAgB,CAC9B,QAAgB,EAChB,YAAoB;IAEpB,OAAO,EAAE,CAAC,gBAAgB,CACxB,QAAQ,EACR,YAAY,EACZ,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,KAAK,EACL,EAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;AACJ,CAAC;AAXD,4CAWC"}