@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 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 path = __toESM(require("path"), 1);
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 = path.resolve(toPath(options.cwd) ?? "");
123
- const { root } = path.parse(directory);
124
- const stopAt = path.resolve(directory, toPath(options.stopAt ?? root));
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(path.resolve(directory, foundPath));
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 = path.dirname(directory);
158
+ directory = (0, import_path.dirname)(directory);
159
159
  }
160
160
  return matches;
161
161
  };
162
- return (await Promise.allSettled(
162
+ const promises = Promise.all(
163
163
  (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
164
- )).flat();
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 = path.resolve(toPath(options.cwd) ?? "");
168
- const { root } = path.parse(directory);
169
- const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
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(path.resolve(directory, foundPath));
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 = path.dirname(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
- return process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUp(rootFiles, {
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 import_path = require("path");
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, import_path.join)(workspaceRoot, "package.json"))) {
371
- const file = (0, import_fs.readFileSync)((0, import_path.join)(workspaceRoot, "package.json"), {
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 * as path from "path";
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 = path.resolve(toPath(options.cwd) ?? "");
68
- const { root } = path.parse(directory);
69
- const stopAt = path.resolve(directory, toPath(options.stopAt ?? root));
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(path.resolve(directory, foundPath));
98
+ matches.push(resolve(directory, foundPath));
99
99
  }
100
100
  if (directory === stopAt || matches.length >= limit) {
101
101
  break;
102
102
  }
103
- directory = path.dirname(directory);
103
+ directory = dirname(directory);
104
104
  }
105
105
  return matches;
106
106
  };
107
- return (await Promise.allSettled(
107
+ const promises = Promise.all(
108
108
  (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
109
- )).flat();
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 = path.resolve(toPath(options.cwd) ?? "");
113
- const { root } = path.parse(directory);
114
- const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
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(path.resolve(directory, foundPath));
137
+ matches.push(resolve(directory, foundPath));
137
138
  }
138
139
  if (directory === stopAt || matches.length >= limit) {
139
140
  break;
140
141
  }
141
- directory = path.dirname(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
- return process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUp(rootFiles, {
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":4526,"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":2551,"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":3645},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1853},"packages/config-tools/src/utilities/index.ts":{"bytesInOutput":0},"packages/config-tools/src/utilities/get-default-config.ts":{"bytesInOutput":2039},"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":26087},"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":2210},"packages/config-tools/src/utilities/find-up.ts":{"bytesInOutput":3645}},"bytes":7604}}}
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":4526,"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":2551,"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":3488},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1853},"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":23320},"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":3488},"packages/config-tools/src/utilities/find-workspace-root.ts":{"bytesInOutput":1853}},"bytes":5565}}}
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.0",
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 path = __toESM(require("path"), 1);
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 = path.resolve(toPath(options.cwd) ?? "");
49
- const { root } = path.parse(directory);
50
- const stopAt = path.resolve(directory, toPath(options.stopAt ?? root));
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(path.resolve(directory, foundPath));
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 = path.dirname(directory);
74
+ directory = (0, import_path.dirname)(directory);
85
75
  }
86
76
  return matches;
87
77
  };
88
- return (await Promise.allSettled(
78
+ const promises = Promise.all(
89
79
  (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
90
- )).flat();
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 = path.resolve(toPath(options.cwd) ?? "");
94
- const { root } = path.parse(directory);
95
- const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
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(path.resolve(directory, foundPath));
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 = path.dirname(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
- return process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUp(rootFiles, {
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 * as path from "path";
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 = path.resolve(toPath(options.cwd) ?? "");
11
- const { root } = path.parse(directory);
12
- const stopAt = path.resolve(directory, toPath(options.stopAt ?? root));
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(path.resolve(directory, foundPath));
41
+ matches.push(resolve(directory, foundPath));
42
42
  }
43
43
  if (directory === stopAt || matches.length >= limit) {
44
44
  break;
45
45
  }
46
- directory = path.dirname(directory);
46
+ directory = dirname(directory);
47
47
  }
48
48
  return matches;
49
49
  };
50
- return (await Promise.allSettled(
50
+ const promises = Promise.all(
51
51
  (names && Array.isArray(names) ? names : [names]).map((name) => runNameMatcher(name))
52
- )).flat();
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 = path.resolve(toPath(options.cwd) ?? "");
56
- const { root } = path.parse(directory);
57
- const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
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(path.resolve(directory, foundPath));
80
+ matches.push(resolve(directory, foundPath));
80
81
  }
81
82
  if (directory === stopAt || matches.length >= limit) {
82
83
  break;
83
84
  }
84
- directory = path.dirname(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
- return process.env.STORM_WORKSPACE_ROOT ? process.env.STORM_WORKSPACE_ROOT : process.env.NX_WORKSPACE_ROOT_PATH ? process.env.NX_WORKSPACE_ROOT_PATH : findUp(rootFiles, {
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: