@aws/nx-plugin 0.63.0 → 0.64.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.
package/generators.json CHANGED
@@ -196,6 +196,13 @@
196
196
  "description": "provides React integration to a React website",
197
197
  "metric": "g10",
198
198
  "hidden": true
199
+ },
200
+ "ts#sync": {
201
+ "factory": "./src/ts/sync/generator",
202
+ "schema": "./src/ts/sync/schema.json",
203
+ "description": "TypeScript path alias sync generator",
204
+ "metric": "g29",
205
+ "hidden": true
199
206
  }
200
207
  }
201
208
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.63.0",
3
+ "version": "0.64.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -166,8 +166,20 @@ export default {
166
166
 
167
167
  exports[`preset generator > should run successfully > nx.json 1`] = `
168
168
  "{
169
- "affected": { "defaultBase": "main" },
170
- "targetDefaults": { "build": { "cache": true }, "lint": { "cache": true } }
169
+ "affected": {
170
+ "defaultBase": "main"
171
+ },
172
+ "targetDefaults": {
173
+ "build": {
174
+ "cache": true
175
+ },
176
+ "lint": {
177
+ "cache": true
178
+ },
179
+ "compile": {
180
+ "syncGenerators": ["@aws/nx-plugin:ts#sync"]
181
+ }
182
+ }
171
183
  }
172
184
  "
173
185
  `;
@@ -18,6 +18,7 @@ const generators_json_1 = tslib_1.__importDefault(require("../../generators.json
18
18
  const child_process_1 = require("child_process");
19
19
  const enquirer = tslib_1.__importStar(require("enquirer"));
20
20
  const utils_1 = require("../utils/config/utils");
21
+ const generator_1 = require("../ts/sync/generator");
21
22
  const WORKSPACES = ['packages/*'];
22
23
  exports.PRESET_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
23
24
  const setUpWorkspaces = (tree) => {
@@ -82,6 +83,7 @@ function isAmazonian() {
82
83
  }
83
84
  }
84
85
  const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a], void 0, function* (tree, { addTsPlugin, iacProvider }) {
86
+ var _b, _c, _d, _e;
85
87
  if (isAmazonian() &&
86
88
  !process.env.VITEST &&
87
89
  !process.env.CI &&
@@ -110,6 +112,11 @@ const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a],
110
112
  tree.delete('libs/.gitkeep');
111
113
  tree.write('packages/.gitkeep', '');
112
114
  setUpWorkspaces(tree);
115
+ const nxJson = (0, devkit_1.readNxJson)(tree);
116
+ (0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, nxJson.targetDefaults), { compile: Object.assign(Object.assign({}, (_b = nxJson.targetDefaults) === null || _b === void 0 ? void 0 : _b.compile), { syncGenerators: [
117
+ ...((_e = (_d = (_c = nxJson.targetDefaults) === null || _c === void 0 ? void 0 : _c.compile) === null || _d === void 0 ? void 0 : _d.syncGenerators) !== null && _e !== void 0 ? _e : []).filter((g) => g !== generator_1.SYNC_GENERATOR_NAME),
118
+ generator_1.SYNC_GENERATOR_NAME,
119
+ ] }) }) }));
113
120
  (0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => (Object.assign(Object.assign({}, packageJson), { type: 'module', scripts: Object.assign(Object.assign({}, packageJson.scripts), { 'build:all': 'nx run-many --target build --all', 'affected:all': 'nx affected --target build' }) })));
