@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.
- package/CHANGELOG.md +42 -0
- package/README.md +1 -2
- package/dist/{chunk-XS5BAACH.mjs → chunk-35RIR32U.mjs} +62 -9
- package/dist/{chunk-2DMNEOTY.mjs → chunk-3V5IPCSZ.mjs} +1 -1
- package/dist/{chunk-RJHUDWTG.mjs → chunk-5HO53HJ3.mjs} +1 -1
- package/dist/{chunk-OJPLIJFJ.js → chunk-6P6B7BLA.js} +2 -2
- package/dist/{chunk-4KZE37RJ.js → chunk-6RZAGMSF.js} +2 -2
- package/dist/{chunk-CDTJAYLJ.mjs → chunk-ER7HCQXR.mjs} +44 -0
- package/dist/{chunk-CLOQAFSP.js → chunk-GKAXLY2M.js} +2 -2
- package/dist/{chunk-UTU6JZAG.js → chunk-KRBXYR4N.js} +2 -2
- package/dist/{chunk-MLCA6E37.mjs → chunk-LBBKR3H3.mjs} +1 -1
- package/dist/{chunk-YDAVIV5R.js → chunk-MKG63IZW.js} +45 -1
- package/dist/{chunk-5WM6Y5TA.mjs → chunk-R4ETDLP6.mjs} +1 -1
- package/dist/{chunk-D645XPQQ.js → chunk-RGAUPWPC.js} +200 -147
- package/dist/{chunk-IGSKGEFE.mjs → chunk-X5B77W3R.mjs} +1 -1
- package/dist/{chunk-Y4UTAL3Q.js → chunk-ZISYG6C7.js} +2 -2
- package/dist/executors.js +6 -6
- package/dist/executors.mjs +6 -6
- package/dist/generators.js +3 -3
- package/dist/generators.mjs +2 -2
- package/dist/index.js +8 -8
- package/dist/index.mjs +7 -7
- package/dist/src/base/index.js +3 -3
- package/dist/src/base/index.mjs +2 -2
- package/dist/src/base/terraform-executor.js +3 -3
- package/dist/src/base/terraform-executor.mjs +2 -2
- package/dist/src/executors/apply/executor.js +4 -4
- package/dist/src/executors/apply/executor.mjs +3 -3
- package/dist/src/executors/destroy/executor.js +4 -4
- package/dist/src/executors/destroy/executor.mjs +3 -3
- package/dist/src/executors/output/executor.js +4 -4
- package/dist/src/executors/output/executor.mjs +3 -3
- package/dist/src/executors/plan/executor.js +4 -4
- package/dist/src/executors/plan/executor.mjs +3 -3
- package/dist/src/generators/init/init.js +3 -3
- package/dist/src/generators/init/init.mjs +2 -2
- 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
|
-
[](https://prettier.io/) [](http://nx.dev/) [](https://nextjs.org/) [](http://commitizen.github.io/cz-cli/)  [](https://fumadocs.vercel.app/) 
|
|
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-
|
|
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
|
|
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
|
|
1019
|
+
const normalizedOptions = { ...options };
|
|
1017
1020
|
const metadata = cargoMetadata();
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
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(
|
|
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 ??= "
|
|
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
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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
|
|
3
|
+
var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
|
|
4
4
|
|
|
5
5
|
// src/executors/plan/executor.ts
|
|
6
|
-
var executor_default =
|
|
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
|
|
3
|
+
var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
|
|
4
4
|
|
|
5
5
|
// src/executors/output/executor.ts
|
|
6
|
-
var executor_default =
|
|
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
|
|
3
|
+
var _chunk6P6B7BLAjs = require('./chunk-6P6B7BLA.js');
|
|
4
4
|
|
|
5
5
|
// src/executors/apply/executor.ts
|
|
6
|
-
var executor_default =
|
|
6
|
+
var executor_default = _chunk6P6B7BLAjs.withTerraformExecutor.call(void 0, "apply");
|
|
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
|
var _fs = require('fs');
|
|
@@ -2178,4 +2219,7 @@ var _isFunction2 = (value) => {
|
|
|
2178
2219
|
|
|
2179
2220
|
|
|
2180
2221
|
|
|
2181
|
-
|
|
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;
|