@storm-software/config-tools 1.5.9 → 1.5.11
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 +14 -0
- package/index.cjs +97 -5
- package/index.js +96 -4
- package/meta.cjs.json +1 -1
- package/meta.esm.json +1 -1
- package/package.json +1 -1
- package/utilities/find-workspace-root.cjs +20 -33
- package/utilities/find-workspace-root.js +15 -28
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.5.10](https://github.com/storm-software/storm-ops/compare/config-tools-v1.5.9...config-tools-v1.5.10) (2023-12-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **config-tools:** Resolved issue with determining workspace root ([a614a36](https://github.com/storm-software/storm-ops/commit/a614a363194913de9d5de596fc70910f586d33f9))
|
|
7
|
+
|
|
8
|
+
## [1.5.9](https://github.com/storm-software/storm-ops/compare/config-tools-v1.5.8...config-tools-v1.5.9) (2023-12-21)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **config-tools:** Handle sync method correctly ([6cbd64e](https://github.com/storm-software/storm-ops/commit/6cbd64e61f88f4a651ae1f05e16811fdf355fc71))
|
|
14
|
+
|
|
1
15
|
## [1.5.8](https://github.com/storm-software/storm-ops/compare/config-tools-v1.5.7...config-tools-v1.5.8) (2023-12-20)
|
|
2
16
|
|
|
3
17
|
|
package/index.cjs
CHANGED
|
@@ -107,7 +107,6 @@ var LogLevelLabel = {
|
|
|
107
107
|
|
|
108
108
|
// packages/config-tools/src/utilities/get-default-config.ts
|
|
109
109
|
var import_fs = require("fs");
|
|
110
|
-
var import_find_workspace_root = require("nx/src/utils/find-workspace-root.js");
|
|
111
110
|
var import_path = require("path");
|
|
112
111
|
|
|
113
112
|
// packages/config-tools/src/schema.ts
|
|
@@ -163,6 +162,101 @@ var StormConfigSchema = z.object({
|
|
|
163
162
|
"Storm Workspace config values used during various dev-ops processes. This type is a combination of the StormPackageConfig and StormProject types. It represents the config of the entire monorepo."
|
|
164
163
|
);
|
|
165
164
|
|
|
165
|
+
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
166
|
+
var path2 = __toESM(require("path"), 1);
|
|
167
|
+
|
|
168
|
+
// packages/config-tools/src/utilities/find-up.ts
|
|
169
|
+
var import_locate_path = require("locate-path");
|
|
170
|
+
var path = __toESM(require("path"), 1);
|
|
171
|
+
var import_url = require("url");
|
|
172
|
+
var findUpStop = Symbol("findUpStop");
|
|
173
|
+
function toPath(urlOrPath) {
|
|
174
|
+
return urlOrPath instanceof URL ? (0, import_url.fileURLToPath)(urlOrPath) : urlOrPath;
|
|
175
|
+
}
|
|
176
|
+
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
177
|
+
let directory = path.resolve(toPath(options.cwd) ?? "");
|
|
178
|
+
const { root } = path.parse(directory);
|
|
179
|
+
const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
|
|
180
|
+
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
181
|
+
if (typeof names === "function") {
|
|
182
|
+
const foundPath = names(options.cwd);
|
|
183
|
+
return (0, import_locate_path.locatePathSync)([foundPath], options);
|
|
184
|
+
}
|
|
185
|
+
const runNameMatcher = (name) => {
|
|
186
|
+
const paths = [name].flat();
|
|
187
|
+
const runMatcher = (locateOptions) => {
|
|
188
|
+
if (typeof name !== "function") {
|
|
189
|
+
return (0, import_locate_path.locatePathSync)(paths, locateOptions);
|
|
190
|
+
}
|
|
191
|
+
const foundPath = name(locateOptions.cwd);
|
|
192
|
+
if (typeof foundPath === "string") {
|
|
193
|
+
return (0, import_locate_path.locatePathSync)([foundPath], locateOptions);
|
|
194
|
+
}
|
|
195
|
+
return foundPath;
|
|
196
|
+
};
|
|
197
|
+
const matches = [];
|
|
198
|
+
while (true) {
|
|
199
|
+
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
200
|
+
if (foundPath) {
|
|
201
|
+
matches.push(path.resolve(directory, foundPath));
|
|
202
|
+
}
|
|
203
|
+
if (directory === stopAt || matches.length >= limit) {
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
directory = path.dirname(directory);
|
|
207
|
+
}
|
|
208
|
+
return matches;
|
|
209
|
+
};
|
|
210
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
211
|
+
}
|
|
212
|
+
function findUpSync(names, options = { limit: 1, type: "file" }) {
|
|
213
|
+
const matches = findUpMultipleSync(names, options);
|
|
214
|
+
return matches[0];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
218
|
+
var rootFiles = [
|
|
219
|
+
"lerna.json",
|
|
220
|
+
"nx.json",
|
|
221
|
+
"turbo.json",
|
|
222
|
+
"npm-workspace.json",
|
|
223
|
+
"yarn-workspace.json",
|
|
224
|
+
"pnpm-workspace.json",
|
|
225
|
+
"npm-workspace.yaml",
|
|
226
|
+
"yarn-workspace.yaml",
|
|
227
|
+
"pnpm-workspace.yaml",
|
|
228
|
+
"npm-workspace.yml",
|
|
229
|
+
"yarn-workspace.yml",
|
|
230
|
+
"pnpm-workspace.yml",
|
|
231
|
+
"npm-lock.json",
|
|
232
|
+
"yarn-lock.json",
|
|
233
|
+
"pnpm-lock.json",
|
|
234
|
+
"npm-lock.yaml",
|
|
235
|
+
"yarn-lock.yaml",
|
|
236
|
+
"pnpm-lock.yaml",
|
|
237
|
+
"npm-lock.yml",
|
|
238
|
+
"yarn-lock.yml",
|
|
239
|
+
"pnpm-lock.yml",
|
|
240
|
+
"bun.lockb"
|
|
241
|
+
];
|
|
242
|
+
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
243
|
+
const result = process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUpSync(rootFiles, {
|
|
244
|
+
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
245
|
+
type: "file",
|
|
246
|
+
limit: 1
|
|
247
|
+
});
|
|
248
|
+
if (!result) {
|
|
249
|
+
throw new Error(
|
|
250
|
+
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
251
|
+
${rootFiles.join(
|
|
252
|
+
"\n"
|
|
253
|
+
)}
|
|
254
|
+
Path: ${path2}`
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
return result;
|
|
258
|
+
}
|
|
259
|
+
|
|
166
260
|
// packages/config-tools/src/utilities/get-default-config.ts
|
|
167
261
|
var DefaultColorConfig = {
|
|
168
262
|
primary: "#1fb2a6",
|
|
@@ -198,10 +292,7 @@ var getDefaultConfig = (config = {}) => {
|
|
|
198
292
|
let repository = "https://github.com/storm-software/storm-stack";
|
|
199
293
|
let license = DefaultStormConfig.license;
|
|
200
294
|
let homepage = DefaultStormConfig.homepage;
|
|
201
|
-
const workspaceRoot =
|
|
202
|
-
if (typeof workspaceRoot !== "string") {
|
|
203
|
-
throw new Error("Could not find workspace root");
|
|
204
|
-
}
|
|
295
|
+
const workspaceRoot = findWorkspaceRoot(process.cwd());
|
|
205
296
|
if ((0, import_fs.existsSync)((0, import_path.join)(workspaceRoot, "package.json"))) {
|
|
206
297
|
const file = (0, import_fs.readFileSync)((0, import_path.join)(workspaceRoot, "package.json"), {
|
|
207
298
|
encoding: "utf-8"
|
|
@@ -342,6 +433,7 @@ var createStormConfig = (extensionName, schema) => {
|
|
|
342
433
|
let result;
|
|
343
434
|
if (!_static_cache2) {
|
|
344
435
|
let config = getConfigEnv();
|
|
436
|
+
config = Object.assign(getDefaultConfig(), config);
|
|
345
437
|
result = StormConfigSchema.parse(config);
|
|
346
438
|
} else {
|
|
347
439
|
result = _static_cache2;
|
package/index.js
CHANGED
|
@@ -57,7 +57,6 @@ var LogLevelLabel = {
|
|
|
57
57
|
|
|
58
58
|
// packages/config-tools/src/utilities/get-default-config.ts
|
|
59
59
|
import { existsSync, readFileSync } from "fs";
|
|
60
|
-
import { findWorkspaceRoot } from "nx/src/utils/find-workspace-root.js";
|
|
61
60
|
import { join } from "path";
|
|
62
61
|
|
|
63
62
|
// packages/config-tools/src/schema.ts
|
|
@@ -113,6 +112,101 @@ var StormConfigSchema = z.object({
|
|
|
113
112
|
"Storm Workspace config values used during various dev-ops processes. This type is a combination of the StormPackageConfig and StormProject types. It represents the config of the entire monorepo."
|
|
114
113
|
);
|
|
115
114
|
|
|
115
|
+
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
116
|
+
import * as path2 from "path";
|
|
117
|
+
|
|
118
|
+
// packages/config-tools/src/utilities/find-up.ts
|
|
119
|
+
import { locatePath, locatePathSync } from "locate-path";
|
|
120
|
+
import * as path from "path";
|
|
121
|
+
import { fileURLToPath } from "url";
|
|
122
|
+
var findUpStop = Symbol("findUpStop");
|
|
123
|
+
function toPath(urlOrPath) {
|
|
124
|
+
return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;
|
|
125
|
+
}
|
|
126
|
+
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
127
|
+
let directory = path.resolve(toPath(options.cwd) ?? "");
|
|
128
|
+
const { root } = path.parse(directory);
|
|
129
|
+
const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
|
|
130
|
+
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
131
|
+
if (typeof names === "function") {
|
|
132
|
+
const foundPath = names(options.cwd);
|
|
133
|
+
return locatePathSync([foundPath], options);
|
|
134
|
+
}
|
|
135
|
+
const runNameMatcher = (name) => {
|
|
136
|
+
const paths = [name].flat();
|
|
137
|
+
const runMatcher = (locateOptions) => {
|
|
138
|
+
if (typeof name !== "function") {
|
|
139
|
+
return locatePathSync(paths, locateOptions);
|
|
140
|
+
}
|
|
141
|
+
const foundPath = name(locateOptions.cwd);
|
|
142
|
+
if (typeof foundPath === "string") {
|
|
143
|
+
return locatePathSync([foundPath], locateOptions);
|
|
144
|
+
}
|
|
145
|
+
return foundPath;
|
|
146
|
+
};
|
|
147
|
+
const matches = [];
|
|
148
|
+
while (true) {
|
|
149
|
+
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
150
|
+
if (foundPath) {
|
|
151
|
+
matches.push(path.resolve(directory, foundPath));
|
|
152
|
+
}
|
|
153
|
+
if (directory === stopAt || matches.length >= limit) {
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
directory = path.dirname(directory);
|
|
157
|
+
}
|
|
158
|
+
return matches;
|
|
159
|
+
};
|
|
160
|
+
return (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name)).flat();
|
|
161
|
+
}
|
|
162
|
+
function findUpSync(names, options = { limit: 1, type: "file" }) {
|
|
163
|
+
const matches = findUpMultipleSync(names, options);
|
|
164
|
+
return matches[0];
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
168
|
+
var rootFiles = [
|
|
169
|
+
"lerna.json",
|
|
170
|
+
"nx.json",
|
|
171
|
+
"turbo.json",
|
|
172
|
+
"npm-workspace.json",
|
|
173
|
+
"yarn-workspace.json",
|
|
174
|
+
"pnpm-workspace.json",
|
|
175
|
+
"npm-workspace.yaml",
|
|
176
|
+
"yarn-workspace.yaml",
|
|
177
|
+
"pnpm-workspace.yaml",
|
|
178
|
+
"npm-workspace.yml",
|
|
179
|
+
"yarn-workspace.yml",
|
|
180
|
+
"pnpm-workspace.yml",
|
|
181
|
+
"npm-lock.json",
|
|
182
|
+
"yarn-lock.json",
|
|
183
|
+
"pnpm-lock.json",
|
|
184
|
+
"npm-lock.yaml",
|
|
185
|
+
"yarn-lock.yaml",
|
|
186
|
+
"pnpm-lock.yaml",
|
|
187
|
+
"npm-lock.yml",
|
|
188
|
+
"yarn-lock.yml",
|
|
189
|
+
"pnpm-lock.yml",
|
|
190
|
+
"bun.lockb"
|
|
191
|
+
];
|
|
192
|
+
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
193
|
+
const result = process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUpSync(rootFiles, {
|
|
194
|
+
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
195
|
+
type: "file",
|
|
196
|
+
limit: 1
|
|
197
|
+
});
|
|
198
|
+
if (!result) {
|
|
199
|
+
throw new Error(
|
|
200
|
+
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
201
|
+
${rootFiles.join(
|
|
202
|
+
"\n"
|
|
203
|
+
)}
|
|
204
|
+
Path: ${path2}`
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
|
|
116
210
|
// packages/config-tools/src/utilities/get-default-config.ts
|
|
117
211
|
var DefaultColorConfig = {
|
|
118
212
|
primary: "#1fb2a6",
|
|
@@ -149,9 +243,6 @@ var getDefaultConfig = (config = {}) => {
|
|
|
149
243
|
let license = DefaultStormConfig.license;
|
|
150
244
|
let homepage = DefaultStormConfig.homepage;
|
|
151
245
|
const workspaceRoot = findWorkspaceRoot(process.cwd());
|
|
152
|
-
if (typeof workspaceRoot !== "string") {
|
|
153
|
-
throw new Error("Could not find workspace root");
|
|
154
|
-
}
|
|
155
246
|
if (existsSync(join(workspaceRoot, "package.json"))) {
|
|
156
247
|
const file = readFileSync(join(workspaceRoot, "package.json"), {
|
|
157
248
|
encoding: "utf-8"
|
|
@@ -292,6 +383,7 @@ var createStormConfig = (extensionName, schema) => {
|
|
|
292
383
|
let result;
|
|
293
384
|
if (!_static_cache2) {
|
|
294
385
|
let config = getConfigEnv();
|
|
386
|
+
config = Object.assign(getDefaultConfig(), config);
|
|
295
387
|
result = StormConfigSchema.parse(config);
|
|
296
388
|
} else {
|
|
297
389
|
result = _static_cache2;
|
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/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/
|
|
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/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":4419,"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":1264,"imports":[{"path":"path","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/find-up.ts","kind":"import-statement","original":"./find-up"}],"format":"esm"},"packages/config-tools/src/utilities/get-default-config.ts":{"bytes":2592,"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":71,"imports":[{"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":2606,"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":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"zod","kind":"require-call","external":true},{"path":"path","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}],"exports":[],"entryPoint":"packages/config-tools/src/index.ts","inputs":{"packages/config-tools/src/index.ts":{"bytesInOutput":763},"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/get-default-config.ts":{"bytesInOutput":2038},"packages/config-tools/src/schema.ts":{"bytesInOutput":4454},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1043},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":1807},"packages/config-tools/src/utilities/index.ts":{"bytesInOutput":0},"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":972},"packages/config-tools/src/env/index.ts":{"bytesInOutput":0},"packages/config-tools/src/env/set-env.ts":{"bytesInOutput":3528}},"bytes":22999},"dist/packages/config-tools/utilities/find-workspace-root.cjs":{"imports":[{"path":"path","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}],"exports":[],"entryPoint":"packages/config-tools/src/utilities/find-workspace-root.ts","inputs":{"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1230},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":1807}},"bytes":4707}}}
|
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/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/
|
|
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/schema.ts":{"bytes":5736,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/config-tools/src/utilities/find-up.ts":{"bytes":4419,"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":1264,"imports":[{"path":"path","kind":"import-statement","external":true},{"path":"packages/config-tools/src/utilities/find-up.ts","kind":"import-statement","original":"./find-up"}],"format":"esm"},"packages/config-tools/src/utilities/get-default-config.ts":{"bytes":2592,"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":71,"imports":[{"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":2606,"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":"fs","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"zod","kind":"import-statement","external":true},{"path":"path","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}],"exports":["ColorConfigSchema","DefaultColorConfig","DefaultStormConfig","LogLevel","LogLevelLabel","StormConfigSchema","createConfigExtension","createStormConfig","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/get-default-config.ts":{"bytesInOutput":1984},"packages/config-tools/src/schema.ts":{"bytesInOutput":4444},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1033},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":1722},"packages/config-tools/src/utilities/index.ts":{"bytesInOutput":0},"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":972},"packages/config-tools/src/env/index.ts":{"bytesInOutput":0},"packages/config-tools/src/env/set-env.ts":{"bytesInOutput":3528}},"bytes":20546},"dist/packages/config-tools/utilities/find-workspace-root.js":{"imports":[{"path":"path","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}],"exports":["findWorkspaceRoot"],"entryPoint":"packages/config-tools/src/utilities/find-workspace-root.ts","inputs":{"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1033},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":1722}},"bytes":2963}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storm-software/config-tools",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.11",
|
|
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": {
|
|
@@ -33,21 +33,19 @@ __export(find_workspace_root_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(find_workspace_root_exports);
|
|
35
35
|
var path2 = __toESM(require("path"), 1);
|
|
36
|
-
var import_Either = require("fp-ts/Either");
|
|
37
|
-
var import_function = require("fp-ts/function");
|
|
38
36
|
|
|
39
37
|
// packages/config-tools/src/utilities/find-up.ts
|
|
40
38
|
var import_locate_path = require("locate-path");
|
|
41
|
-
var
|
|
39
|
+
var path = __toESM(require("path"), 1);
|
|
42
40
|
var import_url = require("url");
|
|
43
41
|
var findUpStop = Symbol("findUpStop");
|
|
44
42
|
function toPath(urlOrPath) {
|
|
45
43
|
return urlOrPath instanceof URL ? (0, import_url.fileURLToPath)(urlOrPath) : urlOrPath;
|
|
46
44
|
}
|
|
47
45
|
function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
48
|
-
let directory =
|
|
49
|
-
const { root } =
|
|
50
|
-
const stopAt =
|
|
46
|
+
let directory = path.resolve(toPath(options.cwd) ?? "");
|
|
47
|
+
const { root } = path.parse(directory);
|
|
48
|
+
const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
|
|
51
49
|
const limit = options.limit ?? Number.POSITIVE_INFINITY;
|
|
52
50
|
if (typeof names === "function") {
|
|
53
51
|
const foundPath = names(options.cwd);
|
|
@@ -69,12 +67,12 @@ function findUpMultipleSync(names, options = { limit: 1, type: "file" }) {
|
|
|
69
67
|
while (true) {
|
|
70
68
|
const foundPath = runMatcher({ ...options, cwd: directory });
|
|
71
69
|
if (foundPath) {
|
|
72
|
-
matches.push(
|
|
70
|
+
matches.push(path.resolve(directory, foundPath));
|
|
73
71
|
}
|
|
74
72
|
if (directory === stopAt || matches.length >= limit) {
|
|
75
73
|
break;
|
|
76
74
|
}
|
|
77
|
-
directory =
|
|
75
|
+
directory = path.dirname(directory);
|
|
78
76
|
}
|
|
79
77
|
return matches;
|
|
80
78
|
};
|
|
@@ -110,33 +108,22 @@ var rootFiles = [
|
|
|
110
108
|
"pnpm-lock.yml",
|
|
111
109
|
"bun.lockb"
|
|
112
110
|
];
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"\n"
|
|
117
|
-
)}`,
|
|
118
|
-
path: path3
|
|
119
|
-
});
|
|
120
|
-
var searchUp = (target, cwd) => (0, import_function.pipe)(
|
|
121
|
-
findUpSync(target, {
|
|
122
|
-
cwd,
|
|
111
|
+
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
112
|
+
const result = process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUpSync(rootFiles, {
|
|
113
|
+
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
123
114
|
type: "file",
|
|
124
115
|
limit: 1
|
|
125
|
-
})
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
(0, import_Either.mapLeft)((0, import_function.constant)(formatError(process.cwd())))
|
|
137
|
-
)
|
|
138
|
-
)
|
|
139
|
-
);
|
|
116
|
+
});
|
|
117
|
+
if (!result) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
120
|
+
${rootFiles.join(
|
|
121
|
+
"\n"
|
|
122
|
+
)}
|
|
123
|
+
Path: ${path2}`
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
140
127
|
}
|
|
141
128
|
// Annotate the CommonJS export names for ESM import in node:
|
|
142
129
|
0 && (module.exports = {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
// packages/config-tools/src/utilities/find-workspace-root.ts
|
|
2
2
|
import * as path2 from "path";
|
|
3
|
-
import { alt, chain, fromNullable, map, mapLeft } from "fp-ts/Either";
|
|
4
|
-
import { constant, pipe } from "fp-ts/function";
|
|
5
3
|
|
|
6
4
|
// packages/config-tools/src/utilities/find-up.ts
|
|
7
5
|
import { locatePath, locatePathSync } from "locate-path";
|
|
8
|
-
import path from "path";
|
|
6
|
+
import * as path from "path";
|
|
9
7
|
import { fileURLToPath } from "url";
|
|
10
8
|
var findUpStop = Symbol("findUpStop");
|
|
11
9
|
function toPath(urlOrPath) {
|
|
@@ -77,33 +75,22 @@ var rootFiles = [
|
|
|
77
75
|
"pnpm-lock.yml",
|
|
78
76
|
"bun.lockb"
|
|
79
77
|
];
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"\n"
|
|
84
|
-
)}`,
|
|
85
|
-
path: path3
|
|
86
|
-
});
|
|
87
|
-
var searchUp = (target, cwd) => pipe(
|
|
88
|
-
findUpSync(target, {
|
|
89
|
-
cwd,
|
|
78
|
+
function findWorkspaceRoot(pathInsideMonorepo) {
|
|
79
|
+
const result = process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUpSync(rootFiles, {
|
|
80
|
+
cwd: pathInsideMonorepo ?? process.cwd(),
|
|
90
81
|
type: "file",
|
|
91
82
|
limit: 1
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
mapLeft(constant(formatError(process.cwd())))
|
|
104
|
-
)
|
|
105
|
-
)
|
|
106
|
-
);
|
|
83
|
+
});
|
|
84
|
+
if (!result) {
|
|
85
|
+
throw new Error(
|
|
86
|
+
`Cannot find workspace root upwards from known path. Files search list includes:
|
|
87
|
+
${rootFiles.join(
|
|
88
|
+
"\n"
|
|
89
|
+
)}
|
|
90
|
+
Path: ${path2}`
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
107
94
|
}
|
|
108
95
|
export {
|
|
109
96
|
findWorkspaceRoot
|