@aws/nx-plugin 0.3.0 → 0.4.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 +55 -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 +2 -0
- 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/react/__snapshots__/generator.spec.ts.snap +4 -6
- package/src/trpc/react/generator.js +1 -1
- 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/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 +4 -3
- package/src/utils/versions.js +3 -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/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
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { createRoot } from 'react-dom/client';
|
|
3
|
-
import { BrowserRouter } from 'react-router-dom';
|
|
4
3
|
import { I18nProvider } from '@cloudscape-design/components/i18n';
|
|
5
4
|
import messages from '@cloudscape-design/components/i18n/messages/all.en';
|
|
6
|
-
import
|
|
5
|
+
import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
6
|
+
import { routeTree } from './routeTree.gen';
|
|
7
7
|
|
|
8
8
|
import '@cloudscape-design/global-styles/index.css';
|
|
9
9
|
|
|
10
|
+
const router = createRouter({ routeTree });
|
|
11
|
+
|
|
12
|
+
// Register the router instance for type safety
|
|
13
|
+
declare module '@tanstack/react-router' {
|
|
14
|
+
interface Register {
|
|
15
|
+
router: typeof router;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
const root = document.getElementById('root');
|
|
11
20
|
root &&
|
|
12
21
|
createRoot(root).render(
|
|
13
22
|
<React.StrictMode>
|
|
14
23
|
<I18nProvider locale="en" messages={[messages]}>
|
|
15
|
-
<
|
|
16
|
-
<App />
|
|
17
|
-
</BrowserRouter>
|
|
24
|
+
<RouterProvider router={router} />
|
|
18
25
|
</I18nProvider>
|
|
19
|
-
</React.StrictMode
|
|
26
|
+
</React.StrictMode>,
|
|
20
27
|
);
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
|
|
5
|
+
// noinspection JSUnusedGlobalSymbols
|
|
6
|
+
|
|
7
|
+
// This file was automatically generated by TanStack Router.
|
|
8
|
+
// You should NOT make any changes in this file as it will be overwritten.
|
|
9
|
+
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
|
|
10
|
+
|
|
11
|
+
// Import Routes
|
|
12
|
+
|
|
13
|
+
import { Route as rootRoute } from './routes/__root'
|
|
14
|
+
import { Route as IndexImport } from './routes/index'
|
|
15
|
+
import { Route as WelcomeIndexImport } from './routes/welcome/index'
|
|
16
|
+
|
|
17
|
+
// Create/Update Routes
|
|
18
|
+
|
|
19
|
+
const IndexRoute = IndexImport.update({
|
|
20
|
+
id: '/',
|
|
21
|
+
path: '/',
|
|
22
|
+
getParentRoute: () => rootRoute,
|
|
23
|
+
} as any)
|
|
24
|
+
|
|
25
|
+
const WelcomeIndexRoute = WelcomeIndexImport.update({
|
|
26
|
+
id: '/welcome/',
|
|
27
|
+
path: '/welcome/',
|
|
28
|
+
getParentRoute: () => rootRoute,
|
|
29
|
+
} as any)
|
|
30
|
+
|
|
31
|
+
// Populate the FileRoutesByPath interface
|
|
32
|
+
|
|
33
|
+
declare module '@tanstack/react-router' {
|
|
34
|
+
interface FileRoutesByPath {
|
|
35
|
+
'/': {
|
|
36
|
+
id: '/'
|
|
37
|
+
path: '/'
|
|
38
|
+
fullPath: '/'
|
|
39
|
+
preLoaderRoute: typeof IndexImport
|
|
40
|
+
parentRoute: typeof rootRoute
|
|
41
|
+
}
|
|
42
|
+
'/welcome/': {
|
|
43
|
+
id: '/welcome/'
|
|
44
|
+
path: '/welcome'
|
|
45
|
+
fullPath: '/welcome'
|
|
46
|
+
preLoaderRoute: typeof WelcomeIndexImport
|
|
47
|
+
parentRoute: typeof rootRoute
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Create and export the route tree
|
|
53
|
+
|
|
54
|
+
export interface FileRoutesByFullPath {
|
|
55
|
+
'/': typeof IndexRoute
|
|
56
|
+
'/welcome': typeof WelcomeIndexRoute
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface FileRoutesByTo {
|
|
60
|
+
'/': typeof IndexRoute
|
|
61
|
+
'/welcome': typeof WelcomeIndexRoute
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface FileRoutesById {
|
|
65
|
+
__root__: typeof rootRoute
|
|
66
|
+
'/': typeof IndexRoute
|
|
67
|
+
'/welcome/': typeof WelcomeIndexRoute
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface FileRouteTypes {
|
|
71
|
+
fileRoutesByFullPath: FileRoutesByFullPath
|
|
72
|
+
fullPaths: '/' | '/welcome'
|
|
73
|
+
fileRoutesByTo: FileRoutesByTo
|
|
74
|
+
to: '/' | '/welcome'
|
|
75
|
+
id: '__root__' | '/' | '/welcome/'
|
|
76
|
+
fileRoutesById: FileRoutesById
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface RootRouteChildren {
|
|
80
|
+
IndexRoute: typeof IndexRoute
|
|
81
|
+
WelcomeIndexRoute: typeof WelcomeIndexRoute
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const rootRouteChildren: RootRouteChildren = {
|
|
85
|
+
IndexRoute: IndexRoute,
|
|
86
|
+
WelcomeIndexRoute: WelcomeIndexRoute,
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export const routeTree = rootRoute
|
|
90
|
+
._addFileChildren(rootRouteChildren)
|
|
91
|
+
._addFileTypes<FileRouteTypes>()
|
|
92
|
+
|
|
93
|
+
/* ROUTE_MANIFEST_START
|
|
94
|
+
{
|
|
95
|
+
"routes": {
|
|
96
|
+
"__root__": {
|
|
97
|
+
"filePath": "__root.tsx",
|
|
98
|
+
"children": [
|
|
99
|
+
"/",
|
|
100
|
+
"/welcome/"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"/": {
|
|
104
|
+
"filePath": "index.tsx"
|
|
105
|
+
},
|
|
106
|
+
"/welcome/": {
|
|
107
|
+
"filePath": "welcome/index.tsx"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
ROUTE_MANIFEST_END */
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentLayout,
|
|
3
|
+
Header,
|
|
4
|
+
SpaceBetween,
|
|
5
|
+
Container,
|
|
6
|
+
} from '@cloudscape-design/components';
|
|
7
|
+
import { createFileRoute } from '@tanstack/react-router';
|
|
8
|
+
|
|
9
|
+
export const Route = createFileRoute('/welcome/')({
|
|
10
|
+
component: RouteComponent,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
function RouteComponent() {
|
|
14
|
+
return (
|
|
15
|
+
<ContentLayout header={<Header>Welcome</Header>}>
|
|
16
|
+
<SpaceBetween size="l">
|
|
17
|
+
<Container>Welcome to your new Cloudscape website!</Container>
|
|
18
|
+
</SpaceBetween>
|
|
19
|
+
</ContentLayout>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* You can add global styles to this file, and also import other style files */
|
|
@@ -29,6 +29,8 @@ function appGenerator(tree, schema) {
|
|
|
29
29
|
// TODO: consider exposing and supporting e2e tests
|
|
30
30
|
const e2eTestRunner = 'none';
|
|
31
31
|
yield (0, react_1.applicationGenerator)(tree, Object.assign(Object.assign({}, schema), { name: websiteNameKebabCase, directory: websiteContentPath, routing: false, e2eTestRunner, linter: 'eslint', bundler: 'vite', unitTestRunner: 'vitest', alwaysGenerateProjectJson: true }));
|
|
32
|
+
// Replace with simpler sample source code
|
|
33
|
+
tree.delete((0, devkit_1.joinPathFragments)(websiteContentPath, 'src'));
|
|
32
34
|
const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
|
|
33
35
|
const targets = projectConfiguration.targets;
|
|
34
36
|
targets['load:runtime-config'] = {
|
|
@@ -37,7 +39,7 @@ function appGenerator(tree, schema) {
|
|
|
37
39
|
description: `Load runtime config from your deployed stack for dev purposes. You must set the AWS_REGION and CDK_APP_DIR env variables whilst calling i.e: AWS_REGION=ap-southeast-2 CDK_APP_DIR=./dist/packages/infra/cdk.out pnpm exec nx run ${fullyQualifiedName}:load:runtime-config`,
|
|
38
40
|
},
|
|
39
41
|
options: {
|
|
40
|
-
command: `
|
|
42
|
+
command: `curl https://\`aws cloudformation describe-stacks --query "Stacks[?StackName=='infra-sandbox'][].Outputs[?contains(OutputKey, 'WebsiteDistributionDomainName')].OutputValue" --output text\`/runtime-config.json > './${websiteContentPath}/public/runtime-config.json'`,
|
|
41
43
|
},
|
|
42
44
|
};
|
|
43
45
|
const buildTarget = targets['build'];
|
|
@@ -119,16 +121,7 @@ function appGenerator(tree, schema) {
|
|
|
119
121
|
const viteConfigContents = (_c = tree.read(viteConfigPath)) === null || _c === void 0 ? void 0 : _c.toString();
|
|
120
122
|
if (viteConfigContents) {
|
|
121
123
|
let viteConfigUpdatedContents = viteConfigContents;
|
|
122
|
-
viteConfigUpdatedContents =
|
|
123
|
-
.map((0, tsquery_1.ast)(viteConfigContents), 'ObjectLiteralExpression', (node) => {
|
|
124
|
-
return typescript_1.factory.createObjectLiteralExpression([
|
|
125
|
-
typescript_1.factory.createPropertyAssignment('define', typescript_1.factory.createObjectLiteralExpression([
|
|
126
|
-
typescript_1.factory.createPropertyAssignment('global', typescript_1.factory.createObjectLiteralExpression()),
|
|
127
|
-
], true)),
|
|
128
|
-
...node.properties,
|
|
129
|
-
], true);
|
|
130
|
-
})
|
|
131
|
-
.getFullText();
|
|
124
|
+
viteConfigUpdatedContents = (0, ast_1.destructuredImport)(tree, viteConfigPath, ['TanStackRouterVite'], '@tanstack/router-plugin/vite');
|
|
132
125
|
viteConfigUpdatedContents = tsquery_1.tsquery
|
|
133
126
|
.map((0, tsquery_1.ast)(viteConfigUpdatedContents), 'ObjectLiteralExpression', (node) => {
|
|
134
127
|
const updatedProperties = node.properties.map((prop) => {
|
|
@@ -142,11 +135,29 @@ function appGenerator(tree, schema) {
|
|
|
142
135
|
return buildProp;
|
|
143
136
|
}), true));
|
|
144
137
|
}
|
|
138
|
+
else if ((0, typescript_1.isPropertyAssignment)(prop) &&
|
|
139
|
+
prop.name.getText() === 'plugins') {
|
|
140
|
+
const pluginsConfig = prop.initializer;
|
|
141
|
+
return typescript_1.factory.createPropertyAssignment('plugins', typescript_1.factory.createArrayLiteralExpression([
|
|
142
|
+
...pluginsConfig.elements,
|
|
143
|
+
typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('TanStackRouterVite'), undefined, []),
|
|
144
|
+
], true));
|
|
145
|
+
}
|
|
145
146
|
return prop;
|
|
146
147
|
});
|
|
147
148
|
return typescript_1.factory.createObjectLiteralExpression(updatedProperties, true);
|
|
148
149
|
})
|
|
149
150
|
.getFullText();
|
|
151
|
+
viteConfigUpdatedContents = tsquery_1.tsquery
|
|
152
|
+
.map((0, tsquery_1.ast)(viteConfigUpdatedContents), 'ObjectLiteralExpression', (node) => {
|
|
153
|
+
return typescript_1.factory.createObjectLiteralExpression([
|
|
154
|
+
typescript_1.factory.createPropertyAssignment('define', typescript_1.factory.createObjectLiteralExpression([
|
|
155
|
+
typescript_1.factory.createPropertyAssignment('global', typescript_1.factory.createObjectLiteralExpression()),
|
|
156
|
+
], true)),
|
|
157
|
+
...node.properties,
|
|
158
|
+
], true);
|
|
159
|
+
})
|
|
160
|
+
.getFullText();
|
|
150
161
|
if (viteConfigContents !== viteConfigUpdatedContents) {
|
|
151
162
|
tree.write(viteConfigPath, viteConfigUpdatedContents);
|
|
152
163
|
}
|
|
@@ -157,8 +168,8 @@ function appGenerator(tree, schema) {
|
|
|
157
168
|
'@cloudscape-design/components',
|
|
158
169
|
'@cloudscape-design/board-components',
|
|
159
170
|
'@cloudscape-design/global-styles',
|
|
160
|
-
'react-router
|
|
161
|
-
]), (0, versions_1.withVersions)(['
|
|
171
|
+
'@tanstack/react-router',
|
|
172
|
+
]), (0, versions_1.withVersions)(['@tanstack/router-plugin']));
|
|
162
173
|
yield (0, format_1.formatFilesInSubtree)(tree);
|
|
163
174
|
return () => {
|
|
164
175
|
if (!schema.skipInstall) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -249,13 +249,13 @@ exports[`cognito-auth generator > should update main.tsx when RuntimeConfigProvi
|
|
|
249
249
|
"import CognitoAuth from './components/CognitoAuth';
|
|
250
250
|
import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
251
251
|
import { RuntimeConfigProvider } from './components/RuntimeConfig';
|
|
252
|
-
import {
|
|
252
|
+
import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
253
253
|
export function App() {
|
|
254
254
|
return (
|
|
255
255
|
<RuntimeConfigProvider>
|
|
256
256
|
<CognitoAuth>
|
|
257
257
|
<RuntimeConfigProvider>
|
|
258
|
-
<
|
|
258
|
+
<RouterProvider router={router} />
|
|
259
259
|
</RuntimeConfigProvider>
|
|
260
260
|
</CognitoAuth>
|
|
261
261
|
</RuntimeConfigProvider>
|
|
@@ -83,14 +83,14 @@ function cognitoAuthGenerator(tree, options) {
|
|
|
83
83
|
(0, ast_1.singleImport)(tree, mainTsxPath, 'CognitoAuth', './components/CognitoAuth');
|
|
84
84
|
(0, ast_1.replace)(tree, mainTsxPath, 'JsxElement[openingElement.tagName.name="RuntimeConfigProvider"]', (node) => (0, ast_1.createJsxElement)(node.openingElement, [(0, ast_1.createJsxElementFromIdentifier)('CognitoAuth', node.children)], node.closingElement));
|
|
85
85
|
// Update App Layout
|
|
86
|
-
const appLayoutTsxPath = (0, devkit_1.joinPathFragments)(srcRoot, '
|
|
86
|
+
const appLayoutTsxPath = (0, devkit_1.joinPathFragments)(srcRoot, 'components', 'AppLayout', 'index.tsx');
|
|
87
87
|
if (tree.exists(appLayoutTsxPath)) {
|
|
88
88
|
const contents = tree.read(appLayoutTsxPath).toString();
|
|
89
89
|
let updatedContents = (0, ast_1.destructuredImport)(tree, appLayoutTsxPath, ['useAuth'], 'react-oidc-context');
|
|
90
90
|
updatedContents = tsquery_1.tsquery
|
|
91
91
|
.map((0, tsquery_1.ast)(updatedContents), 'VariableDeclaration', (node) => {
|
|
92
92
|
// Only process if this is the App component
|
|
93
|
-
if (node.name.getText() !== '
|
|
93
|
+
if (node.name.getText() !== 'AppLayout') {
|
|
94
94
|
return node;
|
|
95
95
|
}
|
|
96
96
|
const arrowFunction = node.initializer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/cognito-auth/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/cognito-auth/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,13 +100,11 @@ export class RuntimeConfig extends Construct {
|
|
|
100
100
|
|
|
101
101
|
exports[`runtime-config generator > should modify main.tsx correctly > modified-main.tsx 1`] = `
|
|
102
102
|
"import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
103
|
-
import {
|
|
103
|
+
import { RouterProvider } from '@tanstack/react-router';
|
|
104
104
|
export function App() {
|
|
105
105
|
return (
|
|
106
106
|
<RuntimeConfigProvider>
|
|
107
|
-
<
|
|
108
|
-
<div>Test App</div>
|
|
109
|
-
</BrowserRouter>
|
|
107
|
+
<RouterProvider router={router} />
|
|
110
108
|
</RuntimeConfigProvider>
|
|
111
109
|
);
|
|
112
110
|
}
|
|
@@ -40,8 +40,8 @@ function runtimeConfigGenerator(tree, options) {
|
|
|
40
40
|
.getFullText();
|
|
41
41
|
let locatedTargetNode = false;
|
|
42
42
|
const mainTsxUpdatedContents = tsquery_1.tsquery
|
|
43
|
-
.map((0, tsquery_1.ast)(updatedImports), '
|
|
44
|
-
if (node.
|
|
43
|
+
.map((0, tsquery_1.ast)(updatedImports), 'JsxSelfClosingElement', (node) => {
|
|
44
|
+
if (node.tagName.getText() !== 'RouterProvider') {
|
|
45
45
|
return node;
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
@@ -51,7 +51,7 @@ function runtimeConfigGenerator(tree, options) {
|
|
|
51
51
|
})
|
|
52
52
|
.getFullText();
|
|
53
53
|
if (!locatedTargetNode) {
|
|
54
|
-
throw new Error('Could not locate the
|
|
54
|
+
throw new Error('Could not locate the RouterProvider element in main.tsx');
|
|
55
55
|
}
|
|
56
56
|
if (locatedTargetNode && mainTsxContents !== mainTsxUpdatedContents) {
|
|
57
57
|
tree.write(mainTsxPath, mainTsxUpdatedContents);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/runtime-config/generator.ts"],"names":[],"mappings":";;AAiBA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/runtime-config/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ exports[`infra generator > should add required dependencies to package.json > de
|
|
|
28
28
|
"eslint-config-prettier": "^9.0.0",
|
|
29
29
|
"eslint-plugin-prettier": "^5.2.2",
|
|
30
30
|
"jsdom": "~22.1.0",
|
|
31
|
+
"jsonc-eslint-parser": "^2.4.0",
|
|
31
32
|
"prettier": "^3.4.2",
|
|
32
33
|
"tsx": "^4.19.2",
|
|
33
34
|
"typescript": "~5.7.2",
|
|
@@ -63,6 +64,7 @@ exports[`infra generator > should add required dependencies to package.json > pa
|
|
|
63
64
|
"eslint-config-prettier": "^9.0.0",
|
|
64
65
|
"eslint-plugin-prettier": "^5.2.2",
|
|
65
66
|
"jsdom": "~22.1.0",
|
|
67
|
+
"jsonc-eslint-parser": "^2.4.0",
|
|
66
68
|
"prettier": "^3.4.2",
|
|
67
69
|
"tsx": "^4.19.2",
|
|
68
70
|
"typescript": "~5.7.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":"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"}
|
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:
|