@aws/nx-plugin 0.3.0 → 0.5.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 (80) hide show
  1. package/LICENSE-THIRD-PARTY +76 -65
  2. package/package.json +2 -1
  3. package/src/cloudscape-website/app/README.md +1 -1
  4. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +93 -29
  5. package/src/cloudscape-website/app/files/app/README.md.template +4 -2
  6. package/src/cloudscape-website/app/files/app/src/{layouts/App → components/AppLayout}/index.tsx.template +38 -19
  7. package/src/cloudscape-website/app/files/app/src/{layouts/App → components/AppLayout}/navitems.ts.template +1 -1
  8. package/src/cloudscape-website/app/files/app/src/hooks/useAppLayout.tsx.template +5 -0
  9. package/src/cloudscape-website/app/files/app/src/main.tsx.template +13 -6
  10. package/src/cloudscape-website/app/files/app/src/routeTree.gen.ts.template +111 -0
  11. package/src/cloudscape-website/app/files/app/src/routes/__root.tsx.template +6 -0
  12. package/src/cloudscape-website/app/files/app/src/routes/index.tsx.template +5 -0
  13. package/src/cloudscape-website/app/files/app/src/routes/welcome/index.tsx.template +21 -0
  14. package/src/cloudscape-website/app/files/app/src/styles.css.template +1 -0
  15. package/src/cloudscape-website/app/generator.js +24 -13
  16. package/src/cloudscape-website/app/generator.js.map +1 -1
  17. package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +2 -2
  18. package/src/cloudscape-website/cognito-auth/generator.js +2 -2
  19. package/src/cloudscape-website/cognito-auth/generator.js.map +1 -1
  20. package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -4
  21. package/src/cloudscape-website/runtime-config/generator.js +3 -3
  22. package/src/cloudscape-website/runtime-config/generator.js.map +1 -1
  23. package/src/infra/app/__snapshots__/generator.spec.ts.snap +5 -1
  24. package/src/infra/app/generator.js +1 -1
  25. package/src/infra/app/generator.js.map +1 -1
  26. package/src/license/README.md +50 -15
  27. package/src/license/__snapshots__/config.spec.ts.snap +10 -3
  28. package/src/license/config-types.d.ts +14 -0
  29. package/src/license/config.d.ts +1 -1
  30. package/src/license/config.js +15 -12
  31. package/src/license/config.js.map +1 -1
  32. package/src/license/generator.js +1 -4
  33. package/src/license/generator.js.map +1 -1
  34. package/src/license/sync/generator.js +40 -32
  35. package/src/license/sync/generator.js.map +1 -1
  36. package/src/license/sync/project-file-sync.d.ts +15 -0
  37. package/src/license/sync/project-file-sync.js +52 -0
  38. package/src/license/sync/project-file-sync.js.map +1 -0
  39. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +317 -6
  40. package/src/trpc/backend/files/backend/README.md.template +1 -1
  41. package/src/trpc/backend/files/backend/src/client/index.ts.template +33 -0
  42. package/src/trpc/backend/files/backend/src/client/sigv4.ts.template +9 -0
  43. package/src/trpc/backend/files/backend/src/index.ts.template +3 -1
  44. package/src/trpc/backend/files/backend/src/init.ts.template +18 -0
  45. package/src/trpc/backend/files/backend/src/local-server.ts.template +17 -0
  46. package/src/trpc/backend/files/backend/src/middleware/error.ts.template +26 -0
  47. package/src/trpc/backend/files/backend/src/middleware/index.ts.template +15 -0
  48. package/src/trpc/backend/files/backend/src/middleware/logger.ts.template +26 -0
  49. package/src/trpc/backend/files/backend/src/middleware/metrics.ts.template +36 -0
  50. package/src/trpc/backend/files/backend/src/middleware/tracer.ts.template +44 -0
  51. package/src/trpc/backend/files/backend/src/procedures/echo.ts.template +8 -0
  52. package/src/trpc/backend/files/backend/src/router.ts.template +20 -0
  53. package/src/trpc/backend/files/common/constructs/src/app/trpc-apis/__apiNameKebabCase__.ts.template +1 -1
  54. package/src/trpc/backend/files/schema/src/index.ts.template +1 -7
  55. package/src/trpc/backend/files/schema/src/procedures/echo.ts.template +13 -0
  56. package/src/trpc/backend/generator.js +10 -1
  57. package/src/trpc/backend/generator.js.map +1 -1
  58. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -6
  59. package/src/trpc/react/files/src/hooks/useSigV4.tsx.template +20 -3
  60. package/src/trpc/react/generator.js +2 -2
  61. package/src/trpc/react/generator.js.map +1 -1
  62. package/src/ts/lib/eslint.js +1 -1
  63. package/src/ts/lib/eslint.js.map +1 -1
  64. package/src/utils/test.d.ts +4 -0
  65. package/src/utils/test.js +16 -1
  66. package/src/utils/test.js.map +1 -1
  67. package/src/utils/toml.d.ts +10 -0
  68. package/src/utils/toml.js +17 -0
  69. package/src/utils/toml.js.map +1 -0
  70. package/src/utils/versions.d.ts +6 -3
  71. package/src/utils/versions.js +5 -2
  72. package/src/utils/versions.js.map +1 -1
  73. package/src/cloudscape-website/app/files/app/src/layouts/Routes/index.tsx.template +0 -16
  74. package/src/cloudscape-website/app/files/app/src/pages/Home/index.tsx.template +0 -23
  75. package/src/trpc/backend/files/backend/src/lambdas/index.ts.template +0 -1
  76. package/src/trpc/backend/files/backend/src/lambdas/middleware.ts.template +0 -146
  77. package/src/trpc/backend/files/backend/src/lambdas/router.ts.template +0 -36
  78. /package/src/license/{files → sync/files}/licenses/ASL/LICENSE.template +0 -0
  79. /package/src/license/{files → sync/files}/licenses/Apache-2.0/LICENSE.template +0 -0
  80. /package/src/license/{files → sync/files}/licenses/MIT/LICENSE.template +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Overview
