@wolsok/nx-aws-cdk-v2 4.0.30 → 4.1.1

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/README.md CHANGED
@@ -111,6 +111,11 @@ otherwise the workspace root. The Nx project name is the path below `<appsDir>`
111
111
  └── tsconfig.spec.json # only with --unitTestRunner=jest
112
112
  ```
113
113
 
114
+ The generated `tsconfig.json` extends `tsconfig.cdk.json` at the workspace root when that file
115
+ exists, otherwise `tsconfig.base.json`. Keep a `tsconfig.cdk.json` (extending `tsconfig.base.json`)
116
+ when your CDK apps need other compiler options than the rest of the workspace, such as a newer
117
+ `target` for the Node runtime while browser apps stay on an older one.
118
+
114
119
  The generator also adds `aws-cdk-lib` and `constructs` to `dependencies`, and the `aws-cdk` CLI plus
115
120
  the TypeScript loader `tsx` to `devDependencies` of your workspace.
116
121
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wolsok/nx-aws-cdk-v2",
3
- "version": "4.0.30",
3
+ "version": "4.1.1",
4
4
  "description": "Nx plugin to generate, synthesize, deploy and destroy AWS CDK v2 applications inside an Nx workspace.",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -7,6 +7,13 @@ const path = tslib_1.__importStar(require("path"));
7
7
  const devkit_1 = require("@nx/devkit");
8
8
  const jest_1 = require("@nx/jest");
9
9
  const init_1 = require("../init/init");
10
+ /** Root tsconfig a workspace keeps for Node-only CDK apps (e.g. an ESNext target). */
11
+ const CDK_TSCONFIG = 'tsconfig.cdk.json';
12
+ const BASE_TSCONFIG = 'tsconfig.base.json';
13
+ /** The root tsconfig the app's tsconfig.json extends: the CDK one where the workspace has it. */
14
+ function baseTsconfig(host) {
15
+ return host.exists(CDK_TSCONFIG) ? CDK_TSCONFIG : BASE_TSCONFIG;
16
+ }
10
17
  function normalizeOptions(host, options) {
11
18
  const name = (0, devkit_1.names)(options.name).fileName;
12
19
  const projectDirectory = options.directory
@@ -23,26 +30,20 @@ function normalizeOptions(host, options) {
23
30
  projectRoot,
24
31
  projectDirectory,
25
32
  parsedTags,
33
+ baseTsconfig: baseTsconfig(host),
26
34
  unitTestRunner: options.unitTestRunner ?? 'jest',
27
35
  };
28
36
  }
29
- function addFiles(host, options) {
30
- const templateOptions = {
37
+ function templateOptions(options) {
38
+ return {
31
39
  ...options,
32
40
  ...(0, devkit_1.names)(options.projectName),
33
41
  offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot),
34
42
  template: '',
35
43
  };
36
- (0, devkit_1.generateFiles)(host, path.join(__dirname, 'files'), options.projectRoot, templateOptions);
37
44
  }
38
- function addJestFiles(host, options) {
39
- const templateOptions = {
40
- ...options,
41
- ...(0, devkit_1.names)(options.projectName),
42
- offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot),
43
- template: '',
44
- };
45
- (0, devkit_1.generateFiles)(host, path.join(__dirname, 'jest-files'), options.projectRoot, templateOptions);
45
+ function addFiles(host, options, folder) {
46
+ (0, devkit_1.generateFiles)(host, path.join(__dirname, folder), options.projectRoot, templateOptions(options));
46
47
  }
47
48
  async function applicationGenerator(host, options) {
48
49
  const tasks = [];
@@ -79,7 +80,7 @@ async function applicationGenerator(host, options) {
79
80
  (0, devkit_1.addProjectConfiguration)(host, normalizedOptions.projectName, project);
80
81
  const workspace = (0, devkit_1.readProjectConfiguration)(host, normalizedOptions.projectName);
81
82
  (0, devkit_1.updateProjectConfiguration)(host, normalizedOptions.projectName, workspace);
82
- addFiles(host, normalizedOptions);
83
+ addFiles(host, normalizedOptions, 'files');
83
84
  if (normalizedOptions.unitTestRunner === 'jest') {
84
85
  // `configurationGenerator` forwards its whole options object to `@nx/js`'s init
85
86
  // generator, where `skipFormat` only guards the formatFiles call - `ensurePackage`
@@ -101,7 +102,7 @@ async function applicationGenerator(host, options) {
101
102
  };
102
103
  const jestTask = await (0, jest_1.configurationGenerator)(host, jestConfigOptions);
103
104
  tasks.push(jestTask);
104
- addJestFiles(host, normalizedOptions);
105
+ addFiles(host, normalizedOptions, 'jest-files');
105
106
  }
106
107
  if (!options.skipFormat) {
107
108
  await (0, devkit_1.formatFiles)(host);
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../../libs/public/nx-aws-cdk-v2/src/generators/application/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../../libs/public/nx-aws-cdk-v2/src/generators/application/application.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "<%= offsetFromRoot %>tsconfig.base.json",
2
+ "extends": "<%= offsetFromRoot %><%= baseTsconfig %>",
3
3
  "compilerOptions": {
4
4
  "module": "commonjs",
5
5
  "outDir": "<%= offsetFromRoot %>dist/out-tsc",