@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.
- package/LICENSE-THIRD-PARTY +76 -65
- package/package.json +2 -1
- package/src/cloudscape-website/app/README.md +1 -1
- package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +93 -29
- package/src/cloudscape-website/app/files/app/README.md.template +4 -2
- package/src/cloudscape-website/app/files/app/src/{layouts/App → components/AppLayout}/index.tsx.template +38 -19
- package/src/cloudscape-website/app/files/app/src/{layouts/App → components/AppLayout}/navitems.ts.template +1 -1
- package/src/cloudscape-website/app/files/app/src/hooks/useAppLayout.tsx.template +5 -0
- package/src/cloudscape-website/app/files/app/src/main.tsx.template +13 -6
- package/src/cloudscape-website/app/files/app/src/routeTree.gen.ts.template +111 -0
- package/src/cloudscape-website/app/files/app/src/routes/__root.tsx.template +6 -0
- package/src/cloudscape-website/app/files/app/src/routes/index.tsx.template +5 -0
- package/src/cloudscape-website/app/files/app/src/routes/welcome/index.tsx.template +21 -0
- package/src/cloudscape-website/app/files/app/src/styles.css.template +1 -0
- package/src/cloudscape-website/app/generator.js +24 -13
- package/src/cloudscape-website/app/generator.js.map +1 -1
- package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/cloudscape-website/cognito-auth/generator.js +2 -2
- package/src/cloudscape-website/cognito-auth/generator.js.map +1 -1
- package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -4
- package/src/cloudscape-website/runtime-config/generator.js +3 -3
- package/src/cloudscape-website/runtime-config/generator.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +5 -1
- package/src/infra/app/generator.js +1 -1
- package/src/infra/app/generator.js.map +1 -1
- package/src/license/README.md +50 -15
- package/src/license/__snapshots__/config.spec.ts.snap +10 -3
- package/src/license/config-types.d.ts +14 -0
- package/src/license/config.d.ts +1 -1
- package/src/license/config.js +15 -12
- package/src/license/config.js.map +1 -1
- package/src/license/generator.js +1 -4
- package/src/license/generator.js.map +1 -1
- package/src/license/sync/generator.js +40 -32
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.d.ts +15 -0
- package/src/license/sync/project-file-sync.js +52 -0
- package/src/license/sync/project-file-sync.js.map +1 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +317 -6
- package/src/trpc/backend/files/backend/README.md.template +1 -1
- package/src/trpc/backend/files/backend/src/client/index.ts.template +33 -0
- package/src/trpc/backend/files/backend/src/client/sigv4.ts.template +9 -0
- package/src/trpc/backend/files/backend/src/index.ts.template +3 -1
- package/src/trpc/backend/files/backend/src/init.ts.template +18 -0
- package/src/trpc/backend/files/backend/src/local-server.ts.template +17 -0
- package/src/trpc/backend/files/backend/src/middleware/error.ts.template +26 -0
- package/src/trpc/backend/files/backend/src/middleware/index.ts.template +15 -0
- package/src/trpc/backend/files/backend/src/middleware/logger.ts.template +26 -0
- package/src/trpc/backend/files/backend/src/middleware/metrics.ts.template +36 -0
- package/src/trpc/backend/files/backend/src/middleware/tracer.ts.template +44 -0
- package/src/trpc/backend/files/backend/src/procedures/echo.ts.template +8 -0
- package/src/trpc/backend/files/backend/src/router.ts.template +20 -0
- package/src/trpc/backend/files/common/constructs/src/app/trpc-apis/__apiNameKebabCase__.ts.template +1 -1
- package/src/trpc/backend/files/schema/src/index.ts.template +1 -7
- package/src/trpc/backend/files/schema/src/procedures/echo.ts.template +13 -0
- package/src/trpc/backend/generator.js +10 -1
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -6
- package/src/trpc/react/files/src/hooks/useSigV4.tsx.template +20 -3
- package/src/trpc/react/generator.js +2 -2
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/lib/eslint.js +1 -1
- package/src/ts/lib/eslint.js.map +1 -1
- package/src/utils/test.d.ts +4 -0
- package/src/utils/test.js +16 -1
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +10 -0
- package/src/utils/toml.js +17 -0
- package/src/utils/toml.js.map +1 -0
- package/src/utils/versions.d.ts +6 -3
- package/src/utils/versions.js +5 -2
- package/src/utils/versions.js.map +1 -1
- package/src/cloudscape-website/app/files/app/src/layouts/Routes/index.tsx.template +0 -16
- package/src/cloudscape-website/app/files/app/src/pages/Home/index.tsx.template +0 -23
- package/src/trpc/backend/files/backend/src/lambdas/index.ts.template +0 -1
- package/src/trpc/backend/files/backend/src/lambdas/middleware.ts.template +0 -146
- package/src/trpc/backend/files/backend/src/lambdas/router.ts.template +0 -36
- /package/src/license/{files → sync/files}/licenses/ASL/LICENSE.template +0 -0
- /package/src/license/{files → sync/files}/licenses/Apache-2.0/LICENSE.template +0 -0
- /package/src/license/{files → sync/files}/licenses/MIT/LICENSE.template +0 -0
package/src/license/README.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
264
|
+
### Excluding project files from sync
|
|
233
265
|
|
|
234
|
-
|
|
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: [
|
|
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
|
package/src/license/config.d.ts
CHANGED
|
@@ -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,
|
|
21
|
+
export declare const writeLicenseConfig: (tree: Tree, config: LicenseConfig) => Promise<void>;
|
|
22
22
|
/**
|
|
23
23
|
* Read license configuration
|
|
24
24
|
*/
|
package/src/license/config.js
CHANGED
|
@@ -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
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
* Licenses containing a placeholder for the copyright year
|
|
8
8
|
*/
|
|
9
|
-
const
|
|
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
|
-
|
|
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,
|
|
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":";;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/config.ts"],"names":[],"mappings":";;;;AAMA,iDAG+B;AAG/B;;GAEG;AACH,MAAM,kBAAkB,GAA+B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAExE;;GAEG;AACU,QAAA,uBAAuB,6EAE/B,MAAM,CAAC,WAAW,CACnB;IACE,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,WAAW;IACX,KAAK;IACL,SAAS;IACT,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,YAAY;IACZ,GAAG;IACH,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;IACJ,QAAQ;IACR,OAAO;CACR,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CACzE,GAEE,MAAM,CAAC,WAAW,CACnB;IACE,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG;CACJ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CACrC;IACD,SAAS;IACT,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IACzB,SAAS;IACT,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACtD,MAAM;IACN,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAC9C,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC1C,OAAO;IACP,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAEvD,MAAM,CAAC,WAAW,CACnB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACzB,GAAG;IACH,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;CAClD,CAAC,CACH;IACD,eAAe;IACf,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAClB,MAAM;IACN,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,aAAa;IACb,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EACrD,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtD,WAAW;IACX,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAC5C;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,IAA2B,EAC3B,eAAuB,EACR,EAAE;IACjB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,+CAA+C;YAC/C,MAAM,UAAU,GAAG;gBACjB,aAAa,eAAe,wBAAwB;gBACpD,EAAE;gBACF,4GAA4G;gBAC5G,uDAAuD;gBACvD,EAAE;gBACF,gCAAgC;gBAChC,EAAE;gBACF,mHAAmH;gBACnH,gHAAgH;gBAChH,oCAAoC;aACrC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CACvD,CAAC;YACF,OAAO;gBACL,IAAI;gBACJ,eAAe;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE,KAAK,EAAE;oBAClB,MAAM,EAAE;wBACN,8BAA8B,EAAE;4BAC9B,UAAU,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BACzC,SAAS,EAAE,MAAM;4BACjB,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;yBACzC;wBACD,cAAc,EAAE;4BACd,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BACxC,SAAS,EAAE,KAAK;4BAChB,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;yBACvC;qBACF;oBACD,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,qCACE,IAAI;gBACJ,eAAe,IACZ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC9B,CAAC,CAAC;oBACE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACxC;gBACH,CAAC,CAAC,EAAE,CAAC,KACP,MAAM,EAAE;oBACN,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,aAAa,eAAe,wBAAwB;4BACpD,4BAA4B,IAAI,EAAE;yBACnC;qBACF;oBACD,MAAM,EAAE;wBACN,8BAA8B,EAAE;4BAC9B,UAAU,EAAE,KAAK;4BACjB,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,KAAK;yBAChB;wBACD,cAAc,EAAE;4BACd,UAAU,EAAE,IAAI;4BAChB,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,IAAI;yBACf;qBACF;oBACD,OAAO,EAAE,EAAE;iBACZ,IACD;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA/EW,QAAA,oBAAoB,wBA+E/B;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAO,IAAU,EAAE,MAAqB,EAAE,EAAE;IAC5E,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE;QAClC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EAC0B,EAAE;;IACtC,OAAO,MAAA,CAAC,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC,0CAAE,OAAO,CAAC;AACtD,CAAC,CAAA,CAAC;AAJW,QAAA,iBAAiB,qBAI5B"}
|
package/src/license/generator.js
CHANGED
|
@@ -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,
|
|
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":";;
|
|
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
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
tree.
|
|
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
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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"}
|