@aws/nx-plugin 0.2.1 → 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 +77 -66
- package/generators.json +11 -0
- package/package.json +6 -2
- 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/index.d.ts +1 -0
- package/src/index.js +4 -0
- package/src/index.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 +290 -0
- package/src/license/__snapshots__/config.spec.ts.snap +96 -0
- package/src/license/config-types.d.ts +121 -0
- package/src/license/config-types.js +3 -0
- package/src/license/config-types.js.map +1 -0
- package/src/license/config.d.ts +25 -0
- package/src/license/config.js +177 -0
- package/src/license/config.js.map +1 -0
- package/src/license/generator.d.ts +8 -0
- package/src/license/generator.js +29 -0
- package/src/license/generator.js.map +1 -0
- package/src/license/schema.d.ts +17 -0
- package/src/license/schema.json +23 -0
- package/src/license/sync/files/licenses/ASL/LICENSE.template +96 -0
- package/src/license/sync/files/licenses/Apache-2.0/LICENSE.template +175 -0
- package/src/license/sync/files/licenses/MIT/LICENSE.template +21 -0
- package/src/license/sync/generator.d.ts +9 -0
- package/src/license/sync/generator.js +315 -0
- package/src/license/sync/generator.js.map +1 -0
- 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/license/sync/schema.json +9 -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 +5 -9
- package/src/ts/lib/eslint.js.map +1 -1
- package/src/utils/ast.d.ts +5 -1
- package/src/utils/ast.js +35 -1
- package/src/utils/ast.js.map +1 -1
- package/src/utils/config/__snapshots__/utils.spec.ts.snap +16 -0
- package/src/utils/config/files/aws-nx-plugin.config.mts.template +5 -0
- package/src/utils/config/index.d.ts +15 -0
- package/src/utils/config/index.js +5 -0
- package/src/utils/config/index.js.map +1 -0
- package/src/utils/config/utils.d.ts +20 -0
- package/src/utils/config/utils.js +71 -0
- package/src/utils/config/utils.js.map +1 -0
- package/src/utils/git.d.ts +9 -0
- package/src/utils/git.js +27 -0
- package/src/utils/git.js.map +1 -0
- package/src/utils/js.d.ts +8 -0
- package/src/utils/js.js +34 -0
- package/src/utils/js.js.map +1 -0
- 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
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SYNC_GENERATOR_NAME = void 0;
|
|
4
|
+
exports.licenseSyncGenerator = licenseSyncGenerator;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
/**
|
|
7
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
*/
|
|
10
|
+
const devkit_1 = require("@nx/devkit");
|
|
11
|
+
const config_1 = require("../config");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
const fast_glob_1 = require("fast-glob");
|
|
14
|
+
const minimatch_1 = require("minimatch");
|
|
15
|
+
const git_1 = require("../../utils/git");
|
|
16
|
+
const utils_1 = require("../../utils/config/utils");
|
|
17
|
+
const project_file_sync_1 = require("./project-file-sync");
|
|
18
|
+
exports.SYNC_GENERATOR_NAME = '@aws/nx-plugin:license#sync';
|
|
19
|
+
function licenseSyncGenerator(tree) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const config = yield (0, config_1.readLicenseConfig)(tree);
|
|
22
|
+
if (!config) {
|
|
23
|
+
// Nothing to do when not configured
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
const licenseHeadersUpdated = [];
|
|
27
|
+
if (config.header) {
|
|
28
|
+
// Get all candidate project files for header
|
|
29
|
+
const candidateProjectFiles = yield getCandidateProjectFilesForHeader(tree, config.header);
|
|
30
|
+
const headerContentLines = loadHeaderContentLines(tree, config.header);
|
|
31
|
+
// Add headers to project files which match the include pattern
|
|
32
|
+
for (const [includePattern, format] of Object.entries(config.header.format)) {
|
|
33
|
+
const files = minimatch_1.minimatch.match(candidateProjectFiles, includePattern);
|
|
34
|
+
files.forEach((file) => {
|
|
35
|
+
const didAdd = addHeader(tree, file, headerContentLines, config.header, format);
|
|
36
|
+
if (didAdd) {
|
|
37
|
+
licenseHeadersUpdated.push(file);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
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
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
outOfSyncMessage: buildOutOfSyncMessage({
|
|
78
|
+
licenseHeadersUpdated,
|
|
79
|
+
projectFilesUpdated,
|
|
80
|
+
}),
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Build the message to display when the sync generator would make changes to the tree
|
|
86
|
+
*/
|
|
87
|
+
const buildOutOfSyncMessage = (updates) => {
|
|
88
|
+
let outOfSyncMessage = '';
|
|
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
|
+
});
|
|
96
|
+
if (updates.licenseHeadersUpdated.length > 0) {
|
|
97
|
+
outOfSyncMessage += `License headers are out of sync in the following source files:\n${updates.licenseHeadersUpdated.map((p) => `- ${p}`).join('\n')}\n\n`;
|
|
98
|
+
}
|
|
99
|
+
return outOfSyncMessage.trim();
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Load the license header content lines
|
|
103
|
+
*/
|
|
104
|
+
const loadHeaderContentLines = (tree, config) => {
|
|
105
|
+
// Load the license header content
|
|
106
|
+
let headerContentLines = [];
|
|
107
|
+
if ('lines' in config.content) {
|
|
108
|
+
headerContentLines = config.content.lines;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (!tree.exists(config.content.filePath)) {
|
|
112
|
+
throw new Error(`Could not find license header content file ${config.content.filePath}`);
|
|
113
|
+
}
|
|
114
|
+
headerContentLines = tree
|
|
115
|
+
.read(config.content.filePath, 'utf-8')
|
|
116
|
+
.split('\n');
|
|
117
|
+
}
|
|
118
|
+
return headerContentLines;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Returns all files in the given tree - both in-memory only and in the filesystem under the tree root
|
|
122
|
+
*/
|
|
123
|
+
const getAllFilesInTree = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
+
return [
|
|
125
|
+
...new Set([
|
|
126
|
+
// Get all files in memory in the tree
|
|
127
|
+
...(yield (0, devkit_1.globAsync)(tree, ['*'])),
|
|
128
|
+
// Find all files on the filesystem that may not be in memory in the tree
|
|
129
|
+
...(yield (0, fast_glob_1.glob)(['*'], { cwd: tree.root, dot: true })),
|
|
130
|
+
]),
|
|
131
|
+
].filter((f) => tree.exists(f));
|
|
132
|
+
});
|
|
133
|
+
/**
|
|
134
|
+
* Returns the list of project files
|
|
135
|
+
*/
|
|
136
|
+
const getCandidateProjectFilesForHeader = (tree, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
+
var _a;
|
|
138
|
+
// Prefer, if possible, to treat all non gitignored files as our candidate set such that we honour users .gitignore files
|
|
139
|
+
// If we're not in a git repo, fall back to everything and rely on the user configuring exclusions below
|
|
140
|
+
const projectFiles = tree.exists('.git')
|
|
141
|
+
? (0, git_1.getGitIncludedFiles)(tree)
|
|
142
|
+
: yield getAllFilesInTree(tree);
|
|
143
|
+
// Remove any files that were excluded in the config
|
|
144
|
+
const ignoredProjectFiles = new Set(((_a = config.exclude) !== null && _a !== void 0 ? _a : []).flatMap((pattern) => minimatch_1.minimatch.match(projectFiles, pattern)));
|
|
145
|
+
return projectFiles.filter((file) => !ignoredProjectFiles.has(file));
|
|
146
|
+
});
|
|
147
|
+
/**
|
|
148
|
+
* Renders a header with the given format
|
|
149
|
+
*/
|
|
150
|
+
const renderHeader = (contentLines, format) => {
|
|
151
|
+
return `${format.blockStart ? `${format.blockStart}\n` : ''}${contentLines.map((line) => { var _a, _b; return `${(_a = format.lineStart) !== null && _a !== void 0 ? _a : ''}${line}${(_b = format.lineEnd) !== null && _b !== void 0 ? _b : ''}`; }).join('\n')}${format.blockEnd ? `\n${format.blockEnd}` : ''}`;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Validates header format to ensure it produces a valid comment
|
|
155
|
+
*/
|
|
156
|
+
const validateFormat = (fileExtension, syntax, format, contentLines) => {
|
|
157
|
+
const blockStartOpensBlockComment = format.blockStart &&
|
|
158
|
+
syntax.block &&
|
|
159
|
+
format.blockStart.startsWith(syntax.block.start);
|
|
160
|
+
const blockEndClosesBlockComment = format.blockEnd &&
|
|
161
|
+
syntax.block &&
|
|
162
|
+
format.blockEnd.endsWith(syntax.block.end);
|
|
163
|
+
// Block start must start with the block start or line comment
|
|
164
|
+
const validBlockStart = !format.blockStart ||
|
|
165
|
+
blockStartOpensBlockComment ||
|
|
166
|
+
(syntax.line && format.blockStart.startsWith(syntax.line));
|
|
167
|
+
// Block end must end with the block end, or begin with the line comment
|
|
168
|
+
const validBlockEnd = !format.blockEnd ||
|
|
169
|
+
blockEndClosesBlockComment ||
|
|
170
|
+
(syntax.line && format.blockEnd.startsWith(syntax.line));
|
|
171
|
+
// Lines must start with the line comment syntax, unless within a block comment
|
|
172
|
+
const validLineStart = !format.lineStart ||
|
|
173
|
+
(syntax.line && format.lineStart.startsWith(syntax.line)) ||
|
|
174
|
+
(blockStartOpensBlockComment && blockEndClosesBlockComment);
|
|
175
|
+
if (!validLineStart || !validBlockStart || !validBlockEnd) {
|
|
176
|
+
throw new Error(`Provided format for ${fileExtension} file would generate invalid comment syntax. Configured syntax for ${fileExtension} is ${JSON.stringify(syntax, null, 2)}.`);
|
|
177
|
+
}
|
|
178
|
+
if (blockStartOpensBlockComment && !blockEndClosesBlockComment) {
|
|
179
|
+
throw new Error(`Provided format for ${fileExtension} file opens a block comment with "${syntax.block.start}" in blockStart but does not close it with "${syntax.block.end}" in blockEnd`);
|
|
180
|
+
}
|
|
181
|
+
if (blockStartOpensBlockComment &&
|
|
182
|
+
contentLines.some((line) => line.includes(syntax.block.end))) {
|
|
183
|
+
throw new Error(`Provided license content would close a block comment early and cause a syntax error! Please remove "${syntax.block.end}" from your license text.`);
|
|
184
|
+
}
|
|
185
|
+
if (blockStartOpensBlockComment && blockEndClosesBlockComment) {
|
|
186
|
+
if (format.blockEnd.lastIndexOf(syntax.block.end) !==
|
|
187
|
+
format.blockEnd.indexOf(syntax.block.end)) {
|
|
188
|
+
throw new Error(`Provided format for ${fileExtension} file may cause syntax errors due to closing a block comment multiple times with "${syntax.block.end}" in blockEnd`);
|
|
189
|
+
}
|
|
190
|
+
if (format.blockStart.includes(syntax.block.end)) {
|
|
191
|
+
throw new Error(`Provided format for ${fileExtension} file may cause syntax errors since it closes the block comment with "${syntax.block.end}" in blockStart`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Parse the hashbang, header and body from a file.
|
|
197
|
+
* The header is the first block comment, or consecutive series of line comments found in the file, after the hashbang
|
|
198
|
+
*/
|
|
199
|
+
const parseFile = (content, syntax) => {
|
|
200
|
+
const lines = content.split('\n');
|
|
201
|
+
let i = 0;
|
|
202
|
+
// Hashbangs must always go first, so extract this if it exists
|
|
203
|
+
const hashbangLines = [];
|
|
204
|
+
for (; i < lines.length; i++) {
|
|
205
|
+
if (hashbangLines.length === 0) {
|
|
206
|
+
if (lines[i].startsWith('#!')) {
|
|
207
|
+
hashbangLines.push(lines[i]);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
if (lines[i].trim().length === 0) {
|
|
215
|
+
// Preserve any empty lines following the hashbang
|
|
216
|
+
hashbangLines.push(lines[i]);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// After the hashbang, consume the next comment which follows.
|
|
224
|
+
// This could either be all lines of a block comment, or all consecutive line comments until a non line-comment is seen
|
|
225
|
+
const headerLines = [];
|
|
226
|
+
let withinBlockComment = false;
|
|
227
|
+
let withinLineCommentSeries = false;
|
|
228
|
+
for (; i < lines.length; i++) {
|
|
229
|
+
const trimmedLine = lines[i].trim();
|
|
230
|
+
if (syntax.block &&
|
|
231
|
+
trimmedLine.endsWith(syntax.block.end) &&
|
|
232
|
+
!withinLineCommentSeries) {
|
|
233
|
+
// Comment ends with the block end, so we've completed the header and therefore break out of the loop
|
|
234
|
+
headerLines.push(lines[i]);
|
|
235
|
+
i++; // Increment here to ensure we point to the next line for the body
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
else if (syntax.block &&
|
|
239
|
+
trimmedLine.startsWith(syntax.block.start) &&
|
|
240
|
+
!withinLineCommentSeries) {
|
|
241
|
+
// Line begins a comment block (without also ending it on the same line), so start consuming the block
|
|
242
|
+
withinBlockComment = true;
|
|
243
|
+
headerLines.push(lines[i]);
|
|
244
|
+
}
|
|
245
|
+
else if (withinBlockComment) {
|
|
246
|
+
// We haven't yet closed the block comment, so consume this line
|
|
247
|
+
headerLines.push(lines[i]);
|
|
248
|
+
}
|
|
249
|
+
else if (syntax.line && trimmedLine.startsWith(syntax.line)) {
|
|
250
|
+
// Line starts with the line comment syntax, so consume it
|
|
251
|
+
withinLineCommentSeries = true;
|
|
252
|
+
headerLines.push(lines[i]);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// Body of the file is the rest
|
|
259
|
+
const bodyLines = lines.slice(i);
|
|
260
|
+
return {
|
|
261
|
+
hashbang: hashbangLines.join('\n'),
|
|
262
|
+
header: headerLines.join('\n'),
|
|
263
|
+
body: bodyLines.join('\n'),
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
/**
|
|
267
|
+
* Add a header to the given file according to the header content and license config
|
|
268
|
+
* Returns true if the header was added/updated, and false otherwise.
|
|
269
|
+
*/
|
|
270
|
+
const addHeader = (tree, file, contentLines, config, format) => {
|
|
271
|
+
var _a, _b;
|
|
272
|
+
const fileName = (0, path_1.basename)(file);
|
|
273
|
+
const fileNameParts = fileName.split('.');
|
|
274
|
+
const fileExtension = fileNameParts[fileNameParts.length - 1];
|
|
275
|
+
const syntax = (_b = ((_a = config.commentSyntax) !== null && _a !== void 0 ? _a : {})[fileExtension]) !== null && _b !== void 0 ? _b : config_1.LANGUAGE_COMMENT_SYNTAX[fileExtension];
|
|
276
|
+
if (!syntax) {
|
|
277
|
+
throw new Error(`Unknown file extension ${fileExtension}. Please configure commentSyntax in ${utils_1.AWS_NX_PLUGIN_CONFIG_FILE_NAME}, eg:
|
|
278
|
+
|
|
279
|
+
export default {
|
|
280
|
+
license: {
|
|
281
|
+
header: {
|
|
282
|
+
...
|
|
283
|
+
commentSyntax: {
|
|
284
|
+
${fileExtension}: {
|
|
285
|
+
line: "//",
|
|
286
|
+
block: { start: "/*", end: "*/" }
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
} satisfies AwsNxPluginConfig;
|
|
292
|
+
`);
|
|
293
|
+
}
|
|
294
|
+
// Check that we would render a valid comment
|
|
295
|
+
validateFormat(fileExtension, syntax, format, contentLines);
|
|
296
|
+
const existingContent = tree.read(file, 'utf-8');
|
|
297
|
+
const { hashbang, body } = parseFile(existingContent, syntax);
|
|
298
|
+
const newContent = [
|
|
299
|
+
...(hashbang ? [hashbang] : []),
|
|
300
|
+
renderHeader(contentLines, format),
|
|
301
|
+
body,
|
|
302
|
+
].join('\n');
|
|
303
|
+
// Sanity check that we wouldn't edit the hashbang or body, only the header
|
|
304
|
+
const { hashbang: newHashbang, body: newBody } = parseFile(newContent, syntax);
|
|
305
|
+
if (hashbang !== newHashbang || body !== newBody) {
|
|
306
|
+
throw new Error(`The license header content, or format for ${fileExtension} files would produce a header that cannot be safely replaced. Please revise license content and format in ${utils_1.AWS_NX_PLUGIN_CONFIG_FILE_NAME}`);
|
|
307
|
+
}
|
|
308
|
+
if (newContent !== existingContent) {
|
|
309
|
+
tree.write(file, newContent);
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
312
|
+
return false;
|
|
313
|
+
};
|
|
314
|
+
exports.default = licenseSyncGenerator;
|
|
315
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -121,15 +121,13 @@ exports[`trpc react generator > should modify main.tsx correctly > main.tsx 1`]
|
|
|
121
121
|
"import TrpcClientProviders from './components/TrpcClients';
|
|
122
122
|
import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
123
123
|
import { App } from './app';
|
|
124
|
-
import {
|
|
124
|
+
import { RouterProvider } from '@tanstack/react-router';
|
|
125
125
|
export function Main() {
|
|
126
126
|
return (
|
|
127
127
|
<RuntimeConfigProvider>
|
|
128
|
-
<
|
|
129
|
-
<
|
|
130
|
-
|
|
131
|
-
</TrpcClientProviders>
|
|
132
|
-
</BrowserRouter>
|
|
128
|
+
<TrpcClientProviders>
|
|
129
|
+
<RouterProvider router={router} />
|
|
130
|
+
</TrpcClientProviders>
|
|
133
131
|
</RuntimeConfigProvider>
|
|
134
132
|
);
|
|
135
133
|
}
|
|
@@ -80,7 +80,7 @@ function reactGenerator(tree, options) {
|
|
|
80
80
|
const mainTsxAst = (0, tsquery_1.ast)(mainTsxSource);
|
|
81
81
|
const hasProvider = tsquery_1.tsquery.query(mainTsxAst, 'JsxOpeningElement[tagName.name="TrpcClientProviders"]').length > 0;
|
|
82
82
|
if (!hasProvider) {
|
|
83
|
-
(0, ast_1.replace)(tree, mainTsxPath, 'JsxSelfClosingElement[tagName.name="
|
|
83
|
+
(0, ast_1.replace)(tree, mainTsxPath, 'JsxSelfClosingElement[tagName.name="RouterProvider"]', (node) => (0, ast_1.createJsxElementFromIdentifier)('TrpcClientProviders', [node]));
|
|
84
84
|
}
|
|
85
85
|
// update TrpcApis.tsx
|
|
86
86
|
const trpcApisPath = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'components/TrpcClients/TrpcApis.tsx');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
|
package/src/ts/lib/eslint.js
CHANGED
|
@@ -12,7 +12,7 @@ const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
|
12
12
|
const typescript_1 = require("typescript");
|
|
13
13
|
const ast_1 = require("../../utils/ast");
|
|
14
14
|
const configureEslint = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
var _a, _b, _c;
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
16
|
// Configure the lint task
|
|
17
17
|
let nxJson = (0, devkit_1.readNxJson)(tree);
|
|
18
18
|
if (!((_a = nxJson.plugins) === null || _a === void 0 ? void 0 : _a.filter((e) => typeof e !== 'string').some((e) => e.plugin === '@nx/eslint/plugin'))) {
|
|
@@ -26,7 +26,7 @@ const configureEslint = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, func
|
|
|
26
26
|
},
|
|
27
27
|
] }));
|
|
28
28
|
}
|
|
29
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['prettier', 'eslint-plugin-prettier']));
|
|
29
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['prettier', 'eslint-plugin-prettier', 'jsonc-eslint-parser']));
|
|
30
30
|
// Update or create eslint.config.mjs
|
|
31
31
|
const eslintConfigPath = 'eslint.config.mjs';
|
|
32
32
|
if (tree.exists(eslintConfigPath)) {
|
|
@@ -55,19 +55,15 @@ const configureEslint = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, func
|
|
|
55
55
|
tree.write(eslintConfigPath, updatedContent.getFullText());
|
|
56
56
|
}
|
|
57
57
|
nxJson = (0, devkit_1.readNxJson)(tree);
|
|
58
|
-
(0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, ((_c = nxJson.targetDefaults) !== null && _c !== void 0 ? _c : {})), { lint: {
|
|
59
|
-
cache: true,
|
|
60
|
-
configurations: {
|
|
58
|
+
(0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, ((_c = nxJson.targetDefaults) !== null && _c !== void 0 ? _c : {})), { lint: Object.assign(Object.assign({}, (_d = nxJson.targetDefaults) === null || _d === void 0 ? void 0 : _d.lint), { cache: true, configurations: {
|
|
61
59
|
fix: {
|
|
62
60
|
fix: true,
|
|
63
61
|
},
|
|
64
|
-
},
|
|
65
|
-
inputs: [
|
|
62
|
+
}, inputs: [
|
|
66
63
|
'default',
|
|
67
64
|
'{workspaceRoot}/eslint.config.mjs',
|
|
68
65
|
'{projectRoot}/eslint.config.mjs',
|
|
69
|
-
]
|
|
70
|
-
} }) }));
|
|
66
|
+
] }) }) }));
|
|
71
67
|
}
|
|
72
68
|
});
|
|
73
69
|
exports.configureEslint = configureEslint;
|
package/src/ts/lib/eslint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,mDAAoD;AACpD,uDAAyD;AACzD,2CAA6D;AAC7D,yCAA+C;AACxC,MAAM,eAAe,GAAG,CAAO,IAAU,EAAE,EAAE;;IAClD,0BAA0B;IAC1B,IAAI,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,IACE,CAAC,CAAA,MAAA,MAAM,CAAC,OAAO,0CACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EACpC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAA,EAChD,CAAC;QACD,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,OAAO,EAAE;gBACP,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;gBACzB;oBACE,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EAAE;wBACP,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF,IACD,CAAC;IACL,CAAC;IACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":"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"}
|
package/src/utils/ast.d.ts
CHANGED
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
6
|
import { NodeTransformer } from '@phenomnomnominal/tsquery';
|
|
7
|
-
import { JsxChild, JsxClosingElement, JsxOpeningElement } from 'typescript';
|
|
7
|
+
import { JsxChild, JsxClosingElement, JsxOpeningElement, Node } from 'typescript';
|
|
8
8
|
export declare const destructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => string;
|
|
9
9
|
export declare const singleImport: (tree: Tree, filePath: string, variableName: string, from: string) => string;
|
|
10
10
|
export declare const addStarExport: (tree: Tree, filePath: string, from: string) => void;
|
|
11
11
|
export declare const replace: (tree: Tree, filePath: string, selector: string, transformer: NodeTransformer, errorIfNoMatches?: boolean) => void;
|
|
12
12
|
export declare const createJsxElementFromIdentifier: (identifier: string, children: readonly JsxChild[]) => import("typescript").JsxElement;
|
|
13
13
|
export declare const createJsxElement: (openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement) => import("typescript").JsxElement;
|
|
14
|
+
/**
|
|
15
|
+
* Convert a given json object to its AST representation
|
|
16
|
+
*/
|
|
17
|
+
export declare const jsonToAst: (obj: unknown) => Node;
|
package/src/utils/ast.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createJsxElement = exports.createJsxElementFromIdentifier = exports.replace = exports.addStarExport = exports.singleImport = exports.destructuredImport = void 0;
|
|
3
|
+
exports.jsonToAst = exports.createJsxElement = exports.createJsxElementFromIdentifier = exports.replace = exports.addStarExport = exports.singleImport = exports.destructuredImport = void 0;
|
|
4
4
|
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
5
5
|
const typescript_1 = require("typescript");
|
|
6
6
|
const assertFilePath = (tree, filePath) => {
|
|
@@ -99,4 +99,38 @@ const createJsxElementFromIdentifier = (identifier, children) => typescript_1.fa
|
|
|
99
99
|
exports.createJsxElementFromIdentifier = createJsxElementFromIdentifier;
|
|
100
100
|
const createJsxElement = (openingElement, children, closingElement) => typescript_1.factory.createJsxElement(openingElement, children, closingElement);
|
|
101
101
|
exports.createJsxElement = createJsxElement;
|
|
102
|
+
/**
|
|
103
|
+
* Convert a given json object to its AST representation
|
|
104
|
+
*/
|
|
105
|
+
const jsonToAst = (obj) => {
|
|
106
|
+
if (obj === null) {
|
|
107
|
+
return typescript_1.factory.createNull();
|
|
108
|
+
}
|
|
109
|
+
if (obj === undefined) {
|
|
110
|
+
return typescript_1.factory.createIdentifier('undefined');
|
|
111
|
+
}
|
|
112
|
+
if (typeof obj === 'string') {
|
|
113
|
+
return typescript_1.factory.createStringLiteral(obj);
|
|
114
|
+
}
|
|
115
|
+
if (typeof obj === 'number') {
|
|
116
|
+
return typescript_1.factory.createNumericLiteral(obj);
|
|
117
|
+
}
|
|
118
|
+
if (typeof obj === 'boolean') {
|
|
119
|
+
return obj ? typescript_1.factory.createTrue() : typescript_1.factory.createFalse();
|
|
120
|
+
}
|
|
121
|
+
if (Array.isArray(obj)) {
|
|
122
|
+
return typescript_1.factory.createArrayLiteralExpression(obj.map((item) => (0, exports.jsonToAst)(item)));
|
|
123
|
+
}
|
|
124
|
+
if (typeof obj === 'object') {
|
|
125
|
+
return typescript_1.factory.createObjectLiteralExpression(Object.entries(obj).map(([key, value]) => {
|
|
126
|
+
// Check if the key is a valid identifier
|
|
127
|
+
const isValidIdentifier = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key);
|
|
128
|
+
return typescript_1.factory.createPropertyAssignment(isValidIdentifier
|
|
129
|
+
? typescript_1.factory.createIdentifier(key)
|
|
130
|
+
: typescript_1.factory.createStringLiteral(key), (0, exports.jsonToAst)(value));
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
throw new Error(`Unsupported type: ${typeof obj}`);
|
|
134
|
+
};
|
|
135
|
+
exports.jsonToAst = jsonToAst;
|
|
102
136
|
//# sourceMappingURL=ast.js.map
|