@storm-software/terraform-tools 0.66.30 → 0.66.32

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +1 -2
  3. package/dist/{chunk-XS5BAACH.mjs → chunk-35RIR32U.mjs} +62 -9
  4. package/dist/{chunk-2DMNEOTY.mjs → chunk-3V5IPCSZ.mjs} +1 -1
  5. package/dist/{chunk-RJHUDWTG.mjs → chunk-5HO53HJ3.mjs} +1 -1
  6. package/dist/{chunk-OJPLIJFJ.js → chunk-6P6B7BLA.js} +2 -2
  7. package/dist/{chunk-4KZE37RJ.js → chunk-6RZAGMSF.js} +2 -2
  8. package/dist/{chunk-CDTJAYLJ.mjs → chunk-ER7HCQXR.mjs} +44 -0
  9. package/dist/{chunk-CLOQAFSP.js → chunk-GKAXLY2M.js} +2 -2
  10. package/dist/{chunk-UTU6JZAG.js → chunk-KRBXYR4N.js} +2 -2
  11. package/dist/{chunk-MLCA6E37.mjs → chunk-LBBKR3H3.mjs} +1 -1
  12. package/dist/{chunk-YDAVIV5R.js → chunk-MKG63IZW.js} +45 -1
  13. package/dist/{chunk-5WM6Y5TA.mjs → chunk-R4ETDLP6.mjs} +1 -1
  14. package/dist/{chunk-D645XPQQ.js → chunk-RGAUPWPC.js} +200 -147
  15. package/dist/{chunk-IGSKGEFE.mjs → chunk-X5B77W3R.mjs} +1 -1
  16. package/dist/{chunk-Y4UTAL3Q.js → chunk-ZISYG6C7.js} +2 -2
  17. package/dist/executors.js +6 -6
  18. package/dist/executors.mjs +6 -6
  19. package/dist/generators.js +3 -3
  20. package/dist/generators.mjs +2 -2
  21. package/dist/index.js +8 -8
  22. package/dist/index.mjs +7 -7
  23. package/dist/src/base/index.js +3 -3
  24. package/dist/src/base/index.mjs +2 -2
  25. package/dist/src/base/terraform-executor.js +3 -3
  26. package/dist/src/base/terraform-executor.mjs +2 -2
  27. package/dist/src/executors/apply/executor.js +4 -4
  28. package/dist/src/executors/apply/executor.mjs +3 -3
  29. package/dist/src/executors/destroy/executor.js +4 -4
  30. package/dist/src/executors/destroy/executor.mjs +3 -3
  31. package/dist/src/executors/output/executor.js +4 -4
  32. package/dist/src/executors/output/executor.mjs +3 -3
  33. package/dist/src/executors/plan/executor.js +4 -4
  34. package/dist/src/executors/plan/executor.mjs +3 -3
  35. package/dist/src/generators/init/init.js +3 -3
  36. package/dist/src/generators/init/init.mjs +2 -2
  37. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -2,6 +2,48 @@
2
2
 
3
3
  # Changelog for Storm Ops - Terraform Tools
4
4
 