4
4
 
5
- This generator configures `LICENSE` files and source file headers for your project. After you run this generator, a [sync generator](https://nx.dev/concepts/sync-generators) is registered to execute as part of your `lint` targets which will ensure that your source files conform to the desired license content and format, as well as ensuring that all projects in your workspace contain a copy of the root `LICENSE` file.
5
+ This generator configures `LICENSE` files and source file headers for your project. After you run this generator, a [sync generator](https://nx.dev/concepts/sync-generators) is registered to execute as part of your `lint` targets which will ensure that your source files conform to the desired license content and format, as well as ensuring that your project's LICENSE files are correct, and licensing information is included in relevant project files.
6
6
 
7
7
  ## Usage
8
8
 
@@ -39,7 +39,7 @@ You can also perform a dry-run to see what files would be generated or updated w
39
39
  nx g @aws/nx-plugin:license my-api --copyrightHolder="My Company, Inc." --license=MIT --dry-run
40
40
  ```
41
41
 
42
- Both methods will create a root `LICENSE` file based on your selected license and copyright holder, as well as configuring the sync generator to ensure that source files specify the correct license header.
42
+ Both methods will configure the license sync generator to ensure that your project contains the correct LICENSE files, and source files specify the correct license header.
43
43
 
44
44
  ## Input Parameters
45
45
 
@@ -53,8 +53,6 @@ Both methods will create a root `LICENSE` file based on your selected license an
53
53
  The generator will create or update the following files:
54
54
 
55
55
  ```
56
- └── LICENSE # The content is written based on the selected license
57
- └── package.json # The "license" field is updated with the selected license
58
56
  └── nx.json # The "lint" target is configured to sync LICENSE files and source file headers
59
57
  └── aws-nx-plugin.config.mts # Configuration for the license sync, such as customising the license header content and format for different languages
60
58
  ```
@@ -63,7 +61,7 @@ Some default configuration for license header content and format is added to `aw
63
61
 
64
62
  ## License Sync Behaviour
65
63
 
66
- The license sync generator performs two main tasks:
64
+ The license sync generator performs three main tasks:
67
65
 
68
66
  ### 1. Synchronise Source File License Headers
69
67
 
@@ -73,7 +71,13 @@ You can update the configuration at any time to change which files should be inc
73
71
 
74
72
  ### 2. Synchronise LICENSE Files
75
73
 
76
- When the sync generator is run, it will ensure that all projects in your workspace contain the same `LICENSE` file as the `LICENSE` file in the root of your workspace. If your workspace does not have a root LICENSE file, this is skipped.
74
+ When the sync generator is run, it will ensure that the root `LICENSE` file corresponds to your configured license, as well as ensuring that all subprojects in your workspace also contain the correct `LICENSE` file.
75
+
76
+ You can exclude projects in the configuration if required. For more details, please see the [configuration section](#configuration) below.
77
+
78
+ ### 3. Synchronise licensing information in project files
79
+
80
+ When the sync generator is run, it will ensure the `license` fields in `package.json` and `pyproject.toml` files are set to your configured license.
77
81
 
78
82
  You can exclude projects in the configuration if required. For more details, please see the [configuration section](#configuration) below.
79
83
 
@@ -81,7 +85,35 @@ You can exclude projects in the configuration if required. For more details, ple
81
85
 
82
86
  Configuration is defined in the `aws-nx-plugin.config.mts` file in the root of your workspace.
83
87
 
84
- ### License header content
88
+ ### SPDX and Copyright Holder
89
+
90
+ Your chosen license can be updated at any time via the `spdx` configuration property:
91
+
92
+ ```typescript
93
+ {
94
+ license: {
95
+ spdx: 'MIT',
96
+ }
97
+ }
98
+ ```
99
+
100
+ When the sync generator runs, all `LICENSE` files, `package.json` and `pyproject.toml` files will be updated to reflect the configured license.
101
+
102
+ You can additionally configure the copyright holder and copyright year, which are included in some `LICENSE` files:
103
+
104
+ ```typescript
105
+ {
106
+ license: {
107
+ spdx: 'MIT',
108
+ copyrightHolder: 'Amazon.com, Inc. or its affiliates',
109
+ copyrightYear: 2025,
110
+ }
111
+ }
112
+ ```
113
+
114
+ ### License Headers
115
+
116
+ #### Content
85
117
 
86
118
  The license header content can be configured in two ways:
87
119
 
@@ -115,7 +147,7 @@ The license header content can be configured in two ways:
115
147
  }
116
148
  ```
117
149
 
118
- ### Including files and specifying a format
150
+ #### Including files and specifying header format
119
151
 
120
152
  You can specify how license headers should be formatted for different file types using glob patterns. The format configuration supports line comments, block comments, or a combination of both:
121
153
 
@@ -164,7 +196,7 @@ The format configuration supports:
164
196
  - `lineEnd`: Text appended to each line of the license content
165
197
  - `blockEnd`: Text written after the license content (e.g., to end a block comment)
166
198
 
167
- ### Custom comment syntax
199
+ #### Custom comment syntax
168
200
 
169
201
  For file types that aren't natively supported, you can specify custom comment syntax:
170
202
 
@@ -201,7 +233,7 @@ This tells the sync generator how to identify existing license headers in these
201
233
  - `line`: Characters that start a line comment
202
234
  - `block`: Characters that start and end a block comment
203
235
 
204
- ### Excluding files
236
+ #### Excluding files
205
237
 
206
238
  By default, in a git repository, all `.gitignore` files are honored to ensure that only files managed by version control are synchronized. In non-git repositories, all files are considered unless explicitly excluded in configuration.
207
239
 
@@ -229,22 +261,25 @@ You can exclude additional files from license header synchronization using glob
229
261
  }
230
262
  ```
231
263
 
232
- ### Excluding projects from LICENSE file sync
264
+ ### Excluding project files from sync
233
265
 
234
- You can exclude specific projects from LICENSE file synchronization using glob patterns:
266
+ All `LICENSE` files, `package.json` files and `pyproject.toml` files are synchronised with the configured license by default.
267
+
268
+ You can exclude specific projects or files from synchronization using glob patterns:
235
269
 
236
270
  ```typescript
237
271
  {
238
272
  license: {
239
273
  files: {
240
- exclude: ['packages/excluded-project', 'apps/internal-*'];
274
+ exclude: [
275
+ 'packages/excluded-project', // do not sync LICENSE file, package.json or pyproject.toml
276
+ 'apps/internal/LICENSE', // do not sync LICENSE file, but sync package.json and/or pyproject.toml
277
+ ];
241
278
  }
242
279
  }
243
280
  }
244
281
  ```
245
282
 
246
- When excluded, these projects will not receive a copy of the root LICENSE file during synchronization.
247
-
248
283
  ## Disabling license sync
249
284
 
250
285
  To disable the license sync generator:
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports[`license config > defaultLicenseConfig > should generate default license config for ASL 1`] = `
4
4
  {
5
+ "copyrightHolder": "Test Inc. or its affiliates",
5
6
  "header": {
6
7
  "content": {
7
8
  "lines": [
@@ -19,7 +20,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
19
20
  },
20
21
  "exclude": [],
21
22
  "format": {
22
- "**/*.{js,ts}": {
23
+ "**/*.{js,ts,jsx,tsx,mjs,mts}": {
23
24
  "blockEnd": " **********************************************************************************************************************/",
24
25
  "blockStart": "/**********************************************************************************************************************",
25
26
  "lineEnd": " *",
@@ -33,11 +34,13 @@ exports[`license config > defaultLicenseConfig > should generate default license
33
34
  },
34
35
  },
35
36
  },
