@savvy-web/silk 3.8.3 → 3.9.0
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/biome/silk.jsonc +63 -36
- package/changesets-changelog.cjs +97 -52
- package/changesets-changelog.d.cts +27 -2
- package/changesets-changelog.d.ts +27 -2
- package/changesets-changelog.js +98 -53
- package/changesets-markdownlint.cjs +97 -52
- package/changesets-markdownlint.d.cts +27 -2
- package/changesets-markdownlint.d.ts +27 -2
- package/changesets-markdownlint.js +98 -53
- package/package.json +5 -5
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
package/biome/silk.jsonc
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.5.
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"assist": {
|
|
4
4
|
"actions": {
|
|
5
5
|
"source": {
|
|
@@ -13,6 +13,35 @@
|
|
|
13
13
|
},
|
|
14
14
|
"enabled": true
|
|
15
15
|
},
|
|
16
|
+
"css": {
|
|
17
|
+
"linter": {
|
|
18
|
+
"enabled": true
|
|
19
|
+
},
|
|
20
|
+
"parser": {
|
|
21
|
+
"cssModules": true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": {
|
|
25
|
+
"includes": [
|
|
26
|
+
"**",
|
|
27
|
+
"!**/node_modules",
|
|
28
|
+
"!**/dist",
|
|
29
|
+
"!**/.repos",
|
|
30
|
+
"!**/.turbo",
|
|
31
|
+
"!**/.git",
|
|
32
|
+
"!**/.rslib",
|
|
33
|
+
"!**/.vitest",
|
|
34
|
+
"!**/.coverage",
|
|
35
|
+
"!coverage",
|
|
36
|
+
"!.claude/worktrees",
|
|
37
|
+
"!**/__test__/**/fixtures",
|
|
38
|
+
"!**/__test__/snapshots",
|
|
39
|
+
"!**/__test__/**/fixtures",
|
|
40
|
+
"!**/__test__/**/snapshots",
|
|
41
|
+
"!**/__fixtures__",
|
|
42
|
+
"!**/__snapshots__"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
16
45
|
"formatter": {
|
|
17
46
|
"enabled": true,
|
|
18
47
|
"formatWithErrors": true,
|
|
@@ -20,6 +49,15 @@
|
|
|
20
49
|
"indentWidth": 2,
|
|
21
50
|
"lineWidth": 120
|
|
22
51
|
},
|
|
52
|
+
"javascript": {
|
|
53
|
+
"resolver": {
|
|
54
|
+
// Catalog-aware module resolution: lets noUndeclaredDependencies and
|
|
55
|
+
// friends understand `catalog:` / `catalog:<name>` specs in package.json.
|
|
56
|
+
// Requires Biome >= 2.5. Consumers are carried onto it by silk-update-action
|
|
57
|
+
// and `savvy init`, which rewrite the $schema URL CI installs from.
|
|
58
|
+
"experimentalPnpmCatalogs": true
|
|
59
|
+
}
|
|
60
|
+
},
|
|
23
61
|
"json": {
|
|
24
62
|
"assist": {
|
|
25
63
|
"enabled": true
|
|
@@ -32,14 +70,6 @@
|
|
|
32
70
|
"enabled": true
|
|
33
71
|
}
|
|
34
72
|
},
|
|
35
|
-
"css": {
|
|
36
|
-
"parser": {
|
|
37
|
-
"cssModules": true
|
|
38
|
-
},
|
|
39
|
-
"linter": {
|
|
40
|
-
"enabled": true
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
73
|
"linter": {
|
|
44
74
|
"domains": {
|
|
45
75
|
"project": "all"
|
|
@@ -52,6 +82,7 @@
|
|
|
52
82
|
}
|
|
53
83
|
},
|
|
54
84
|
"correctness": {
|
|
85
|
+
"noUnresolvedImports": "off",
|
|
55
86
|
"noUnusedVariables": {
|
|
56
87
|
"level": "error",
|
|
57
88
|
"options": {
|
|
@@ -73,13 +104,12 @@
|
|
|
73
104
|
"tsx": "js"
|
|
74
105
|
}
|
|
75
106
|
}
|
|
76
|
-
}
|
|
77
|
-
"noUnresolvedImports": "off"
|
|
107
|
+
}
|
|
78
108
|
},
|
|
79
109
|
"nursery": {
|
|
80
110
|
"useExplicitType": "off"
|
|
81
111
|
},
|
|
82
|
-
"
|
|
112
|
+
"preset": "recommended",
|
|
83
113
|
"style": {
|
|
84
114
|
"useConsistentTypeDefinitions": "error",
|
|
85
115
|
"useImportType": {
|
|
@@ -91,10 +121,10 @@
|
|
|
91
121
|
"useNodejsImportProtocol": "error"
|
|
92
122
|
},
|
|
93
123
|
"suspicious": {
|
|
94
|
-
"noDuplicateDependencies": "error",
|
|
95
|
-
"noImportCycles": "error",
|
|
96
124
|
"noBiomeFirstException": "error",
|
|
125
|
+
"noDuplicateDependencies": "error",
|
|
97
126
|
"noDuplicateObjectKeys": "error",
|
|
127
|
+
"noImportCycles": "error",
|
|
98
128
|
"noQuickfixBiome": "error",
|
|
99
129
|
"useBiomeIgnoreFolder": "error"
|
|
100
130
|
}
|
|
@@ -117,7 +147,25 @@
|
|
|
117
147
|
}
|
|
118
148
|
}
|
|
119
149
|
},
|
|
120
|
-
"includes": [
|
|
150
|
+
"includes": [
|
|
151
|
+
"**/turbo.json",
|
|
152
|
+
"**/tsconfig.json",
|
|
153
|
+
"**/tsconfig.*.json",
|
|
154
|
+
"**/public/tsconfig/**/*.json",
|
|
155
|
+
"**/.claude/settings.json",
|
|
156
|
+
"**/.claude/settings.local.json",
|
|
157
|
+
"**/.claude/design/design.config.json",
|
|
158
|
+
"**/.changeset/config.json",
|
|
159
|
+
"**/.markdownlint.json",
|
|
160
|
+
"**/devcontainer.json",
|
|
161
|
+
"**/.vscode/*.json",
|
|
162
|
+
"**/biome.json",
|
|
163
|
+
"**/biome.jsonc",
|
|
164
|
+
"**/silk.jsonc",
|
|
165
|
+
"**/.markdownlint-cli2.jsonc",
|
|
166
|
+
"**/.claude-plugin/plugin.json",
|
|
167
|
+
"**/.claude-plugin/marketplace.json"
|
|
168
|
+
]
|
|
121
169
|
},
|
|
122
170
|
{
|
|
123
171
|
"includes": [
|
|
@@ -145,26 +193,5 @@
|
|
|
145
193
|
"defaultBranch": "main",
|
|
146
194
|
"enabled": true,
|
|
147
195
|
"useIgnoreFile": true
|
|
148
|
-
},
|
|
149
|
-
"files": {
|
|
150
|
-
"includes": [
|
|
151
|
-
"**",
|
|
152
|
-
"!**/node_modules",
|
|
153
|
-
"!**/dist",
|
|
154
|
-
"!**/.repos",
|
|
155
|
-
"!**/.turbo",
|
|
156
|
-
"!**/.git",
|
|
157
|
-
"!**/.rslib",
|
|
158
|
-
"!**/.vitest",
|
|
159
|
-
"!**/.coverage",
|
|
160
|
-
"!coverage",
|
|
161
|
-
"!.claude/worktrees",
|
|
162
|
-
"!**/__test__/**/fixtures",
|
|
163
|
-
"!**/__test__/snapshots",
|
|
164
|
-
"!**/__test__/**/fixtures",
|
|
165
|
-
"!**/__test__/**/snapshots",
|
|
166
|
-
"!**/__fixtures__",
|
|
167
|
-
"!**/__snapshots__"
|
|
168
|
-
]
|
|
169
196
|
}
|
|
170
197
|
}
|
package/changesets-changelog.cjs
CHANGED
|
@@ -2335,7 +2335,7 @@ var GlobSet = class GlobSet extends effect.Schema.Class("GlobSet")(effect.Schema
|
|
|
2335
2335
|
}
|
|
2336
2336
|
};
|
|
2337
2337
|
//#endregion
|
|
2338
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
2338
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/BunExtension.js
|
|
2339
2339
|
/**
|
|
2340
2340
|
* Extension data specific to bun lockfiles, attached to `Lockfile.extension`
|
|
2341
2341
|
* when the format is `"bun"`.
|
|
@@ -5578,7 +5578,7 @@ var ReleaseAgeGate = class ReleaseAgeGate extends effect.Schema.Class("ReleaseAg
|
|
|
5578
5578
|
}
|
|
5579
5579
|
};
|
|
5580
5580
|
//#endregion
|
|
5581
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5581
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/ImporterDependency.js
|
|
5582
5582
|
/**
|
|
5583
5583
|
* One declared dependency of one workspace importer, as the lockfile records it.
|
|
5584
5584
|
*
|
|
@@ -5616,7 +5616,7 @@ var ImporterDependency = class extends effect.Schema.Class("ImporterDependency")
|
|
|
5616
5616
|
depType: DependencyField
|
|
5617
5617
|
}) {};
|
|
5618
5618
|
//#endregion
|
|
5619
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5619
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/LockfileImporter.js
|
|
5620
5620
|
/**
|
|
5621
5621
|
* One workspace importer's declared dependencies, as the lockfile records them.
|
|
5622
5622
|
*
|
|
@@ -5640,7 +5640,7 @@ var LockfileImporter = class extends effect.Schema.Class("LockfileImporter")({
|
|
|
5640
5640
|
dependencies: effect.Schema.Array(ImporterDependency)
|
|
5641
5641
|
}) {};
|
|
5642
5642
|
//#endregion
|
|
5643
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5643
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/ResolvedPackage.js
|
|
5644
5644
|
const EMPTY_DEPENDENCIES = {};
|
|
5645
5645
|
const EMPTY_PEER_META = {};
|
|
5646
5646
|
const EMPTY_EDGE_NAMES = [];
|
|
@@ -5730,7 +5730,7 @@ var ResolvedPackage = class extends effect.Schema.Class("ResolvedPackage")({
|
|
|
5730
5730
|
unresolvedEdges: effect.Schema.Array(effect.Schema.String).pipe(effect.Schema.withDecodingDefaultKey(effect.Effect.succeed(EMPTY_EDGE_NAMES)), effect.Schema.withConstructorDefault(effect.Effect.succeed(EMPTY_EDGE_NAMES)))
|
|
5731
5731
|
}) {};
|
|
5732
5732
|
//#endregion
|
|
5733
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5733
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/WorkspaceDependency.js
|
|
5734
5734
|
/**
|
|
5735
5735
|
* A directed dependency edge between two workspace packages as recorded in
|
|
5736
5736
|
* the lockfile.
|
|
@@ -5752,7 +5752,7 @@ var WorkspaceDependency = class extends effect.Schema.Class("WorkspaceDependency
|
|
|
5752
5752
|
constraint: effect.Schema.String
|
|
5753
5753
|
}) {};
|
|
5754
5754
|
//#endregion
|
|
5755
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5755
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/PnpmExtension.js
|
|
5756
5756
|
/**
|
|
5757
5757
|
* Extension data specific to pnpm lockfiles, attached to `Lockfile.extension`
|
|
5758
5758
|
* when the format is `"pnpm"`.
|
|
@@ -5777,7 +5777,7 @@ var PnpmExtension = class extends effect.Schema.Class("PnpmExtension")({
|
|
|
5777
5777
|
}))
|
|
5778
5778
|
}) {};
|
|
5779
5779
|
//#endregion
|
|
5780
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5780
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/LockfileFormat.js
|
|
5781
5781
|
/**
|
|
5782
5782
|
* The lockfile formats this package parses: bun's `bun.lock` (JSONC), npm's
|
|
5783
5783
|
* `package-lock.json` (JSON), pnpm's `pnpm-lock.yaml` and yarn Berry's
|
|
@@ -5819,7 +5819,7 @@ const FILENAMES = {
|
|
|
5819
5819
|
*/
|
|
5820
5820
|
const filenameFor = (format) => FILENAMES[format][0];
|
|
5821
5821
|
//#endregion
|
|
5822
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
5822
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/shared.js
|
|
5823
5823
|
/**
|
|
5824
5824
|
* The four dependency sections of a manifest, in a stable order — the shared
|
|
5825
5825
|
* dependency-sections table (v3's `DEP_SECTIONS`). Each entry is both the
|
|
@@ -7821,7 +7821,7 @@ var JsoncModifier = class {
|
|
|
7821
7821
|
});
|
|
7822
7822
|
};
|
|
7823
7823
|
//#endregion
|
|
7824
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
7824
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/bun.js
|
|
7825
7825
|
const DepRecord$2 = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
7826
7826
|
const OptionalPeers = effect.Schema.optionalKey(effect.Schema.Array(effect.Schema.String));
|
|
7827
7827
|
const BunWorkspaceEntry = effect.Schema.Struct({
|
|
@@ -7998,7 +7998,7 @@ const toFields$3 = (raw) => effect.Effect.gen(function* () {
|
|
|
7998
7998
|
};
|
|
7999
7999
|
});
|
|
8000
8000
|
//#endregion
|
|
8001
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
8001
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/npm.js
|
|
8002
8002
|
const DepRecord$1 = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
8003
8003
|
const PeerMetaRecord = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.Struct({ optional: effect.Schema.optionalKey(effect.Schema.Boolean) })));
|
|
8004
8004
|
const NpmPackageEntry = effect.Schema.Struct({
|
|
@@ -15866,7 +15866,7 @@ function deepEqualValues(a, b) {
|
|
|
15866
15866
|
return false;
|
|
15867
15867
|
}
|
|
15868
15868
|
//#endregion
|
|
15869
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
15869
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/documents.js
|
|
15870
15870
|
/**
|
|
15871
15871
|
* An empty YAML document composes to `null` (`Yaml.parseAll("")` is `[null]`,
|
|
15872
15872
|
* and the trailing document of an env-only `pnpm-lock.yaml` is `null` too).
|
|
@@ -15936,7 +15936,7 @@ const selectSoleDocument = (content) => effect.Effect.gen(function* () {
|
|
|
15936
15936
|
};
|
|
15937
15937
|
});
|
|
15938
15938
|
//#endregion
|
|
15939
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
15939
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/pnpm.js
|
|
15940
15940
|
const PnpmImporterDeps = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.Struct({
|
|
15941
15941
|
specifier: effect.Schema.String,
|
|
15942
15942
|
version: effect.Schema.String
|
|
@@ -15945,7 +15945,8 @@ const PnpmImporter = effect.Schema.Struct({
|
|
|
15945
15945
|
dependencies: PnpmImporterDeps,
|
|
15946
15946
|
devDependencies: PnpmImporterDeps,
|
|
15947
15947
|
peerDependencies: PnpmImporterDeps,
|
|
15948
|
-
optionalDependencies: PnpmImporterDeps
|
|
15948
|
+
optionalDependencies: PnpmImporterDeps,
|
|
15949
|
+
publishDirectory: effect.Schema.optionalKey(effect.Schema.String)
|
|
15949
15950
|
});
|
|
15950
15951
|
/**
|
|
15951
15952
|
* The version gate's own input: `lockfileVersion` and nothing else.
|
|
@@ -16020,9 +16021,23 @@ const parsePnpm = (content) => effect.Effect.gen(function* () {
|
|
|
16020
16021
|
* resolution, which names no instance in this lockfile, from becoming a
|
|
16021
16022
|
* plausible lie.
|
|
16022
16023
|
*
|
|
16024
|
+
* A failed composition gets one second reading: the recorded version ITSELF as
|
|
16025
|
+
* an instance id. That is how pnpm spells an `npm:` alias — the dependency
|
|
16026
|
+
* `typescript-classic: npm:typescript@^6.0.3` is recorded as
|
|
16027
|
+
* `typescript-classic: typescript@6.0.3`, the referenced instance's own key,
|
|
16028
|
+
* peer suffix included when one applies. Still compose-then-verify, not a
|
|
16029
|
+
* guess: a plain version (`6.0.3`) can never be an instance id, because ids
|
|
16030
|
+
* always carry a name, so the reading admits exactly the alias shape.
|
|
16031
|
+
*
|
|
16032
|
+
* Unlike {@link resolveImporterEdges}, there is no `workspace:`-specifier
|
|
16033
|
+
* ancestor walk here — a snapshot body records no specifier, so that evidence
|
|
16034
|
+
* does not exist on this path. The publish-directory map needs no specifier:
|
|
16035
|
+
* the importer entry's own `publishDirectory` declaration is exact evidence,
|
|
16036
|
+
* available to both paths, and is consulted unconditionally.
|
|
16037
|
+
*
|
|
16023
16038
|
* @internal
|
|
16024
16039
|
*/
|
|
16025
|
-
const resolveEdges = (sections, instanceIds) => {
|
|
16040
|
+
const resolveEdges = (sections, instanceIds, publishDirTargets) => {
|
|
16026
16041
|
const edges = /* @__PURE__ */ new Map();
|
|
16027
16042
|
const unnameable = /* @__PURE__ */ new Set();
|
|
16028
16043
|
for (const section of sections) {
|
|
@@ -16032,11 +16047,13 @@ const resolveEdges = (sections, instanceIds) => {
|
|
|
16032
16047
|
if (version.startsWith(LINK_PREFIX)) {
|
|
16033
16048
|
const target = resolveLinkTarget("", version.slice(LINK_PREFIX.length));
|
|
16034
16049
|
if (target !== void 0 && instanceIds.has(target)) edges.set(name, target);
|
|
16050
|
+
else if (target !== void 0 && publishDirTargets.has(target)) edges.set(name, publishDirTargets.get(target));
|
|
16035
16051
|
else unnameable.add(name);
|
|
16036
16052
|
continue;
|
|
16037
16053
|
}
|
|
16038
16054
|
const bare = `${name}@${version}`;
|
|
16039
16055
|
if (instanceIds.has(bare)) edges.set(name, bare);
|
|
16056
|
+
else if (instanceIds.has(version)) edges.set(name, version);
|
|
16040
16057
|
else unnameable.add(name);
|
|
16041
16058
|
}
|
|
16042
16059
|
}
|
|
@@ -16052,6 +16069,13 @@ const LINK_PREFIX = "link:";
|
|
|
16052
16069
|
* workspace edge can name the workspace importer's instance id.
|
|
16053
16070
|
* Total: a target that walks above the root yields `undefined`.
|
|
16054
16071
|
*
|
|
16072
|
+
* A target that normalizes to NOTHING — `link:.` recorded root-relative —
|
|
16073
|
+
* also yields `undefined` rather than the root importer's ".": the root
|
|
16074
|
+
* importer deliberately emits no `ResolvedPackage` row (its path cannot serve
|
|
16075
|
+
* as a package name), so mapping the empty target to "." would hand back an id
|
|
16076
|
+
* no row carries, and no pnpm output recording that shape has been observed.
|
|
16077
|
+
* The edge stays honestly unnameable instead.
|
|
16078
|
+
*
|
|
16055
16079
|
* @internal
|
|
16056
16080
|
*/
|
|
16057
16081
|
const resolveLinkTarget = (importerPath, target) => {
|
|
@@ -16098,22 +16122,28 @@ const owningImporter = (target, importerPaths) => {
|
|
|
16098
16122
|
* naming another importer — normalized against this importer's own path. Both
|
|
16099
16123
|
* are checked against the lockfile's instance ids before being emitted.
|
|
16100
16124
|
*
|
|
16101
|
-
* A `link:` target that is no importer gets
|
|
16102
|
-
*
|
|
16103
|
-
* the
|
|
16104
|
-
*
|
|
16105
|
-
*
|
|
16106
|
-
*
|
|
16107
|
-
*
|
|
16108
|
-
*
|
|
16109
|
-
*
|
|
16110
|
-
*
|
|
16111
|
-
*
|
|
16112
|
-
*
|
|
16125
|
+
* A `link:` target that is no importer gets two further chances. First the
|
|
16126
|
+
* publish-directory map: an importer that DECLARES `publishDirectory` has told
|
|
16127
|
+
* the lockfile exactly which build directory its links point at, so a target
|
|
16128
|
+
* matching a declared publish directory names that importer on evidence, no
|
|
16129
|
+
* specifier required — {@link resolveEdges} consults the same map for the same
|
|
16130
|
+
* reason. Then, and only under a `workspace:` SPECIFIER, the ancestor walk:
|
|
16131
|
+
* pnpm resolved that edge through the workspace, so the target directory is
|
|
16132
|
+
* known to belong to a workspace package, and {@link owningImporter} names it.
|
|
16133
|
+
* The specifier is what makes the walk a resolution rather than a guess — a
|
|
16134
|
+
* hand-written `link:../vendor/stub` specifier names a directory pnpm never
|
|
16135
|
+
* claimed was a workspace package, and attributing it to whichever importer
|
|
16136
|
+
* happens to contain it would answer with the wrong package's peers instead of
|
|
16137
|
+
* admitting it could not name the edge. The snapshot path has no specifier and
|
|
16138
|
+
* therefore no walk; the publish-directory map is the evidence it does get.
|
|
16139
|
+
*
|
|
16140
|
+
* A failed `name@version` composition gets the same alias reading as
|
|
16141
|
+
* {@link resolveEdges}: the recorded version itself as an instance id, which is
|
|
16142
|
+
* how pnpm spells `npm:` aliases.
|
|
16113
16143
|
*
|
|
16114
16144
|
* @internal
|
|
16115
16145
|
*/
|
|
16116
|
-
const resolveImporterEdges = (importer, importerPath, instanceIds, importerPaths) => {
|
|
16146
|
+
const resolveImporterEdges = (importer, importerPath, instanceIds, importerPaths, publishDirTargets) => {
|
|
16117
16147
|
const edges = /* @__PURE__ */ new Map();
|
|
16118
16148
|
const unnameable = /* @__PURE__ */ new Set();
|
|
16119
16149
|
for (const group of importerDepGroups(importer)) {
|
|
@@ -16122,13 +16152,14 @@ const resolveImporterEdges = (importer, importerPath, instanceIds, importerPaths
|
|
|
16122
16152
|
if (name === "") continue;
|
|
16123
16153
|
if (info.version.startsWith(LINK_PREFIX)) {
|
|
16124
16154
|
const target = resolveLinkTarget(importerPath, info.version.slice(5));
|
|
16125
|
-
const owner = target === void 0 ? void 0 : instanceIds.has(target) ? target : info.specifier.startsWith(WORKSPACE_PREFIX) ? owningImporter(target, importerPaths) : void 0;
|
|
16155
|
+
const owner = target === void 0 ? void 0 : instanceIds.has(target) ? target : publishDirTargets.get(target) ?? (info.specifier.startsWith(WORKSPACE_PREFIX) ? owningImporter(target, importerPaths) : void 0);
|
|
16126
16156
|
if (owner !== void 0) edges.set(name, owner);
|
|
16127
16157
|
else unnameable.add(name);
|
|
16128
16158
|
continue;
|
|
16129
16159
|
}
|
|
16130
16160
|
const bare = `${name}@${info.version}`;
|
|
16131
16161
|
if (instanceIds.has(bare)) edges.set(name, bare);
|
|
16162
|
+
else if (instanceIds.has(info.version)) edges.set(name, info.version);
|
|
16132
16163
|
else unnameable.add(name);
|
|
16133
16164
|
}
|
|
16134
16165
|
}
|
|
@@ -16184,6 +16215,13 @@ const toFields$1 = (raw) => effect.Effect.gen(function* () {
|
|
|
16184
16215
|
...Object.keys(raw.importers)
|
|
16185
16216
|
]);
|
|
16186
16217
|
const importerPaths = new Set(Object.keys(raw.importers).filter((path) => path !== "." && path !== ""));
|
|
16218
|
+
const publishDirTargets = /* @__PURE__ */ new Map();
|
|
16219
|
+
for (const [importerPath, importer] of Object.entries(raw.importers)) {
|
|
16220
|
+
if (importerPath === "") continue;
|
|
16221
|
+
if (importer.publishDirectory === void 0) continue;
|
|
16222
|
+
const key = resolveLinkTarget(importerPath, importer.publishDirectory);
|
|
16223
|
+
if (key !== void 0) publishDirTargets.set(key, importerPath);
|
|
16224
|
+
}
|
|
16187
16225
|
const emitted = /* @__PURE__ */ new Set();
|
|
16188
16226
|
for (const [importerPath, importer] of Object.entries(raw.importers)) {
|
|
16189
16227
|
if (importerPath === "." || importerPath === "") continue;
|
|
@@ -16193,7 +16231,7 @@ const toFields$1 = (raw) => effect.Effect.gen(function* () {
|
|
|
16193
16231
|
instanceId: importerPath,
|
|
16194
16232
|
isWorkspace: true,
|
|
16195
16233
|
relativePath: importerPath,
|
|
16196
|
-
...resolveImporterEdges(importer, importerPath, instanceIds, importerPaths)
|
|
16234
|
+
...resolveImporterEdges(importer, importerPath, instanceIds, importerPaths, publishDirTargets)
|
|
16197
16235
|
}));
|
|
16198
16236
|
}
|
|
16199
16237
|
const emit = (instanceId, meta, edges) => effect.Effect.gen(function* () {
|
|
@@ -16211,7 +16249,7 @@ const toFields$1 = (raw) => effect.Effect.gen(function* () {
|
|
|
16211
16249
|
...integrity !== void 0 ? { integrity } : {},
|
|
16212
16250
|
isWorkspace: false,
|
|
16213
16251
|
...peerDeclarations(meta?.peerDependencies, meta?.peerDependenciesMeta),
|
|
16214
|
-
...resolveEdges(edges, instanceIds)
|
|
16252
|
+
...resolveEdges(edges, instanceIds, publishDirTargets)
|
|
16215
16253
|
}));
|
|
16216
16254
|
});
|
|
16217
16255
|
if (snapshots) for (const [key, snapshot] of Object.entries(snapshots)) {
|
|
@@ -16238,7 +16276,7 @@ const toFields$1 = (raw) => effect.Effect.gen(function* () {
|
|
|
16238
16276
|
};
|
|
16239
16277
|
});
|
|
16240
16278
|
//#endregion
|
|
16241
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
16279
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/internal/yarn.js
|
|
16242
16280
|
const YarnLockfileRaw = effect.Schema.Record(effect.Schema.String, effect.Schema.Unknown);
|
|
16243
16281
|
const DepRecord = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
16244
16282
|
const YarnEntry = effect.Schema.Struct({
|
|
@@ -16414,7 +16452,7 @@ const cleanYarnDeps = (deps) => {
|
|
|
16414
16452
|
return Object.fromEntries(Object.entries(deps).map(([name, value]) => [name, value.startsWith("npm:") ? value.slice(4) : value]));
|
|
16415
16453
|
};
|
|
16416
16454
|
//#endregion
|
|
16417
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
16455
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/Lockfile.js
|
|
16418
16456
|
const EMPTY_IMPORTERS = [];
|
|
16419
16457
|
/**
|
|
16420
16458
|
* Failure of `Lockfile.parse`: the given content is not a valid lockfile of
|
|
@@ -16663,7 +16701,7 @@ var Lockfile = class Lockfile extends effect.Schema.Class("Lockfile")({
|
|
|
16663
16701
|
}
|
|
16664
16702
|
};
|
|
16665
16703
|
//#endregion
|
|
16666
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.
|
|
16704
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.6.2_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+npm@0.11_ef94318d813876db7fdc8ffae2f92869/node_modules/@effected/lockfiles/LockfileIntegrity.js
|
|
16667
16705
|
/**
|
|
16668
16706
|
* The minimal manifest shape {@link LockfileIntegrity.compare} checks a
|
|
16669
16707
|
* lockfile against: a package name plus the four optional dependency maps.
|
|
@@ -19476,7 +19514,7 @@ var Package = class Package extends effect.Schema.Class("Package")({
|
|
|
19476
19514
|
}
|
|
19477
19515
|
};
|
|
19478
19516
|
//#endregion
|
|
19479
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19517
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspacePackage.js
|
|
19480
19518
|
const EMPTY$1 = Object.freeze(Object.create(null));
|
|
19481
19519
|
const EMPTY_MANIFEST = Object.freeze(Object.create(null));
|
|
19482
19520
|
/**
|
|
@@ -20074,7 +20112,7 @@ var Walker$1 = class {
|
|
|
20074
20112
|
static findRoot = findRoot$1;
|
|
20075
20113
|
};
|
|
20076
20114
|
//#endregion
|
|
20077
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20115
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspaceRoot.js
|
|
20078
20116
|
/**
|
|
20079
20117
|
* The marker filenames {@link WorkspaceRoot} probes for, in priority order.
|
|
20080
20118
|
*
|
|
@@ -20261,7 +20299,7 @@ var WorkspaceRoot = class WorkspaceRoot extends effect.Context.Service()("@effec
|
|
|
20261
20299
|
static layerTest = (root) => effect.Layer.effect(WorkspaceRoot, WorkspaceRoot.makeTest(root)).pipe(effect.Layer.provide(effect.Path.layer));
|
|
20262
20300
|
};
|
|
20263
20301
|
//#endregion
|
|
20264
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20302
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/limits.js
|
|
20265
20303
|
/**
|
|
20266
20304
|
* Hard ceiling on directories the enumerator will visit for one pattern set.
|
|
20267
20305
|
* Guards the pathological case a depth cap alone does not: a wide, shallow
|
|
@@ -20279,7 +20317,7 @@ const MAX_ENUMERATION_ENTRIES = 1e5;
|
|
|
20279
20317
|
*/
|
|
20280
20318
|
const PRUNED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
|
|
20281
20319
|
//#endregion
|
|
20282
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20320
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/traverse.js
|
|
20283
20321
|
/** Directory names never descended into. */
|
|
20284
20322
|
const isPruned = (entry) => PRUNED_DIRECTORIES.has(entry);
|
|
20285
20323
|
/** Join root-relative POSIX segments; `""` is the root itself. */
|
|
@@ -20369,7 +20407,7 @@ var Traversal = class {
|
|
|
20369
20407
|
}
|
|
20370
20408
|
};
|
|
20371
20409
|
//#endregion
|
|
20372
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20410
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/enumerate.js
|
|
20373
20411
|
/** Strip a trailing slash from `GlobPattern.enumerationPrefix` to get a relative directory. */
|
|
20374
20412
|
const baseOf = (pattern) => pattern.enumerationPrefix.replace(/\/$/, "");
|
|
20375
20413
|
/**
|
|
@@ -20439,7 +20477,7 @@ const enumerate = (root, globs, options) => effect.Effect.gen(function* () {
|
|
|
20439
20477
|
return results;
|
|
20440
20478
|
});
|
|
20441
20479
|
//#endregion
|
|
20442
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20480
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/patterns.js
|
|
20443
20481
|
const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : void 0;
|
|
20444
20482
|
/** The `packages:` list of a `pnpm-workspace.yaml` document. Total on a parsed document. */
|
|
20445
20483
|
const pnpmPatternsOf = (document) => {
|
|
@@ -20496,7 +20534,7 @@ const readPatterns = (root) => effect.Effect.gen(function* () {
|
|
|
20496
20534
|
return manifestPatternsOf(manifest);
|
|
20497
20535
|
});
|
|
20498
20536
|
//#endregion
|
|
20499
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20537
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspaceDiscovery.js
|
|
20500
20538
|
/**
|
|
20501
20539
|
* Raised when a workspace member's `package.json` cannot be read, parsed, or
|
|
20502
20540
|
* used — it is missing, malformed, or lacks a `name` or `version`.
|
|
@@ -20952,7 +20990,7 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends effect.Context.Service
|
|
|
20952
20990
|
};
|
|
20953
20991
|
const isStringRecord$2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && Object.values(value).every((entry) => typeof entry === "string");
|
|
20954
20992
|
//#endregion
|
|
20955
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20993
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/DependencyGraph.js
|
|
20956
20994
|
/**
|
|
20957
20995
|
* Raised when the workspace dependency graph cannot be topologically ordered
|
|
20958
20996
|
* because it contains a cycle.
|
|
@@ -24648,7 +24686,7 @@ var Git = class Git extends effect.Context.Service()("@effected/git/Git") {
|
|
|
24648
24686
|
static layerTest = (overrides = {}) => effect.Layer.succeed(Git, Git.makeTest(overrides));
|
|
24649
24687
|
};
|
|
24650
24688
|
//#endregion
|
|
24651
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
24689
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/ChangeDetector.js
|
|
24652
24690
|
/**
|
|
24653
24691
|
* Which git refs to compare, and whether to fold in the working tree.
|
|
24654
24692
|
*
|
|
@@ -24904,7 +24942,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
|
|
|
24904
24942
|
};
|
|
24905
24943
|
}
|
|
24906
24944
|
//#endregion
|
|
24907
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
24945
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/catalogs.js
|
|
24908
24946
|
/** Project a pnpm-workspace manifest's `catalog` / `catalogs` fields into a `Catalogs` map. */
|
|
24909
24947
|
const inlineCatalogs = (manifest) => {
|
|
24910
24948
|
if (manifest.catalog === void 0 && manifest.catalogs === void 0) return {};
|
|
@@ -25433,7 +25471,7 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends effect.Context.S
|
|
|
25433
25471
|
}));
|
|
25434
25472
|
};
|
|
25435
25473
|
//#endregion
|
|
25436
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
25474
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/PackageManagerName.js
|
|
25437
25475
|
/**
|
|
25438
25476
|
* The four package managers this package understands.
|
|
25439
25477
|
*
|
|
@@ -25808,7 +25846,7 @@ var PackageManagerDetector = class PackageManagerDetector extends effect.Context
|
|
|
25808
25846
|
static layerTest = (overrides = {}) => effect.Layer.succeed(PackageManagerDetector, PackageManagerDetector.makeTest(overrides));
|
|
25809
25847
|
};
|
|
25810
25848
|
//#endregion
|
|
25811
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
25849
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/LockfileReader.js
|
|
25812
25850
|
/**
|
|
25813
25851
|
* Raised when the workspace's lockfile cannot be read off disk.
|
|
25814
25852
|
*
|
|
@@ -25988,7 +26026,7 @@ var LockfileReader = class LockfileReader extends effect.Context.Service()("@eff
|
|
|
25988
26026
|
static layerTest = (overrides = {}) => effect.Layer.succeed(LockfileReader, LockfileReader.makeTest(overrides));
|
|
25989
26027
|
};
|
|
25990
26028
|
//#endregion
|
|
25991
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
26029
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/Publishability.js
|
|
25992
26030
|
/** The public npm registry, used when `publishConfig.registry` says nothing. */
|
|
25993
26031
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
|
|
25994
26032
|
/**
|
|
@@ -26147,7 +26185,7 @@ var PublishabilityDetector = class extends effect.Context.Service()("@effected/w
|
|
|
26147
26185
|
static layerNone = effect.Layer.succeed(this, this.none);
|
|
26148
26186
|
};
|
|
26149
26187
|
//#endregion
|
|
26150
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
26188
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/internal/importerVersions.js
|
|
26151
26189
|
/**
|
|
26152
26190
|
* Strip pnpm's peer-disambiguation suffix from a recorded importer version.
|
|
26153
26191
|
*
|
|
@@ -26233,7 +26271,7 @@ const unanimousVersionOf = (index, dependency) => {
|
|
|
26233
26271
|
return agreed;
|
|
26234
26272
|
};
|
|
26235
26273
|
//#endregion
|
|
26236
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
26274
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspaceCatalogs.js
|
|
26237
26275
|
/**
|
|
26238
26276
|
* An immutable, fully-normalized catalog collection — the one catalog
|
|
26239
26277
|
* resolution semantic in the package.
|
|
@@ -26670,7 +26708,8 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends effect.Context.Service()
|
|
|
26670
26708
|
}),
|
|
26671
26709
|
importerVersions: effect.Effect.fn("WorkspaceCatalogs.importerVersions")(function* () {
|
|
26672
26710
|
return (yield* memo).importerVersions;
|
|
26673
|
-
})
|
|
26711
|
+
}),
|
|
26712
|
+
refresh: () => invalidate
|
|
26674
26713
|
};
|
|
26675
26714
|
});
|
|
26676
26715
|
/**
|
|
@@ -26735,6 +26774,11 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends effect.Context.Service()
|
|
|
26735
26774
|
* the importer index from the lockfile's importer blocks — neither is in a
|
|
26736
26775
|
* `CatalogSet`) and always die unless stubbed.
|
|
26737
26776
|
*
|
|
26777
|
+
* `refresh` defaults to `Effect.void` honestly: the double holds no memo,
|
|
26778
|
+
* so "drop the memoized assembly" is genuinely a no-op — the stubs answer
|
|
26779
|
+
* fresh on every call already. This mirrors `WorkspaceDiscovery.makeTest`'s
|
|
26780
|
+
* `refresh`.
|
|
26781
|
+
*
|
|
26738
26782
|
* @example
|
|
26739
26783
|
* ```ts
|
|
26740
26784
|
* import { CatalogSet, WorkspaceCatalogs } from "@effected/workspaces";
|
|
@@ -26754,6 +26798,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends effect.Context.Service()
|
|
|
26754
26798
|
peerDependencyRules: () => unstubbed$1("peerDependencyRules"),
|
|
26755
26799
|
releaseAgeGate: () => unstubbed$1("releaseAgeGate"),
|
|
26756
26800
|
importerVersions: () => unstubbed$1("importerVersions"),
|
|
26801
|
+
refresh: () => effect.Effect.void,
|
|
26757
26802
|
...overrides
|
|
26758
26803
|
};
|
|
26759
26804
|
};
|
|
@@ -26803,7 +26848,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends effect.Context.Service()
|
|
|
26803
26848
|
}));
|
|
26804
26849
|
};
|
|
26805
26850
|
//#endregion
|
|
26806
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
26851
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspaceStateSnapshot.js
|
|
26807
26852
|
const EMPTY = Object.freeze(Object.create(null));
|
|
26808
26853
|
const DependencyMap = effect.Schema.Record(effect.Schema.String, effect.Schema.String).pipe(effect.Schema.withDecodingDefaultKey(effect.Effect.succeed(EMPTY)), effect.Schema.withConstructorDefault(effect.Effect.succeed(EMPTY)));
|
|
26809
26854
|
/**
|
|
@@ -27026,7 +27071,7 @@ var WorkspaceStateSnapshot = class extends effect.Schema.Class("WorkspaceStateSn
|
|
|
27026
27071
|
}
|
|
27027
27072
|
};
|
|
27028
27073
|
//#endregion
|
|
27029
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
27074
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/WorkspaceSnapshots.js
|
|
27030
27075
|
/** Whether `value` is a non-null, non-array object. */
|
|
27031
27076
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27032
27077
|
/** Whether every value in a record is a string — a usable dependency map. */
|
|
@@ -27303,7 +27348,7 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends effect.Context.Service
|
|
|
27303
27348
|
static layerTest = (overrides = {}) => effect.Layer.succeed(WorkspaceSnapshots, WorkspaceSnapshots.makeTest(overrides));
|
|
27304
27349
|
};
|
|
27305
27350
|
//#endregion
|
|
27306
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
27351
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.17.0_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__effect@4.0.0-rc.109/node_modules/@effected/workspaces/Workspaces.js
|
|
27307
27352
|
const compose = (options, catalogsFactory) => {
|
|
27308
27353
|
const roots = WorkspaceRoot.layer;
|
|
27309
27354
|
const detector = PackageManagerDetector.layer;
|