@storm-software/config-tools 1.7.0 → 1.7.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/CHANGELOG.md +7 -0
- package/index.cjs +25 -21
- package/index.js +22 -18
- package/meta.cjs.json +1 -1
- package/meta.esm.json +1 -1
- package/package.json +1 -1
- package/utilities/find-workspace-root.cjs +22 -28
- package/utilities/find-workspace-root.js +22 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.7.0](https://github.com/storm-software/storm-ops/compare/config-tools-v1.6.1...config-tools-v1.7.0) (2023-12-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **config-tools:** Added the `findWorkspaceRootSync` and `findWorkspaceRootSafeSync` functions ([59e0ee4](https://github.com/storm-software/storm-ops/commit/59e0ee4779a15752fb035d235b929bb3e8ecc974))
|
|
7
|
+
|
|
1
8
|
## [1.6.1](https://github.com/storm-software/storm-ops/compare/config-tools-v1.6.0...config-tools-v1.6.1) (2023-12-21)
|
|
2
9
|
|
|
3
10
|
|
package/index.cjs
CHANGED
|
@@ -112,16 +112,16 @@ var LogLevelLabel = {
|
|
|
112
112
|
|
|
113
113
|
// packages/config-tools/src/utilities/find-up.ts
|
|
114
114
|
var import_locate_path = require("locate-path");
|
|
115
|
-
var
|
|
115
|
+
var import_path = require("path");
|
|
116
116
|
var import_url = require("url");
|
|
117
117
|
var findUpStop = Symbol("findUpStop");
|
|
118
118
|
function toPath(urlOrPath) {
|
|
119
119
|
return urlOrPath instanceof URL ? (0, import_url.fileURLToPath)(urlOrPath) : urlOrPath;
|
|
120
120
|
}
|
|
121
121
|
async function findUpMultiple(names, options = { limit: Number.POSITIVE_INFINITY, type: "file" }) {
|
|
122
|
-
let directory =
|
|
123
|
-
const { root } =
|
|
124
|
-
const stopAt =
|
|
122
|
+
let directory = (0, import_path.resolve)(toPath(options.cwd) ?? "");
|
|
123
|
+
const { root } = (0, import_path.parse)(directory);
|
|
124
|
+
const stopAt = (0, import_path.resolve)(directory, toPath(options.stopAt ?? root));
|
|
125
125
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
126
126
|
if (typeof names === "function") {
|
|
127
127
|
const foundPath = names(options.cwd);
|
|
@@ -150,23 +150,24 @@ Options: ${JSON.stringify(
|
|
|
150
150
|
const foundPath = await runMatcher({ ...options, cwd: directory });
|
|
151
151
|
console.debug(`Found path specified at ${foundPath}`);
|
|
152
152
|
if (foundPath) {
|
|
153
|
-
matches.push(
|
|
153
|
+
matches.push((0, import_path.resolve)(directory, foundPath));
|
|
154
154
|
}
|
|
155
155
|
if (directory === stopAt || matches.length >= limit) {
|
|
156
156
|
break;
|
|
157
157
|
}
|
|
158
|
-
directory =
|
|
158
|
+
directory = (0, import_path.dirname)(directory);
|
|
159
159
|
}
|
|
160
160
|
return matches;
|
|
161
161
|
};
|
|
162
|
-
|
|
162
|
+
const promises = Promise.all(
|
|
163
163
|
(names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
|
|
164
|
-
)
|
|
164
|
+
);
|
|
165
|
+
return (await promises).flat().map((path) => path ? path : "");
|
|
165
166
|
}
|
|
166
167
|
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
167
|
-
let directory =
|
|
168
|
-
const { root } =
|
|
169
|
-
const stopAt =
|
|
168
|
+
let directory = (0, import_path.resolve)(toPath(options.cwd) ?? "");
|
|
169
|
+
const { root } = (0, import_path.parse)(directory);
|
|
170
|
+
const stopAt = (0, import_path.resolve)(directory, toPath(options.stopAt) ?? root);
|
|
170
171
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
171
172
|
if (typeof names === "function") {
|
|
172
173
|
const foundPath = names(options.cwd);
|
|
@@ -188,16 +189,16 @@ function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
|
188
189
|
while (true) {
|
|
189
190
|
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
190
191
|
if (foundPath) {
|
|
191
|
-
matches.push(
|
|
192
|
+
matches.push((0, import_path.resolve)(directory, foundPath));
|
|
192
193
|
}
|
|
193
194
|
if (directory === stopAt || matches.length >= limit) {
|
|
194
195
|
break;
|
|
195
196
|
}
|
|
196
|
-
directory =
|
|
197
|
+
directory = (0, import_path.dirname)(directory);
|
|
197
198
|
}
|
|
198
199
|
return matches;
|
|
199
200
|
};
|
|
200
|
-
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
201
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat().map((path) => path ? path : "");
|
|
201
202
|
}
|
|
202
203
|
async function findUp(names, options = { limit: 1, type: "file" }) {
|
|
203
204
|
const matches = await findUpMultiple(names, options);
|
|
@@ -233,8 +234,11 @@ var rootFiles = [
|
|
|
233
234
|
"pnpm-lock.yml",
|
|
234
235
|
"bun.lockb"
|
|
235
236
|
];
|
|
236
|
-
function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
237
|
-
|
|
237
|
+
async function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
238
|
+
if (process.env.STORM_WORKSPACE_ROOT || process.env.NX_WORKSPACE_ROOT_PATH) {
|
|
239
|
+
return process.env.STORM_WORKSPACE_ROOT ?? process.env.NX_WORKSPACE_ROOT_PATH;
|
|
240
|
+
}
|
|
241
|
+
return await findUp(rootFiles, {
|
|
238
242
|
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
239
243
|
type: "file",
|
|
240
244
|
limit: 1
|
|
@@ -247,8 +251,8 @@ function findWorkspaceRootSafeSync(pathInsideMonorepo) {
|
|
|
247
251
|
limit: 1
|
|
248
252
|
});
|
|
249
253
|
}
|
|
250
|
-
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
251
|
-
const result = findWorkspaceRootSafe(pathInsideMonorepo);
|
|
254
|
+
async function findWorkspaceRoot(pathInsideMonorepo) {
|
|
255
|
+
const result = await findWorkspaceRootSafe(pathInsideMonorepo);
|
|
252
256
|
if (!result) {
|
|
253
257
|
throw new Error(
|
|
254
258
|
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
@@ -276,7 +280,7 @@ Path: ${pathInsideMonorepo ? pathInsideMonorepo : process.cwd()}`
|
|
|
276
280
|
|
|
277
281
|
// packages/config-tools/src/utilities/get-default-config.ts
|
|
278
282
|
var import_fs = require("fs");
|
|
279
|
-
var
|
|
283
|
+
var import_path2 = require("path");
|
|
280
284
|
|
|
281
285
|
// packages/config-tools/src/schema.ts
|
|
282
286
|
var z = __toESM(require("zod"), 1);
|
|
@@ -367,8 +371,8 @@ var getDefaultConfig = (config = {}, root) => {
|
|
|
367
371
|
let license = DefaultStormConfig.license;
|
|
368
372
|
let homepage = DefaultStormConfig.homepage;
|
|
369
373
|
const workspaceRoot = findWorkspaceRootSync(root);
|
|
370
|
-
if ((0, import_fs.existsSync)((0,
|
|
371
|
-
const file = (0, import_fs.readFileSync)((0,
|
|
374
|
+
if ((0, import_fs.existsSync)((0, import_path2.join)(workspaceRoot, "package.json"))) {
|
|
375
|
+
const file = (0, import_fs.readFileSync)((0, import_path2.join)(workspaceRoot, "package.json"), {
|
|
372
376
|
encoding: "utf-8"
|
|
373
377
|
});
|
|
374
378
|
if (file) {
|
package/index.js
CHANGED
|
@@ -57,16 +57,16 @@ var LogLevelLabel = {
|
|
|
57
57
|
|
|
58
58
|
// packages/config-tools/src/utilities/find-up.ts
|
|
59
59
|
import { locatePath, locatePathSync } from "locate-path";
|
|
60
|
-
import
|
|
60
|
+
import { dirname, parse, resolve } from "path";
|
|
61
61
|
import { fileURLToPath } from "url";
|
|
62
62
|
var findUpStop = Symbol("findUpStop");
|
|
63
63
|
function toPath(urlOrPath) {
|
|
64
64
|
return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;
|
|
65
65
|
}
|
|
66
66
|
async function findUpMultiple(names, options = { limit: Number.POSITIVE_INFINITY, type: "file" }) {
|
|
67
|
-
let directory =
|
|
68
|
-
const { root } =
|
|
69
|
-
const stopAt =
|
|
67
|
+
let directory = resolve(toPath(options.cwd) ?? "");
|
|
68
|
+
const { root } = parse(directory);
|
|
69
|
+
const stopAt = resolve(directory, toPath(options.stopAt ?? root));
|
|
70
70
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
71
71
|
if (typeof names === "function") {
|
|
72
72
|
const foundPath = names(options.cwd);
|
|
@@ -95,23 +95,24 @@ Options: ${JSON.stringify(
|
|
|
95
95
|
const foundPath = await runMatcher({ ...options, cwd: directory });
|
|
96
96
|
console.debug(`Found path specified at ${foundPath}`);
|
|
97
97
|
if (foundPath) {
|
|
98
|
-
matches.push(
|
|
98
|
+
matches.push(resolve(directory, foundPath));
|
|
99
99
|
}
|
|
100
100
|
if (directory === stopAt || matches.length >= limit) {
|
|
101
101
|
break;
|
|
102
102
|
}
|
|
103
|
-
directory =
|
|
103
|
+
directory = dirname(directory);
|
|
104
104
|
}
|
|
105
105
|
return matches;
|
|
106
106
|
};
|
|
107
|
-
|
|
107
|
+
const promises = Promise.all(
|
|
108
108
|
(names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
|
|
109
|
-
)
|
|
109
|
+
);
|
|
110
|
+
return (await promises).flat().map((path) => path ? path : "");
|
|
110
111
|
}
|
|
111
112
|
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
112
|
-
let directory =
|
|
113
|
-
const { root } =
|
|
114
|
-
const stopAt =
|
|
113
|
+
let directory = resolve(toPath(options.cwd) ?? "");
|
|
114
|
+
const { root } = parse(directory);
|
|
115
|
+
const stopAt = resolve(directory, toPath(options.stopAt) ?? root);
|
|
115
116
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
116
117
|
if (typeof names === "function") {
|
|
117
118
|
const foundPath = names(options.cwd);
|
|
@@ -133,16 +134,16 @@ function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
|
133
134
|
while (true) {
|
|
134
135
|
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
135
136
|
if (foundPath) {
|
|
136
|
-
matches.push(
|
|
137
|
+
matches.push(resolve(directory, foundPath));
|
|
137
138
|
}
|
|
138
139
|
if (directory === stopAt || matches.length >= limit) {
|
|
139
140
|
break;
|
|
140
141
|
}
|
|
141
|
-
directory =
|
|
142
|
+
directory = dirname(directory);
|
|
142
143
|
}
|
|
143
144
|
return matches;
|
|
144
145
|
};
|
|
145
|
-
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
146
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat().map((path) => path ? path : "");
|
|
146
147
|
}
|
|
147
148
|
async function findUp(names, options = { limit: 1, type: "file" }) {
|
|
148
149
|
const matches = await findUpMultiple(names, options);
|
|
@@ -178,8 +179,11 @@ var rootFiles = [
|
|
|
178
179
|
"pnpm-lock.yml",
|
|
179
180
|
"bun.lockb"
|
|
180
181
|
];
|
|
181
|
-
function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
182
|
-
|
|
182
|
+
async function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
183
|
+
if (process.env.STORM_WORKSPACE_ROOT || process.env.NX_WORKSPACE_ROOT_PATH) {
|
|
184
|
+
return process.env.STORM_WORKSPACE_ROOT ?? process.env.NX_WORKSPACE_ROOT_PATH;
|
|
185
|
+
}
|
|
186
|
+
return await findUp(rootFiles, {
|
|
183
187
|
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
184
188
|
type: "file",
|
|
185
189
|
limit: 1
|
|
@@ -192,8 +196,8 @@ function findWorkspaceRootSafeSync(pathInsideMonorepo) {
|
|
|
192
196
|
limit: 1
|
|
193
197
|
});
|
|
194
198
|
}
|
|
195
|
-
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
196
|
-
const result = findWorkspaceRootSafe(pathInsideMonorepo);
|
|
199
|
+
async function findWorkspaceRoot(pathInsideMonorepo) {
|
|
200
|
+
const result = await findWorkspaceRootSafe(pathInsideMonorepo);
|
|
197
201
|
if (!result) {
|
|
198
202
|
throw new Error(
|
|
199
203
|
`Cannot find workspace root upwards from known path. Files search list includes:
|
package/meta.cjs.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/config-tools/src/config-file/get-config-file.ts":{"bytes":1987,"imports":[{"path":"cosmiconfig","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/config-file/index.ts":{"bytes":35,"imports":[{"path":"packages/config-tools/src/config-file/get-config-file.ts","kind":"import-statement","original":"./get-config-file"}],"format":"esm"},"packages/config-tools/src/types.ts":{"bytes":1405,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":
|
|
1
|
+
{"inputs":{"packages/config-tools/src/config-file/get-config-file.ts":{"bytes":1987,"imports":[{"path":"cosmiconfig","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/config-file/index.ts":{"bytes":35,"imports":[{"path":"packages/config-tools/src/config-file/get-config-file.ts","kind":"import-statement","original":"./get-config-file"}],"format":"esm"},"packages/config-tools/src/types.ts":{"bytes":1405,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":4531,"imports":[{"path":"locate-path","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"url","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytes":3052,"imports":[{"path":"packages/config-tools/src/utilities/find-up.ts","kind":"import-statement","original":"./find-up"}],"format":"esm"},"packages/config-tools/src/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/get-default-config.ts":{"bytes":2608,"imports":[{"path":"fs","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"../schema"},{"path":"../types","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/find-workspace-root.ts","kind":"import-statement","original":"./find-workspace-root"}],"format":"esm"},"packages/config-tools/src/utilities/get-log-level.ts":{"bytes":1409,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/config-tools/src/utilities/index.ts":{"bytes":110,"imports":[{"path":"packages/config-tools/src/utilities/find-workspace-root.ts","kind":"import-statement","original":"./find-workspace-root"},{"path":"packages/config-tools/src/utilities/get-default-config.ts","kind":"import-statement","original":"./get-default-config"},{"path":"packages/config-tools/src/utilities/get-log-level.ts","kind":"import-statement","original":"./get-log-level"}],"format":"esm"},"packages/config-tools/src/env/get-env.ts":{"bytes":4137,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/config-tools/src/utilities/index.ts","kind":"import-statement","original":"../utilities"}],"format":"esm"},"packages/config-tools/src/create-storm-config.ts":{"bytes":2905,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"packages/config-tools/src/env/get-env.ts","kind":"import-statement","original":"./env/get-env"},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"./schema"},{"path":"./types","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/get-default-config.ts","kind":"import-statement","original":"./utilities/get-default-config"}],"format":"esm"},"packages/config-tools/src/env/set-env.ts":{"bytes":4309,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/config-tools/src/utilities/get-log-level.ts","kind":"import-statement","original":"../utilities/get-log-level"}],"format":"esm"},"packages/config-tools/src/env/index.ts":{"bytes":54,"imports":[{"path":"packages/config-tools/src/env/get-env.ts","kind":"import-statement","original":"./get-env"},{"path":"packages/config-tools/src/env/set-env.ts","kind":"import-statement","original":"./set-env"}],"format":"esm"},"packages/config-tools/src/index.ts":{"bytes":399,"imports":[{"path":"packages/config-tools/src/config-file/index.ts","kind":"import-statement","original":"./config-file"},{"path":"packages/config-tools/src/create-storm-config.ts","kind":"import-statement","original":"./create-storm-config"},{"path":"packages/config-tools/src/env/index.ts","kind":"import-statement","original":"./env"},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/config-tools/src/utilities/index.ts","kind":"import-statement","original":"./utilities"}],"format":"esm"}},"outputs":{"dist/packages/config-tools/index.cjs":{"imports":[{"path":"cosmiconfig","kind":"require-call","external":true},{"path":"locate-path","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"url","kind":"require-call","external":true},{"path":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"zod","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/config-tools/src/index.ts","inputs":{"packages/config-tools/src/index.ts":{"bytesInOutput":1015},"packages/config-tools/src/config-file/get-config-file.ts":{"bytesInOutput":1594},"packages/config-tools/src/config-file/index.ts":{"bytesInOutput":0},"packages/config-tools/src/types.ts":{"bytesInOutput":256},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":3846},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1900},"packages/config-tools/src/utilities/index.ts":{"bytesInOutput":0},"packages/config-tools/src/utilities/get-default-config.ts":{"bytesInOutput":2042},"packages/config-tools/src/schema.ts":{"bytesInOutput":4454},"packages/config-tools/src/utilities/get-log-level.ts":{"bytesInOutput":1029},"packages/config-tools/src/env/get-env.ts":{"bytesInOutput":3060},"packages/config-tools/src/create-storm-config.ts":{"bytesInOutput":1106},"packages/config-tools/src/env/index.ts":{"bytesInOutput":0},"packages/config-tools/src/env/set-env.ts":{"bytesInOutput":3528}},"bytes":26338},"dist/packages/config-tools/utilities/find-workspace-root.cjs":{"imports":[{"path":"locate-path","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"url","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/config-tools/src/utilities/find-workspace-root.ts","inputs":{"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":2257},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":3846}},"bytes":7255}}}
|
package/meta.esm.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/config-tools/src/config-file/get-config-file.ts":{"bytes":1987,"imports":[{"path":"cosmiconfig","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/config-file/index.ts":{"bytes":35,"imports":[{"path":"packages/config-tools/src/config-file/get-config-file.ts","kind":"import-statement","original":"./get-config-file"}],"format":"esm"},"packages/config-tools/src/types.ts":{"bytes":1405,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":
|
|
1
|
+
{"inputs":{"packages/config-tools/src/config-file/get-config-file.ts":{"bytes":1987,"imports":[{"path":"cosmiconfig","kind":"import-statement","external":true},{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/config-file/index.ts":{"bytes":35,"imports":[{"path":"packages/config-tools/src/config-file/get-config-file.ts","kind":"import-statement","original":"./get-config-file"}],"format":"esm"},"packages/config-tools/src/types.ts":{"bytes":1405,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":4531,"imports":[{"path":"locate-path","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"url","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytes":3052,"imports":[{"path":"packages/config-tools/src/utilities/find-up.ts","kind":"import-statement","original":"./find-up"}],"format":"esm"},"packages/config-tools/src/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/get-default-config.ts":{"bytes":2608,"imports":[{"path":"fs","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"../schema"},{"path":"../types","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/find-workspace-root.ts","kind":"import-statement","original":"./find-workspace-root"}],"format":"esm"},"packages/config-tools/src/utilities/get-log-level.ts":{"bytes":1409,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/config-tools/src/utilities/index.ts":{"bytes":110,"imports":[{"path":"packages/config-tools/src/utilities/find-workspace-root.ts","kind":"import-statement","original":"./find-workspace-root"},{"path":"packages/config-tools/src/utilities/get-default-config.ts","kind":"import-statement","original":"./get-default-config"},{"path":"packages/config-tools/src/utilities/get-log-level.ts","kind":"import-statement","original":"./get-log-level"}],"format":"esm"},"packages/config-tools/src/env/get-env.ts":{"bytes":4137,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/config-tools/src/utilities/index.ts","kind":"import-statement","original":"../utilities"}],"format":"esm"},"packages/config-tools/src/create-storm-config.ts":{"bytes":2905,"imports":[{"path":"zod","kind":"import-statement","external":true},{"path":"packages/config-tools/src/env/get-env.ts","kind":"import-statement","original":"./env/get-env"},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"./schema"},{"path":"./types","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/get-default-config.ts","kind":"import-statement","original":"./utilities/get-default-config"}],"format":"esm"},"packages/config-tools/src/env/set-env.ts":{"bytes":4309,"imports":[{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/config-tools/src/utilities/get-log-level.ts","kind":"import-statement","original":"../utilities/get-log-level"}],"format":"esm"},"packages/config-tools/src/env/index.ts":{"bytes":54,"imports":[{"path":"packages/config-tools/src/env/get-env.ts","kind":"import-statement","original":"./get-env"},{"path":"packages/config-tools/src/env/set-env.ts","kind":"import-statement","original":"./set-env"}],"format":"esm"},"packages/config-tools/src/index.ts":{"bytes":399,"imports":[{"path":"packages/config-tools/src/config-file/index.ts","kind":"import-statement","original":"./config-file"},{"path":"packages/config-tools/src/create-storm-config.ts","kind":"import-statement","original":"./create-storm-config"},{"path":"packages/config-tools/src/env/index.ts","kind":"import-statement","original":"./env"},{"path":"packages/config-tools/src/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/config-tools/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/config-tools/src/utilities/index.ts","kind":"import-statement","original":"./utilities"}],"format":"esm"}},"outputs":{"dist/packages/config-tools/index.js":{"imports":[{"path":"cosmiconfig","kind":"import-statement","external":true},{"path":"locate-path","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"url","kind":"import-statement","external":true},{"path":"fs","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"zod","kind":"import-statement","external":true}],"exports":["ColorConfigSchema","DefaultColorConfig","DefaultStormConfig","LogLevel","LogLevelLabel","StormConfigSchema","createConfig","createConfigExtension","createStormConfig","findWorkspaceRoot","findWorkspaceRootSafe","findWorkspaceRootSafeSync","findWorkspaceRootSync","getConfigEnv","getConfigFile","getDefaultConfig","getExtensionEnv","getLogLevel","getLogLevelLabel","setConfigEnv","setExtensionEnv"],"entryPoint":"packages/config-tools/src/index.ts","inputs":{"packages/config-tools/src/config-file/get-config-file.ts":{"bytesInOutput":1564},"packages/config-tools/src/config-file/index.ts":{"bytesInOutput":0},"packages/config-tools/src/index.ts":{"bytesInOutput":0},"packages/config-tools/src/types.ts":{"bytesInOutput":256},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":3542},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1900},"packages/config-tools/src/utilities/index.ts":{"bytesInOutput":0},"packages/config-tools/src/utilities/get-default-config.ts":{"bytesInOutput":1985},"packages/config-tools/src/schema.ts":{"bytesInOutput":4444},"packages/config-tools/src/utilities/get-log-level.ts":{"bytesInOutput":1029},"packages/config-tools/src/env/get-env.ts":{"bytesInOutput":3060},"packages/config-tools/src/create-storm-config.ts":{"bytesInOutput":1106},"packages/config-tools/src/env/index.ts":{"bytesInOutput":0},"packages/config-tools/src/env/set-env.ts":{"bytesInOutput":3528}},"bytes":23421},"dist/packages/config-tools/utilities/find-workspace-root.js":{"imports":[{"path":"locate-path","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"url","kind":"import-statement","external":true}],"exports":["findWorkspaceRoot","findWorkspaceRootSafe","findWorkspaceRootSafeSync","findWorkspaceRootSync"],"entryPoint":"packages/config-tools/src/utilities/find-workspace-root.ts","inputs":{"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":3542},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1900}},"bytes":5666}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storm-software/config-tools",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "⚡The Storm-Ops monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.",
|
|
6
6
|
"repository": {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all)
|
|
@@ -16,14 +14,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
14
|
}
|
|
17
15
|
return to;
|
|
18
16
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
18
|
|
|
29
19
|
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
@@ -38,16 +28,16 @@ module.exports = __toCommonJS(find_workspace_root_exports);
|
|
|
38
28
|
|
|
39
29
|
// packages/config-tools/src/utilities/find-up.ts
|
|
40
30
|
var import_locate_path = require("locate-path");
|
|
41
|
-
var
|
|
31
|
+
var import_path = require("path");
|
|
42
32
|
var import_url = require("url");
|
|
43
33
|
var findUpStop = Symbol("findUpStop");
|
|
44
34
|
function toPath(urlOrPath) {
|
|
45
35
|
return urlOrPath instanceof URL ? (0, import_url.fileURLToPath)(urlOrPath) : urlOrPath;
|
|
46
36
|
}
|
|
47
37
|
async function findUpMultiple(names, options = { limit: Number.POSITIVE_INFINITY, type: "file" }) {
|
|
48
|
-
let directory =
|
|
49
|
-
const { root } =
|
|
50
|
-
const stopAt =
|
|
38
|
+
let directory = (0, import_path.resolve)(toPath(options.cwd) ?? "");
|
|
39
|
+
const { root } = (0, import_path.parse)(directory);
|
|
40
|
+
const stopAt = (0, import_path.resolve)(directory, toPath(options.stopAt ?? root));
|
|
51
41
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
52
42
|
if (typeof names === "function") {
|
|
53
43
|
const foundPath = names(options.cwd);
|
|
@@ -76,23 +66,24 @@ Options: ${JSON.stringify(
|
|
|
76
66
|
const foundPath = await runMatcher({ ...options, cwd: directory });
|
|
77
67
|
console.debug(`Found path specified at ${foundPath}`);
|
|
78
68
|
if (foundPath) {
|
|
79
|
-
matches.push(
|
|
69
|
+
matches.push((0, import_path.resolve)(directory, foundPath));
|
|
80
70
|
}
|
|
81
71
|
if (directory === stopAt || matches.length >= limit) {
|
|
82
72
|
break;
|
|
83
73
|
}
|
|
84
|
-
directory =
|
|
74
|
+
directory = (0, import_path.dirname)(directory);
|
|
85
75
|
}
|
|
86
76
|
return matches;
|
|
87
77
|
};
|
|
88
|
-
|
|
78
|
+
const promises = Promise.all(
|
|
89
79
|
(names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
|
|
90
|
-
)
|
|
80
|
+
);
|
|
81
|
+
return (await promises).flat().map((path) => path ? path : "");
|
|
91
82
|
}
|
|
92
83
|
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
93
|
-
let directory =
|
|
94
|
-
const { root } =
|
|
95
|
-
const stopAt =
|
|
84
|
+
let directory = (0, import_path.resolve)(toPath(options.cwd) ?? "");
|
|
85
|
+
const { root } = (0, import_path.parse)(directory);
|
|
86
|
+
const stopAt = (0, import_path.resolve)(directory, toPath(options.stopAt) ?? root);
|
|
96
87
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
97
88
|
if (typeof names === "function") {
|
|
98
89
|
const foundPath = names(options.cwd);
|
|
@@ -114,16 +105,16 @@ function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
|
114
105
|
while (true) {
|
|
115
106
|
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
116
107
|
if (foundPath) {
|
|
117
|
-
matches.push(
|
|
108
|
+
matches.push((0, import_path.resolve)(directory, foundPath));
|
|
118
109
|
}
|
|
119
110
|
if (directory === stopAt || matches.length >= limit) {
|
|
120
111
|
break;
|
|
121
112
|
}
|
|
122
|
-
directory =
|
|
113
|
+
directory = (0, import_path.dirname)(directory);
|
|
123
114
|
}
|
|
124
115
|
return matches;
|
|
125
116
|
};
|
|
126
|
-
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
117
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat().map((path) => path ? path : "");
|
|
127
118
|
}
|
|
128
119
|
async function findUp(names, options = { limit: 1, type: "file" }) {
|
|
129
120
|
const matches = await findUpMultiple(names, options);
|
|
@@ -159,8 +150,11 @@ var rootFiles = [
|
|
|
159
150
|
"pnpm-lock.yml",
|
|
160
151
|
"bun.lockb"
|
|
161
152
|
];
|
|
162
|
-
function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
163
|
-
|
|
153
|
+
async function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
154
|
+
if (process.env.STORM_WORKSPACE_ROOT || process.env.NX_WORKSPACE_ROOT_PATH) {
|
|
155
|
+
return process.env.STORM_WORKSPACE_ROOT ?? process.env.NX_WORKSPACE_ROOT_PATH;
|
|
156
|
+
}
|
|
157
|
+
return await findUp(rootFiles, {
|
|
164
158
|
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
165
159
|
type: "file",
|
|
166
160
|
limit: 1
|
|
@@ -173,8 +167,8 @@ function findWorkspaceRootSafeSync(pathInsideMonorepo) {
|
|
|
173
167
|
limit: 1
|
|
174
168
|
});
|
|
175
169
|
}
|
|
176
|
-
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
177
|
-
const result = findWorkspaceRootSafe(pathInsideMonorepo);
|
|
170
|
+
async function findWorkspaceRoot(pathInsideMonorepo) {
|
|
171
|
+
const result = await findWorkspaceRootSafe(pathInsideMonorepo);
|
|
178
172
|
if (!result) {
|
|
179
173
|
throw new Error(
|
|
180
174
|
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// packages/config-tools/src/utilities/find-up.ts
|
|
2
2
|
import { locatePath, locatePathSync } from "locate-path";
|
|
3
|
-
import
|
|
3
|
+
import { dirname, parse, resolve } from "path";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
var findUpStop = Symbol("findUpStop");
|
|
6
6
|
function toPath(urlOrPath) {
|
|
7
7
|
return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;
|
|
8
8
|
}
|
|
9
9
|
async function findUpMultiple(names, options = { limit: Number.POSITIVE_INFINITY, type: "file" }) {
|
|
10
|
-
let directory =
|
|
11
|
-
const { root } =
|
|
12
|
-
const stopAt =
|
|
10
|
+
let directory = resolve(toPath(options.cwd) ?? "");
|
|
11
|
+
const { root } = parse(directory);
|
|
12
|
+
const stopAt = resolve(directory, toPath(options.stopAt ?? root));
|
|
13
13
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
14
14
|
if (typeof names === "function") {
|
|
15
15
|
const foundPath = names(options.cwd);
|
|
@@ -38,23 +38,24 @@ Options: ${JSON.stringify(
|
|
|
38
38
|
const foundPath = await runMatcher({ ...options, cwd: directory });
|
|
39
39
|
console.debug(`Found path specified at ${foundPath}`);
|
|
40
40
|
if (foundPath) {
|
|
41
|
-
matches.push(
|
|
41
|
+
matches.push(resolve(directory, foundPath));
|
|
42
42
|
}
|
|
43
43
|
if (directory === stopAt || matches.length >= limit) {
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
|
-
directory =
|
|
46
|
+
directory = dirname(directory);
|
|
47
47
|
}
|
|
48
48
|
return matches;
|
|
49
49
|
};
|
|
50
|
-
|
|
50
|
+
const promises = Promise.all(
|
|
51
51
|
(names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
|
|
52
|
-
)
|
|
52
|
+
);
|
|
53
|
+
return (await promises).flat().map((path) => path ? path : "");
|
|
53
54
|
}
|
|
54
55
|
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
55
|
-
let directory =
|
|
56
|
-
const { root } =
|
|
57
|
-
const stopAt =
|
|
56
|
+
let directory = resolve(toPath(options.cwd) ?? "");
|
|
57
|
+
const { root } = parse(directory);
|
|
58
|
+
const stopAt = resolve(directory, toPath(options.stopAt) ?? root);
|
|
58
59
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
59
60
|
if (typeof names === "function") {
|
|
60
61
|
const foundPath = names(options.cwd);
|
|
@@ -76,16 +77,16 @@ function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
|
76
77
|
while (true) {
|
|
77
78
|
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
78
79
|
if (foundPath) {
|
|
79
|
-
matches.push(
|
|
80
|
+
matches.push(resolve(directory, foundPath));
|
|
80
81
|
}
|
|
81
82
|
if (directory === stopAt || matches.length >= limit) {
|
|
82
83
|
break;
|
|
83
84
|
}
|
|
84
|
-
directory =
|
|
85
|
+
directory = dirname(directory);
|
|
85
86
|
}
|
|
86
87
|
return matches;
|
|
87
88
|
};
|
|
88
|
-
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
89
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat().map((path) => path ? path : "");
|
|
89
90
|
}
|
|
90
91
|
async function findUp(names, options = { limit: 1, type: "file" }) {
|
|
91
92
|
const matches = await findUpMultiple(names, options);
|
|
@@ -121,8 +122,11 @@ var rootFiles = [
|
|
|
121
122
|
"pnpm-lock.yml",
|
|
122
123
|
"bun.lockb"
|
|
123
124
|
];
|
|
124
|
-
function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
125
|
-
|
|
125
|
+
async function findWorkspaceRootSafe(pathInsideMonorepo) {
|
|
126
|
+
if (process.env.STORM_WORKSPACE_ROOT || process.env.NX_WORKSPACE_ROOT_PATH) {
|
|
127
|
+
return process.env.STORM_WORKSPACE_ROOT ?? process.env.NX_WORKSPACE_ROOT_PATH;
|
|
128
|
+
}
|
|
129
|
+
return await findUp(rootFiles, {
|
|
126
130
|
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
127
131
|
type: "file",
|
|
128
132
|
limit: 1
|
|
@@ -135,8 +139,8 @@ function findWorkspaceRootSafeSync(pathInsideMonorepo) {
|
|
|
135
139
|
limit: 1
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
|
-
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
139
|
-
const result = findWorkspaceRootSafe(pathInsideMonorepo);
|
|
142
|
+
async function findWorkspaceRoot(pathInsideMonorepo) {
|
|
143
|
+
const result = await findWorkspaceRootSafe(pathInsideMonorepo);
|
|
140
144
|
if (!result) {
|
|
141
145
|
throw new Error(
|
|
142
146
|
`Cannot find workspace root upwards from known path. Files search list includes:
|