37
+ "spdx": "ASL",
36
38
  }
37
39
  `;
38
40
 
39
41
  exports[`license config > defaultLicenseConfig > should generate default license config for Apache-2.0 1`] = `
40
42
  {
43
+ "copyrightHolder": "Test Inc. or its affiliates",
41
44
  "header": {
42
45
  "content": {
43
46
  "lines": [
@@ -47,7 +50,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
47
50
  },
48
51
  "exclude": [],
49
52
  "format": {
50
- "**/*.{js,ts}": {
53
+ "**/*.{js,ts,jsx,tsx,mjs,mts}": {
51
54
  "blockEnd": " */",
52
55
  "blockStart": "/**",
53
56
  "lineStart": " * ",
@@ -59,11 +62,14 @@ exports[`license config > defaultLicenseConfig > should generate default license
59
62
  },
60
63
  },
61
64
  },
65
+ "spdx": "Apache-2.0",
62
66
  }
63
67
  `;
64
68
 
65
69
  exports[`license config > defaultLicenseConfig > should generate default license config for MIT 1`] = `
66
70
  {
71
+ "copyrightHolder": "Test Inc. or its affiliates",
72
+ "copyrightYear": 2025,
67
73
  "header": {
68
74
  "content": {
69
75
  "lines": [
@@ -73,7 +79,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
73
79
  },
74
80
  "exclude": [],
75
81
  "format": {
76
- "**/*.{js,ts}": {
82
+ "**/*.{js,ts,jsx,tsx,mjs,mts}": {
77
83
  "blockEnd": " */",
78
84
  "blockStart": "/**",
79
85
  "lineStart": " * ",
@@ -85,5 +91,6 @@ exports[`license config > defaultLicenseConfig > should generate default license
85
91
  },
86
92
  },
87
93
  },
94
+ "spdx": "MIT",
88
95
  }
89
96
  `;
@@ -2,7 +2,21 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ import { SPDXLicenseIdentifier } from './schema';
5
6
  export interface LicenseConfig {
7
+ /**
8
+ * The SPDX license identifier for your chosen license.
9
+ * License files will be synchronised according to the chosen SPDX
10
+ */
11
+ spdx: SPDXLicenseIdentifier;
12
+ /**
13
+ * The copyright holder for the license
14
+ */
15
+ copyrightHolder: string;
16
+ /**
17
+ * The copyright year (if any)
18
+ */
19
+ copyrightYear?: number;
6
20
  /**
7
21
  * Configuration for source code license headers
8
22
  * Omit if you do not want any source code license headers to be synced
@@ -18,7 +18,7 @@ export declare const defaultLicenseConfig: (spdx: SPDXLicenseIdentifier, copyrig
18
18
  /**
19
19
  * Write license configuration to the aws nx plugin config
20
20
  */
21
- export declare const writeLicenseConfig: (tree: Tree, spdx: SPDXLicenseIdentifier, config: LicenseConfig) => Promise<void>;
21
+ export declare const writeLicenseConfig: (tree: Tree, config: LicenseConfig) => Promise<void>;
22
22
  /**
23
23
  * Read license configuration
24
24
  */
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.readLicenseConfig = exports.writeLicenseConfig = exports.defaultLicenseConfig = exports.LANGUAGE_COMMENT_SYNTAX = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const utils_1 = require("../utils/config/utils");
5
6
  /**
6
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
- * SPDX-License-Identifier: Apache-2.0
7
+ * Licenses containing a placeholder for the copyright year
8
8
  */
9
- const devkit_1 = require("@nx/devkit");
10
- const utils_1 = require("../utils/config/utils");
9
+ const LICENSES_WITH_YEAR = new Set(['MIT']);
11
10
  /**
12
11
  * Defines the comment syntax for popular programming languages
13
12
  */
@@ -105,10 +104,12 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
105
104
  const maxLen = Math.max(...rawContent.map((line) => line.length));
106
105
  const lines = rawContent.map((line) => `${line}${' '.repeat(maxLen - line.length)}`);
107
106
  return {
107
+ spdx,
108
+ copyrightHolder,
108
109
  header: {
109
110
  content: { lines },
110
111
  format: {
111
- '**/*.{js,ts}': {
112
+ '**/*.{js,ts,jsx,tsx,mjs,mts}': {
112
113
  blockStart: `/***${'*'.repeat(maxLen)}**`,
113
114
  lineStart: ' * ',
114
115
  lineEnd: ' *',
@@ -126,8 +127,12 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
126
127
  };
127
128
  }
128
129
  default: {
129
- return {
130
- header: {
130
+ return Object.assign(Object.assign({ spdx,
131
+ copyrightHolder }, (LICENSES_WITH_YEAR.has(spdx)
132
+ ? {
133
+ copyrightYear: new Date().getFullYear(),
134
+ }
135
+ : {})), { header: {
131
136
  content: {
132
137
  lines: [
133
138
  `Copyright ${copyrightHolder}. All Rights Reserved.`,
@@ -135,7 +140,7 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
135
140
  ],
136
141
  },
137
142
  format: {
138
- '**/*.{js,ts}': {
143
+ '**/*.{js,ts,jsx,tsx,mjs,mts}': {
139
144
  blockStart: '/**',
140
145
  lineStart: ' * ',
141
146
  blockEnd: ' */',
@@ -147,8 +152,7 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
147
152
  },
148
153
  },
149
154
  exclude: [],
150
- },
151
- };
155
+ } });
152
156
  }
