@effected/workspaces 0.9.1 → 0.9.3
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/ConfigDependencyHooks.js +2 -1
- package/DependencyGraph.js +6 -8
- package/WorkspaceDiscovery.js +3 -2
- package/WorkspaceSnapshots.js +3 -2
- package/internal/catalogs.js +3 -2
- package/package.json +5 -5
package/ConfigDependencyHooks.js
CHANGED
|
@@ -153,7 +153,8 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends Context.Service(
|
|
|
153
153
|
let loaded;
|
|
154
154
|
let found = false;
|
|
155
155
|
for (const filename of ["pnpmfile.mjs", "pnpmfile.cjs"]) {
|
|
156
|
-
const
|
|
156
|
+
const candidatePath = join(root, "node_modules", ".pnpm-config", name, filename);
|
|
157
|
+
const candidateUrl = pathToFileURL(candidatePath).href;
|
|
157
158
|
const result = yield* Effect.result(Effect.tryPromise({
|
|
158
159
|
try: () => import(candidateUrl),
|
|
159
160
|
catch: (cause) => cause
|
package/DependencyGraph.js
CHANGED
|
@@ -147,10 +147,9 @@ packages: Schema.Array(WorkspacePackage) }) {
|
|
|
147
147
|
const { reverse } = this.#index();
|
|
148
148
|
const affected = /* @__PURE__ */ new Set();
|
|
149
149
|
const queue = [...names];
|
|
150
|
-
|
|
151
|
-
const current = queue
|
|
152
|
-
|
|
153
|
-
if (current === void 0) break;
|
|
150
|
+
for (let head = 0; head < queue.length; head += 1) {
|
|
151
|
+
const current = queue[head];
|
|
152
|
+
if (current === void 0) continue;
|
|
154
153
|
if (affected.has(current)) continue;
|
|
155
154
|
affected.add(current);
|
|
156
155
|
for (const dependent of reverse.get(current) ?? []) if (!affected.has(dependent)) queue.push(dependent);
|
|
@@ -181,10 +180,9 @@ packages: Schema.Array(WorkspacePackage) }) {
|
|
|
181
180
|
}));
|
|
182
181
|
const needed = /* @__PURE__ */ new Set();
|
|
183
182
|
const queue = [...names];
|
|
184
|
-
|
|
185
|
-
const current = queue
|
|
186
|
-
|
|
187
|
-
if (current === void 0) break;
|
|
183
|
+
for (let head = 0; head < queue.length; head += 1) {
|
|
184
|
+
const current = queue[head];
|
|
185
|
+
if (current === void 0) continue;
|
|
188
186
|
if (needed.has(current)) continue;
|
|
189
187
|
needed.add(current);
|
|
190
188
|
for (const dependency of forward.get(current) ?? []) if (!needed.has(dependency)) queue.push(dependency);
|
package/WorkspaceDiscovery.js
CHANGED
|
@@ -207,12 +207,13 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends Context.Service()("@ef
|
|
|
207
207
|
kind: failure.kind,
|
|
208
208
|
cause: failure.cause
|
|
209
209
|
})));
|
|
210
|
-
const
|
|
210
|
+
const globs = yield* GlobSet.compile(patterns).pipe(Effect.mapError((error) => new WorkspacePatternError({
|
|
211
211
|
root,
|
|
212
212
|
pattern: error.pattern,
|
|
213
213
|
kind: "uncompilable",
|
|
214
214
|
detail: error.message
|
|
215
|
-
})))
|
|
215
|
+
})));
|
|
216
|
+
const directories = yield* enumerate(root, globs, { maxDepth: options?.maxDepth ?? 32 }).pipe(Effect.mapError((failure) => new WorkspacePatternError({
|
|
216
217
|
root,
|
|
217
218
|
pattern: failure.pattern,
|
|
218
219
|
kind: patternKindOf(failure.kind),
|
package/WorkspaceSnapshots.js
CHANGED
|
@@ -127,11 +127,12 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends Context.Service()("@ef
|
|
|
127
127
|
let inline;
|
|
128
128
|
let recorded;
|
|
129
129
|
if (Option.isSome(pnpmWorkspaceText)) {
|
|
130
|
-
const
|
|
130
|
+
const document = yield* Yaml.parse(pnpmWorkspaceText.value).pipe(Effect.mapError((cause) => new CatalogAssemblyError({
|
|
131
131
|
source: "manifest",
|
|
132
132
|
path: "pnpm-workspace.yaml",
|
|
133
133
|
cause
|
|
134
|
-
})))
|
|
134
|
+
})));
|
|
135
|
+
const pnpmPatterns = pnpmPatternsOf(document);
|
|
135
136
|
patterns = pnpmPatterns.length > 0 ? pnpmPatterns : manifestPatternsOf(rootManifest);
|
|
136
137
|
inline = yield* CatalogSet.fromWorkspaceYaml(pnpmWorkspaceText.value);
|
|
137
138
|
recorded = yield* lockfileRecord(root, ref, "pnpm");
|
package/internal/catalogs.js
CHANGED
|
@@ -53,10 +53,11 @@ const define = (target, key, value) => {
|
|
|
53
53
|
*/
|
|
54
54
|
const rangeOf = (catalogs, dependency, specifier) => {
|
|
55
55
|
if (catalogNameOf(specifier) === null) return void 0;
|
|
56
|
-
|
|
56
|
+
const result = resolveFromCatalog(catalogs, {
|
|
57
57
|
alias: dependency,
|
|
58
58
|
bareSpecifier: specifier
|
|
59
|
-
})
|
|
59
|
+
});
|
|
60
|
+
return matchCatalogResolveResult(result, {
|
|
60
61
|
found: (hit) => hit.resolution.specifier,
|
|
61
62
|
misconfiguration: (bad) => ({
|
|
62
63
|
catalogName: bad.catalogName,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effected/workspaces",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Monorepo workspace tooling as Effect services — root discovery, package enumeration, the dependency graph, package-manager detection, pnpm catalog resolution, lockfile IO and git-based change detection.",
|
|
6
6
|
"keywords": [
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"@effected/commands": "~0.2.0",
|
|
50
50
|
"@effected/git": "~0.5.1",
|
|
51
51
|
"@effected/glob": "~0.2.1",
|
|
52
|
-
"@effected/lockfiles": "~0.
|
|
53
|
-
"@effected/npm": "~0.
|
|
54
|
-
"@effected/package-json": "~0.
|
|
55
|
-
"@effected/semver": "~0.
|
|
52
|
+
"@effected/lockfiles": "~0.3.0",
|
|
53
|
+
"@effected/npm": "~0.8.0",
|
|
54
|
+
"@effected/package-json": "~0.7.1",
|
|
55
|
+
"@effected/semver": "~0.3.0",
|
|
56
56
|
"@effected/walker": "~0.3.3",
|
|
57
57
|
"@effected/yaml": "~0.6.0",
|
|
58
58
|
"@pnpm/catalogs.config": "^1100.0.0",
|