@aws/nx-plugin 0.2.0 → 0.3.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 +1470 -3006
- package/generators.json +11 -6
- package/package.json +16 -13
- package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +15 -19
- package/src/cloudscape-website/app/files/common/constructs/src/core/static-website.ts.template +5 -0
- package/src/cloudscape-website/app/generator.js +29 -23
- package/src/cloudscape-website/app/generator.js.map +1 -1
- package/src/cloudscape-website/app/schema.d.ts +0 -1
- package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +13 -11
- 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 +9 -2
- package/src/cloudscape-website/runtime-config/generator.js +1 -1
- 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 +78 -61
- package/src/infra/app/files/common/constructs/src/core/cfn-guard.ts.template +2 -2
- package/src/infra/app/generator.js +20 -5
- package/src/infra/app/generator.js.map +1 -1
- package/src/license/README.md +255 -0
- package/src/license/__snapshots__/config.spec.ts.snap +89 -0
- package/src/license/config-types.d.ts +107 -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 +174 -0
- package/src/license/config.js.map +1 -0
- package/src/license/files/licenses/ASL/LICENSE.template +96 -0
- package/src/license/files/licenses/Apache-2.0/LICENSE.template +175 -0
- package/src/license/files/licenses/MIT/LICENSE.template +21 -0
- package/src/license/generator.d.ts +8 -0
- package/src/license/generator.js +32 -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/generator.d.ts +9 -0
- package/src/license/sync/generator.js +307 -0
- package/src/license/sync/generator.js.map +1 -0
- package/src/license/sync/schema.json +9 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +13 -10
- package/src/trpc/backend/generator.js +2 -2
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/generator.js +2 -2
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +47 -93
- package/src/ts/lib/eslint.d.ts +1 -2
- package/src/ts/lib/eslint.js +26 -37
- package/src/ts/lib/eslint.js.map +1 -1
- package/src/ts/lib/generator.js +34 -2
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/schema.d.ts +0 -1
- package/src/ts/lib/schema.json +0 -6
- package/src/ts/lib/ts-project-utils.js +3 -18
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/vitest.js +2 -4
- package/src/ts/lib/vitest.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/files/common/types/src/runtime-config.ts.template +1 -0
- package/src/utils/format.d.ts +1 -1
- package/src/utils/format.js +2 -2
- package/src/utils/format.js.map +1 -1
- 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/shared-constructs.js +2 -2
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/test.d.ts +2 -0
- package/src/utils/test.js +19 -0
- package/src/utils/test.js.map +1 -0
- package/src/ts/cjs-to-esm/generator.d.ts +0 -12
- package/src/ts/cjs-to-esm/generator.js +0 -189
- package/src/ts/cjs-to-esm/generator.js.map +0 -1
- package/src/ts/cjs-to-esm/schema.d.ts +0 -9
- package/src/ts/cjs-to-esm/schema.json +0 -28
package/src/utils/ast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":";;;AAKA,uDAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`config utils > should update user config 1`] = `
|
|
4
|
+
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
5
|
+
export default {
|
|
6
|
+
license: {
|
|
7
|
+
header: {
|
|
8
|
+
content: { lines: ['Test Copyright Header'] },
|
|
9
|
+
format: {
|
|
10
|
+
'**/*.ts': { blockStart: '/**', lineStart: ' * ', blockEnd: ' */' },
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
} satisfies AwsNxPluginConfig;
|
|
15
|
+
"
|
|
16
|
+
`;
|
|
@@ -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 { LicenseConfig } from '../../license/config-types';
|
|
6
|
+
export * from '../../license/config-types';
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for the nx plugin
|
|
9
|
+
*/
|
|
10
|
+
export interface AwsNxPluginConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for the license sync generator
|
|
13
|
+
*/
|
|
14
|
+
license?: LicenseConfig;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/config/index.ts"],"names":[],"mappings":";;;AAKA,qEAA2C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { AwsNxPluginConfig } from '.';
|
|
7
|
+
export declare const AWS_NX_PLUGIN_CONFIG_FILE_NAME = "aws-nx-plugin.config.mts";
|
|
8
|
+
/**
|
|
9
|
+
* Ensure that the config file exists
|
|
10
|
+
*/
|
|
11
|
+
export declare const ensureAwsNxPluginConfig: (tree: Tree) => Promise<AwsNxPluginConfig>;
|
|
12
|
+
/**
|
|
13
|
+
* Read config from the aws nx plugin configuration file
|
|
14
|
+
*/
|
|
15
|
+
export declare const readAwsNxPluginConfig: (tree: Tree) => Promise<AwsNxPluginConfig | undefined>;
|
|
16
|
+
/**
|
|
17
|
+
* Update the aws nx plugin config file.
|
|
18
|
+
* Undefined top level keys in the config update will be untouched, otherwise config is replaced
|
|
19
|
+
*/
|
|
20
|
+
export declare const updateAwsNxPluginConfig: (tree: Tree, configUpdate: Partial<AwsNxPluginConfig>) => Promise<void>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateAwsNxPluginConfig = exports.readAwsNxPluginConfig = exports.ensureAwsNxPluginConfig = exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const devkit_1 = require("@nx/devkit");
|
|
10
|
+
const ts = tslib_1.__importStar(require("typescript"));
|
|
11
|
+
const ast_1 = require("../ast");
|
|
12
|
+
const typescript_1 = require("typescript");
|
|
13
|
+
const format_1 = require("../format");
|
|
14
|
+
const js_1 = require("../js");
|
|
15
|
+
exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME = 'aws-nx-plugin.config.mts';
|
|
16
|
+
/**
|
|
17
|
+
* Ensure that the config file exists
|
|
18
|
+
*/
|
|
19
|
+
const ensureAwsNxPluginConfig = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
if (!tree.exists(exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME)) {
|
|
21
|
+
// Create an empty config file if it doesn't already exist
|
|
22
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), '.', {});
|
|
23
|
+
}
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
25
|
+
return yield (0, exports.readAwsNxPluginConfig)(tree);
|
|
26
|
+
});
|
|
27
|
+
exports.ensureAwsNxPluginConfig = ensureAwsNxPluginConfig;
|
|
28
|
+
/**
|
|
29
|
+
* Read config from the aws nx plugin configuration file
|
|
30
|
+
*/
|
|
31
|
+
const readAwsNxPluginConfig = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
if (!tree.exists(exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME)) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const configTs = tree.read(exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME, 'utf-8');
|
|
36
|
+
return yield (0, js_1.importTypeScriptModule)(configTs);
|
|
37
|
+
});
|
|
38
|
+
exports.readAwsNxPluginConfig = readAwsNxPluginConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Update the aws nx plugin config file.
|
|
41
|
+
* Undefined top level keys in the config update will be untouched, otherwise config is replaced
|
|
42
|
+
*/
|
|
43
|
+
const updateAwsNxPluginConfig = (tree, configUpdate) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
// Replace the default export
|
|
45
|
+
(0, ast_1.replace)(tree, exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME, 'ExportAssignment ObjectLiteralExpression', (node) => {
|
|
46
|
+
const existingObj = node;
|
|
47
|
+
const existingProps = new Map();
|
|
48
|
+
existingObj.properties.forEach((prop) => {
|
|
49
|
+
if (ts.isPropertyAssignment(prop)) {
|
|
50
|
+
existingProps.set(prop.name.getText(), prop);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const properties = [];
|
|
54
|
+
for (const [key, value] of Object.entries(configUpdate)) {
|
|
55
|
+
properties.push(typescript_1.factory.createPropertyAssignment(key, (0, ast_1.jsonToAst)(value)));
|
|
56
|
+
}
|
|
57
|
+
existingObj.properties.forEach((prop) => {
|
|
58
|
+
if (ts.isPropertyAssignment(prop)) {
|
|
59
|
+
const name = prop.name.getText();
|
|
60
|
+
if (configUpdate[name] === undefined) {
|
|
61
|
+
properties.push(prop);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return typescript_1.factory.createObjectLiteralExpression(properties, true);
|
|
66
|
+
});
|
|
67
|
+
// Format the config nicely after an update
|
|
68
|
+
yield (0, format_1.formatFilesInSubtree)(tree, exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME);
|
|
69
|
+
});
|
|
70
|
+
exports.updateAwsNxPluginConfig = updateAwsNxPluginConfig;
|
|
71
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/config/utils.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAoE;AAEpE,uDAAiC;AACjC,gCAA4C;AAC5C,2CAAqC;AACrC,sCAAiD;AACjD,8BAA+C;AAElC,QAAA,8BAA8B,GAAG,0BAA0B,CAAC;AAEzE;;GAEG;AACI,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACkB,EAAE;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sCAA8B,CAAC,EAAE,CAAC;QACjD,0DAA0D;QAC1D,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,oEAAoE;IACpE,OAAO,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAE,CAAC;AAC5C,CAAC,CAAA,CAAC;AATW,QAAA,uBAAuB,2BASlC;AAEF;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,IAAU,EAC8B,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sCAA8B,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,sCAA8B,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,MAAM,IAAA,2BAAsB,EAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAA,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAEF;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACV,YAAwC,EACzB,EAAE;IACjB,6BAA6B;IAC7B,IAAA,aAAO,EACL,IAAI,EACJ,sCAA8B,EAC9B,0CAA0C,EAC1C,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,WAAW,GAAG,IAAkC,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC/D,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAA4B,EAAE,CAAC;QAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,IAAI,CACb,oBAAO,CAAC,wBAAwB,CAC9B,GAAG,EACH,IAAA,eAAS,EAAC,KAAK,CAAkB,CAClC,CACF,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,oBAAO,CAAC,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE,sCAA8B,CAAC,CAAC;AACnE,CAAC,CAAA,CAAC;AA7CW,QAAA,uBAAuB,2BA6ClC"}
|
package/src/utils/format.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import { Tree } from '@nx/devkit';
|
|
|
7
7
|
* Format files in the given directory within the tree
|
|
8
8
|
* See https://github.com/nrwl/nx/blob/4cd640a9187954505d12de5b6d76a90d8ce4c2eb/packages/devkit/src/generators/format-files.ts#L11
|
|
9
9
|
*/
|
|
10
|
-
export declare function formatFilesInSubtree(tree: Tree, dir
|
|
10
|
+
export declare function formatFilesInSubtree(tree: Tree, dir?: string): Promise<void>;
|
package/src/utils/format.js
CHANGED
|
@@ -25,7 +25,7 @@ function formatFilesInSubtree(tree, dir) {
|
|
|
25
25
|
const files = new Set(tree
|
|
26
26
|
.listChanges()
|
|
27
27
|
.filter((file) => file.type !== 'DELETE')
|
|
28
|
-
.filter((file) => file.path.startsWith(dir)));
|
|
28
|
+
.filter((file) => (dir ? file.path.startsWith(dir) : true)));
|
|
29
29
|
const changedPrettierInTree = getChangedPrettierConfigInTree(tree);
|
|
30
30
|
yield Promise.all(Array.from(files).map((file) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
31
|
try {
|
|
@@ -33,7 +33,7 @@ function formatFilesInSubtree(tree, dir) {
|
|
|
33
33
|
const resolvedOptions = yield prettier.resolveConfig(systemPath, {
|
|
34
34
|
editorconfig: true,
|
|
35
35
|
});
|
|
36
|
-
const options = Object.assign(Object.assign(Object.assign({}, resolvedOptions), changedPrettierInTree), { filepath: systemPath });
|
|
36
|
+
const options = Object.assign(Object.assign(Object.assign({ trailingComma: 'all' }, resolvedOptions), changedPrettierInTree), { filepath: systemPath });
|
|
37
37
|
const support = yield prettier.getFileInfo(systemPath, options);
|
|
38
38
|
if (support.ignored || !support.inferredParser) {
|
|
39
39
|
return;
|
package/src/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/format.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/format.ts"],"names":[],"mappings":";;AAYA,oDAgDC;;AA5DD;;;GAGG;AACH,uCAA4C;AAC5C,wDAAwB;AAGxB;;;GAGG;AACH,SAAsB,oBAAoB,CACxC,IAAU,EACV,GAAY;;QAEZ,IAAI,QAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,gEAAa,UAAU,GAAC,CAAC;QACtC,CAAC;QAAC,WAAM,CAAC;YACP,gDAAgD;YAChD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,IAAI;aACD,WAAW,EAAE;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;aACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;QACF,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE;oBAC/D,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,MAAM,OAAO,+CACX,aAAa,EAAE,KAAK,IACjB,eAAe,GACf,qBAAqB,KACxB,QAAQ,EAAE,UAAU,GACrB,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAc,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,IAAI;gBACT,gDAAgD;gBAChD,MAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAEnD,CACZ,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;CAAA;AACD,SAAS,8BAA8B,CAAC,IAAU;IAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,OAAO,IAAA,iBAAQ,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACvC,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
/**
|
|
7
|
+
* Returns all files from the tree root that are not gitignored (both tracked and untracked)
|
|
8
|
+
*/
|
|
9
|
+
export declare const getGitIncludedFiles: (tree: Tree) => string[];
|
package/src/utils/git.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGitIncludedFiles = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
/**
|
|
6
|
+
* Returns all files from the tree root that are not gitignored (both tracked and untracked)
|
|
7
|
+
*/
|
|
8
|
+
const getGitIncludedFiles = (tree) => {
|
|
9
|
+
return [
|
|
10
|
+
// Git tracked files
|
|
11
|
+
...(0, child_process_1.execSync)('git ls-files --exclude-standard', {
|
|
12
|
+
encoding: 'utf-8',
|
|
13
|
+
cwd: tree.root,
|
|
14
|
+
})
|
|
15
|
+
.split('\n')
|
|
16
|
+
.filter((x) => x),
|
|
17
|
+
// Untracked files that aren't ignored
|
|
18
|
+
...(0, child_process_1.execSync)('git ls-files --others --exclude-standard', {
|
|
19
|
+
encoding: 'utf-8',
|
|
20
|
+
cwd: tree.root,
|
|
21
|
+
})
|
|
22
|
+
.split('\n')
|
|
23
|
+
.filter((x) => x),
|
|
24
|
+
];
|
|
25
|
+
};
|
|
26
|
+
exports.getGitIncludedFiles = getGitIncludedFiles;
|
|
27
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/git.ts"],"names":[],"mappings":";;;AAKA,iDAAyC;AAEzC;;GAEG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAY,EAAE;IAC1D,OAAO;QACL,oBAAoB;QACpB,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;aACC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnB,sCAAsC;QACtC,GAAG,IAAA,wBAAQ,EAAC,0CAA0C,EAAE;YACtD,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;aACC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Imports a javascript module from a string of js code
|
|
3
|
+
*/
|
|
4
|
+
export declare const importJavaScriptModule: <T>(jsCode: string) => Promise<T>;
|
|
5
|
+
/**
|
|
6
|
+
* Imports a typescript module from a string of typescript code
|
|
7
|
+
*/
|
|
8
|
+
export declare const importTypeScriptModule: <T>(tsCode: string) => Promise<T>;
|
package/src/utils/js.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.importTypeScriptModule = exports.importJavaScriptModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
10
|
+
const config_utils_1 = require("@nx/devkit/src/utils/config-utils");
|
|
11
|
+
/**
|
|
12
|
+
* Imports a javascript module from a string of js code
|
|
13
|
+
*/
|
|
14
|
+
const importJavaScriptModule = (jsCode) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
var _a;
|
|
16
|
+
// Use nx's dynamic import to ensure that transpilers (namely @swc-node/register) don't process the import and it's
|
|
17
|
+
// instead processed by node at runtime, which allows for data urls
|
|
18
|
+
const module = yield (0, config_utils_1.dynamicImport)(`data:text/javascript,${encodeURIComponent(jsCode)}`);
|
|
19
|
+
// Return the default export if available, otherwise the full module
|
|
20
|
+
return ((_a = module.default) !== null && _a !== void 0 ? _a : module);
|
|
21
|
+
});
|
|
22
|
+
exports.importJavaScriptModule = importJavaScriptModule;
|
|
23
|
+
/**
|
|
24
|
+
* Imports a typescript module from a string of typescript code
|
|
25
|
+
*/
|
|
26
|
+
const importTypeScriptModule = (tsCode) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
// Transpile to js and then import as a js module
|
|
28
|
+
const jsCode = typescript_1.default.transpileModule(tsCode, {
|
|
29
|
+
compilerOptions: { module: typescript_1.default.ModuleKind.ESNext },
|
|
30
|
+
}).outputText;
|
|
31
|
+
return yield (0, exports.importJavaScriptModule)(jsCode);
|
|
32
|
+
});
|
|
33
|
+
exports.importTypeScriptModule = importTypeScriptModule;
|
|
34
|
+
//# sourceMappingURL=js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/js.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oEAA4B;AAC5B,oEAAkE;AAElE;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAU,MAAc,EAAc,EAAE;;IAC5E,mHAAmH;IACnH,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAChC,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACrD,CAAC;IAEF,oEAAoE;IACpE,OAAO,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,MAAM,CAAM,CAAC;AACzC,CAAC,CAAA,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEF;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAU,MAAc,EAAc,EAAE;IAC5E,iDAAiD;IACjD,MAAM,MAAM,GAAG,oBAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,EAAE,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC,UAAU,CAAC;IACd,OAAO,MAAM,IAAA,8BAAsB,EAAI,MAAM,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC;AANW,QAAA,sBAAsB,0BAMjC"}
|
|
@@ -40,7 +40,7 @@ function sharedConstructsGenerator(tree) {
|
|
|
40
40
|
}, {
|
|
41
41
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
42
42
|
});
|
|
43
|
-
(0, format_1.formatFilesInSubtree)(tree
|
|
43
|
+
(0, format_1.formatFilesInSubtree)(tree);
|
|
44
44
|
}
|
|
45
45
|
if (!tree.exists((0, devkit_1.joinPathFragments)(exports.PACKAGES_DIR, exports.SHARED_CONSTRUCTS_DIR, 'project.json'))) {
|
|
46
46
|
yield (0, generator_1.default)(tree, {
|
|
@@ -62,8 +62,8 @@ function sharedConstructsGenerator(tree) {
|
|
|
62
62
|
}, {
|
|
63
63
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
64
64
|
});
|
|
65
|
-
(0, format_1.formatFilesInSubtree)(tree, (0, devkit_1.joinPathFragments)(exports.PACKAGES_DIR, exports.SHARED_CONSTRUCTS_DIR));
|
|
66
65
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(['constructs', 'aws-cdk-lib']), {});
|
|
66
|
+
(0, format_1.formatFilesInSubtree)(tree);
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":";;;AAqBA,
|
|
1
|
+
{"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTreeUsingTsSolutionSetup = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const vitest_1 = require("vitest");
|
|
10
|
+
const testing_1 = require("@nx/devkit/testing");
|
|
11
|
+
const ts_solution_setup_1 = tslib_1.__importDefault(require("@nx/js/src/utils/typescript/ts-solution-setup"));
|
|
12
|
+
const createTreeUsingTsSolutionSetup = () => {
|
|
13
|
+
vitest_1.vi.spyOn(ts_solution_setup_1.default, 'isUsingTsSolutionSetup').mockImplementation(() => true);
|
|
14
|
+
const tree = (0, testing_1.createTreeWithEmptyWorkspace)();
|
|
15
|
+
tree.write('tsconfig.json', '{}');
|
|
16
|
+
return tree;
|
|
17
|
+
};
|
|
18
|
+
exports.createTreeUsingTsSolutionSetup = createTreeUsingTsSolutionSetup;
|
|
19
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/test.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,mCAA4B;AAC5B,gDAAkE;AAElE,8GAA0E;AAEnE,MAAM,8BAA8B,GAAG,GAAS,EAAE;IACvD,WAAE,CAAC,KAAK,CAAC,2BAAa,EAAE,wBAAwB,CAAC,CAAC,kBAAkB,CAClE,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,sCAA4B,GAAE,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
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 { CjsToEsmGeneratorSchema } from './schema';
|
|
7
|
-
export declare function cjsToEsm(tree: Tree, relativePathInTree: string, options?: {
|
|
8
|
-
include?: string[];
|
|
9
|
-
exclude?: string[];
|
|
10
|
-
}): void;
|
|
11
|
-
export declare function cjsToEsmGenerator(tree: Tree, options: CjsToEsmGeneratorSchema): Promise<void>;
|
|
12
|
-
export default cjsToEsmGenerator;
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cjsToEsm = cjsToEsm;
|
|
4
|
-
exports.cjsToEsmGenerator = cjsToEsmGenerator;
|
|
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 tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
12
|
-
const ts = tslib_1.__importStar(require("typescript"));
|
|
13
|
-
const minimatch_1 = require("minimatch");
|
|
14
|
-
// Replaces "module.exports = value" with "export default value"
|
|
15
|
-
const replaceModuleExportsWithExportDefault = (sourceFile) => {
|
|
16
|
-
const transformer = (context) => (rootNode) => {
|
|
17
|
-
function visit(node) {
|
|
18
|
-
if (ts.isExpressionStatement(node)) {
|
|
19
|
-
const expr = node.expression;
|
|
20
|
-
if (ts.isBinaryExpression(expr) &&
|
|
21
|
-
ts.isPropertyAccessExpression(expr.left) &&
|
|
22
|
-
ts.isIdentifier(expr.left.expression) &&
|
|
23
|
-
expr.left.expression.text === 'module' &&
|
|
24
|
-
ts.isIdentifier(expr.left.name) &&
|
|
25
|
-
expr.left.name.text === 'exports' &&
|
|
26
|
-
expr.operatorToken.kind === ts.SyntaxKind.EqualsToken) {
|
|
27
|
-
// Create an export default statement
|
|
28
|
-
return context.factory.createExportAssignment(undefined, undefined, expr.right);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return ts.visitEachChild(node, visit, context);
|
|
32
|
-
}
|
|
33
|
-
return ts.visitNode(rootNode, visit);
|
|
34
|
-
};
|
|
35
|
-
const result = ts.transform(sourceFile, [transformer]);
|
|
36
|
-
return result.transformed[0];
|
|
37
|
-
};
|
|
38
|
-
// Replaces "const x = require('y')" with "import x from 'y'"
|
|
39
|
-
const replaceRequires = (sourceFile) => {
|
|
40
|
-
const transformer = (context) => (rootNode) => {
|
|
41
|
-
function visit(node) {
|
|
42
|
-
if (ts.isVariableStatement(node)) {
|
|
43
|
-
const declaration = node.declarationList.declarations[0];
|
|
44
|
-
if (declaration && ts.isVariableDeclaration(declaration)) {
|
|
45
|
-
const initializer = declaration.initializer;
|
|
46
|
-
if (initializer &&
|
|
47
|
-
ts.isCallExpression(initializer) &&
|
|
48
|
-
ts.isIdentifier(initializer.expression) &&
|
|
49
|
-
initializer.expression.text === 'require' &&
|
|
50
|
-
initializer.arguments.length === 1) {
|
|
51
|
-
const modulePath = initializer.arguments[0];
|
|
52
|
-
if (ts.isStringLiteral(modulePath)) {
|
|
53
|
-
// Handle destructuring pattern
|
|
54
|
-
if (ts.isObjectBindingPattern(declaration.name)) {
|
|
55
|
-
const importSpecifiers = declaration.name.elements
|
|
56
|
-
.map((element) => {
|
|
57
|
-
if (ts.isBindingElement(element) &&
|
|
58
|
-
ts.isIdentifier(element.name)) {
|
|
59
|
-
return context.factory.createImportSpecifier(false, undefined, element.name);
|
|
60
|
-
}
|
|
61
|
-
return undefined;
|
|
62
|
-
})
|
|
63
|
-
.filter((spec) => spec !== undefined);
|
|
64
|
-
return context.factory.createImportDeclaration(undefined, context.factory.createImportClause(false, undefined, context.factory.createNamedImports(importSpecifiers)), modulePath, undefined);
|
|
65
|
-
}
|
|
66
|
-
// Handle simple require
|
|
67
|
-
if (ts.isIdentifier(declaration.name)) {
|
|
68
|
-
return context.factory.createImportDeclaration(undefined, context.factory.createImportClause(false, declaration.name, undefined), modulePath, undefined);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return ts.visitEachChild(node, visit, context);
|
|
75
|
-
}
|
|
76
|
-
return ts.visitNode(rootNode, visit);
|
|
77
|
-
};
|
|
78
|
-
const result = ts.transform(sourceFile, [transformer]);
|
|
79
|
-
return result.transformed[0];
|
|
80
|
-
};
|
|
81
|
-
// Replaces requires not directly assigned to variables eg
|
|
82
|
-
// "const x = require('y').foo()" with
|
|
83
|
-
// import _import0 from 'y'
|
|
84
|
-
// const x = _import0.foo()
|
|
85
|
-
const replaceInlineRequires = (sourceFile) => {
|
|
86
|
-
let importCounter = 0;
|
|
87
|
-
const imports = [];
|
|
88
|
-
const importMap = new Map();
|
|
89
|
-
const transformer = (context) => (rootNode) => {
|
|
90
|
-
function visit(node) {
|
|
91
|
-
if (ts.isCallExpression(node) &&
|
|
92
|
-
ts.isIdentifier(node.expression) &&
|
|
93
|
-
node.expression.text === 'require' &&
|
|
94
|
-
node.arguments.length === 1 &&
|
|
95
|
-
ts.isStringLiteral(node.arguments[0])) {
|
|
96
|
-
const modulePath = node.arguments[0];
|
|
97
|
-
const modulePathText = modulePath.text;
|
|
98
|
-
// Check if we already have an import for this module
|
|
99
|
-
if (!importMap.has(modulePathText)) {
|
|
100
|
-
const importName = `_import${importCounter++}`;
|
|
101
|
-
importMap.set(modulePathText, importName);
|
|
102
|
-
// Create import declaration
|
|
103
|
-
imports.push(context.factory.createImportDeclaration(undefined, context.factory.createImportClause(false, context.factory.createIdentifier(importName), undefined), modulePath, undefined));
|
|
104
|
-
}
|
|
105
|
-
// Replace require() with the import reference
|
|
106
|
-
return context.factory.createIdentifier(importMap.get(modulePathText));
|
|
107
|
-
}
|
|
108
|
-
return ts.visitEachChild(node, visit, context);
|
|
109
|
-
}
|
|
110
|
-
// First pass to collect all requires and create imports
|
|
111
|
-
const visited = ts.visitNode(rootNode, visit);
|
|
112
|
-
// If we found any inline requires, prepend the imports to the source file
|
|
113
|
-
if (imports.length > 0 && ts.isSourceFile(visited)) {
|
|
114
|
-
return context.factory.updateSourceFile(visited, [
|
|
115
|
-
...imports,
|
|
116
|
-
...visited.statements,
|
|
117
|
-
]);
|
|
118
|
-
}
|
|
119
|
-
return visited;
|
|
120
|
-
};
|
|
121
|
-
const result = ts.transform(sourceFile, [transformer]);
|
|
122
|
-
return result.transformed[0];
|
|
123
|
-
};
|
|
124
|
-
function cjsToEsm(tree, relativePathInTree, options) {
|
|
125
|
-
var _a, _b;
|
|
126
|
-
const includePatterns = (_a = options === null || options === void 0 ? void 0 : options.include) !== null && _a !== void 0 ? _a : ['**/*.{js,ts}'];
|
|
127
|
-
const excludePatterns = (_b = options === null || options === void 0 ? void 0 : options.exclude) !== null && _b !== void 0 ? _b : ['node_modules', 'dist', 'build', 'tmp', '.nx'].flatMap((p) => [
|
|
128
|
-
p,
|
|
129
|
-
`**/${p}/**/*`,
|
|
130
|
-
`${p}/**/*`,
|
|
131
|
-
]);
|
|
132
|
-
// Process each TypeScript/JavaScript file in the project
|
|
133
|
-
const processFile = (filePath) => {
|
|
134
|
-
const content = tree.read(filePath, 'utf-8');
|
|
135
|
-
if (!content)
|
|
136
|
-
return;
|
|
137
|
-
// Parse the source file
|
|
138
|
-
const originalSourceFile = tsquery_1.tsquery.ast(content);
|
|
139
|
-
let sourceFile = originalSourceFile;
|
|
140
|
-
sourceFile = replaceModuleExportsWithExportDefault(sourceFile);
|
|
141
|
-
sourceFile = replaceRequires(sourceFile);
|
|
142
|
-
sourceFile = replaceInlineRequires(sourceFile);
|
|
143
|
-
const printer = ts.createPrinter({
|
|
144
|
-
removeComments: false,
|
|
145
|
-
newLine: ts.NewLineKind.LineFeed,
|
|
146
|
-
});
|
|
147
|
-
tree.write(filePath, printer.printNode(ts.EmitHint.Unspecified, sourceFile, originalSourceFile));
|
|
148
|
-
};
|
|
149
|
-
// Process all files in the given directory (recursively)
|
|
150
|
-
const processDirectory = (dirPath) => {
|
|
151
|
-
const entries = tree.children(dirPath);
|
|
152
|
-
entries.forEach((entry) => {
|
|
153
|
-
const fullPath = `${dirPath}/${entry}`;
|
|
154
|
-
const relativePath = fullPath.replace(`${relativePathInTree}/`, '');
|
|
155
|
-
// Return early for exclude to ensure we don't traverse node_modules etc!
|
|
156
|
-
const shouldExclude = excludePatterns.some((pattern) => (0, minimatch_1.minimatch)(relativePath, pattern));
|
|
157
|
-
if (shouldExclude) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (tree.isFile(fullPath)) {
|
|
161
|
-
const shouldInclude = includePatterns.some((pattern) => (0, minimatch_1.minimatch)(relativePath, pattern));
|
|
162
|
-
if (shouldInclude) {
|
|
163
|
-
processFile(fullPath);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
processDirectory(fullPath);
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
};
|
|
171
|
-
// Start processing from the given directories
|
|
172
|
-
processDirectory(relativePathInTree);
|
|
173
|
-
}
|
|
174
|
-
function cjsToEsmGenerator(tree, options) {
|
|
175
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
176
|
-
// Get the project configuration
|
|
177
|
-
const projects = (0, devkit_1.getProjects)(tree);
|
|
178
|
-
const project = projects.get(options.project);
|
|
179
|
-
if (!project) {
|
|
180
|
-
throw new Error(`Project ${options.project} not found`);
|
|
181
|
-
}
|
|
182
|
-
cjsToEsm(tree, project.root, {
|
|
183
|
-
include: options.include ? [options.include] : undefined,
|
|
184
|
-
exclude: options.exclude ? [options.exclude] : undefined,
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
exports.default = cjsToEsmGenerator;
|
|
189
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/cjs-to-esm/generator.ts"],"names":[],"mappings":";;AAgLA,4BA8DC;AACD,8CAcC;;AA7PD;;;GAGG;AACH,uCAA+C;AAE/C,uDAAoD;AACpD,uDAAiC;AACjC,yCAAsC;AACtC,gEAAgE;AAChE,MAAM,qCAAqC,GAAG,CAC5C,UAAyB,EACV,EAAE;IACjB,MAAM,WAAW,GACf,CAAoB,OAAiC,EAAE,EAAE,CACzD,CAAC,QAAW,EAAE,EAAE;QACd,SAAS,KAAK,CAAC,IAAa;YAC1B,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7B,IACE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAC3B,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;oBACtC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;oBACjC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EACrD,CAAC;oBACD,qCAAqC;oBACrC,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAC3C,SAAS,EACT,SAAS,EACT,IAAI,CAAC,KAAK,CACX,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAkB,CAAC;AAChD,CAAC,CAAC;AACF,6DAA6D;AAC7D,MAAM,eAAe,GAAG,CAAC,UAAyB,EAAiB,EAAE;IACnE,MAAM,WAAW,GACf,CAAoB,OAAiC,EAAE,EAAE,CACzD,CAAC,QAAW,EAAE,EAAE;QACd,SAAS,KAAK,CAAC,IAAa;YAC1B,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,WAAW,IAAI,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACzD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;oBAC5C,IACE,WAAW;wBACX,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC;wBAChC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;wBACvC,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;wBACzC,WAAW,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;wBACD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC5C,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;4BACnC,+BAA+B;4BAC/B,IAAI,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gCAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ;qCAC/C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oCACf,IACE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC;wCAC5B,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAC7B,CAAC;wCACD,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAC1C,KAAK,EACL,SAAS,EACT,OAAO,CAAC,IAAI,CACb,CAAC;oCACJ,CAAC;oCACD,OAAO,SAAS,CAAC;gCACnB,CAAC,CAAC;qCACD,MAAM,CACL,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CACzD,CAAC;gCACJ,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAC5C,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAChC,KAAK,EACL,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CACrD,EACD,UAAU,EACV,SAAS,CACV,CAAC;4BACJ,CAAC;4BACD,wBAAwB;4BACxB,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gCACtC,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAC5C,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAChC,KAAK,EACL,WAAW,CAAC,IAAI,EAChB,SAAS,CACV,EACD,UAAU,EACV,SAAS,CACV,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAkB,CAAC;AAChD,CAAC,CAAC;AACF,0DAA0D;AAC1D,sCAAsC;AACtC,2BAA2B;AAC3B,2BAA2B;AAC3B,MAAM,qBAAqB,GAAG,CAAC,UAAyB,EAAiB,EAAE;IACzE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,WAAW,GACf,CAAoB,OAAiC,EAAE,EAAE,CACzD,CAAC,QAAW,EAAE,EAAE;QACd,SAAS,KAAK,CAAC,IAAa;YAC1B,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACrC,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvC,qDAAqD;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnC,MAAM,UAAU,GAAG,UAAU,aAAa,EAAE,EAAE,CAAC;oBAC/C,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;oBAC1C,4BAA4B;oBAC5B,OAAO,CAAC,IAAI,CACV,OAAO,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAChC,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAC5C,SAAS,CACV,EACD,UAAU,EACV,SAAS,CACV,CACF,CAAC;gBACJ,CAAC;gBACD,8CAA8C;gBAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CACrC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAC9B,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,wDAAwD;QACxD,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,0EAA0E;QAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC/C,GAAG,OAAO;gBACV,GAAG,OAAO,CAAC,UAAU;aACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAkB,CAAC;AAChD,CAAC,CAAC;AACF,SAAgB,QAAQ,CACtB,IAAU,EACV,kBAA0B,EAC1B,OAGC;;IAED,MAAM,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,eAAe,GACnB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAChB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,OAAO;QACd,GAAG,CAAC,OAAO;KACZ,CAAC,CAAC;IACL,yDAAyD;IACzD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,wBAAwB;QACxB,MAAM,kBAAkB,GAAG,iBAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,kBAAkB,CAAC;QACpC,UAAU,GAAG,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC/D,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;YAC/B,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CACR,QAAQ,EACR,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAC3E,CAAC;IACJ,CAAC,CAAC;IACF,yDAAyD;IACzD,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,kBAAkB,GAAG,EAAE,EAAE,CAAC,CAAC;YACpE,yEAAyE;YACzE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,IAAA,qBAAS,EAAC,YAAY,EAAE,OAAO,CAAC,CACjC,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,IAAA,qBAAS,EAAC,YAAY,EAAE,OAAO,CAAC,CACjC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAClB,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,8CAA8C;IAC9C,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AACD,SAAsB,iBAAiB,CACrC,IAAU,EACV,OAAgC;;QAEhC,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACxD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,CAAC;IACL,CAAC;CAAA;AACD,kBAAe,iBAAiB,CAAC"}
|