5
+ ## [0.66.31](https://github.com/storm-software/storm-ops/releases/tag/terraform-tools%400.66.31) (11/13/2025)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **monorepo:** Reformat workspace package files
10
+ ([a0fb66d75](https://github.com/storm-software/storm-ops/commit/a0fb66d75))
11
+ - **monorepo:** Reformat workspace files
12
+ ([41b537422](https://github.com/storm-software/storm-ops/commit/41b537422))
13
+ - **monorepo:** Regenerate README markdown files
14
+ ([0ff6533a0](https://github.com/storm-software/storm-ops/commit/0ff6533a0))
15
+
16
+ ### Features
17
+
18
+ - **workspace-tools:** Added the `napi` executor to build rust bindings
19
+ ([5f075ee38](https://github.com/storm-software/storm-ops/commit/5f075ee38))
20
+
21
+ ### Updated Dependencies
22
+
23
+ - Updated **workspace-tools** to **v1.293.1**
24
+ - Updated **config-tools** to **v1.188.31**
25
+ - Updated **config** to **v1.134.31**
26
+
27
+ ## [0.66.30](https://github.com/storm-software/storm-ops/releases/tag/terraform-tools%400.66.30) (11/13/2025)
28
+
29
+ ### Miscellaneous
30
+
31
+ - **monorepo:** Reformat workspace files
32
+ ([41b537422](https://github.com/storm-software/storm-ops/commit/41b537422))
33
+ - **monorepo:** Regenerate README markdown files
34
+ ([0ff6533a0](https://github.com/storm-software/storm-ops/commit/0ff6533a0))
35
+
36
+ ### Features
37
+
38
+ - **workspace-tools:** Added the `napi` executor to build rust bindings
39
+ ([5f075ee38](https://github.com/storm-software/storm-ops/commit/5f075ee38))
40
+
41
+ ### Updated Dependencies
42
+
43
+ - Updated **workspace-tools** to **v1.293.0**
44
+ - Updated **config-tools** to **v1.188.30**
45
+ - Updated **config** to **v1.134.30**
46
+
5
47
  ## [0.66.29](https://github.com/storm-software/storm-ops/releases/tag/terraform-tools%400.66.29) (11/12/2025)
6
48
 
7
49
  ### Miscellaneous
package/README.md CHANGED
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
21
21
 
22
22
  <h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
23
23
 
24
- [![Version](https://img.shields.io/badge/version-0.66.29-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
24
+ [![Version](https://img.shields.io/badge/version-0.66.30-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
@@ -40,7 +40,6 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
40
40
 
41
41
  <!-- START doctoc -->
42
42
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
43
-
44
43
  ## Table of Contents
45
44
 
46
45
  - [Storm Terraform Tools](#storm-terraform-tools)
@@ -1,12 +1,15 @@
1
1
  import {
2
2
  applyWorkspaceBaseTokens,
3
3
  applyWorkspaceTokens,
4
+ correctPaths,
4
5
  findWorkspaceRoot,
5
6
  formatLogMessage,
6
7
  getConfig,
7
8
  getStopwatch,
8
9
  getWorkspaceConfig,
10
+ isAbsolute,
9
11
  joinPaths,
12
+ relative,
10
13
  schemaRegistry,
11
14
  withRunExecutor,
12
15
  workspaceConfigSchema,
@@ -17,7 +20,7 @@ import {
17
20
  writeSuccess,
18
21
  writeTrace,
19
22
  writeWarning
20
- } from "./chunk-CDTJAYLJ.mjs";
23
+ } from "./chunk-ER7HCQXR.mjs";
21
24
  import {
22
25
  __dirname
23
26
  } from "./chunk-5BBAVVSK.mjs";
@@ -31,7 +34,7 @@ import {
31
34
  execSync,
32
35
  spawn
33
36
  } from "node:child_process";
34
- import { relative } from "node:path";
37
+ import { relative as relative2 } from "node:path";
35
38
  var INVALID_CARGO_ARGS = [
36
39
  "allFeatures",
37
40
  "allTargets",
@@ -279,7 +282,7 @@ import _resolve from "resolve";
279
282
 
280
283
  // ../build-tools/src/plugins/type-definitions.ts
281
284
  import { stripIndents } from "@nx/devkit";
282
- import { relative as relative2 } from "path";
285
+ import { relative as relative3 } from "path";
283
286
 
284
287
  // ../build-tools/src/utilities/copy-assets.ts
285
288
  import { CopyAssetsHandler } from "@nx/js/src/utils/assets/copy-assets-handler";
@@ -1013,15 +1016,64 @@ async function napiExecutor(options, context, config) {
1013
1016
  throw new Error(`Could not find package.json at ${packageJson}`);
1014
1017
  }
1015
1018
  const napi = new NapiCli();
1016
- const buildOptions = { ...options };
1019
+ const normalizedOptions = { ...options };
1017
1020
  const metadata = cargoMetadata();
1018
- buildOptions.outputDir = options.outputPath;
1019
- buildOptions.packageJsonPath = options.packageJsonPath || packageJson;
1020
- buildOptions.targetDir = options.targetDir || metadata?.target_directory || joinPaths(config.workspaceRoot, "dist", "target");
1021
+ normalizedOptions.targetDir = options.targetDir || metadata?.target_directory || joinPaths(config.workspaceRoot, "dist", "target");
1022
+ normalizedOptions.outputDir = options.outputPath;
1023
+ normalizedOptions.packageJsonPath = options.packageJsonPath || packageJson;
1024
+ if (options.cwd) {
1025
+ normalizedOptions.cwd = correctPaths(options.cwd);
1026
+ } else {
1027
+ normalizedOptions.cwd = correctPaths(projectRoot);
1028
+ const absoluteProjectRoot = joinPaths(
1029
+ config.workspaceRoot,
1030
+ projectRoot || "."
1031
+ );
1032
+ if (normalizedOptions.outputDir) {
1033
+ normalizedOptions.outputDir = relative(
1034
+ absoluteProjectRoot,
1035
+ correctPaths(
1036
+ isAbsolute(normalizedOptions.outputDir) ? normalizedOptions.outputDir : joinPaths(config.workspaceRoot, normalizedOptions.outputDir)
1037
+ )
1038
+ );
1039
+ }
1040
+ if (normalizedOptions.packageJsonPath) {
1041
+ normalizedOptions.packageJsonPath = relative(
1042
+ absoluteProjectRoot,
1043
+ correctPaths(
1044
+ isAbsolute(normalizedOptions.packageJsonPath) ? normalizedOptions.packageJsonPath : joinPaths(config.workspaceRoot, normalizedOptions.packageJsonPath)
1045
+ )
1046
+ );
1047
+ }
1048
+ if (normalizedOptions.targetDir) {
1049
+ normalizedOptions.targetDir = relative(
1050
+ absoluteProjectRoot,
1051
+ correctPaths(
1052
+ isAbsolute(normalizedOptions.targetDir) ? normalizedOptions.targetDir : joinPaths(config.workspaceRoot, normalizedOptions.targetDir)
1053
+ )
1054
+ );
1055
+ }
1056
+ if (normalizedOptions.configPath) {
1057
+ normalizedOptions.configPath = relative(
1058
+ absoluteProjectRoot,
1059
+ correctPaths(
1060
+ isAbsolute(normalizedOptions.configPath) ? normalizedOptions.configPath : joinPaths(config.workspaceRoot, normalizedOptions.configPath)
1061
+ )
1062
+ );
1063
+ }
1064
+ if (normalizedOptions.manifestPath) {
1065
+ normalizedOptions.manifestPath = relative(
1066
+ absoluteProjectRoot,
1067
+ correctPaths(
1068
+ isAbsolute(normalizedOptions.manifestPath) ? normalizedOptions.manifestPath : joinPaths(config.workspaceRoot, normalizedOptions.manifestPath)
1069
+ )
1070
+ );
1071
+ }
1072
+ }
1021
1073
  if (process.env.VERCEL) {
1022
1074
  return { success: true };
1023
1075
  }
1024
- const { task } = await napi.build(buildOptions);
1076
+ const { task } = await napi.build(normalizedOptions);
1025
1077
  return { success: true, terminalOutput: await task };
1026
1078
  }
1027
1079
  var executor_default7 = withRunExecutor(
@@ -1031,11 +1083,12 @@ var executor_default7 = withRunExecutor(
1031
1083
  skipReadingConfig: false,
1032
1084
  hooks: {
1033
1085
  applyDefaultOptions: (options) => {
1034
- options.outputPath ??= "dist/{projectRoot}/target";
1086
+ options.outputPath ??= "{sourceRoot}";
1035
1087
  options.toolchain ??= "stable";
1036
1088
  options.dtsCache ??= true;
1037
1089
  options.platform ??= true;
1038
1090
  options.constEnum ??= false;
1091
+ options.verbose ??= false;
1039
1092
  options.jsBinding ??= "binding.js";
1040
1093
  options.dts ??= "binding.d.ts";
1041
1094
  return options;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withRunExecutor
3
- } from "./chunk-CDTJAYLJ.mjs";
3
+ } from "./chunk-ER7HCQXR.mjs";
4
4
 
5
5
  // ../config-tools/src/utilities/run.ts
6
6
  import { exec, execSync } from "node:child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withTerraformExecutor
3
- } from "./chunk-2DMNEOTY.mjs";
3
+ } from "./chunk-3V5IPCSZ.mjs";
4
4
 
5
5
  // src/executors/destroy/executor.ts
6
6
  var executor_default = withTerraformExecutor("destroy");
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkYDAVIV5Rjs = require('./chunk-YDAVIV5R.js');
3
+ var _chunkMKG63IZWjs = require('./chunk-MKG63IZW.js');
4
4
 
5
5
  // ../config-tools/src/utilities/run.ts
6
6
  var _child_process = require('child_process');
@@ -25,7 +25,7 @@ var run = (config, command, cwd = _nullishCoalesce(config.workspaceRoot, () => (
25
25
  // src/base/terraform-executor.ts
26
26
  var _shelljs = require('shelljs');
27
27
  var withTerraformExecutor = (command, executorOptions = {}) => async (_options, context) => {
28
- return _chunkYDAVIV5Rjs.withRunExecutor.call(void 0,
28
+ return _chunkMKG63IZWjs.withRunExecutor.call(void 0,
29
29
  `Terraform \`${command}\` Command Executor`,
30
30
  async (options, context2, config) => {
31
31
  if (!_shelljs.which.call(void 0, "tofu") || !_shelljs.which.call(void 0, "terraform")) {
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkOJPLIJFJjs = require('./chunk-OJPLIJFJ.js');
3
+ var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
4
4
 
5
5
  // src/executors/plan/executor.ts
6
- var executor_default = _chunkOJPLIJFJjs.withTerraformExecutor.call(void 0, "plan");
6
+ var executor_default = _chunk6P6B7BLAjs.withTerraformExecutor.call(void 0, "plan");
7
7
 
8
8
 
9
9
 
@@ -310,6 +310,7 @@ function normalizeWindowsPath(input = "") {
310
310
  var _UNC_REGEX = /^[/\\]{2}/;
311
311
  var _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
312
312
  var _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
313
+ var _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
313
314
  var correctPaths = function(path) {
314
315
  if (!path || path.length === 0) {
315
316
  return ".";
@@ -360,6 +361,30 @@ var joinPaths = function(...segments) {
360
361
  }
361
362
  return correctPaths(path);
362
363
  };
364
+ function cwd() {
365
+ if (typeof process !== "undefined" && typeof process.cwd === "function") {
366
+ return process.cwd().replace(/\\/g, "/");
367
+ }
368
+ return "/";
369
+ }
370
+ var resolve = function(...arguments_) {
371
+ arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
372
+ let resolvedPath = "";
373
+ let resolvedAbsolute = false;
374
+ for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
375
+ const path = index >= 0 ? arguments_[index] : cwd();
376
+ if (!path || path.length === 0) {
377
+ continue;
378
+ }
379
+ resolvedPath = `${path}/${resolvedPath}`;
380
+ resolvedAbsolute = isAbsolute(path);
381
+ }
382
+ resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
383
+ if (resolvedAbsolute && !isAbsolute(resolvedPath)) {
384
+ return `/${resolvedPath}`;
385
+ }
386
+ return resolvedPath.length > 0 ? resolvedPath : ".";
387
+ };
363
388
  function normalizeString(path, allowAboveRoot) {
364
389
  let res = "";
365
390
  let lastSegmentLength = 0;
@@ -423,6 +448,22 @@ function normalizeString(path, allowAboveRoot) {
423
448
  var isAbsolute = function(p) {
424
449
  return _IS_ABSOLUTE_RE.test(p);
425
450
  };
451
+ var relative = function(from, to) {
452
+ const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
453
+ const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
454
+ if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) {
455
+ return _to.join("/");
456
+ }
457
+ const _fromCopy = [..._from];
458
+ for (const segment of _fromCopy) {
459
+ if (_to[0] !== segment) {
460
+ break;
461
+ }
462
+ _from.shift();
463
+ _to.shift();
464
+ }
465
+ return [..._from.map(() => ".."), ..._to].join("/");
466
+ };
426
467
 
427
468
  // ../config-tools/src/utilities/find-up.ts
428
469
  import { existsSync } from "node:fs";
@@ -2169,7 +2210,10 @@ export {
2169
2210
  writeTrace,
2170
2211
  getStopwatch,
2171
2212
  formatLogMessage,
2213
+ correctPaths,
2172
2214
  joinPaths,
2215
+ isAbsolute,
2216
+ relative,
2173
2217
  findWorkspaceRoot,
2174
2218
  applyWorkspaceBaseTokens,
2175
2219
  applyWorkspaceTokens,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkOJPLIJFJjs = require('./chunk-OJPLIJFJ.js');
3
+ var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
4
4
 
5
5
  // src/executors/output/executor.ts
6
- var executor_default = _chunkOJPLIJFJjs.withTerraformExecutor.call(void 0, "output");
6
+ var executor_default = _chunk6P6B7BLAjs.withTerraformExecutor.call(void 0, "output");
7
7
 
8
8
 
9
9
 
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkOJPLIJFJjs = require('./chunk-OJPLIJFJ.js');
3
+ var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
4
4
 
5
5
  // src/executors/apply/executor.ts
6
- var executor_default = _chunkOJPLIJFJjs.withTerraformExecutor.call(void 0, "apply");
6
+ var executor_default = _chunk6P6B7BLAjs.withTerraformExecutor.call(void 0, "apply");
7
7
 
8
8
 
9
9
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withTerraformExecutor
3
- } from "./chunk-2DMNEOTY.mjs";
3
+ } from "./chunk-3V5IPCSZ.mjs";
4
4
 
5
5
  // src/executors/output/executor.ts
6
6
  var executor_default = withTerraformExecutor("output");
@@ -310,6 +310,7 @@ function normalizeWindowsPath(input = "") {
310
310
  var _UNC_REGEX = /^[/\\]{2}/;
311
311
  var _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
312
312
  var _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
313
+ var _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
313
314
  var correctPaths = function(path) {
314
315
  if (!path || path.length === 0) {
315
316
  return ".";
@@ -360,6 +361,30 @@ var joinPaths = function(...segments) {
360
361
  }
361
362
  return correctPaths(path);
362
363
  };
364
+ function cwd() {
365
+ if (typeof process !== "undefined" && typeof process.cwd === "function") {
366
+ return process.cwd().replace(/\\/g, "/");
367
+ }
368
+ return "/";
369
+ }
370
+ var resolve = function(...arguments_) {
371
+ arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
372
+ let resolvedPath = "";
373
+ let resolvedAbsolute = false;
374
+ for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
375
+ const path = index >= 0 ? arguments_[index] : cwd();
376
+ if (!path || path.length === 0) {
377
+ continue;
378
+ }
379
+ resolvedPath = `${path}/${resolvedPath}`;
380
+ resolvedAbsolute = isAbsolute(path);
381
+ }
382
+ resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
383
+ if (resolvedAbsolute && !isAbsolute(resolvedPath)) {
384
+ return `/${resolvedPath}`;
385
+ }
386
+ return resolvedPath.length > 0 ? resolvedPath : ".";
387
+ };
363
388
  function normalizeString(path, allowAboveRoot) {
364
389
  let res = "";
365
390
  let lastSegmentLength = 0;
@@ -423,6 +448,22 @@ function normalizeString(path, allowAboveRoot) {
423
448
  var isAbsolute = function(p) {
424
449
  return _IS_ABSOLUTE_RE.test(p);
425
450
  };
451
+ var relative = function(from, to) {
452
+ const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
453
+ const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
454
+ if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) {
455
+ return _to.join("/");
456
+ }
457
+ const _fromCopy = [..._from];
458
+ for (const segment of _fromCopy) {
459
+ if (_to[0] !== segment) {
460
+ break;
461
+ }
462
+ _from.shift();
463
+ _to.shift();
464
+ }
465
+ return [..._from.map(() => ".."), ..._to].join("/");
466
+ };
426
467
 
427
468
  // ../config-tools/src/utilities/find-up.ts
428
469
  var _fs = require('fs');
@@ -2178,4 +2219,7 @@ var _isFunction2 = (value) => {
2178
2219
 
2179
2220
 
2180
2221
 
2181
- exports.writeFatal = writeFatal; exports.writeError = writeError; exports.writeWarning = writeWarning; exports.writeInfo = writeInfo; exports.writeSuccess = writeSuccess; exports.writeDebug = writeDebug; exports.writeTrace = writeTrace; exports.getStopwatch = getStopwatch; exports.formatLogMessage = formatLogMessage; exports.joinPaths = joinPaths; exports.findWorkspaceRoot = findWorkspaceRoot; exports.applyWorkspaceBaseTokens = applyWorkspaceBaseTokens; exports.applyWorkspaceTokens = applyWorkspaceTokens; exports.schemaRegistry = schemaRegistry; exports.workspaceConfigSchema = workspaceConfigSchema; exports.getConfig = getConfig; exports.getWorkspaceConfig = getWorkspaceConfig; exports.withRunExecutor = withRunExecutor;
2222
+
2223
+
2224
+
2225
+ exports.writeFatal = writeFatal; exports.writeError = writeError; exports.writeWarning = writeWarning; exports.writeInfo = writeInfo; exports.writeSuccess = writeSuccess; exports.writeDebug = writeDebug; exports.writeTrace = writeTrace; exports.getStopwatch = getStopwatch; exports.formatLogMessage = formatLogMessage; exports.correctPaths = correctPaths; exports.joinPaths = joinPaths; exports.isAbsolute = isAbsolute; exports.relative = relative; exports.findWorkspaceRoot = findWorkspaceRoot; exports.applyWorkspaceBaseTokens = applyWorkspaceBaseTokens; exports.applyWorkspaceTokens = applyWorkspaceTokens; exports.schemaRegistry = schemaRegistry; exports.workspaceConfigSchema = workspaceConfigSchema; exports.getConfig = getConfig; exports.getWorkspaceConfig = getWorkspaceConfig; exports.withRunExecutor = withRunExecutor;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withTerraformExecutor
3
- } from "./chunk-2DMNEOTY.mjs";
3
+ } from "./chunk-3V5IPCSZ.mjs";
4
4
 
5
5
  // src/executors/plan/executor.ts
6
6
  var executor_default = withTerraformExecutor("plan");