153
157
  }
154
158
  };
@@ -156,8 +160,7 @@ exports.defaultLicenseConfig = defaultLicenseConfig;
156
160
  /**
157
161
  * Write license configuration to the aws nx plugin config
158
162
  */
159
- const writeLicenseConfig = (tree, spdx, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
160
- (0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => (Object.assign(Object.assign({}, packageJson), { license: spdx })));
163
+ const writeLicenseConfig = (tree, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
161
164
  yield (0, utils_1.updateAwsNxPluginConfig)(tree, {
162
165
  license: config,
163
166
  });
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/config.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ const tslib_1 = require("tslib");
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const path_1 = require("path");
11
10
  const config_1 = require("./config");
12
11
  const utils_1 = require("../utils/config/utils");
13
12
  const generator_1 = require("./sync/generator");
@@ -15,11 +14,9 @@ function licenseGenerator(tree, options) {
15
14
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
15
  var _a, _b, _c, _d;
17
16
  const { license, copyrightHolder } = options;
18
- // Add LICENSE file
19
- (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files', 'licenses', license), '.', Object.assign(Object.assign({}, options), { year: new Date().getFullYear() }));
20
17
  // Write default config for the license headers
21
18
  yield (0, utils_1.ensureAwsNxPluginConfig)(tree);
22
- yield (0, config_1.writeLicenseConfig)(tree, license, (0, config_1.defaultLicenseConfig)(license, copyrightHolder));
19
+ yield (0, config_1.writeLicenseConfig)(tree, (0, config_1.defaultLicenseConfig)(license, copyrightHolder));
23
20
  // Configure sync generator to run as part of all projects' lint target
24
21
  const nxJson = (0, devkit_1.readNxJson)(tree);
25
22
  (0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, nxJson.targetDefaults), { lint: Object.assign(Object.assign({}, (_a = nxJson.targetDefaults) === null || _a === void 0 ? void 0 : _a.lint), { syncGenerators: [
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/generator.ts"],"names":[],"mappings":";;AAWA,4CAqCC;;AAhDD;;;GAGG;AACH,uCAA2E;AAC3E,+BAA4B;AAE5B,qCAAoE;AACpE,iDAAgE;AAChE,gDAAuD;AAEvD,SAAsB,gBAAgB,CACpC,IAAU,EACV,OAA+B;;;QAE/B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE7C,mBAAmB;QACnB,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,kCACjE,OAAO,KACV,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAC9B,CAAC;QAEH,+CAA+C;QAC/C,MAAM,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAA,2BAAkB,EACtB,IAAI,EACJ,OAAO,EACP,IAAA,6BAAoB,EAAC,OAAO,EAAE,eAAe,CAAC,CAC/C,CAAC;QAEF,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,cAAc,kCACT,MAAM,CAAC,cAAc,KACxB,IAAI,kCACC,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,KAC9B,cAAc,EAAE;wBACd,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,0CAAE,cAAc,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,+BAAmB,CACjC;wBACD,+BAAmB;qBACpB,UAGL,CAAC;IACL,CAAC;CAAA;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/generator.ts"],"names":[],"mappings":";;AAUA,4CA8BC;;AAxCD;;;GAGG;AACH,uCAA4D;AAE5D,qCAAoE;AACpE,iDAAgE;AAChE,gDAAuD;AAEvD,SAAsB,gBAAgB,CACpC,IAAU,EACV,OAA+B;;;QAE/B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE7C,+CAA+C;QAC/C,MAAM,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAA,2BAAkB,EACtB,IAAI,EACJ,IAAA,6BAAoB,EAAC,OAAO,EAAE,eAAe,CAAC,CAC/C,CAAC;QAEF,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,cAAc,kCACT,MAAM,CAAC,cAAc,KACxB,IAAI,kCACC,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,KAC9B,cAAc,EAAE;wBACd,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,0CAAE,cAAc,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,+BAAmB,CACjC;wBACD,+BAAmB;qBACpB,UAGL,CAAC;IACL,CAAC;CAAA;AAED,kBAAe,gBAAgB,CAAC"}
@@ -14,10 +14,10 @@ const fast_glob_1 = require("fast-glob");
14
14
  const minimatch_1 = require("minimatch");
15
15
  const git_1 = require("../../utils/git");
16
16
  const utils_1 = require("../../utils/config/utils");
17
+ const project_file_sync_1 = require("./project-file-sync");
17
18
  exports.SYNC_GENERATOR_NAME = '@aws/nx-plugin:license#sync';
18
19
  function licenseSyncGenerator(tree) {
19
20
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
- var _a, _b;
21
21
  const config = yield (0, config_1.readLicenseConfig)(tree);
22
22
  if (!config) {
23
23
  // Nothing to do when not configured
@@ -39,37 +39,44 @@ function licenseSyncGenerator(tree) {
39
39
  });
40
40
  }
41
41
  }
42
- const licenseFilesAdded = [];
43
- const licenseFilesUpdated = [];
44
- if (tree.exists('LICENSE')) {
45
- const rootLicense = tree.read('LICENSE', 'utf-8');
46
- // Sync subproject license files
47
- for (const project of (0, devkit_1.getProjects)(tree).values()) {
48
- const projectLicensePath = (0, devkit_1.joinPathFragments)(project.root, 'LICENSE');
49
- // Check that this project is not excluded in config
50
- if (!((_b = (_a = config === null || config === void 0 ? void 0 : config.files) === null || _a === void 0 ? void 0 : _a.exclude) !== null && _b !== void 0 ? _b : []).some((excludePattern) => (0, minimatch_1.minimatch)(projectLicensePath, excludePattern) ||
51
- (0, minimatch_1.minimatch)(project.root, excludePattern))) {
52
- // Write the license if it doesn't exist, or if it doesn't match the root license
53
- let shouldWrite = false;
54
- if (!tree.exists(projectLicensePath)) {
55
- licenseFilesAdded.push(projectLicensePath);
56
- shouldWrite = true;
57
- }
58
- else if (tree.read(projectLicensePath, 'utf-8') !== rootLicense) {
59
- licenseFilesUpdated.push(projectLicensePath);
60
- shouldWrite = true;
61
- }
62
- if (shouldWrite) {
63
- tree.write(projectLicensePath, rootLicense);
42
+ const projectFilesUpdated = [];
43
+ // Helper to check whether a file should be included in the sync based on file exclude configuration
44
+ const isFileIncludedInSync = (path) => {
45
+ var _a, _b;
46
+ return !((_b = (_a = config === null || config === void 0 ? void 0 : config.files) === null || _a === void 0 ? void 0 : _a.exclude) !== null && _b !== void 0 ? _b : []).some((excludePattern) => (0, minimatch_1.minimatch)(path, excludePattern));
47
+ };
48
+ // Sync files in the root, and all projects
49
+ const projectRoots = [
50
+ '.',
51
+ ...[...(0, devkit_1.getProjects)(tree).values()].map((p) => p.root),
52
+ ];
53
+ // Sync subproject license files and project files
54
+ for (const projectRoot of projectRoots) {
55
+ // Check that this project should have files synced - allows users to specify a project path
56
+ // to exclude from all file syncs
57
+ if (isFileIncludedInSync(projectRoot)) {
58
+ project_file_sync_1.PROJECT_FILES_TO_SYNC.forEach((projectFile) => {
59
+ const projectFilePath = (0, devkit_1.joinPathFragments)(projectRoot, projectFile);
60
+ // Check that the specific project file should be synced - allows users to be more granular to
61
+ // decide to eg omit LICENSE file sync but keep package.json sync
62
+ if (isFileIncludedInSync(projectFilePath)) {
63
+ const prevContent = tree.read(projectFilePath, 'utf-8');
64
+ (0, project_file_sync_1.syncProjectFile)(tree, projectRoot, projectFile, config);
65
+ const newContent = tree.read(projectFilePath, 'utf-8');
66
+ if (prevContent !== newContent) {
67
+ projectFilesUpdated.push({
68
+ path: projectFilePath,
69
+ name: projectFile,
70
+ });
71
+ }
64
72
  }
65
- }
73
+ });
66
74
  }
67
75
  }
68
76
  return {
69
77
  outOfSyncMessage: buildOutOfSyncMessage({
70
78
  licenseHeadersUpdated,
71
- licenseFilesAdded,
72
- licenseFilesUpdated,
79
+ projectFilesUpdated,
73
80
  }),
74
81
  };
75
82
  });
@@ -79,12 +86,13 @@ function licenseSyncGenerator(tree) {
79
86
  */
80
87
  const buildOutOfSyncMessage = (updates) => {
81
88
  let outOfSyncMessage = '';
82
- if (updates.licenseFilesAdded.length > 0) {
83
- outOfSyncMessage += `Project license files are missing:\n${updates.licenseFilesAdded.map((p) => `- ${p}`).join('\n')}\n\n`;
84
- }
85
- if (updates.licenseFilesUpdated.length > 0) {
86
- outOfSyncMessage += `Project license files are out of sync:\n${updates.licenseFilesUpdated.map((p) => `- ${p}`).join('\n')}\n\n`;
87
- }
89
+ const pathsByName = updates.projectFilesUpdated.reduce((prev, { name, path }) => {
90
+ var _a;
91
+ return (Object.assign(Object.assign({}, prev), { [name]: [...((_a = prev[name]) !== null && _a !== void 0 ? _a : []), path] }));
92
+ }, {});
93
+ Object.entries(pathsByName).forEach(([name, files]) => {
94
+ outOfSyncMessage += `Project ${name} files are out of sync:\n${files.map((p) => `- ${p}`).join('\n')}\n\n`;
95
+ });
88
96
  if (updates.licenseHeadersUpdated.length > 0) {
89
97
  outOfSyncMessage += `License headers are out of sync in the following source files:\n${updates.licenseHeadersUpdated.map((p) => `- ${p}`).join('\n')}\n\n`;
90
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/license/sync/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/license/sync/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
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 { LicenseConfig } from '../config-types';
7
+ /**
8
+ * Different project files with licensing information to be synchronised
9
+ */
10
+ export declare const PROJECT_FILES_TO_SYNC: readonly ["LICENSE", "package.json", "pyproject.toml"];
11
+ export type ProjectFileToSync = (typeof PROJECT_FILES_TO_SYNC)[number];
12
+ /**
13
+ * Synchronise a particular project file
14
+ */
15
+ export declare const syncProjectFile: (tree: Tree, projectRoot: string, projectFile: (typeof PROJECT_FILES_TO_SYNC)[number], config: LicenseConfig) => void;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncProjectFile = exports.PROJECT_FILES_TO_SYNC = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const devkit_1 = require("@nx/devkit");
9
+ const toml_1 = require("../../utils/toml");
10
+ /**
11
+ * Different project files with licensing information to be synchronised
12
+ */
13
+ exports.PROJECT_FILES_TO_SYNC = [
14
+ 'LICENSE',
15
+ 'package.json',
16
+ 'pyproject.toml',
17
+ ];
18
+ /**
19
+ * Methods to sync each type of project file
20
+ */
21
+ const SYNC_STRATEGIES = {
22
+ LICENSE: (tree, projectRoot, config) => {
23
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'licenses', config.spdx), projectRoot, {
24
+ copyrightHolder: config.copyrightHolder,
25
+ year: config.copyrightYear,
26
+ }, {});
27
+ },
28
+ 'package.json': (tree, projectRoot, config) => {
29
+ const packageJsonPath = (0, devkit_1.joinPathFragments)(projectRoot, 'package.json');
30
+ if (tree.exists(packageJsonPath)) {
31
+ (0, devkit_1.updateJson)(tree, packageJsonPath, (prev) => (Object.assign(Object.assign({}, prev), { license: config.spdx })));
32
+ }
33
+ },
34
+ 'pyproject.toml': (tree, projectRoot, config) => {
35
+ const pyProjectPath = (0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml');
36
+ if (tree.exists(pyProjectPath)) {
37
+ (0, toml_1.updateToml)(tree, pyProjectPath, (prev) => (Object.assign(Object.assign(Object.assign({}, prev), { license: config.spdx }), (tree.exists((0, devkit_1.joinPathFragments)(projectRoot, 'LICENSE'))
38
+ ? {
39
+ 'license-files': ['LICENSE'],
40
+ }
41
+ : {}))));
42
+ }
43
+ },
44
+ };
45
+ /**
46
+ * Synchronise a particular project file
47
+ */
48
+ const syncProjectFile = (tree, projectRoot, projectFile, config) => {
49
+ return SYNC_STRATEGIES[projectFile](tree, projectRoot, config);
50
+ };
51
+ exports.syncProjectFile = syncProjectFile;
52
+ //# sourceMappingURL=project-file-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-file-sync.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/license/sync/project-file-sync.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAgF;AAEhF,2CAA8C;AAE9C;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC,SAAS;IACT,cAAc;IACd,gBAAgB;CACR,CAAC;AAIX;;GAEG;AACH,MAAM,eAAe,GAGjB;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAC9D,WAAW,EACX;YACE,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,IAAI,EAAE,MAAM,CAAC,aAAa;SAC3B,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,IAAA,mBAAU,EAAC,IAAI,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iCACvC,IAAI,KACP,OAAO,EAAE,MAAM,CAAC,IAAI,IACpB,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,IAAA,iBAAU,EAAC,IAAI,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,+CACrC,IAAI,KACP,OAAO,EAAE,MAAM,CAAC,IAAI,KACjB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACxD,CAAC,CAAC;oBACE,eAAe,EAAE,CAAC,SAAS,CAAC;iBAC7B;gBACH,CAAC,CAAC,EAAE,CAAC,EACP,CAAC,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,WAAmB,EACnB,WAAmD,EACnD,MAAqB,EACrB,EAAE;IACF,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}