nx-terraform 0.7.2 → 0.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx-terraform",
3
- "version": "0.7.2",
3
+ "version": "0.9.0",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const path = require("node:path");
6
6
  const DependenciesTerraformFileParser_1 = require("./DependenciesTerraformFileParser");
7
7
  const utils_1 = require("./utils");
8
- const constants_1 = require("../constants");
9
8
  /**
10
9
  * Creates dependencies between Terraform projects by:
11
10
  * 1. Creating static dependencies from projects to their backend projects (from project.json metadata)
@@ -13,13 +12,16 @@ const constants_1 = require("../constants");
13
12
  */
14
13
  const createDependencies = (_, ctx) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
15
14
  var _a, e_1, _b, _c;
16
- var _d, _e, _f;
15
+ var _d, _e;
17
16
  const results = [];
18
17
  for (const [projectName, projectConfig] of Object.entries(ctx.projects)) {
19
18
  // ----------------------------------------------------------------
20
19
  // Static dependencies from projects to their backend projects
20
+ // (read from terraform-init target's metadata.backendProject)
21
21
  // ----------------------------------------------------------------
22
- const backendProject = (_e = (_d = projectConfig.metadata) === null || _d === void 0 ? void 0 : _d[constants_1.PLUGIN_NAME]) === null || _e === void 0 ? void 0 : _e.backendProject;
22
+ const initTarget = (_d = projectConfig.targets) === null || _d === void 0 ? void 0 : _d['terraform-init'];
23
+ const initMetadata = initTarget === null || initTarget === void 0 ? void 0 : initTarget.metadata;
24
+ const backendProject = initMetadata === null || initMetadata === void 0 ? void 0 : initMetadata.backendProject;
23
25
  if (backendProject) {
24
26
  // Verify backend project exists
25
27
  if (ctx.projects[backendProject]) {
@@ -30,13 +32,13 @@ const createDependencies = (_, ctx) => tslib_1.__awaiter(void 0, void 0, void 0,
30
32
  // Static dependencies from projects to their module projects
31
33
  // ----------------------------------------------------------------
32
34
  // Get files to process for this project
33
- const filesToProcess = (_f = ctx.filesToProcess.projectFileMap[projectName]) !== null && _f !== void 0 ? _f : [];
35
+ const filesToProcess = (_e = ctx.filesToProcess.projectFileMap[projectName]) !== null && _e !== void 0 ? _e : [];
34
36
  // Use DependenciesTerraformFileParser to parse all files
35
37
  const parser = new DependenciesTerraformFileParser_1.DependenciesTerraformFileParser(filesToProcess, ctx.workspaceRoot);
36
38
  try {
37
- for (var _g = true, parser_1 = (e_1 = void 0, tslib_1.__asyncValues(parser)), parser_1_1; parser_1_1 = yield parser_1.next(), _a = parser_1_1.done, !_a; _g = true) {
39
+ for (var _f = true, parser_1 = (e_1 = void 0, tslib_1.__asyncValues(parser)), parser_1_1; parser_1_1 = yield parser_1.next(), _a = parser_1_1.done, !_a; _f = true) {
38
40
  _c = parser_1_1.value;
39
- _g = false;
41
+ _f = false;
40
42
  const terraformFile = _c;
41
43
  // Extract module blocks and process each one
42
44
  for (const { source: sourcePath } of terraformFile.extractModules()) {
@@ -63,7 +65,7 @@ const createDependencies = (_, ctx) => tslib_1.__awaiter(void 0, void 0, void 0,
63
65
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
64
66
  finally {
65
67
  try {
66
- if (!_g && !_a && (_b = parser_1.return)) yield _b.call(parser_1);
68
+ if (!_f && !_a && (_b = parser_1.return)) yield _b.call(parser_1);
67
69
  }
68
70
  finally { if (e_1) throw e_1.error; }
69
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createDependencies.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/dependencies/createDependencies.ts"],"names":[],"mappings":";;;;AAKA,kCAAkC;AAElC,uFAAoF;AACpF,mCAIiB;AACjB,4CAA2C;AAE3C;;;;GAIG;AACI,MAAM,kBAAkB,GAE3B,CAAO,CAAC,EAAE,GAA8B,EAAE,EAAE;;;IAC9C,MAAM,OAAO,GAAgC,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,mEAAmE;QACnE,8DAA8D;QAC9D,mEAAmE;QACnE,MAAM,cAAc,GAClB,MAAA,MAAA,aAAa,CAAC,QAAQ,0CAAG,uBAAW,CAAC,0CAAE,cAAc,CAAC;QAExD,IAAI,cAAc,EAAE,CAAC;YACnB,gCAAgC;YAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,IAAA,gCAAwB,EACtB,IAAA,8BAAsB,EACpB,WAAW,EACX,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAC9C,EACD,GAAG,EACH,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,6DAA6D;QAC7D,mEAAmE;QAEnE,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAA,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;QAE5E,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,iEAA+B,CAChD,cAAc,EACd,GAAG,CAAC,aAAa,CAClB,CAAC;;YAEF,KAAkC,eAAA,0BAAA,sBAAA,MAAM,CAAA,CAAA,YAAA,4EAAE,CAAC;gBAAT,sBAAM;gBAAN,WAAM;gBAA7B,MAAM,aAAa,KAAA,CAAA;gBAC5B,6CAA6C;gBAC7C,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;oBACpE,uCAAuC;oBACvC,IAAI,CAAC,IAAA,mBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;wBAC7B,SAAS;oBACX,CAAC;oBAED,qEAAqE;oBACrE,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAEzD,mDAAmD;oBACnD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;wBACtD,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,SAAS,CAAC;oBAEd,8DAA8D;oBAC9D,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;wBACpD,SAAS;oBACX,CAAC;oBAED,iDAAiD;oBACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,GAAG,CAAC,aAAa,EACjB,aAAa,CAAC,QAAQ,CACvB,CAAC;oBAEF,IAAA,gCAAwB,EACtB,IAAA,8BAAsB,EAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,CAAC,EACpE,GAAG,EACH,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AA7EW,QAAA,kBAAkB,sBA6E7B"}
1
+ {"version":3,"file":"createDependencies.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/dependencies/createDependencies.ts"],"names":[],"mappings":";;;;AAKA,kCAAkC;AAElC,uFAAoF;AACpF,mCAIiB;AAEjB;;;;GAIG;AACI,MAAM,kBAAkB,GAE3B,CAAO,CAAC,EAAE,GAA8B,EAAE,EAAE;;;IAC9C,MAAM,OAAO,GAAgC,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,mEAAmE;QACnE,8DAA8D;QAC9D,8DAA8D;QAC9D,mEAAmE;QACnE,MAAM,UAAU,GAAG,MAAA,aAAa,CAAC,OAAO,0CAAG,gBAAgB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAEpB,CAAC;QACd,MAAM,cAAc,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,CAAC;QAEpD,IAAI,cAAc,EAAE,CAAC;YACnB,gCAAgC;YAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,IAAA,gCAAwB,EACtB,IAAA,8BAAsB,EACpB,WAAW,EACX,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAC9C,EACD,GAAG,EACH,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,6DAA6D;QAC7D,mEAAmE;QAEnE,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAA,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;QAE5E,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,iEAA+B,CAChD,cAAc,EACd,GAAG,CAAC,aAAa,CAClB,CAAC;;YAEF,KAAkC,eAAA,0BAAA,sBAAA,MAAM,CAAA,CAAA,YAAA,4EAAE,CAAC;gBAAT,sBAAM;gBAAN,WAAM;gBAA7B,MAAM,aAAa,KAAA,CAAA;gBAC5B,6CAA6C;gBAC7C,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;oBACpE,uCAAuC;oBACvC,IAAI,CAAC,IAAA,mBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;wBAC7B,SAAS;oBACX,CAAC;oBAED,qEAAqE;oBACrE,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAEzD,mDAAmD;oBACnD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;wBACtD,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,SAAS,CAAC;oBAEd,8DAA8D;oBAC9D,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;wBACpD,SAAS;oBACX,CAAC;oBAED,iDAAiD;oBACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,GAAG,CAAC,aAAa,EACjB,aAAa,CAAC,QAAQ,CACvB,CAAC;oBAEF,IAAA,gCAAwB,EACtB,IAAA,8BAAsB,EAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,CAAC,EACpE,GAAG,EACH,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAjFW,QAAA,kBAAkB,sBAiF7B"}
@@ -10,7 +10,7 @@ const constants_1 = require("../../constants");
10
10
  function syncTerraformMetadataGenerator(tree, _) {
11
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
12
  var _a, e_1, _b, _c;
13
- var _d, _e, _f, _g;
13
+ var _d, _e;
14
14
  const projects = (0, devkit_1.getProjects)(tree);
15
15
  const updatedProjects = new Set();
16
16
  for (const [projectName, project] of projects) {
@@ -32,9 +32,9 @@ function syncTerraformMetadataGenerator(tree, _) {
32
32
  // Use TreeTerraformFileParser to parse all .tf files
33
33
  const parser = new TreeTerraformFileParser_1.TreeTerraformFileParser(tree, projectRoot);
34
34
  try {
35
- for (var _h = true, parser_1 = (e_1 = void 0, tslib_1.__asyncValues(parser)), parser_1_1; parser_1_1 = yield parser_1.next(), _a = parser_1_1.done, !_a; _h = true) {
35
+ for (var _f = true, parser_1 = (e_1 = void 0, tslib_1.__asyncValues(parser)), parser_1_1; parser_1_1 = yield parser_1.next(), _a = parser_1_1.done, !_a; _f = true) {
36
36
  _c = parser_1_1.value;
37
- _h = false;
37
+ _f = false;
38
38
  const terraformFile = _c;
39
39
  // Extract backend blocks (overwrite on each iteration to match original behavior)
40
40
  projectState.backends.push(...terraformFile.extractBackends());
@@ -49,24 +49,19 @@ function syncTerraformMetadataGenerator(tree, _) {
49
49
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
50
50
  finally {
51
51
  try {
52
- if (!_h && !_a && (_b = parser_1.return)) yield _b.call(parser_1);
52
+ if (!_f && !_a && (_b = parser_1.return)) yield _b.call(parser_1);
53
53
  }
54
54
  finally { if (e_1) throw e_1.error; }
55
55
  }
56
56
  // Determine hasBackend from collected backends
57
57
  const hasBackend = projectState.backends.length > 0;
58
- const currentBackendProject = (_f = (_e = projectConfig.metadata) === null || _e === void 0 ? void 0 : _e[constants_1.PLUGIN_NAME]) === null || _f === void 0 ? void 0 : _f.backendProject;
59
- // Determine updates needed based on collected state
60
- // Only update project type if:
61
- // 1. Project type is 'module' or 'stateful' (not 'backend')
62
- // 2. No backendProject is set (backendProject takes precedence)
63
- if (!currentBackendProject &&
64
- (nxTerraformProjectMetadata.projectType === 'module' ||
65
- nxTerraformProjectMetadata.projectType === 'stateful')) {
58
+ // Only update project type for module/stateful projects (not backend)
59
+ if (nxTerraformProjectMetadata.projectType === 'module' ||
60
+ nxTerraformProjectMetadata.projectType === 'stateful') {
66
61
  const expectedTerraformProjectType = hasBackend ? 'stateful' : 'module';
67
62
  if (nxTerraformProjectMetadata.projectType !==
68
63
  expectedTerraformProjectType) {
69
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, Object.assign(Object.assign({}, projectConfig), { metadata: Object.assign(Object.assign({}, projectConfig.metadata), { [constants_1.PLUGIN_NAME]: Object.assign(Object.assign({}, (_g = projectConfig.metadata) === null || _g === void 0 ? void 0 : _g[constants_1.PLUGIN_NAME]), { projectType: expectedTerraformProjectType }) }) }));
64
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, Object.assign(Object.assign({}, projectConfig), { metadata: Object.assign(Object.assign({}, projectConfig.metadata), { [constants_1.PLUGIN_NAME]: Object.assign(Object.assign({}, (_e = projectConfig.metadata) === null || _e === void 0 ? void 0 : _e[constants_1.PLUGIN_NAME]), { projectType: expectedTerraformProjectType }) }) }));
70
65
  updatedProjects.add(projectName);
71
66
  }
72
67
  }
@@ -82,7 +77,7 @@ function syncTerraformMetadataGenerator(tree, _) {
82
77
  }
83
78
  }
84
79
  }
85
- catch (_j) {
80
+ catch (_g) {
86
81
  // Skip projects that can't be processed, continue with next project
87
82
  continue;
88
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync-terraform-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-terraform/src/generators/sync-terraform-metadata/sync-terraform-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-terraform-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-terraform/src/generators/sync-terraform-metadata/sync-terraform-metadata.ts"],"names":[],"mappings":"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"}
@@ -9,16 +9,23 @@ const constants_1 = require("../../constants");
9
9
  function terraformModuleGenerator(tree, options) {
10
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
11
  const projectRoot = `packages/${options.name}`;
12
- // Create project configuration
12
+ // Create project configuration.
13
+ // backendProject in target metadata (not in options) so nx:run-commands doesn't pass it to terraform CLI.
13
14
  const projectConfig = {
14
15
  root: projectRoot,
15
16
  projectType: 'application',
16
17
  sourceRoot: `${projectRoot}`,
17
- targets: {},
18
+ targets: Object.assign({}, (options.backendProject && {
19
+ 'terraform-init': {
20
+ metadata: {
21
+ backendProject: options.backendProject,
22
+ },
23
+ },
24
+ })),
18
25
  metadata: {
19
- [constants_1.PLUGIN_NAME]: Object.assign({ projectType: 'module' }, (options.backendProject && {
20
- backendProject: options.backendProject,
21
- })),
26
+ [constants_1.PLUGIN_NAME]: {
27
+ projectType: 'module',
28
+ },
22
29
  },
23
30
  };
24
31
  // Note: Implicit dependencies to backend projects are now handled
@@ -1 +1 @@
1
- {"version":3,"file":"terraform-module.js","sourceRoot":"","sources":["../../../../../../packages/nx-terraform/src/generators/terraform-module/terraform-module.ts"],"names":[],"mappings":";;AAeA,4DAwCC;;AAvDD,uCAMoB;AACpB,6BAA6B;AAK7B,mCAAoD;AACpD,+CAA8C;AAE9C,SAAsB,wBAAwB,CAC5C,IAAU,EACV,OAAuC;;QAEvC,MAAM,WAAW,GAAG,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/C,+BAA+B;QAC/B,MAAM,aAAa,GAAyB;YAC1C,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,GAAG,WAAW,EAAE;YAC5B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE;gBACR,CAAC,uBAAW,CAAC,kBACX,WAAW,EAAE,QAAQ,IAClB,CAAC,OAAO,CAAC,cAAc,IAAI;oBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC,CACH;aACF;SACF,CAAC;QAEF,kEAAkE;QAClE,yEAAyE;QAEzE,IAAA,gCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,6DAA6D;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,SAAS,EACT,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAC7D,CAAC;QAEF,IAAA,sBAAa,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAEjE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAED,MAAM,gBAAgB,GAAG,CACvB,IAAU,EACV,OAAuC,EACG,EAAE,CAAC,iCAC1C,OAAO,KACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,EAC9C,WAAW,EAAE,IAAA,iCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,EACpE,UAAU,EAAE,YAAY,EACxB,IAAI,EAAE,EAAE,IACR,CAAC;AAEH,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"terraform-module.js","sourceRoot":"","sources":["../../../../../../packages/nx-terraform/src/generators/terraform-module/terraform-module.ts"],"names":[],"mappings":";;AAeA,4DA8CC;;AA7DD,uCAMoB;AACpB,6BAA6B;AAK7B,mCAAoD;AACpD,+CAA8C;AAE9C,SAAsB,wBAAwB,CAC5C,IAAU,EACV,OAAuC;;QAEvC,MAAM,WAAW,GAAG,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/C,gCAAgC;QAChC,0GAA0G;QAC1G,MAAM,aAAa,GAAyB;YAC1C,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,GAAG,WAAW,EAAE;YAC5B,OAAO,oBACF,CAAC,OAAO,CAAC,cAAc,IAAI;gBAC5B,gBAAgB,EAAE;oBAChB,QAAQ,EAAE;wBACR,cAAc,EAAE,OAAO,CAAC,cAAc;qBACvC;iBACF;aACF,CAAC,CACH;YACD,QAAQ,EAAE;gBACR,CAAC,uBAAW,CAAC,EAAE;oBACb,WAAW,EAAE,QAAQ;iBACtB;aACF;SACF,CAAC;QAEF,kEAAkE;QAClE,yEAAyE;QAEzE,IAAA,gCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,6DAA6D;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,SAAS,EACT,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAC7D,CAAC;QAEF,IAAA,sBAAa,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAEjE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAED,MAAM,gBAAgB,GAAG,CACvB,IAAU,EACV,OAAuC,EACG,EAAE,CAAC,iCAC1C,OAAO,KACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,EAC9C,WAAW,EAAE,IAAA,iCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,EACpE,UAAU,EAAE,YAAY,EACxB,IAAI,EAAE,EAAE,IACR,CAAC;AAEH,kBAAe,wBAAwB,CAAC"}
@@ -18,14 +18,14 @@ exports.createNodesV2 = [
18
18
  ];
19
19
  function createNodesInternal(configFilePath, _options, context) {
20
20
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
- var _a, _b, _c, _d;
21
+ var _a, _b;
22
22
  const projectRoot = (0, path_1.dirname)(configFilePath);
23
23
  // Read project.json content
24
24
  let projectJsonContent;
25
25
  try {
26
26
  projectJsonContent = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(context.workspaceRoot, configFilePath)).toString());
27
27
  }
28
- catch (_e) {
28
+ catch (_c) {
29
29
  // If project.json can't be read, skip this project
30
30
  return {};
31
31
  }
@@ -35,30 +35,14 @@ function createNodesInternal(configFilePath, _options, context) {
35
35
  // Not a Terraform project (no projectType metadata), skip
36
36
  return {};
37
37
  }
38
- // Read directory to check for tfvars files
39
- let siblingFiles;
40
- try {
41
- siblingFiles = (0, fs_1.readdirSync)((0, path_1.join)(context.workspaceRoot, projectRoot));
42
- }
43
- catch (_f) {
44
- // If directory can't be read, skip this project
45
- return {};
46
- }
47
- const targetConfigurationParams = {
48
- backendProject: ((_d = (_c = projectJsonContent.metadata) === null || _c === void 0 ? void 0 : _c[constants_1.PLUGIN_NAME]) === null || _d === void 0 ? void 0 : _d.backendProject) || null,
49
- // check if projectRoot/tfvars/dev.tfvars and projectRoot/tfvars/prod.tfvars exist
50
- varFiles: {
51
- dev: siblingFiles.includes('tfvars/dev.tfvars'),
52
- prod: siblingFiles.includes('tfvars/prod.tfvars'),
53
- },
54
- };
38
+ const targetConfigurationParams = normalizeTargetOptions(projectJsonContent);
55
39
  let projectTargets = {};
56
40
  // Determine targets based on metadata (no fallback scanning needed)
57
41
  if (terraformProjectType === 'backend') {
58
42
  projectTargets = (0, inferedTasks_1.getBackendProjectTargets)(targetConfigurationParams);
59
43
  }
60
- else if (targetConfigurationParams.backendProject) {
61
- // If backendProject metadata exists, it's a stateful module
44
+ else if (targetConfigurationParams.init.backendProject) {
45
+ // If backendProject option is set, it's a stateful module
62
46
  projectTargets = (0, inferedTasks_1.getStatefulProjectTargets)(targetConfigurationParams);
63
47
  }
64
48
  else if (terraformProjectType === 'stateful') {
@@ -79,4 +63,19 @@ function createNodesInternal(configFilePath, _options, context) {
79
63
  };
80
64
  });
81
65
  }
66
+ /**
67
+ * Normalizes project.json into params for building Terraform targets.
68
+ * backendProject is read from terraform-init target's metadata; varFile is via target args/configurations.
69
+ */
70
+ function normalizeTargetOptions(projectJsonContent) {
71
+ var _a, _b;
72
+ const initTarget = (_a = projectJsonContent.targets) === null || _a === void 0 ? void 0 : _a['terraform-init'];
73
+ const metadata = initTarget === null || initTarget === void 0 ? void 0 : initTarget.metadata;
74
+ const backendProject = (_b = metadata === null || metadata === void 0 ? void 0 : metadata.backendProject) !== null && _b !== void 0 ? _b : null;
75
+ return {
76
+ init: {
77
+ backendProject,
78
+ },
79
+ };
80
+ }
82
81
  //# sourceMappingURL=createNodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNodes.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/createNodes.ts"],"names":[],"mappings":";;;;AAAA,uCAKoB;AACpB,2BAA+C;AAC/C,+BAAqC;AACrC,iDAKwB;AAExB,4CAA2C;AAE3C,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,mDAAmD;AACtC,QAAA,aAAa,GAA4C;IACpE,mBAAmB;IACnB,CAAO,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC,CAAA;CACF,CAAC;AAEF,SAAe,mBAAmB,CAChC,cAAsB,EACtB,QAAkC,EAClC,OAA6B;;;QAE7B,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,kBAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CACrE,CAAC;QACJ,CAAC;QAAC,WAAM,CAAC;YACP,mDAAmD;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,4DAA4D;QAC5D,MAAM,oBAAoB,GACxB,MAAA,MAAA,kBAAkB,CAAC,QAAQ,0CAAG,uBAAW,CAAC,0CAAE,WAAW,CAAC;QAE1D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,0DAA0D;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2CAA2C;QAC3C,IAAI,YAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,YAAY,GAAG,IAAA,gBAAW,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,WAAM,CAAC;YACP,gDAAgD;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,yBAAyB,GAA+B;YAC5D,cAAc,EACZ,CAAA,MAAA,MAAA,kBAAkB,CAAC,QAAQ,0CAAG,uBAAW,CAAC,0CAAE,cAAc,KAAI,IAAI;YACpE,kFAAkF;YAClF,QAAQ,EAAE;gBACR,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC/C,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;aAClD;SACF,CAAC;QAEF,IAAI,cAAc,GAAoC,EAAE,CAAC;QAEzD,oEAAoE;QACpE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,cAAc,GAAG,IAAA,uCAAwB,EAAC,yBAAyB,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,yBAAyB,CAAC,cAAc,EAAE,CAAC;YACpD,4DAA4D;YAC5D,cAAc,GAAG,IAAA,wCAAyB,EAAC,yBAAyB,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,yEAAyE;YACzE,cAAc,GAAG,IAAA,wCAAyB,EAAC,yBAAyB,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,cAAc,GAAG,IAAA,sCAAuB,EAAC,yBAAyB,CAAC,CAAC;QACtE,CAAC;QAED,2EAA2E;QAC3E,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,WAAW,CAAC,EAAE;oBACb,OAAO,EAAE,cAAc;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;CAAA"}
1
+ {"version":3,"file":"createNodes.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/createNodes.ts"],"names":[],"mappings":";;;;AAAA,uCAKoB;AACpB,2BAAkC;AAClC,+BAAqC;AACrC,iDAKwB;AAGxB,4CAA2C;AAE3C,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,mDAAmD;AACtC,QAAA,aAAa,GAA4C;IACpE,mBAAmB;IACnB,CAAO,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC,CAAA;CACF,CAAC;AAEF,SAAe,mBAAmB,CAChC,cAAsB,EACtB,QAAkC,EAClC,OAA6B;;;QAE7B,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,kBAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CACrE,CAAC;QACJ,CAAC;QAAC,WAAM,CAAC;YACP,mDAAmD;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,4DAA4D;QAC5D,MAAM,oBAAoB,GACxB,MAAA,MAAA,kBAAkB,CAAC,QAAQ,0CAAG,uBAAW,CAAC,0CAAE,WAAW,CAAC;QAE1D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,0DAA0D;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAE7E,IAAI,cAAc,GAAoC,EAAE,CAAC;QAEzD,oEAAoE;QACpE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,cAAc,GAAG,IAAA,uCAAwB,EAAC,yBAAyB,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzD,0DAA0D;YAC1D,cAAc,GAAG,IAAA,wCAAyB,EAAC,yBAAyB,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,yEAAyE;YACzE,cAAc,GAAG,IAAA,wCAAyB,EAAC,yBAAyB,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,cAAc,GAAG,IAAA,sCAAuB,EAAC,yBAAyB,CAAC,CAAC;QACtE,CAAC;QAED,2EAA2E;QAC3E,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,WAAW,CAAC,EAAE;oBACb,OAAO,EAAE,cAAc;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;CAAA;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,kBAAwC;;IAExC,MAAM,UAAU,GAAG,MAAA,kBAAkB,CAAC,OAAO,0CAAG,gBAAgB,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAmD,CAAC;IACjF,MAAM,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,mCAAI,IAAI,CAAC;IAExD,OAAO;QACL,IAAI,EAAE;YACJ,cAAc;SACf;KACF,CAAC;AACJ,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { TargetConfiguration } from '@nx/devkit';
2
- import { TargetsConfigurationParams } from './type';
3
- export declare const getTerraformInitTarget: (params: TargetsConfigurationParams) => TargetConfiguration;
4
- export declare const getTerraformPlanTarget: (params: TargetsConfigurationParams) => TargetConfiguration;
2
+ import { TerraformInitTargetOptions } from './type';
3
+ export declare const getTerraformInitTarget: (options: TerraformInitTargetOptions) => TargetConfiguration;
4
+ export declare const getTerraformPlanTarget: () => TargetConfiguration;
5
5
  export declare const TERRAFORM_APPLY_TARGET: TargetConfiguration;
6
- export declare const getTerraformDestroyTarget: (params: TargetsConfigurationParams) => TargetConfiguration;
6
+ export declare const getTerraformDestroyTarget: () => TargetConfiguration;
7
7
  export declare const TERRAFORM_FMT_TARGET: TargetConfiguration;
8
8
  export declare const TERRAFORM_VALIDATE_TARGET: TargetConfiguration;
9
9
  export declare const TERRAFORM_OUTPUT_TARGET: TargetConfiguration;
@@ -2,44 +2,42 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TERRAFORM_OUTPUT_TARGET = exports.TERRAFORM_VALIDATE_TARGET = exports.TERRAFORM_FMT_TARGET = exports.getTerraformDestroyTarget = exports.TERRAFORM_APPLY_TARGET = exports.getTerraformPlanTarget = exports.getTerraformInitTarget = void 0;
4
4
  const inputs_1 = require("./inputs");
5
- const getConfigurations = (varFiles, additionalArgs) => ({
6
- defaultConfiguration: 'dev',
7
- configurations: {
8
- dev: {
9
- args: [
10
- ...additionalArgs,
11
- varFiles.dev ? '-var-file=./tfvars/dev.tfvars' : '',
12
- ],
13
- },
14
- prod: {
15
- args: [
16
- ...additionalArgs,
17
- varFiles.prod ? '-var-file=./tfvars/prod.tfvars' : '',
18
- ],
19
- },
20
- },
21
- });
22
- const getTerraformInitTarget = (params) => {
23
- const args = [];
24
- if (params.backendProject) {
25
- args.push(`-backend-config=../${params.backendProject}/backend.config`, '-reconfigure');
5
+ const getTerraformInitTarget = (options) => {
6
+ const args = ['-reconfigure'];
7
+ if (options.backendProject) {
8
+ args.push(`-backend-config="../${options.backendProject}/backend.config"`);
26
9
  }
27
- return Object.assign({
10
+ return {
28
11
  // cache only for backend projects
29
- cache: false, executor: 'nx:run-commands', dependsOn: ['^terraform-apply'], options: {
12
+ cache: false,
13
+ executor: 'nx:run-commands',
14
+ dependsOn: ['^terraform-apply'],
15
+ options: {
30
16
  cwd: '{projectRoot}',
31
17
  command: 'terraform init',
32
- }, inputs: [
18
+ args,
19
+ },
20
+ inputs: [
33
21
  '{projectRoot}/provider.tf',
34
22
  '{projectRoot}/backend.tf',
35
23
  ...inputs_1.TERRAFORM_ENV_VARIABLES_INPUTS,
36
- ], outputs: ['{projectRoot}/.terraform', '{projectRoot}/.terraform.lock.hcl'], syncGenerators: ['nx-terraform:sync-terraform-metadata'] }, getConfigurations({ dev: false, prod: false }, args));
24
+ ],
25
+ outputs: ['{projectRoot}/.terraform', '{projectRoot}/.terraform.lock.hcl'],
26
+ syncGenerators: ['nx-terraform:sync-terraform-metadata'],
27
+ };
37
28
  };
38
29
  exports.getTerraformInitTarget = getTerraformInitTarget;
39
- const getTerraformPlanTarget = (params) => (Object.assign({ cache: false, executor: 'nx:run-commands', dependsOn: ['terraform-init'], options: {
30
+ const getTerraformPlanTarget = () => ({
31
+ cache: false,
32
+ executor: 'nx:run-commands',
33
+ dependsOn: ['terraform-init'],
34
+ options: {
40
35
  cwd: '{projectRoot}',
41
- command: 'terraform plan',
42
- }, inputs: [...inputs_1.TERRAFORM_ALL_INPUTS], outputs: ['{projectRoot}/tfplan'] }, getConfigurations(params.varFiles, ['-out=tfplan'])));
36
+ command: 'terraform plan -out=tfplan',
37
+ },
38
+ inputs: [...inputs_1.TERRAFORM_ALL_INPUTS],
39
+ outputs: ['{projectRoot}/tfplan'],
40
+ });
43
41
  exports.getTerraformPlanTarget = getTerraformPlanTarget;
44
42
  exports.TERRAFORM_APPLY_TARGET = {
45
43
  cache: false,
@@ -51,10 +49,16 @@ exports.TERRAFORM_APPLY_TARGET = {
51
49
  },
52
50
  inputs: [...inputs_1.TERRAFORM_ALL_INPUTS, '{projectRoot}/tfplan'],
53
51
  };
54
- const getTerraformDestroyTarget = (params) => (Object.assign({ cache: false, executor: 'nx:run-commands', dependsOn: ['terraform-init'], options: {
52
+ const getTerraformDestroyTarget = () => ({
53
+ cache: false,
54
+ executor: 'nx:run-commands',
55
+ dependsOn: ['terraform-init'],
56
+ options: {
55
57
  cwd: '{projectRoot}',
56
58
  command: 'terraform destroy',
57
- } }, getConfigurations(params.varFiles, ['-auto-approve'])));
59
+ args: ['-auto-approve'],
60
+ },
61
+ });
58
62
  exports.getTerraformDestroyTarget = getTerraformDestroyTarget;
59
63
  exports.TERRAFORM_FMT_TARGET = {
60
64
  cache: true,
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/default.ts"],"names":[],"mappings":";;;AAEA,qCAIkB;AAGlB,MAAM,iBAAiB,GAAG,CACxB,QAAgD,EAChD,cAAwB,EACxB,EAAE,CAAC,CAAC;IACJ,oBAAoB,EAAE,KAAK;IAC3B,cAAc,EAAE;QACd,GAAG,EAAE;YACH,IAAI,EAAE;gBACJ,GAAG,cAAc;gBACjB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE;aACpD;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,GAAG,cAAc;gBACjB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE;aACtD;SACF;KACF;CACF,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,CACpC,MAAkC,EACb,EAAE;IACvB,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CACP,sBAAsB,MAAM,CAAC,cAAc,iBAAiB,EAC5D,cAAc,CACf,CAAC;IACJ,CAAC;IAED;QACE,kCAAkC;QAClC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,CAAC,kBAAsD,CAAC,EACnE,OAAO,EAAE;YACP,GAAG,EAAE,eAAe;YACpB,OAAO,EAAE,gBAAgB;SAC1B,EACD,MAAM,EAAE;YACN,2BAA2B;YAC3B,0BAA0B;YAC1B,GAAG,uCAA8B;SAClC,EACD,OAAO,EAAE,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,EAC1E,cAAc,EAAE,CAAC,sCAAsC,CAAC,IACrD,iBAAiB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EACvD;AACJ,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AAEK,MAAM,sBAAsB,GAAG,CACpC,MAAkC,EACb,EAAE,CAAC,iBACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC,EACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,gBAAgB;KAC1B,EACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,CAAC,EACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC,IAC9B,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,EACtD,CAAC;AAbU,QAAA,sBAAsB,0BAahC;AAEU,QAAA,sBAAsB,GAAwB;IACzD,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,sCAAsC;KAChD;IACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,EAAE,sBAAsB,CAAC;CAC1D,CAAC;AAEK,MAAM,yBAAyB,GAAG,CACvC,MAAkC,EACb,EAAE,CAAC,iBACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC,EACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,mBAAmB;KAC7B,IACE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC,EACxD,CAAC;AAXU,QAAA,yBAAyB,6BAWnC;AAEU,QAAA,oBAAoB,GAAwB;IACvD,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,2BAA2B;KACrC;IACD,MAAM,EAAE,CAAC,GAAG,+BAAsB,CAAC;CACpC,CAAC;AAEW,QAAA,yBAAyB,GAAwB;IAC5D,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,oBAAoB;KAC9B;IACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,CAAC;CAClC,CAAC;AAEW,QAAA,uBAAuB,GAAwB;IAC1D,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE,CAAC,qCAAqC,CAAC;IAChD,OAAO,EAAE;QACP,OAAO,EACL,yGAAyG;QAC3G,GAAG,EAAE,eAAe;KACrB;CACF,CAAC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/default.ts"],"names":[],"mappings":";;;AAEA,qCAIkB;AAGX,MAAM,sBAAsB,GAAG,CACpC,OAAmC,EACd,EAAE;IACvB,MAAM,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IAE9B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,cAAc,kBAAkB,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,kCAAkC;QAClC,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,CAAC,kBAAsD,CAAC;QACnE,OAAO,EAAE;YACP,GAAG,EAAE,eAAe;YACpB,OAAO,EAAE,gBAAgB;YACzB,IAAI;SACL;QACD,MAAM,EAAE;YACN,2BAA2B;YAC3B,0BAA0B;YAC1B,GAAG,uCAA8B;SAClC;QACD,OAAO,EAAE,CAAC,0BAA0B,EAAE,mCAAmC,CAAC;QAC1E,cAAc,EAAE,CAAC,sCAAsC,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,sBAAsB,0BA2BjC;AAEK,MAAM,sBAAsB,GAAG,GAAwB,EAAE,CAAC,CAAC;IAChE,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,4BAA4B;KACtC;IACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,CAAC;IACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;CAClC,CAAC,CAAC;AAVU,QAAA,sBAAsB,0BAUhC;AAEU,QAAA,sBAAsB,GAAwB;IACzD,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,sCAAsC;KAChD;IACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,EAAE,sBAAsB,CAAC;CAC1D,CAAC;AAEK,MAAM,yBAAyB,GAAG,GAAwB,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,CAAC,eAAe,CAAC;KACxB;CACF,CAAC,CAAC;AATU,QAAA,yBAAyB,6BASnC;AAEU,QAAA,oBAAoB,GAAwB;IACvD,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,2BAA2B;KACrC;IACD,MAAM,EAAE,CAAC,GAAG,+BAAsB,CAAC;CACpC,CAAC;AAEW,QAAA,yBAAyB,GAAwB;IAC5D,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE;QACP,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE,oBAAoB;KAC9B;IACD,MAAM,EAAE,CAAC,GAAG,6BAAoB,CAAC;CAClC,CAAC;AAEW,QAAA,uBAAuB,GAAwB;IAC1D,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,CAAC,gBAAoD,CAAC;IACjE,OAAO,EAAE,CAAC,qCAAqC,CAAC;IAChD,OAAO,EAAE;QACP,OAAO,EACL,yGAAyG;QAC3G,GAAG,EAAE,eAAe;KACrB;CACF,CAAC"}
@@ -3,20 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getModuleProjectTargets = exports.getStatefulProjectTargets = exports.getBackendProjectTargets = void 0;
4
4
  const default_1 = require("./default");
5
5
  const getBackendProjectTargets = (params) => ({
6
- 'terraform-init': Object.assign(Object.assign({}, (0, default_1.getTerraformInitTarget)(params)), { cache: true }),
7
- 'terraform-plan': Object.assign(Object.assign({}, (0, default_1.getTerraformPlanTarget)(params)), { cache: true }),
6
+ 'terraform-init': Object.assign(Object.assign({}, (0, default_1.getTerraformInitTarget)(params.init)), { cache: true }),
7
+ 'terraform-plan': Object.assign(Object.assign({}, (0, default_1.getTerraformPlanTarget)()), { cache: true }),
8
8
  'terraform-apply': Object.assign(Object.assign({}, default_1.TERRAFORM_APPLY_TARGET), { cache: true }),
9
- 'terraform-destroy': (0, default_1.getTerraformDestroyTarget)(params),
9
+ 'terraform-destroy': (0, default_1.getTerraformDestroyTarget)(),
10
10
  'terraform-fmt': default_1.TERRAFORM_FMT_TARGET,
11
11
  'terraform-validate': default_1.TERRAFORM_VALIDATE_TARGET,
12
12
  'terraform-output': default_1.TERRAFORM_OUTPUT_TARGET,
13
13
  });
14
14
  exports.getBackendProjectTargets = getBackendProjectTargets;
15
15
  const getStatefulProjectTargets = (params) => ({
16
- 'terraform-init': (0, default_1.getTerraformInitTarget)(params),
17
- 'terraform-plan': (0, default_1.getTerraformPlanTarget)(params),
16
+ 'terraform-init': (0, default_1.getTerraformInitTarget)(params.init),
17
+ 'terraform-plan': (0, default_1.getTerraformPlanTarget)(),
18
18
  'terraform-apply': default_1.TERRAFORM_APPLY_TARGET,
19
- 'terraform-destroy': (0, default_1.getTerraformDestroyTarget)(params),
19
+ 'terraform-destroy': (0, default_1.getTerraformDestroyTarget)(),
20
20
  'terraform-fmt': default_1.TERRAFORM_FMT_TARGET,
21
21
  'terraform-validate': default_1.TERRAFORM_VALIDATE_TARGET,
22
22
  'terraform-output': default_1.TERRAFORM_OUTPUT_TARGET,
@@ -25,10 +25,10 @@ exports.getStatefulProjectTargets = getStatefulProjectTargets;
25
25
  const getModuleProjectTargets = (params) => {
26
26
  const getStubTarget = (originalTarget) => (Object.assign(Object.assign({}, originalTarget), { cache: true, options: Object.assign(Object.assign({}, originalTarget.options), { command: 'echo "Operation is not applicable in module projects."' }) }));
27
27
  return {
28
- 'terraform-init': getStubTarget((0, default_1.getTerraformInitTarget)(params)),
29
- 'terraform-plan': getStubTarget((0, default_1.getTerraformPlanTarget)(params)),
28
+ 'terraform-init': getStubTarget((0, default_1.getTerraformInitTarget)(params.init)),
29
+ 'terraform-plan': getStubTarget((0, default_1.getTerraformPlanTarget)()),
30
30
  'terraform-apply': getStubTarget(default_1.TERRAFORM_APPLY_TARGET),
31
- 'terraform-destroy': getStubTarget((0, default_1.getTerraformDestroyTarget)(params)),
31
+ 'terraform-destroy': getStubTarget((0, default_1.getTerraformDestroyTarget)()),
32
32
  'terraform-fmt': default_1.TERRAFORM_FMT_TARGET,
33
33
  'terraform-validate': default_1.TERRAFORM_VALIDATE_TARGET,
34
34
  'terraform-output': getStubTarget(default_1.TERRAFORM_OUTPUT_TARGET),
@@ -1 +1 @@
1
- {"version":3,"file":"inferedTasks.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/inferedTasks.ts"],"names":[],"mappings":";;;AACA,uCAQmB;AAKZ,MAAM,wBAAwB,GAAG,CACtC,MAAkC,EACT,EAAE,CAAC,CAAC;IAC7B,gBAAgB,kCACX,IAAA,gCAAsB,EAAC,MAAM,CAAC,KACjC,KAAK,EAAE,IAAI,GACZ;IACD,gBAAgB,kCAAO,IAAA,gCAAsB,EAAC,MAAM,CAAC,KAAE,KAAK,EAAE,IAAI,GAAE;IACpE,iBAAiB,kCAAO,gCAAsB,KAAE,KAAK,EAAE,IAAI,GAAE;IAC7D,mBAAmB,EAAE,IAAA,mCAAyB,EAAC,MAAM,CAAC;IACtD,eAAe,EAAE,8BAAoB;IACrC,oBAAoB,EAAE,mCAAyB;IAC/C,kBAAkB,EAAE,iCAAuB;CAC5C,CAAC,CAAC;AAbU,QAAA,wBAAwB,4BAalC;AAEI,MAAM,yBAAyB,GAAG,CACvC,MAAkC,EACT,EAAE,CAAC,CAAC;IAC7B,gBAAgB,EAAE,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAChD,gBAAgB,EAAE,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAChD,iBAAiB,EAAE,gCAAsB;IACzC,mBAAmB,EAAE,IAAA,mCAAyB,EAAC,MAAM,CAAC;IACtD,eAAe,EAAE,8BAAoB;IACrC,oBAAoB,EAAE,mCAAyB;IAC/C,kBAAkB,EAAE,iCAAuB;CAC5C,CAAC,CAAC;AAVU,QAAA,yBAAyB,6BAUnC;AAEI,MAAM,uBAAuB,GAAG,CACrC,MAAkC,EACT,EAAE;IAC3B,MAAM,aAAa,GAAG,CAAC,cAAmC,EAAE,EAAE,CAAC,iCAC1D,cAAc,KACjB,KAAK,EAAE,IAAI,EACX,OAAO,kCACF,cAAc,CAAC,OAAO,KACzB,OAAO,EAAE,wDAAwD,OAEnE,CAAC;IAEH,OAAO;QACL,gBAAgB,EAAE,aAAa,CAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC,CAAC;QAC/D,gBAAgB,EAAE,aAAa,CAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC,CAAC;QAC/D,iBAAiB,EAAE,aAAa,CAAC,gCAAsB,CAAC;QACxD,mBAAmB,EAAE,aAAa,CAAC,IAAA,mCAAyB,EAAC,MAAM,CAAC,CAAC;QACrE,eAAe,EAAE,8BAAoB;QACrC,oBAAoB,EAAE,mCAAyB;QAC/C,kBAAkB,EAAE,aAAa,CAAC,iCAAuB,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,uBAAuB,2BAqBlC"}
1
+ {"version":3,"file":"inferedTasks.js","sourceRoot":"","sources":["../../../../../packages/nx-terraform/src/targets/inferedTasks.ts"],"names":[],"mappings":";;;AACA,uCAQmB;AAKZ,MAAM,wBAAwB,GAAG,CACtC,MAAkC,EACT,EAAE,CAAC,CAAC;IAC7B,gBAAgB,kCACX,IAAA,gCAAsB,EAAC,MAAM,CAAC,IAAI,CAAC,KACtC,KAAK,EAAE,IAAI,GACZ;IACD,gBAAgB,kCAAO,IAAA,gCAAsB,GAAE,KAAE,KAAK,EAAE,IAAI,GAAE;IAC9D,iBAAiB,kCAAO,gCAAsB,KAAE,KAAK,EAAE,IAAI,GAAE;IAC7D,mBAAmB,EAAE,IAAA,mCAAyB,GAAE;IAChD,eAAe,EAAE,8BAAoB;IACrC,oBAAoB,EAAE,mCAAyB;IAC/C,kBAAkB,EAAE,iCAAuB;CAC5C,CAAC,CAAC;AAbU,QAAA,wBAAwB,4BAalC;AAEI,MAAM,yBAAyB,GAAG,CACvC,MAAkC,EACT,EAAE,CAAC,CAAC;IAC7B,gBAAgB,EAAE,IAAA,gCAAsB,EAAC,MAAM,CAAC,IAAI,CAAC;IACrD,gBAAgB,EAAE,IAAA,gCAAsB,GAAE;IAC1C,iBAAiB,EAAE,gCAAsB;IACzC,mBAAmB,EAAE,IAAA,mCAAyB,GAAE;IAChD,eAAe,EAAE,8BAAoB;IACrC,oBAAoB,EAAE,mCAAyB;IAC/C,kBAAkB,EAAE,iCAAuB;CAC5C,CAAC,CAAC;AAVU,QAAA,yBAAyB,6BAUnC;AAEI,MAAM,uBAAuB,GAAG,CACrC,MAAkC,EACT,EAAE;IAC3B,MAAM,aAAa,GAAG,CAAC,cAAmC,EAAE,EAAE,CAAC,iCAC1D,cAAc,KACjB,KAAK,EAAE,IAAI,EACX,OAAO,kCACF,cAAc,CAAC,OAAO,KACzB,OAAO,EAAE,wDAAwD,OAEnE,CAAC;IAEH,OAAO;QACL,gBAAgB,EAAE,aAAa,CAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpE,gBAAgB,EAAE,aAAa,CAAC,IAAA,gCAAsB,GAAE,CAAC;QACzD,iBAAiB,EAAE,aAAa,CAAC,gCAAsB,CAAC;QACxD,mBAAmB,EAAE,aAAa,CAAC,IAAA,mCAAyB,GAAE,CAAC;QAC/D,eAAe,EAAE,8BAAoB;QACrC,oBAAoB,EAAE,mCAAyB;QAC/C,kBAAkB,EAAE,aAAa,CAAC,iCAAuB,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,uBAAuB,2BAqBlC"}
@@ -1,11 +1,16 @@
1
1
  import { TargetConfiguration } from '@nx/devkit';
2
+ /** Metadata for terraform-init target (TargetConfiguration.metadata). */
3
+ export interface TerraformInitTargetMetadata {
4
+ backendProject?: string;
5
+ }
2
6
  export type TerraformTarget = 'terraform-plan' | 'terraform-apply' | 'terraform-destroy' | 'terraform-validate' | 'terraform-fmt' | 'terraform-init' | 'terraform-output';
3
7
  export type TerraformTargetDependency = `^${TerraformTarget}` | TerraformTarget;
4
8
  export type TerraformProjectTargets = Record<TerraformTarget, TargetConfiguration>;
5
- export type TargetsConfigurationParams = {
9
+ /** Options normalized for terraform-init (only backendProject). */
10
+ export type TerraformInitTargetOptions = {
6
11
  backendProject: string | null;
7
- varFiles: {
8
- dev: boolean;
9
- prod: boolean;
10
- };
12
+ };
13
+ /** Per-target normalized options used to build Terraform targets. varFile is via target args/configurations. */
14
+ export type TargetsConfigurationParams = {
15
+ init: TerraformInitTargetOptions;
11
16
  };
package/src/types.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Expected format of the plugin options defined in nx.json
2
+ * Expected format of the plugin options defined in nx.json.
3
+ * Use target args or Nx configurations (e.g. terraform-plan:production) for var files.
3
4
  */
4
- export type NxTerraformPluginOptions = unknown;
5
+ export interface NxTerraformPluginOptions {
6
+ }
5
7
  export type TerraformBackendType = 'aws-s3' | 'local';