@wolsok/nx-aws-cdk-v2 2.6.0 → 2.7.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 +21 -0
- package/README.md +204 -52
- package/executors.json +4 -4
- package/generators.json +3 -2
- package/migrations.json +5 -0
- package/package.json +31 -8
- package/src/executors/bootstrap/bootstrap.js +13 -13
- package/src/executors/bootstrap/bootstrap.js.map +1 -1
- package/src/executors/bootstrap/schema.d.ts +3 -0
- package/src/executors/bootstrap/schema.json +13 -2
- package/src/executors/deploy/deploy.js +16 -18
- package/src/executors/deploy/deploy.js.map +1 -1
- package/src/executors/deploy/schema.d.ts +5 -0
- package/src/executors/deploy/schema.json +13 -3
- package/src/executors/destroy/destroy.js +13 -13
- package/src/executors/destroy/destroy.js.map +1 -1
- package/src/executors/destroy/schema.d.ts +5 -0
- package/src/executors/destroy/schema.json +12 -2
- package/src/executors/synth/schema.d.ts +5 -0
- package/src/executors/synth/schema.json +13 -3
- package/src/executors/synth/synth.js +13 -13
- package/src/executors/synth/synth.js.map +1 -1
- package/src/generators/application/application.js +79 -65
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/cdk.json__template__ +2 -2
- package/src/generators/application/files/src/main.ts__template__ +1 -1
- package/src/generators/application/files/src/stacks/app-stack.ts__template__ +4 -3
- package/src/generators/application/jest-files/src/main.test.ts__template__ +7 -7
- package/src/generators/application/schema.d.ts +6 -0
- package/src/generators/application/schema.json +10 -8
- package/src/generators/init/init.js +30 -24
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/schema.d.ts +2 -0
- package/src/generators/init/schema.json +6 -4
- package/src/index.d.ts +20 -0
- package/src/index.js +31 -0
- package/src/index.js.map +1 -1
- package/src/utils/cdk-shared.d.ts +25 -2
- package/src/utils/cdk-shared.js +26 -3
- package/src/utils/cdk-shared.js.map +1 -1
- package/src/utils/executor.util.js +20 -13
- package/src/utils/executor.util.js.map +1 -1
package/src/index.js
CHANGED
|
@@ -1,2 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TSX_VERSION = exports.TSCONFIG_PATHS_VERSION = exports.TS_NODE_VERSION = exports.CDK_LIB_VERSION = exports.CDK_CONSTRUCTS_VERSION = exports.CDK_CLI_VERSION = exports.synthExecutor = exports.destroyExecutor = exports.deployExecutor = exports.bootstrapExecutor = exports.initSchematic = exports.initGenerator = exports.applicationSchematic = exports.applicationGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Public entry point of `@wolsok/nx-aws-cdk-v2`.
|
|
7
|
+
*
|
|
8
|
+
* Generators and executors are resolved by Nx through `generators.json` and
|
|
9
|
+
* `executors.json`; the exports below are for consumers who want to compose the
|
|
10
|
+
* generators from their own Nx plugin, or reuse the option types.
|
|
11
|
+
*/
|
|
12
|
+
var application_1 = require("./generators/application/application");
|
|
13
|
+
Object.defineProperty(exports, "applicationGenerator", { enumerable: true, get: function () { return application_1.applicationGenerator; } });
|
|
14
|
+
Object.defineProperty(exports, "applicationSchematic", { enumerable: true, get: function () { return application_1.applicationSchematic; } });
|
|
15
|
+
var init_1 = require("./generators/init/init");
|
|
16
|
+
Object.defineProperty(exports, "initGenerator", { enumerable: true, get: function () { return init_1.initGenerator; } });
|
|
17
|
+
Object.defineProperty(exports, "initSchematic", { enumerable: true, get: function () { return init_1.initSchematic; } });
|
|
18
|
+
var bootstrap_1 = require("./executors/bootstrap/bootstrap");
|
|
19
|
+
Object.defineProperty(exports, "bootstrapExecutor", { enumerable: true, get: function () { return tslib_1.__importDefault(bootstrap_1).default; } });
|
|
20
|
+
var deploy_1 = require("./executors/deploy/deploy");
|
|
21
|
+
Object.defineProperty(exports, "deployExecutor", { enumerable: true, get: function () { return tslib_1.__importDefault(deploy_1).default; } });
|
|
22
|
+
var destroy_1 = require("./executors/destroy/destroy");
|
|
23
|
+
Object.defineProperty(exports, "destroyExecutor", { enumerable: true, get: function () { return tslib_1.__importDefault(destroy_1).default; } });
|
|
24
|
+
var synth_1 = require("./executors/synth/synth");
|
|
25
|
+
Object.defineProperty(exports, "synthExecutor", { enumerable: true, get: function () { return tslib_1.__importDefault(synth_1).default; } });
|
|
26
|
+
var cdk_shared_1 = require("./utils/cdk-shared");
|
|
27
|
+
Object.defineProperty(exports, "CDK_CLI_VERSION", { enumerable: true, get: function () { return cdk_shared_1.CDK_CLI_VERSION; } });
|
|
28
|
+
Object.defineProperty(exports, "CDK_CONSTRUCTS_VERSION", { enumerable: true, get: function () { return cdk_shared_1.CDK_CONSTRUCTS_VERSION; } });
|
|
29
|
+
Object.defineProperty(exports, "CDK_LIB_VERSION", { enumerable: true, get: function () { return cdk_shared_1.CDK_LIB_VERSION; } });
|
|
30
|
+
Object.defineProperty(exports, "TS_NODE_VERSION", { enumerable: true, get: function () { return cdk_shared_1.TS_NODE_VERSION; } });
|
|
31
|
+
Object.defineProperty(exports, "TSCONFIG_PATHS_VERSION", { enumerable: true, get: function () { return cdk_shared_1.TSCONFIG_PATHS_VERSION; } });
|
|
32
|
+
Object.defineProperty(exports, "TSX_VERSION", { enumerable: true, get: function () { return cdk_shared_1.TSX_VERSION; } });
|
|
2
33
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/aws-cdk-v2/src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/aws-cdk-v2/src/index.ts"],"names":[],"mappings":";;;;AAAA;;;;;;GAMG;AACH,oEAAkG;AAAzF,mHAAA,oBAAoB,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AACnD,+CAAsE;AAA7D,qGAAA,aAAa,OAAA;AAAE,qGAAA,aAAa,OAAA;AAKrC,6DAA+E;AAAtE,uIAAA,OAAO,OAAqB;AACrC,oDAAsE;AAA7D,iIAAA,OAAO,OAAkB;AAClC,uDAAyE;AAAhE,mIAAA,OAAO,OAAmB;AACnC,iDAAmE;AAA1D,+HAAA,OAAO,OAAiB;AAOjC,iDAO4B;AAN1B,6GAAA,eAAe,OAAA;AACf,oHAAA,sBAAsB,OAAA;AACtB,6GAAA,eAAe,OAAA;AACf,6GAAA,eAAe,OAAA;AACf,oHAAA,sBAAsB,OAAA;AACtB,yGAAA,WAAW,OAAA"}
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Dependency versions the `init` generator adds to a consumer workspace.
|
|
3
|
+
*
|
|
4
|
+
* `aws-cdk` (the CDK Toolkit CLI) and `aws-cdk-lib` (the construct library) are
|
|
5
|
+
* released on separate version lines — the CLI moved to `2.1xxx.x` when it was
|
|
6
|
+
* decoupled from the library, while the library stays on `2.x`. They therefore
|
|
7
|
+
* have to be pinned independently; using one constant for both pulls in a CLI
|
|
8
|
+
* that is years behind.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CDK_CLI_VERSION = "^2.1137.0";
|
|
11
|
+
export declare const CDK_LIB_VERSION = "^2.265.0";
|
|
12
|
+
export declare const CDK_CONSTRUCTS_VERSION = "^10.8.1";
|
|
13
|
+
/**
|
|
14
|
+
* TypeScript loaders used to run a CDK app's `main.ts` without a build step.
|
|
15
|
+
* `tsx` is used for ESM workspaces (`"type": "module"`), `ts-node` +
|
|
16
|
+
* `tsconfig-paths` for CommonJS ones — see `generateCommandString`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const TSX_VERSION = "^4.20.0";
|
|
19
|
+
export declare const TS_NODE_VERSION = "^10.9.2";
|
|
20
|
+
export declare const TSCONFIG_PATHS_VERSION = "^4.2.0";
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use {@link CDK_LIB_VERSION} for `aws-cdk-lib` and
|
|
23
|
+
* {@link CDK_CLI_VERSION} for the `aws-cdk` CLI instead.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CDK_VERSION = "^2.265.0";
|
package/src/utils/cdk-shared.js
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CDK_CONSTRUCTS_VERSION = exports.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
exports.CDK_VERSION = exports.TSCONFIG_PATHS_VERSION = exports.TS_NODE_VERSION = exports.TSX_VERSION = exports.CDK_CONSTRUCTS_VERSION = exports.CDK_LIB_VERSION = exports.CDK_CLI_VERSION = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Dependency versions the `init` generator adds to a consumer workspace.
|
|
6
|
+
*
|
|
7
|
+
* `aws-cdk` (the CDK Toolkit CLI) and `aws-cdk-lib` (the construct library) are
|
|
8
|
+
* released on separate version lines — the CLI moved to `2.1xxx.x` when it was
|
|
9
|
+
* decoupled from the library, while the library stays on `2.x`. They therefore
|
|
10
|
+
* have to be pinned independently; using one constant for both pulls in a CLI
|
|
11
|
+
* that is years behind.
|
|
12
|
+
*/
|
|
13
|
+
exports.CDK_CLI_VERSION = '^2.1137.0';
|
|
14
|
+
exports.CDK_LIB_VERSION = '^2.265.0';
|
|
15
|
+
exports.CDK_CONSTRUCTS_VERSION = '^10.8.1';
|
|
16
|
+
/**
|
|
17
|
+
* TypeScript loaders used to run a CDK app's `main.ts` without a build step.
|
|
18
|
+
* `tsx` is used for ESM workspaces (`"type": "module"`), `ts-node` +
|
|
19
|
+
* `tsconfig-paths` for CommonJS ones — see `generateCommandString`.
|
|
20
|
+
*/
|
|
21
|
+
exports.TSX_VERSION = '^4.20.0';
|
|
22
|
+
exports.TS_NODE_VERSION = '^10.9.2';
|
|
23
|
+
exports.TSCONFIG_PATHS_VERSION = '^4.2.0';
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use {@link CDK_LIB_VERSION} for `aws-cdk-lib` and
|
|
26
|
+
* {@link CDK_CLI_VERSION} for the `aws-cdk` CLI instead.
|
|
27
|
+
*/
|
|
28
|
+
exports.CDK_VERSION = exports.CDK_LIB_VERSION;
|
|
6
29
|
//# sourceMappingURL=cdk-shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-shared.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/cdk-shared.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cdk-shared.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/cdk-shared.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACU,QAAA,eAAe,GAAG,WAAW,CAAC;AAC9B,QAAA,eAAe,GAAG,UAAU,CAAC;AAC7B,QAAA,sBAAsB,GAAG,SAAS,CAAC;AAEhD;;;;GAIG;AACU,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAE/C;;;GAGG;AACU,QAAA,WAAW,GAAG,uBAAe,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.LARGE_BUFFER = exports.executorPropKeys = void 0;
|
|
5
4
|
exports.generateCommandString = generateCommandString;
|
|
@@ -16,16 +15,23 @@ function getPackageJson(packageJsonPath) {
|
|
|
16
15
|
}
|
|
17
16
|
exports.executorPropKeys = ['stacks'];
|
|
18
17
|
exports.LARGE_BUFFER = 1024 * 1000000;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Root of the Nx workspace the executor runs in. Nx sets `NX_WORKSPACE_ROOT`
|
|
20
|
+
* for every task it spawns; the devkit's `workspaceRoot` is the fallback for
|
|
21
|
+
* the cases where it doesn't (e.g. when an executor is invoked programmatically).
|
|
22
|
+
* Resolved lazily so importing this module never throws.
|
|
23
|
+
*/
|
|
24
|
+
function getWorkspaceRoot() {
|
|
25
|
+
return process.env.NX_WORKSPACE_ROOT || devkit_1.workspaceRoot;
|
|
22
26
|
}
|
|
23
27
|
function generateCommandString(command, appPath) {
|
|
24
28
|
const packageManager = (0, devkit_1.detectPackageManager)();
|
|
25
29
|
const packageManagerExecutor = packageManager === 'npm' ? 'npx' : packageManager;
|
|
26
|
-
const projectPath = path.join(
|
|
30
|
+
const projectPath = path.join(getWorkspaceRoot(), appPath);
|
|
27
31
|
const moduleType = getModuleType(projectPath);
|
|
28
|
-
const compileTsPart = moduleType === 'module'
|
|
32
|
+
const compileTsPart = moduleType === 'module'
|
|
33
|
+
? 'tsx'
|
|
34
|
+
: `ts-node --require tsconfig-paths/register --project ${path.join(projectPath, 'tsconfig.app.json')}`;
|
|
29
35
|
// Determine the path to the app's entrypoint
|
|
30
36
|
const mainTsPath = path.join(projectPath, 'src', 'main.ts');
|
|
31
37
|
const generatePath = `${packageManagerExecutor} ${compileTsPart} ${mainTsPath}`;
|
|
@@ -41,9 +47,8 @@ function parseArgs(options) {
|
|
|
41
47
|
}, {});
|
|
42
48
|
}
|
|
43
49
|
function createCommand(command, options) {
|
|
44
|
-
|
|
50
|
+
devkit_1.logger.debug(`Normalized executor options: ${JSON.stringify(options)}`);
|
|
45
51
|
const nodeCommandWithRelativePath = generateCommandString(command, options.root);
|
|
46
|
-
console.log('nodeCommandWithRelativePath', nodeCommandWithRelativePath);
|
|
47
52
|
const commands = [nodeCommandWithRelativePath];
|
|
48
53
|
if (typeof options.stacks === 'string') {
|
|
49
54
|
commands.push(options.stacks);
|
|
@@ -102,14 +107,16 @@ function runCommandProcess(command, cwd) {
|
|
|
102
107
|
});
|
|
103
108
|
}
|
|
104
109
|
function getModuleType(projectPath) {
|
|
105
|
-
|
|
110
|
+
// `projectPath` is already absolute; joining it onto the workspace root again
|
|
111
|
+
// produced a path that never existed, so an app-level `"type"` was ignored.
|
|
112
|
+
const packageJsonPath = path.join(projectPath, 'package.json');
|
|
106
113
|
const appPackageJson = getPackageJson(packageJsonPath);
|
|
107
|
-
if (appPackageJson
|
|
108
|
-
|
|
114
|
+
if (appPackageJson?.type) {
|
|
115
|
+
devkit_1.logger.debug(`Module type from ${packageJsonPath}: ${appPackageJson.type}`);
|
|
109
116
|
return appPackageJson.type;
|
|
110
117
|
}
|
|
111
|
-
const globalPackageJson = getPackageJson(path.join(
|
|
112
|
-
|
|
118
|
+
const globalPackageJson = getPackageJson(path.join(getWorkspaceRoot(), 'package.json'));
|
|
119
|
+
devkit_1.logger.debug(`Module type from workspace package.json: ${globalPackageJson.type ?? 'commonjs'}`);
|
|
113
120
|
return globalPackageJson.type;
|
|
114
121
|
}
|
|
115
122
|
//# sourceMappingURL=executor.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.util.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/executor.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.util.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/executor.util.ts"],"names":[],"mappings":"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"}
|