114
121
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
115
122
  '@nx/workspace': (0, package_json_1.readModulePackageJson)('@nx/js').packageJson.version,
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { Tree } from '@nx/devkit';
6
+ import { NxGeneratorInfo } from '../../utils/nx';
7
+ import { SyncGeneratorResult } from 'nx/src/utils/sync-generators';
8
+ export declare const TS_SYNC_GENERATOR_INFO: NxGeneratorInfo;
9
+ export declare const SYNC_GENERATOR_NAME: string;
10
+ export declare const tsSyncGeneratorGenerator: (tree: Tree) => Promise<SyncGeneratorResult>;
11
+ export default tsSyncGeneratorGenerator;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.tsSyncGeneratorGenerator = exports.SYNC_GENERATOR_NAME = exports.TS_SYNC_GENERATOR_INFO = void 0;
8
+ const tslib_1 = require("tslib");
9
+ const devkit_1 = require("@nx/devkit");
10
+ const nx_1 = require("../../utils/nx");
11
+ const format_1 = require("../../utils/format");
12
+ const package_json_1 = tslib_1.__importDefault(require("../../../package.json"));
13
+ exports.TS_SYNC_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
14
+ exports.SYNC_GENERATOR_NAME = `${package_json_1.default.name}:${exports.TS_SYNC_GENERATOR_INFO.id}`;
15
+ const tsSyncGeneratorGenerator = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
+ const basePaths = readBaseTsConfigPaths(tree);
17
+ if (!basePaths) {
18
+ return {};
19
+ }
20
+ const changesByConfigFile = {};
21
+ for (const project of (0, devkit_1.getProjects)(tree).values()) {
22
+ for (const tsConfigFileName of [
23
+ 'tsconfig.json',
24
+ 'tsconfig.lib.json',
25
+ 'tsconfig.app.json',
26
+ ]) {
27
+ const tsConfigPath = (0, devkit_1.joinPathFragments)(project.root, tsConfigFileName);
28
+ if (!tree.exists(tsConfigPath)) {
29
+ continue;
30
+ }
31
+ const { changes, updated } = syncPathsWithBase(tree, tsConfigPath, basePaths);
32
+ if (updated) {
33
+ changesByConfigFile[tsConfigPath] = changes;
34
+ }
35
+ }
36
+ }
37
+ if (Object.keys(changesByConfigFile).length === 0) {
38
+ return {};
39
+ }
40
+ yield (0, format_1.formatFilesInSubtree)(tree);
41
+ return {
42
+ outOfSyncMessage: buildOutOfSyncMessage(changesByConfigFile),
43
+ };
44
+ });
45
+ exports.tsSyncGeneratorGenerator = tsSyncGeneratorGenerator;
46
+ exports.default = exports.tsSyncGeneratorGenerator;
47
+ const readBaseTsConfigPaths = (tree) => {
48
+ var _a, _b;
49
+ const baseConfigPath = ['tsconfig.base.json', 'tsconfig.json'].find((path) => tree.exists(path));
50
+ if (!baseConfigPath) {
51
+ return undefined;
52
+ }
53
+ const baseConfigJson = (0, devkit_1.readJson)(tree, baseConfigPath);
54
+ return (_b = (_a = baseConfigJson === null || baseConfigJson === void 0 ? void 0 : baseConfigJson.compilerOptions) === null || _a === void 0 ? void 0 : _a.paths) !== null && _b !== void 0 ? _b : {};
55
+ };
56
+ const arePathArraysEqual = (first, second) => {
57
+ if (first.length !== second.length) {
58
+ return false;
59
+ }
60
+ return first.every((value, index) => value === second[index]);
61
+ };
62
+ const syncPathsWithBase = (tree, tsConfigPath, basePaths) => {
63
+ var _a, _b, _c;
64
+ const changes = [];
65
+ const tsConfigJson = (0, devkit_1.readJson)(tree, tsConfigPath);
66
+ const paths = (_a = tsConfigJson === null || tsConfigJson === void 0 ? void 0 : tsConfigJson.compilerOptions) === null || _a === void 0 ? void 0 : _a.paths;
67
+ if (!paths) {
68
+ return { updated: false, changes };
69
+ }
70
+ const updatedAliases = Object.assign({}, ((_c = (_b = tsConfigJson.compilerOptions) === null || _b === void 0 ? void 0 : _b.paths) !== null && _c !== void 0 ? _c : {}));
71
+ let updated = false;
72
+ // Add or update aliases that exist in the base config
73
+ for (const [alias, baseValue] of Object.entries(basePaths)) {
74
+ const existingValue = updatedAliases[alias];
75
+ if (!existingValue) {
76
+ changes.push({ alias, type: 'added' });
77
+ updated = true;
78
+ }
79
+ else if (!arePathArraysEqual(existingValue, baseValue)) {
80
+ changes.push({ alias, type: 'updated' });
81
+ updated = true;
82
+ }
83
+ updatedAliases[alias] = baseValue;
84
+ }
85
+ if (updated) {
86
+ (0, devkit_1.updateJson)(tree, tsConfigPath, (json) => (Object.assign(Object.assign({}, json), { compilerOptions: Object.assign(Object.assign({}, json.compilerOptions), { paths: updatedAliases }) })));
87
+ }
88
+ return { updated, changes };
89
+ };
90
+ /**
91
+ * Build the message to display when the sync generator would make changes to the tree
92
+ */
93
+ const buildOutOfSyncMessage = (changesByConfig) => `TypeScript path aliases are out of sync with the base tsconfig. The following configs will be updated:\n${Object.entries(changesByConfig)
94
+ .map(([config, changes]) => `${config}:\n${changes
95
+ .slice()
96
+ .sort((left, right) => left.alias.localeCompare(right.alias))
97
+ .map(({ alias, type }) => `- ${alias} (${type})`)
98
+ .join('\n')}`)
99
+ .join('\n\n')}`;
100
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/sync/generator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,uCAMoB;AACpB,uCAAmE;AACnE,+CAA0D;AAE1D,iFAAgD;AAEnC,QAAA,sBAAsB,GACjC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAElB,QAAA,mBAAmB,GAAG,GAAG,sBAAW,CAAC,IAAI,IAAI,8BAAsB,CAAC,EAAE,EAAE,CAAC;AAE/E,MAAM,wBAAwB,GAAG,CACtC,IAAU,EACoB,EAAE;IAChC,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,mBAAmB,GAAiC,EAAE,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,KAAK,MAAM,gBAAgB,IAAI;YAC7B,eAAe;YACf,mBAAmB;YACnB,mBAAmB;SACpB,EAAE,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAC5C,IAAI,EACJ,YAAY,EACZ,SAAS,CACV,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,mBAAmB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IAEjC,OAAO;QACL,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC;KAC7D,CAAC;AACJ,CAAC,CAAA,CAAC;AA3CW,QAAA,wBAAwB,4BA2CnC;AAEF,kBAAe,gCAAwB,CAAC;AAExC,MAAM,qBAAqB,GAAG,CAC5B,IAAU,EAC4B,EAAE;;IACxC,MAAM,cAAc,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,iBAAQ,EAAsB,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3E,OAAO,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,0CAAE,KAAK,mCAAI,EAAE,CAAC;AACtD,CAAC,CAAC;AASF,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAE,MAAgB,EAAW,EAAE;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,IAAU,EACV,YAAoB,EACpB,SAAmC,EACU,EAAE;;IAC/C,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,0CAAE,KAAK,CAAC;IAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,cAAc,qBACf,CAAC,MAAA,MAAA,YAAY,CAAC,eAAe,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAC/C,CAAC;IACF,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,sDAAsD;IACtD,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACzC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,mBAAU,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iCACpC,IAAI,KACP,eAAe,kCACV,IAAI,CAAC,eAAe,KACvB,KAAK,EAAE,cAAc,OAEvB,CAAC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAC5B,eAA6C,EACrC,EAAE,CACV,2GAA2G,MAAM,CAAC,OAAO,CACvH,eAAe,CAChB;KACE,GAAG,CACF,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CACpB,GAAG,MAAM,MAAM,OAAO;KACnB,KAAK,EAAE;KACP,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC5D,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC;KAChD,IAAI,CAAC,IAAI,CAAC,EAAE,CAClB;KACA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "TypeScript sync generator",
4
+ "title": "TypeScript sync generator",
5
+ "description": "TypeScript path alias sync generator",
6
+ "type": "object",
7
+ "properties": {}
8
+ }