@savvy-web/silk 3.2.2 → 3.2.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/changesets-changelog.cjs +448 -95
- package/changesets-changelog.d.cts +252 -11
- package/changesets-changelog.d.ts +252 -11
- package/changesets-changelog.js +449 -96
- package/changesets-markdownlint.cjs +448 -95
- package/changesets-markdownlint.d.cts +252 -11
- package/changesets-markdownlint.d.ts +252 -11
- package/changesets-markdownlint.js +449 -96
- package/package.json +4 -4
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
package/changesets-changelog.js
CHANGED
|
@@ -2381,7 +2381,7 @@ var GlobSet = class GlobSet extends Schema.Class("GlobSet")(Schema.Struct({ patt
|
|
|
2381
2381
|
};
|
|
2382
2382
|
|
|
2383
2383
|
//#endregion
|
|
2384
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
2384
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/BunExtension.js
|
|
2385
2385
|
/**
|
|
2386
2386
|
* Extension data specific to bun lockfiles, attached to `Lockfile.extension`
|
|
2387
2387
|
* when the format is `"bun"`.
|
|
@@ -2403,7 +2403,7 @@ var BunExtension = class extends Schema.Class("BunExtension")({
|
|
|
2403
2403
|
}) {};
|
|
2404
2404
|
|
|
2405
2405
|
//#endregion
|
|
2406
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
2406
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/CatalogResolver.js
|
|
2407
2407
|
/**
|
|
2408
2408
|
* Contract for resolving pnpm `catalog:` dependency specifiers to concrete
|
|
2409
2409
|
* version ranges.
|
|
@@ -2450,7 +2450,7 @@ var CatalogResolver = class CatalogResolver extends Context.Service()("@effected
|
|
|
2450
2450
|
};
|
|
2451
2451
|
|
|
2452
2452
|
//#endregion
|
|
2453
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
2453
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/WorkspaceResolver.js
|
|
2454
2454
|
/**
|
|
2455
2455
|
* Raised when a `catalog:` or `workspace:` specifier cannot be resolved
|
|
2456
2456
|
* because the resolution mechanism itself failed — not for an ordinary
|
|
@@ -2512,7 +2512,7 @@ var WorkspaceResolver = class WorkspaceResolver extends Context.Service()("@effe
|
|
|
2512
2512
|
};
|
|
2513
2513
|
|
|
2514
2514
|
//#endregion
|
|
2515
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
2515
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/CatalogAssemblyError.js
|
|
2516
2516
|
/**
|
|
2517
2517
|
* Raised when a workspace's catalogs cannot be assembled — a `pnpm-workspace.yaml`
|
|
2518
2518
|
* that is unreadable or not valid YAML, a root `package.json` `workspaces` field
|
|
@@ -2557,7 +2557,7 @@ var CatalogAssemblyError = class extends Schema.TaggedErrorClass()("CatalogAssem
|
|
|
2557
2557
|
};
|
|
2558
2558
|
|
|
2559
2559
|
//#endregion
|
|
2560
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
2560
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/DependencySection.js
|
|
2561
2561
|
/**
|
|
2562
2562
|
* The short dependency kind: which dependency map an entry came from, named the
|
|
2563
2563
|
* way consumers branch on it.
|
|
@@ -4067,7 +4067,7 @@ const isComparatorSetSubset = (sub, sup) => {
|
|
|
4067
4067
|
};
|
|
4068
4068
|
|
|
4069
4069
|
//#endregion
|
|
4070
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
4070
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/DependencySpecifier.js
|
|
4071
4071
|
/**
|
|
4072
4072
|
* Indicates that a string could not be parsed as a valid dependency specifier.
|
|
4073
4073
|
*
|
|
@@ -4275,7 +4275,7 @@ const DependencySpecifier = Object.assign(brandedSpecifier, {
|
|
|
4275
4275
|
});
|
|
4276
4276
|
|
|
4277
4277
|
//#endregion
|
|
4278
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
4278
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/IntegrityHash.js
|
|
4279
4279
|
const SRI_RE = /^(sha1|sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}$/;
|
|
4280
4280
|
const COREPACK_RE = /^(sha1|sha256|sha384|sha512)\.[0-9a-f]+$/;
|
|
4281
4281
|
const YARN_RE = /^[0-9]+(c[0-9]+)?\/[0-9a-f]+$/;
|
|
@@ -4329,7 +4329,7 @@ const IntegrityHash = Object.assign(brandedIntegrity, {
|
|
|
4329
4329
|
});
|
|
4330
4330
|
|
|
4331
4331
|
//#endregion
|
|
4332
|
-
//#region ../../node_modules/.pnpm/@effected+npm@0.
|
|
4332
|
+
//#region ../../node_modules/.pnpm/@effected+npm@0.4.0_@effected+semver@0.2.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/npm/ReleaseAgeGate.js
|
|
4333
4333
|
const MS_PER_MINUTE = 6e4;
|
|
4334
4334
|
/**
|
|
4335
4335
|
* A source's partial contribution to a {@link ReleaseAgeGate}: the effective
|
|
@@ -4417,7 +4417,9 @@ var ReleaseAgeGate = class ReleaseAgeGate extends Schema.Class("ReleaseAgeGate")
|
|
|
4417
4417
|
* Combine partial contributions from multiple sources into one effective
|
|
4418
4418
|
* gate: **strictest age wins** (the maximum of the contributed ages,
|
|
4419
4419
|
* clamped to be non-negative) and the exclude sets **union** (deduplicated,
|
|
4420
|
-
*
|
|
4420
|
+
* lexicographically sorted — a canonical wire form, so the combined gate is
|
|
4421
|
+
* deterministic regardless of the order contributions arrive in). A
|
|
4422
|
+
* contribution's absent field adds nothing; a
|
|
4421
4423
|
* negative or non-finite contributed age is ignored by the clamp. With no
|
|
4422
4424
|
* contributions (or only empty ones) the result is the inert zero gate
|
|
4423
4425
|
* (`ageMinutes: 0`, `exclude: []`).
|
|
@@ -4431,7 +4433,7 @@ var ReleaseAgeGate = class ReleaseAgeGate extends Schema.Class("ReleaseAgeGate")
|
|
|
4431
4433
|
static combine(...contributions) {
|
|
4432
4434
|
const ages = contributions.map((contribution) => contribution.ageMinutes).filter((age) => typeof age === "number" && Number.isFinite(age));
|
|
4433
4435
|
const ageMinutes = ages.length > 0 ? Math.max(0, ...ages) : 0;
|
|
4434
|
-
const exclude = [...new Set(contributions.flatMap((contribution) => contribution.exclude ?? []))];
|
|
4436
|
+
const exclude = [...new Set(contributions.flatMap((contribution) => contribution.exclude ?? []))].sort();
|
|
4435
4437
|
return ReleaseAgeGate.make({
|
|
4436
4438
|
ageMinutes,
|
|
4437
4439
|
exclude
|
|
@@ -4498,7 +4500,7 @@ var ReleaseAgeGate = class ReleaseAgeGate extends Schema.Class("ReleaseAgeGate")
|
|
|
4498
4500
|
};
|
|
4499
4501
|
|
|
4500
4502
|
//#endregion
|
|
4501
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4503
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/ImporterDependency.js
|
|
4502
4504
|
/**
|
|
4503
4505
|
* One declared dependency of one workspace importer, as the lockfile records it.
|
|
4504
4506
|
*
|
|
@@ -4509,11 +4511,20 @@ var ReleaseAgeGate = class ReleaseAgeGate extends Schema.Class("ReleaseAgeGate")
|
|
|
4509
4511
|
* `ClassifiedSpecifier` (`catalog:` / `workspace:` / range / dist-tag / raw),
|
|
4510
4512
|
* while encoding round-trips the **exact original string byte-for-byte** — the
|
|
4511
4513
|
* guarantee a before/after lockfile diff relies on.
|
|
4512
|
-
* - `version` — the concrete resolved version, **populated by pnpm only
|
|
4513
|
-
* records `{ specifier, version }`
|
|
4514
|
-
*
|
|
4515
|
-
* `version` is
|
|
4516
|
-
* `
|
|
4514
|
+
* - `version` — the concrete resolved version, **populated by pnpm only**:
|
|
4515
|
+
* comparable across refs and printable. pnpm records `{ specifier, version }`
|
|
4516
|
+
* per importer dependency, and the parser splits pnpm's peer-disambiguation
|
|
4517
|
+
* suffix off into `peerSuffix`, so `version` is always the plain version — or
|
|
4518
|
+
* a non-registry resolution (`link:../utils`, `file:...`), passed through
|
|
4519
|
+
* verbatim. bun and npm record resolved versions on their package entries
|
|
4520
|
+
* instead, so for those formats `version` is absent and a consumer joins by
|
|
4521
|
+
* `name` against `Lockfile.packages`.
|
|
4522
|
+
* - `peerSuffix` — pnpm's peer-disambiguation context: the raw parenthesized
|
|
4523
|
+
* chain the lockfile recorded after the version, e.g.
|
|
4524
|
+
* `(effect@4.0.0-beta.101)(ioredis@5.11.1(supports-color@8.1.1))`. Present
|
|
4525
|
+
* only when the lockfile recorded one — never for suffix-free pnpm entries,
|
|
4526
|
+
* and never for the other formats, which do not record peer context per
|
|
4527
|
+
* importer dependency.
|
|
4517
4528
|
* - `depType` — which dependency map declared it, spelled with `@effected/npm`'s
|
|
4518
4529
|
* kit-wide `DependencyField` vocabulary.
|
|
4519
4530
|
*
|
|
@@ -4523,11 +4534,12 @@ var ImporterDependency = class extends Schema.Class("ImporterDependency")({
|
|
|
4523
4534
|
name: Schema.NonEmptyString,
|
|
4524
4535
|
specifier: DependencySpecifier.FromString,
|
|
4525
4536
|
version: Schema.optionalKey(Schema.String),
|
|
4537
|
+
peerSuffix: Schema.optionalKey(Schema.String),
|
|
4526
4538
|
depType: DependencyField
|
|
4527
4539
|
}) {};
|
|
4528
4540
|
|
|
4529
4541
|
//#endregion
|
|
4530
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4542
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/LockfileImporter.js
|
|
4531
4543
|
/**
|
|
4532
4544
|
* One workspace importer's declared dependencies, as the lockfile records them.
|
|
4533
4545
|
*
|
|
@@ -4552,7 +4564,7 @@ var LockfileImporter = class extends Schema.Class("LockfileImporter")({
|
|
|
4552
4564
|
}) {};
|
|
4553
4565
|
|
|
4554
4566
|
//#endregion
|
|
4555
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4567
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/ResolvedPackage.js
|
|
4556
4568
|
const EMPTY_DEPENDENCIES = {};
|
|
4557
4569
|
/**
|
|
4558
4570
|
* A package resolved from a lockfile.
|
|
@@ -4588,7 +4600,7 @@ var ResolvedPackage = class extends Schema.Class("ResolvedPackage")({
|
|
|
4588
4600
|
}) {};
|
|
4589
4601
|
|
|
4590
4602
|
//#endregion
|
|
4591
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4603
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/WorkspaceDependency.js
|
|
4592
4604
|
/**
|
|
4593
4605
|
* A directed dependency edge between two workspace packages as recorded in
|
|
4594
4606
|
* the lockfile.
|
|
@@ -4611,7 +4623,7 @@ var WorkspaceDependency = class extends Schema.Class("WorkspaceDependency")({
|
|
|
4611
4623
|
}) {};
|
|
4612
4624
|
|
|
4613
4625
|
//#endregion
|
|
4614
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4626
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/PnpmExtension.js
|
|
4615
4627
|
/**
|
|
4616
4628
|
* Extension data specific to pnpm lockfiles, attached to `Lockfile.extension`
|
|
4617
4629
|
* when the format is `"pnpm"`.
|
|
@@ -4637,7 +4649,7 @@ var PnpmExtension = class extends Schema.Class("PnpmExtension")({
|
|
|
4637
4649
|
}) {};
|
|
4638
4650
|
|
|
4639
4651
|
//#endregion
|
|
4640
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4652
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/LockfileFormat.js
|
|
4641
4653
|
/**
|
|
4642
4654
|
* The lockfile formats this package parses: bun's `bun.lock` (JSONC), npm's
|
|
4643
4655
|
* `package-lock.json` (v2/v3 JSON), pnpm's `pnpm-lock.yaml` and yarn Berry's
|
|
@@ -4672,7 +4684,7 @@ const FILENAMES = {
|
|
|
4672
4684
|
const filenameFor = (format) => FILENAMES[format];
|
|
4673
4685
|
|
|
4674
4686
|
//#endregion
|
|
4675
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
4687
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/shared.js
|
|
4676
4688
|
/**
|
|
4677
4689
|
* The four dependency sections of a manifest, in a stable order — the shared
|
|
4678
4690
|
* dependency-sections table (v3's `DEP_SECTIONS`). Each entry is both the
|
|
@@ -4711,22 +4723,54 @@ const toIntegrityHash = (raw) => {
|
|
|
4711
4723
|
};
|
|
4712
4724
|
const decodeSpecifier = Schema.decodeUnknownExit(DependencySpecifier.FromString);
|
|
4713
4725
|
/**
|
|
4726
|
+
* Split pnpm's peer-disambiguation suffix off a recorded string: everything
|
|
4727
|
+
* from the first `(` on is suffix, since package names and versions never
|
|
4728
|
+
* contain `(`. Handles both shapes pnpm records — a bare version
|
|
4729
|
+
* (`"1.0.0(effect@4.0.0)"`, importer entries) and a `name@version` snapshot key
|
|
4730
|
+
* (`"fdir@6.5.0(picomatch@4.0.4)"`). A string with no `(` — including
|
|
4731
|
+
* `link:...` / `file:...` resolutions — passes through untouched. So does a
|
|
4732
|
+
* protocol-bearing string (a `:` ahead of the first `(`), where a parenthesis
|
|
4733
|
+
* is path or URL text rather than a peer suffix: pnpm attaches suffixes to
|
|
4734
|
+
* registry versions only. This is the single stripping implementation — do not
|
|
4735
|
+
* hand-roll an `indexOf("(")` split elsewhere.
|
|
4736
|
+
*
|
|
4737
|
+
* @internal
|
|
4738
|
+
*/
|
|
4739
|
+
const splitPeerSuffix = (raw) => {
|
|
4740
|
+
const parenIndex = raw.indexOf("(");
|
|
4741
|
+
if (parenIndex === -1) return { plain: raw };
|
|
4742
|
+
if (raw.lastIndexOf(":", parenIndex) !== -1) return { plain: raw };
|
|
4743
|
+
return {
|
|
4744
|
+
plain: raw.slice(0, parenIndex),
|
|
4745
|
+
peerSuffix: raw.slice(parenIndex)
|
|
4746
|
+
};
|
|
4747
|
+
};
|
|
4748
|
+
/**
|
|
4714
4749
|
* Build one {@link ImporterDependency}, decoding the raw specifier string into
|
|
4715
4750
|
* the `@effected/npm` `ClassifiedSpecifier` tagged union. Returns `undefined`
|
|
4716
4751
|
* — a skip, never a throw — when the name is empty or the specifier does not
|
|
4717
4752
|
* classify (e.g. an empty specifier), per the total-string-surgery discipline.
|
|
4718
4753
|
*
|
|
4754
|
+
* A pnpm-recorded version is normalized through {@link splitPeerSuffix}: the
|
|
4755
|
+
* `version` field carries the plain version and the split-off peer chain lands
|
|
4756
|
+
* in `peerSuffix`. A version that is *only* a peer chain (empty plain part) is
|
|
4757
|
+
* treated as no concrete version — a skip of both fields, never a throw.
|
|
4758
|
+
*
|
|
4719
4759
|
* @internal
|
|
4720
4760
|
*/
|
|
4721
4761
|
const buildImporterDependency = (name, specifier, depType, version) => {
|
|
4722
4762
|
if (name === "") return void 0;
|
|
4723
4763
|
const exit = decodeSpecifier(specifier);
|
|
4724
4764
|
if (Exit.isFailure(exit)) return void 0;
|
|
4765
|
+
const resolved = version !== void 0 && version !== "" ? splitPeerSuffix(version) : void 0;
|
|
4725
4766
|
return ImporterDependency.make({
|
|
4726
4767
|
name,
|
|
4727
4768
|
specifier: exit.value,
|
|
4728
4769
|
depType,
|
|
4729
|
-
...
|
|
4770
|
+
...resolved !== void 0 && resolved.plain !== "" ? {
|
|
4771
|
+
version: resolved.plain,
|
|
4772
|
+
...resolved.peerSuffix !== void 0 ? { peerSuffix: resolved.peerSuffix } : {}
|
|
4773
|
+
} : {}
|
|
4730
4774
|
});
|
|
4731
4775
|
};
|
|
4732
4776
|
/**
|
|
@@ -6614,7 +6658,7 @@ var JsoncModifier = class {
|
|
|
6614
6658
|
};
|
|
6615
6659
|
|
|
6616
6660
|
//#endregion
|
|
6617
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
6661
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/bun.js
|
|
6618
6662
|
const DepRecord$2 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
6619
6663
|
const BunWorkspaceEntry = Schema.Struct({
|
|
6620
6664
|
name: Schema.optionalKey(Schema.String),
|
|
@@ -6708,7 +6752,7 @@ const toFields$3 = (raw) => Effect.gen(function* () {
|
|
|
6708
6752
|
});
|
|
6709
6753
|
|
|
6710
6754
|
//#endregion
|
|
6711
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
6755
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/npm.js
|
|
6712
6756
|
const DepRecord$1 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
6713
6757
|
const NpmPackageEntry = Schema.Struct({
|
|
6714
6758
|
name: Schema.optionalKey(Schema.String),
|
|
@@ -6807,7 +6851,7 @@ const toFields$2 = (raw) => Effect.gen(function* () {
|
|
|
6807
6851
|
});
|
|
6808
6852
|
|
|
6809
6853
|
//#endregion
|
|
6810
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
6854
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/YamlNode.js
|
|
6811
6855
|
/**
|
|
6812
6856
|
* YAML scalar presentation styles.
|
|
6813
6857
|
*
|
|
@@ -7210,7 +7254,7 @@ function nodeToValue(node, anchors, budget, counting = false) {
|
|
|
7210
7254
|
}
|
|
7211
7255
|
|
|
7212
7256
|
//#endregion
|
|
7213
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
7257
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/diagnostics.js
|
|
7214
7258
|
/** Error codes emitted by the lexer stage. */
|
|
7215
7259
|
const YAML_LEX_ERROR_CODES = [
|
|
7216
7260
|
"UnexpectedCharacter",
|
|
@@ -7289,7 +7333,7 @@ function isFatalCode(code) {
|
|
|
7289
7333
|
}
|
|
7290
7334
|
|
|
7291
7335
|
//#endregion
|
|
7292
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
7336
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/YamlDiagnostic.js
|
|
7293
7337
|
/**
|
|
7294
7338
|
* Error codes emitted by the lexer stage.
|
|
7295
7339
|
*
|
|
@@ -7411,7 +7455,7 @@ function lineChar(text, offset) {
|
|
|
7411
7455
|
}
|
|
7412
7456
|
|
|
7413
7457
|
//#endregion
|
|
7414
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
7458
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/anchors.js
|
|
7415
7459
|
/**
|
|
7416
7460
|
* Check if a pending anchor is being applied to an alias node (invalid in YAML 1.2 §3.2.2).
|
|
7417
7461
|
* Aliases represent references to existing anchored nodes and cannot have their own anchors.
|
|
@@ -7505,7 +7549,7 @@ function collectAnchors(node, anchors) {
|
|
|
7505
7549
|
}
|
|
7506
7550
|
|
|
7507
7551
|
//#endregion
|
|
7508
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
7552
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/lexer.js
|
|
7509
7553
|
/**
|
|
7510
7554
|
* Create a new YAML scanner for the given source text.
|
|
7511
7555
|
*
|
|
@@ -8463,7 +8507,7 @@ function lexAll(text) {
|
|
|
8463
8507
|
}
|
|
8464
8508
|
|
|
8465
8509
|
//#endregion
|
|
8466
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
8510
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/cst-parser.js
|
|
8467
8511
|
/**
|
|
8468
8512
|
* Hardening: cap CST nesting so hostile inputs cannot overflow the stack
|
|
8469
8513
|
* while the tree is being BUILT. Set slightly above the composer's
|
|
@@ -9176,7 +9220,7 @@ function parseCSTAll(text) {
|
|
|
9176
9220
|
}
|
|
9177
9221
|
|
|
9178
9222
|
//#endregion
|
|
9179
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
9223
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/state.js
|
|
9180
9224
|
let lineStartsText;
|
|
9181
9225
|
let lineStartsCache = [];
|
|
9182
9226
|
function getLineStarts(text) {
|
|
@@ -9283,7 +9327,7 @@ function exitNesting(state) {
|
|
|
9283
9327
|
}
|
|
9284
9328
|
|
|
9285
9329
|
//#endregion
|
|
9286
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
9330
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/tags.js
|
|
9287
9331
|
/**
|
|
9288
9332
|
* Resolve a tag shorthand using the document's %TAG directives.
|
|
9289
9333
|
* For example, with `%TAG !! tag:example.com,2000:app/`, the tag `!!int`
|
|
@@ -9370,7 +9414,7 @@ function validateTagHandlesInDocument(docCst, state) {
|
|
|
9370
9414
|
}
|
|
9371
9415
|
|
|
9372
9416
|
//#endregion
|
|
9373
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
9417
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/scalars.js
|
|
9374
9418
|
const NULL_RE$1 = /^(?:null|Null|NULL|~)$/;
|
|
9375
9419
|
const TRUE_RE$1 = /^(?:true|True|TRUE)$/;
|
|
9376
9420
|
const FALSE_RE$1 = /^(?:false|False|FALSE)$/;
|
|
@@ -10249,7 +10293,7 @@ function shouldPreserveRaw(rawValue, value) {
|
|
|
10249
10293
|
}
|
|
10250
10294
|
|
|
10251
10295
|
//#endregion
|
|
10252
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
10296
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/block.js
|
|
10253
10297
|
/**
|
|
10254
10298
|
* Compose a block map from its CST children, with an optional external first key.
|
|
10255
10299
|
*
|
|
@@ -11398,7 +11442,7 @@ function composeFlatBlockMap(children, startIdx, parentCst, state, externalFirst
|
|
|
11398
11442
|
}
|
|
11399
11443
|
|
|
11400
11444
|
//#endregion
|
|
11401
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
11445
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/flow.js
|
|
11402
11446
|
/**
|
|
11403
11447
|
* Validate that flow collection entries are separated by commas.
|
|
11404
11448
|
*
|
|
@@ -11791,7 +11835,7 @@ function composeFlowSeqInner(cst, state, meta, parentBlockColumn) {
|
|
|
11791
11835
|
}
|
|
11792
11836
|
|
|
11793
11837
|
//#endregion
|
|
11794
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
11838
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/composer/document.js
|
|
11795
11839
|
/** The flow-composer dispatch wired into every state this module creates. */
|
|
11796
11840
|
const FLOW = {
|
|
11797
11841
|
composeFlowMap,
|
|
@@ -12458,7 +12502,7 @@ function composeAllDocuments(text, options) {
|
|
|
12458
12502
|
}
|
|
12459
12503
|
|
|
12460
12504
|
//#endregion
|
|
12461
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
12505
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/fold.js
|
|
12462
12506
|
/**
|
|
12463
12507
|
* Column-based line folding for a single logical scalar line (YAML 1.2 flow
|
|
12464
12508
|
* folding, §7.3 / §8.2.1). Breaks the content at "safe" single-space
|
|
@@ -12695,7 +12739,7 @@ function renderBlockFolded(s, indent) {
|
|
|
12695
12739
|
}
|
|
12696
12740
|
|
|
12697
12741
|
//#endregion
|
|
12698
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
12742
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/internal/stringifier.js
|
|
12699
12743
|
/**
|
|
12700
12744
|
* Thrown by the stringifier on its failure paths (circular references). The
|
|
12701
12745
|
* facade catches this and materializes the public stringify error.
|
|
@@ -13067,7 +13111,7 @@ function stringifyValue(value, options) {
|
|
|
13067
13111
|
}
|
|
13068
13112
|
|
|
13069
13113
|
//#endregion
|
|
13070
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.
|
|
13114
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.6.0_effect@4.0.0-beta.101/node_modules/@effected/yaml/Yaml.js
|
|
13071
13115
|
/**
|
|
13072
13116
|
* Options controlling parse behavior. All fields are omissible; absent fields
|
|
13073
13117
|
* resolve to `strict` `true`, `maxAliasCount` `100` (the alias-based
|
|
@@ -13719,7 +13763,7 @@ function deepEqualValues(a, b) {
|
|
|
13719
13763
|
}
|
|
13720
13764
|
|
|
13721
13765
|
//#endregion
|
|
13722
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
13766
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/documents.js
|
|
13723
13767
|
/**
|
|
13724
13768
|
* An empty YAML document composes to `null` (`Yaml.parseAll("")` is `[null]`,
|
|
13725
13769
|
* and the trailing document of an env-only `pnpm-lock.yaml` is `null` too).
|
|
@@ -13790,7 +13834,7 @@ const selectSoleDocument = (content) => Effect.gen(function* () {
|
|
|
13790
13834
|
});
|
|
13791
13835
|
|
|
13792
13836
|
//#endregion
|
|
13793
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
13837
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/pnpm.js
|
|
13794
13838
|
const PnpmImporterDeps = Schema.optionalKey(Schema.Record(Schema.String, Schema.Struct({
|
|
13795
13839
|
specifier: Schema.String,
|
|
13796
13840
|
version: Schema.String
|
|
@@ -13887,8 +13931,7 @@ const toFields$1 = (raw) => Effect.gen(function* () {
|
|
|
13887
13931
|
}));
|
|
13888
13932
|
}
|
|
13889
13933
|
if (raw.packages) for (const [key, pkg] of Object.entries(raw.packages)) {
|
|
13890
|
-
const
|
|
13891
|
-
const bare = parenIndex === -1 ? key : key.slice(0, parenIndex);
|
|
13934
|
+
const { plain: bare } = splitPeerSuffix(key);
|
|
13892
13935
|
const atIndex = bare.lastIndexOf("@");
|
|
13893
13936
|
if (atIndex <= 0) continue;
|
|
13894
13937
|
const name = bare.slice(0, atIndex);
|
|
@@ -13917,7 +13960,7 @@ const toFields$1 = (raw) => Effect.gen(function* () {
|
|
|
13917
13960
|
});
|
|
13918
13961
|
|
|
13919
13962
|
//#endregion
|
|
13920
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
13963
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/internal/yarn.js
|
|
13921
13964
|
const YarnLockfileRaw = Schema.Record(Schema.String, Schema.Unknown);
|
|
13922
13965
|
const DepRecord = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
13923
13966
|
const YarnEntry = Schema.Struct({
|
|
@@ -14041,7 +14084,7 @@ const cleanYarnDeps = (deps) => {
|
|
|
14041
14084
|
};
|
|
14042
14085
|
|
|
14043
14086
|
//#endregion
|
|
14044
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
14087
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/Lockfile.js
|
|
14045
14088
|
const EMPTY_IMPORTERS = [];
|
|
14046
14089
|
/**
|
|
14047
14090
|
* Failure of `Lockfile.parse`: the given content is not a valid lockfile of
|
|
@@ -14286,7 +14329,7 @@ var Lockfile = class Lockfile extends Schema.Class("Lockfile")({
|
|
|
14286
14329
|
};
|
|
14287
14330
|
|
|
14288
14331
|
//#endregion
|
|
14289
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.
|
|
14332
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.2.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__@effected+npm@0._bb7f362bdd42193e6ed4fc5154b217f4/node_modules/@effected/lockfiles/LockfileIntegrity.js
|
|
14290
14333
|
/**
|
|
14291
14334
|
* The minimal manifest shape {@link LockfileIntegrity.compare} checks a
|
|
14292
14335
|
* lockfile against: a package name plus the four optional dependency maps.
|
|
@@ -14403,7 +14446,7 @@ var LockfileIntegrity = class LockfileIntegrity extends Schema.Class("LockfileIn
|
|
|
14403
14446
|
};
|
|
14404
14447
|
|
|
14405
14448
|
//#endregion
|
|
14406
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
14449
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/Dependency.js
|
|
14407
14450
|
/**
|
|
14408
14451
|
* A resolved dependency entry pairing a package name with its version
|
|
14409
14452
|
* specifier and the `kind` of map it came from (`@effected/npm`'s
|
|
@@ -14468,7 +14511,7 @@ var Dependency = class extends Schema.Class("Dependency")({
|
|
|
14468
14511
|
};
|
|
14469
14512
|
|
|
14470
14513
|
//#endregion
|
|
14471
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
14514
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/DevEngines.js
|
|
14472
14515
|
/**
|
|
14473
14516
|
* A single `devEngines` constraint with a name and optional `version` / `onFail`.
|
|
14474
14517
|
*
|
|
@@ -16066,7 +16109,7 @@ const SpdxExpression = {
|
|
|
16066
16109
|
};
|
|
16067
16110
|
|
|
16068
16111
|
//#endregion
|
|
16069
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16112
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/License.js
|
|
16070
16113
|
/**
|
|
16071
16114
|
* Indicates that a string is not a valid SPDX license identifier or expression.
|
|
16072
16115
|
*
|
|
@@ -16102,7 +16145,7 @@ const isValidSpdx = (value) => {
|
|
|
16102
16145
|
const SpdxLicense = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => isValidSpdx(value) ? void 0 : "Expected a valid SPDX license expression")), Schema.brand("SpdxLicense"));
|
|
16103
16146
|
|
|
16104
16147
|
//#endregion
|
|
16105
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16148
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/PackageManager.js
|
|
16106
16149
|
const PACKAGE_MANAGER_RE = /^([a-z]+)@(\d+\.\d+\.\d+(?:-[a-zA-Z0-9._-]+)?)(?:\+(.+))?$/;
|
|
16107
16150
|
/**
|
|
16108
16151
|
* The `packageManager` field only ever carries corepack's `<algo>.<hex>`
|
|
@@ -16161,7 +16204,7 @@ var PackageManager = class PackageManager extends Schema.Class("PackageManager")
|
|
|
16161
16204
|
};
|
|
16162
16205
|
|
|
16163
16206
|
//#endregion
|
|
16164
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16207
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/PackageName.js
|
|
16165
16208
|
/**
|
|
16166
16209
|
* Indicates that a string could not be used as a valid npm package name.
|
|
16167
16210
|
*
|
|
@@ -16220,7 +16263,7 @@ const PackageName = Object.assign(Schema.Union([ScopedPackageName, UnscopedPacka
|
|
|
16220
16263
|
});
|
|
16221
16264
|
|
|
16222
16265
|
//#endregion
|
|
16223
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16266
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/Person.js
|
|
16224
16267
|
const parsePersonString = (input) => {
|
|
16225
16268
|
const emailMatch = input.match(/<([^>]+)>/);
|
|
16226
16269
|
const urlMatch = input.match(/\(([^)]+)\)/);
|
|
@@ -16364,7 +16407,7 @@ var Person = class Person extends Schema.Class("Person")({
|
|
|
16364
16407
|
};
|
|
16365
16408
|
|
|
16366
16409
|
//#endregion
|
|
16367
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16410
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/internal/format.js
|
|
16368
16411
|
const KEY_INDEX = new Map([
|
|
16369
16412
|
"$schema",
|
|
16370
16413
|
"name",
|
|
@@ -16588,7 +16631,7 @@ const renderJson = (raw, options) => {
|
|
|
16588
16631
|
};
|
|
16589
16632
|
|
|
16590
16633
|
//#endregion
|
|
16591
|
-
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.
|
|
16634
|
+
//#region ../../node_modules/.pnpm/@effected+package-json@0.5.2_effect@4.0.0-beta.101/node_modules/@effected/package-json/Package.js
|
|
16592
16635
|
const toHashMap = SchemaTransformation.transform({
|
|
16593
16636
|
decode: (record) => HashMap.fromIterable(Object.entries(record)),
|
|
16594
16637
|
encode: (map) => Object.fromEntries(HashMap.toEntries(map))
|
|
@@ -16907,7 +16950,7 @@ var Package = class Package extends Schema.Class("Package")({
|
|
|
16907
16950
|
};
|
|
16908
16951
|
|
|
16909
16952
|
//#endregion
|
|
16910
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16953
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspacePackage.js
|
|
16911
16954
|
const EMPTY$1 = Object.freeze(Object.create(null));
|
|
16912
16955
|
const EMPTY_MANIFEST = Object.freeze(Object.create(null));
|
|
16913
16956
|
/**
|
|
@@ -17516,7 +17559,7 @@ const Walker$1 = {
|
|
|
17516
17559
|
};
|
|
17517
17560
|
|
|
17518
17561
|
//#endregion
|
|
17519
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17562
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspaceRoot.js
|
|
17520
17563
|
/**
|
|
17521
17564
|
* The marker filenames {@link WorkspaceRoot} probes for, in priority order.
|
|
17522
17565
|
*
|
|
@@ -17704,7 +17747,7 @@ var WorkspaceRoot = class WorkspaceRoot extends Context.Service()("@effected/wor
|
|
|
17704
17747
|
};
|
|
17705
17748
|
|
|
17706
17749
|
//#endregion
|
|
17707
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17750
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/limits.js
|
|
17708
17751
|
/**
|
|
17709
17752
|
* Hard ceiling on directories the enumerator will visit for one pattern set.
|
|
17710
17753
|
* Guards the pathological case a depth cap alone does not: a wide, shallow
|
|
@@ -17723,7 +17766,7 @@ const MAX_ENUMERATION_ENTRIES = 1e5;
|
|
|
17723
17766
|
const PRUNED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
|
|
17724
17767
|
|
|
17725
17768
|
//#endregion
|
|
17726
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17769
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/traverse.js
|
|
17727
17770
|
/** Directory names never descended into. */
|
|
17728
17771
|
const isPruned = (entry) => PRUNED_DIRECTORIES.has(entry);
|
|
17729
17772
|
/** Join root-relative POSIX segments; `""` is the root itself. */
|
|
@@ -17814,7 +17857,7 @@ var Traversal = class {
|
|
|
17814
17857
|
};
|
|
17815
17858
|
|
|
17816
17859
|
//#endregion
|
|
17817
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17860
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/enumerate.js
|
|
17818
17861
|
/** Strip a trailing slash from `GlobPattern.enumerationPrefix` to get a relative directory. */
|
|
17819
17862
|
const baseOf = (pattern) => pattern.enumerationPrefix.replace(/\/$/, "");
|
|
17820
17863
|
/**
|
|
@@ -17885,7 +17928,7 @@ const enumerate = (root, globs, options) => Effect.gen(function* () {
|
|
|
17885
17928
|
});
|
|
17886
17929
|
|
|
17887
17930
|
//#endregion
|
|
17888
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17931
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/patterns.js
|
|
17889
17932
|
const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : void 0;
|
|
17890
17933
|
/** The `packages:` list of a `pnpm-workspace.yaml` document. Total on a parsed document. */
|
|
17891
17934
|
const pnpmPatternsOf = (document) => {
|
|
@@ -17943,7 +17986,7 @@ const readPatterns = (root) => Effect.gen(function* () {
|
|
|
17943
17986
|
});
|
|
17944
17987
|
|
|
17945
17988
|
//#endregion
|
|
17946
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
17989
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspaceDiscovery.js
|
|
17947
17990
|
/**
|
|
17948
17991
|
* Raised when a workspace member's `package.json` cannot be read, parsed, or
|
|
17949
17992
|
* used — it is missing, malformed, or lacks a `name` or `version`.
|
|
@@ -18378,7 +18421,7 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends Context.Service()("@ef
|
|
|
18378
18421
|
const isStringRecord$2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && Object.values(value).every((entry) => typeof entry === "string");
|
|
18379
18422
|
|
|
18380
18423
|
//#endregion
|
|
18381
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18424
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/DependencyGraph.js
|
|
18382
18425
|
/**
|
|
18383
18426
|
* Raised when the workspace dependency graph cannot be topologically ordered
|
|
18384
18427
|
* because it contains a cycle.
|
|
@@ -18614,7 +18657,7 @@ const kahn = (edges) => {
|
|
|
18614
18657
|
};
|
|
18615
18658
|
|
|
18616
18659
|
//#endregion
|
|
18617
|
-
//#region ../../node_modules/.pnpm/@effected+git@0.
|
|
18660
|
+
//#region ../../node_modules/.pnpm/@effected+git@0.5.0_effect@4.0.0-beta.101/node_modules/@effected/git/GitCommand.js
|
|
18618
18661
|
/**
|
|
18619
18662
|
* Builds a `git` `ChildProcess.StandardCommand` with the argv this package
|
|
18620
18663
|
* classifies against.
|
|
@@ -19034,7 +19077,7 @@ const GitCommand = {
|
|
|
19034
19077
|
};
|
|
19035
19078
|
|
|
19036
19079
|
//#endregion
|
|
19037
|
-
//#region ../../node_modules/.pnpm/@effected+git@0.
|
|
19080
|
+
//#region ../../node_modules/.pnpm/@effected+git@0.5.0_effect@4.0.0-beta.101/node_modules/@effected/git/internal/run.js
|
|
19038
19081
|
/**
|
|
19039
19082
|
* Spawns `command` and collects its stdout, stderr, and exit code as a single
|
|
19040
19083
|
* triple.
|
|
@@ -19062,7 +19105,7 @@ const runCollected = (command) => Effect.scoped(Effect.gen(function* () {
|
|
|
19062
19105
|
}));
|
|
19063
19106
|
|
|
19064
19107
|
//#endregion
|
|
19065
|
-
//#region ../../node_modules/.pnpm/@effected+git@0.
|
|
19108
|
+
//#region ../../node_modules/.pnpm/@effected+git@0.5.0_effect@4.0.0-beta.101/node_modules/@effected/git/Git.js
|
|
19066
19109
|
/** git's own ceiling: a run that has not answered in 30s is not going to. */
|
|
19067
19110
|
const GIT_TIMEOUT = Duration.seconds(30);
|
|
19068
19111
|
/**
|
|
@@ -19949,6 +19992,12 @@ const make = (spawner) => {
|
|
|
19949
19992
|
};
|
|
19950
19993
|
};
|
|
19951
19994
|
/**
|
|
19995
|
+
* The default for every {@link Git.makeTest} method a test did not stub: a
|
|
19996
|
+
* defect naming the method, so an unexercised call fails loudly instead of
|
|
19997
|
+
* succeeding with a lie or failing with a dishonest typed error.
|
|
19998
|
+
*/
|
|
19999
|
+
const notStubbed = (method) => () => Effect.die(/* @__PURE__ */ new Error(`Git.makeTest: ${method}() was called but not stubbed — no honest default exists for a test double; pass a \`${method}\` override.`));
|
|
20000
|
+
/**
|
|
19952
20001
|
* Typed git introspection over core's `ChildProcessSpawner`: read a
|
|
19953
20002
|
* repository's state at any ref without checking it out, plus the mutating
|
|
19954
20003
|
* tier (`checkout`, `fetch`, `fetchAny`, `submoduleUpdate`, `submoduleAdd`,
|
|
@@ -19971,16 +20020,103 @@ const make = (spawner) => {
|
|
|
19971
20020
|
*
|
|
19972
20021
|
* @public
|
|
19973
20022
|
*/
|
|
19974
|
-
var Git = class extends Context.Service()("@effected/git/Git") {
|
|
20023
|
+
var Git = class Git extends Context.Service()("@effected/git/Git") {
|
|
19975
20024
|
/** Resolves `ChildProcessSpawner` once, at construction — every method's `R` is `never`. */
|
|
19976
20025
|
static layer = Layer.effect(this, Effect.gen(function* () {
|
|
19977
20026
|
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
19978
20027
|
return make(spawner);
|
|
19979
20028
|
}));
|
|
20029
|
+
/**
|
|
20030
|
+
* An in-memory test double of the service shape: stub only the methods the
|
|
20031
|
+
* test exercises, every other method **dies** with a defect naming itself.
|
|
20032
|
+
*
|
|
20033
|
+
* @remarks
|
|
20034
|
+
* Unlike `WorkspaceDiscovery.makeTest`, **no method here has an honest
|
|
20035
|
+
* default** — the shape is twenty-six unrelated git operations, and a
|
|
20036
|
+
* fabricated answer for any of them (an empty tree, a made-up sha, a silent
|
|
20037
|
+
* no-op `checkout`) would leak into consumer logic as fact. So every
|
|
20038
|
+
* unstubbed method fails loudly as a defect
|
|
20039
|
+
* (`Git.makeTest: <name>() was called but not stubbed`) rather than
|
|
20040
|
+
* succeeding with a lie or failing with a dishonest typed error — which is
|
|
20041
|
+
* also what makes the double a proof that a test touches *nothing but* the
|
|
20042
|
+
* methods it stubbed.
|
|
20043
|
+
*
|
|
20044
|
+
* The double deliberately models **none** of the live service's semantics:
|
|
20045
|
+
* no stderr classification, no option-injection guard (an option-like ref a
|
|
20046
|
+
* stub accepts would be refused live), no `LC_ALL=C` pinning, no timeout,
|
|
20047
|
+
* and no `./`-vs-bare path resolution on `show` — a stub answers exactly
|
|
20048
|
+
* what it is told and nothing else. A suite exercising any of those wants
|
|
20049
|
+
* `Git.layer` over a mocked `ChildProcessSpawner` (or real git) instead.
|
|
20050
|
+
*
|
|
20051
|
+
* @example
|
|
20052
|
+
* ```ts
|
|
20053
|
+
* import { Git } from "@effected/git";
|
|
20054
|
+
* import { Effect, Option } from "effect";
|
|
20055
|
+
*
|
|
20056
|
+
* const double = Git.makeTest({
|
|
20057
|
+
* show: (_cwd, _ref, path) =>
|
|
20058
|
+
* Effect.succeed(path === "./package.json" ? Option.some("{}") : Option.none()),
|
|
20059
|
+
* });
|
|
20060
|
+
* // `double.show(...)` answers; `double.status(...)` dies, named.
|
|
20061
|
+
* ```
|
|
20062
|
+
*/
|
|
20063
|
+
static makeTest = (overrides = {}) => ({
|
|
20064
|
+
show: notStubbed("show"),
|
|
20065
|
+
lsTree: notStubbed("lsTree"),
|
|
20066
|
+
refExists: notStubbed("refExists"),
|
|
20067
|
+
mergeBase: notStubbed("mergeBase"),
|
|
20068
|
+
changedFiles: notStubbed("changedFiles"),
|
|
20069
|
+
workingChanges: notStubbed("workingChanges"),
|
|
20070
|
+
revParse: notStubbed("revParse"),
|
|
20071
|
+
checkout: notStubbed("checkout"),
|
|
20072
|
+
fetch: notStubbed("fetch"),
|
|
20073
|
+
fetchAny: notStubbed("fetchAny"),
|
|
20074
|
+
submoduleUpdate: notStubbed("submoduleUpdate"),
|
|
20075
|
+
submoduleAdd: notStubbed("submoduleAdd"),
|
|
20076
|
+
sparseCheckoutSet: notStubbed("sparseCheckoutSet"),
|
|
20077
|
+
configSet: notStubbed("configSet"),
|
|
20078
|
+
add: notStubbed("add"),
|
|
20079
|
+
nameStatus: notStubbed("nameStatus"),
|
|
20080
|
+
unstagedChanges: notStubbed("unstagedChanges"),
|
|
20081
|
+
stagedChanges: notStubbed("stagedChanges"),
|
|
20082
|
+
untrackedFiles: notStubbed("untrackedFiles"),
|
|
20083
|
+
defaultBranch: notStubbed("defaultBranch"),
|
|
20084
|
+
currentBranch: notStubbed("currentBranch"),
|
|
20085
|
+
repoRoot: notStubbed("repoRoot"),
|
|
20086
|
+
configGet: notStubbed("configGet"),
|
|
20087
|
+
remoteUrl: notStubbed("remoteUrl"),
|
|
20088
|
+
commitInfo: notStubbed("commitInfo"),
|
|
20089
|
+
status: notStubbed("status"),
|
|
20090
|
+
...overrides
|
|
20091
|
+
});
|
|
20092
|
+
/**
|
|
20093
|
+
* The test layer: {@link Git.makeTest} behind `Layer.succeed`, so a suite
|
|
20094
|
+
* provides only the methods it exercises.
|
|
20095
|
+
*
|
|
20096
|
+
* @remarks
|
|
20097
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
20098
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
20099
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
20100
|
+
*
|
|
20101
|
+
* @example
|
|
20102
|
+
* ```ts
|
|
20103
|
+
* import { Git, LsTreeEntry } from "@effected/git";
|
|
20104
|
+
* import { Effect } from "effect";
|
|
20105
|
+
*
|
|
20106
|
+
* const TestGit = Git.layerTest({
|
|
20107
|
+
* lsTree: () =>
|
|
20108
|
+
* Effect.succeed([
|
|
20109
|
+
* LsTreeEntry.make({ mode: "100644", type: "blob", oid: "0".repeat(40), path: "package.json" }),
|
|
20110
|
+
* ]),
|
|
20111
|
+
* });
|
|
20112
|
+
* // program.pipe(Effect.provide(TestGit))
|
|
20113
|
+
* ```
|
|
20114
|
+
*/
|
|
20115
|
+
static layerTest = (overrides = {}) => Layer.succeed(Git, Git.makeTest(overrides));
|
|
19980
20116
|
};
|
|
19981
20117
|
|
|
19982
20118
|
//#endregion
|
|
19983
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20119
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/ChangeDetector.js
|
|
19984
20120
|
/**
|
|
19985
20121
|
* Which git refs to compare, and whether to fold in the working tree.
|
|
19986
20122
|
*
|
|
@@ -20262,7 +20398,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
|
|
|
20262
20398
|
}
|
|
20263
20399
|
|
|
20264
20400
|
//#endregion
|
|
20265
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20401
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/catalogs.js
|
|
20266
20402
|
/** Project a pnpm-workspace manifest's `catalog` / `catalogs` fields into a `Catalogs` map. */
|
|
20267
20403
|
const inlineCatalogs = (manifest) => {
|
|
20268
20404
|
if (manifest.catalog === void 0 && manifest.catalogs === void 0) return {};
|
|
@@ -20327,7 +20463,7 @@ const rangeOf = (catalogs, dependency, specifier) => {
|
|
|
20327
20463
|
};
|
|
20328
20464
|
|
|
20329
20465
|
//#endregion
|
|
20330
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20466
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/ConfigDependencyHooks.js
|
|
20331
20467
|
/** Whether `value` is a non-null, non-array object. */
|
|
20332
20468
|
const isObject$2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
20333
20469
|
/**
|
|
@@ -20514,7 +20650,7 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends Context.Service(
|
|
|
20514
20650
|
};
|
|
20515
20651
|
|
|
20516
20652
|
//#endregion
|
|
20517
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20653
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/PackageManagerName.js
|
|
20518
20654
|
/**
|
|
20519
20655
|
* The four package managers this package understands.
|
|
20520
20656
|
*
|
|
@@ -20757,7 +20893,7 @@ var PackageManagerDetector = class PackageManagerDetector extends Context.Servic
|
|
|
20757
20893
|
};
|
|
20758
20894
|
|
|
20759
20895
|
//#endregion
|
|
20760
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20896
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/LockfileReader.js
|
|
20761
20897
|
/**
|
|
20762
20898
|
* Raised when the workspace's lockfile cannot be read off disk.
|
|
20763
20899
|
*
|
|
@@ -20780,6 +20916,8 @@ var LockfileReadError = class extends Schema.TaggedErrorClass()("LockfileReadErr
|
|
|
20780
20916
|
return `Cannot read ${this.format} lockfile at ${this.lockfilePath}`;
|
|
20781
20917
|
}
|
|
20782
20918
|
};
|
|
20919
|
+
/** A defect naming the unstubbed test-double method — a test-wiring mistake, not a typed failure. */
|
|
20920
|
+
const unstubbed$2 = (method) => Effect.die(/* @__PURE__ */ new Error(`LockfileReader.makeTest: ${method}() was called but not stubbed — pass a \`${method}\` override.`));
|
|
20783
20921
|
/**
|
|
20784
20922
|
* Reads and parses the workspace's lockfile.
|
|
20785
20923
|
*
|
|
@@ -20865,10 +21003,78 @@ var LockfileReader = class LockfileReader extends Context.Service()("@effected/w
|
|
|
20865
21003
|
* `const` and reuse it.
|
|
20866
21004
|
*/
|
|
20867
21005
|
static layer = (options) => Layer.effect(LockfileReader, LockfileReader.make(options));
|
|
21006
|
+
/**
|
|
21007
|
+
* A test double satisfying the full {@link LockfileReaderShape} with no
|
|
21008
|
+
* filesystem, root walk, or package-manager detection.
|
|
21009
|
+
*
|
|
21010
|
+
* @remarks
|
|
21011
|
+
* There is **no honest default lockfile**: an empty one that looks like a
|
|
21012
|
+
* legitimate answer is indistinguishable from "this workspace resolves
|
|
21013
|
+
* nothing" — the silent-empty failure class this package documents on the
|
|
21014
|
+
* live paths — so `read` **dies** with an instructive defect until stubbed.
|
|
21015
|
+
*
|
|
21016
|
+
* The one derivation mirrors `WorkspaceDiscovery.makeTest`'s
|
|
21017
|
+
* derived-from-the-primary rule: when a `read` override is supplied,
|
|
21018
|
+
* `resolvedVersion` answers as the live service does — the **first** entry
|
|
21019
|
+
* of `lockfile.packagesNamed(name)` in lockfile order, `Option.none()` on a
|
|
21020
|
+
* miss — so the two stay consistent by construction. `integrity` is **not**
|
|
21021
|
+
* derivable: the live method compares the lockfile against the workspace
|
|
21022
|
+
* manifests discovery enumerates, and the double has no discovery to ask, so
|
|
21023
|
+
* it dies unless stubbed.
|
|
21024
|
+
*
|
|
21025
|
+
* `refresh` defaults to `Effect.void` honestly: the live contract is "drop
|
|
21026
|
+
* the memoized read so the next call re-reads", and this double memoizes
|
|
21027
|
+
* nothing — every `read()` call re-invokes the override — so there is
|
|
21028
|
+
* nothing to drop and the no-op is truthful, the same reasoning as
|
|
21029
|
+
* `WorkspaceDiscovery.makeTest`'s `refresh`.
|
|
21030
|
+
*
|
|
21031
|
+
* @example
|
|
21032
|
+
* ```ts
|
|
21033
|
+
* import { Lockfile } from "@effected/lockfiles";
|
|
21034
|
+
* import { LockfileReader } from "@effected/workspaces";
|
|
21035
|
+
* import { Effect } from "effect";
|
|
21036
|
+
*
|
|
21037
|
+
* const double = LockfileReader.makeTest({
|
|
21038
|
+
* read: () =>
|
|
21039
|
+
* Effect.succeed(
|
|
21040
|
+
* Lockfile.make({ format: "pnpm", lockfileVersion: "9.0", packages: [], workspaceDependencies: [] }),
|
|
21041
|
+
* ),
|
|
21042
|
+
* });
|
|
21043
|
+
* // `resolvedVersion` now answers consistently from that lockfile.
|
|
21044
|
+
* ```
|
|
21045
|
+
*/
|
|
21046
|
+
static makeTest = (overrides = {}) => {
|
|
21047
|
+
const read = overrides.read;
|
|
21048
|
+
return {
|
|
21049
|
+
read: () => unstubbed$2("read"),
|
|
21050
|
+
resolvedVersion: read !== void 0 ? (packageName) => Effect.map(read(), (lockfile) => Option.fromUndefinedOr(lockfile.packagesNamed(packageName)[0])) : () => unstubbed$2("resolvedVersion"),
|
|
21051
|
+
integrity: () => unstubbed$2("integrity"),
|
|
21052
|
+
refresh: () => Effect.void,
|
|
21053
|
+
...overrides
|
|
21054
|
+
};
|
|
21055
|
+
};
|
|
21056
|
+
/**
|
|
21057
|
+
* The test layer: {@link LockfileReader.makeTest} behind `Layer.succeed`, so
|
|
21058
|
+
* a suite provides only the methods it exercises.
|
|
21059
|
+
*
|
|
21060
|
+
* @remarks
|
|
21061
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
21062
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
21063
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
21064
|
+
*
|
|
21065
|
+
* @example
|
|
21066
|
+
* ```ts
|
|
21067
|
+
* import { LockfileReader } from "@effected/workspaces";
|
|
21068
|
+
*
|
|
21069
|
+
* const TestLockfiles = LockfileReader.layerTest();
|
|
21070
|
+
* // program.pipe(Effect.provide(TestLockfiles)) — dies loudly if touched.
|
|
21071
|
+
* ```
|
|
21072
|
+
*/
|
|
21073
|
+
static layerTest = (overrides = {}) => Layer.succeed(LockfileReader, LockfileReader.makeTest(overrides));
|
|
20868
21074
|
};
|
|
20869
21075
|
|
|
20870
21076
|
//#endregion
|
|
20871
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
21077
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/Publishability.js
|
|
20872
21078
|
/** The public npm registry, used when `publishConfig.registry` says nothing. */
|
|
20873
21079
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
|
|
20874
21080
|
/**
|
|
@@ -20969,7 +21175,7 @@ var PublishabilityDetector = class PublishabilityDetector extends Context.Servic
|
|
|
20969
21175
|
};
|
|
20970
21176
|
|
|
20971
21177
|
//#endregion
|
|
20972
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
21178
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/internal/importerVersions.js
|
|
20973
21179
|
/**
|
|
20974
21180
|
* Strip pnpm's peer-disambiguation suffix from a recorded importer version.
|
|
20975
21181
|
*
|
|
@@ -21056,7 +21262,7 @@ const unanimousVersionOf = (index, dependency) => {
|
|
|
21056
21262
|
};
|
|
21057
21263
|
|
|
21058
21264
|
//#endregion
|
|
21059
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
21265
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspaceCatalogs.js
|
|
21060
21266
|
/**
|
|
21061
21267
|
* An immutable, fully-normalized catalog collection — the one catalog
|
|
21062
21268
|
* resolution semantic in the package.
|
|
@@ -21332,6 +21538,8 @@ const validatePnpmWorkspaceCatalogs = (document) => {
|
|
|
21332
21538
|
catalogs: "catalogs"
|
|
21333
21539
|
}));
|
|
21334
21540
|
};
|
|
21541
|
+
/** A defect naming the unstubbed test-double method — a test-wiring mistake, not a typed failure. */
|
|
21542
|
+
const unstubbed$1 = (method) => Effect.die(/* @__PURE__ */ new Error(`WorkspaceCatalogs.makeTest: ${method}() was called but not stubbed — pass a \`${method}\` override.`));
|
|
21335
21543
|
/**
|
|
21336
21544
|
* Assembles a workspace's catalogs, package-manager-aware.
|
|
21337
21545
|
*
|
|
@@ -21475,6 +21683,70 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends Context.Service()("@effe
|
|
|
21475
21683
|
*/
|
|
21476
21684
|
static layerWithConfigDependencies = (options) => Layer.effect(WorkspaceCatalogs, WorkspaceCatalogs.make(options)).pipe(Layer.provide(ConfigDependencyHooks.layerLive));
|
|
21477
21685
|
/**
|
|
21686
|
+
* A test double satisfying the full {@link WorkspaceCatalogsShape} with no
|
|
21687
|
+
* filesystem, lockfile read, or hook replay.
|
|
21688
|
+
*
|
|
21689
|
+
* @remarks
|
|
21690
|
+
* There is **no honest default catalog set**: an empty `CatalogSet` that
|
|
21691
|
+
* looks like a legitimate answer is the "every dependency looks newly added"
|
|
21692
|
+
* failure class the live assembler hard-fails to prevent, so every method
|
|
21693
|
+
* **dies** with an instructive defect until stubbed — a test-wiring mistake
|
|
21694
|
+
* fails loudly as a defect rather than succeeding with a lie or failing with
|
|
21695
|
+
* a dishonest typed error.
|
|
21696
|
+
*
|
|
21697
|
+
* The one derivation mirrors `WorkspaceDiscovery.makeTest`'s
|
|
21698
|
+
* derived-from-the-primary rule: when a `set` override is supplied,
|
|
21699
|
+
* `resolveSpecifier` answers from that `CatalogSet`'s own
|
|
21700
|
+
* {@link CatalogSet.resolveSpecifier} — exactly what the live service runs
|
|
21701
|
+
* over its assembled set — so the two stay consistent by construction.
|
|
21702
|
+
* `releaseAgeGate` and `importerVersions` are **not** derivable from a
|
|
21703
|
+
* catalog set (the gate comes from release-age keys and hook contributions,
|
|
21704
|
+
* the importer index from the lockfile's importer blocks — neither is in a
|
|
21705
|
+
* `CatalogSet`) and always die unless stubbed.
|
|
21706
|
+
*
|
|
21707
|
+
* @example
|
|
21708
|
+
* ```ts
|
|
21709
|
+
* import { CatalogSet, WorkspaceCatalogs } from "@effected/workspaces";
|
|
21710
|
+
* import { Effect } from "effect";
|
|
21711
|
+
*
|
|
21712
|
+
* const double = WorkspaceCatalogs.makeTest({
|
|
21713
|
+
* set: () => Effect.succeed(CatalogSet.fromCatalogs({ default: { effect: "4.0.0" } })),
|
|
21714
|
+
* });
|
|
21715
|
+
* // `resolveSpecifier` now answers consistently from that set.
|
|
21716
|
+
* ```
|
|
21717
|
+
*/
|
|
21718
|
+
static makeTest = (overrides = {}) => {
|
|
21719
|
+
const set = overrides.set;
|
|
21720
|
+
return {
|
|
21721
|
+
set: () => unstubbed$1("set"),
|
|
21722
|
+
resolveSpecifier: set !== void 0 ? (dependency, specifier) => Effect.map(set(), (catalogs) => catalogs.resolveSpecifier(dependency, specifier)) : () => unstubbed$1("resolveSpecifier"),
|
|
21723
|
+
releaseAgeGate: () => unstubbed$1("releaseAgeGate"),
|
|
21724
|
+
importerVersions: () => unstubbed$1("importerVersions"),
|
|
21725
|
+
...overrides
|
|
21726
|
+
};
|
|
21727
|
+
};
|
|
21728
|
+
/**
|
|
21729
|
+
* The test layer: {@link WorkspaceCatalogs.makeTest} behind `Layer.succeed`,
|
|
21730
|
+
* so a suite provides only the methods it exercises.
|
|
21731
|
+
*
|
|
21732
|
+
* @remarks
|
|
21733
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
21734
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
21735
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
21736
|
+
*
|
|
21737
|
+
* @example
|
|
21738
|
+
* ```ts
|
|
21739
|
+
* import { CatalogSet, WorkspaceCatalogs } from "@effected/workspaces";
|
|
21740
|
+
* import { Effect } from "effect";
|
|
21741
|
+
*
|
|
21742
|
+
* const TestCatalogs = WorkspaceCatalogs.layerTest({
|
|
21743
|
+
* set: () => Effect.succeed(CatalogSet.empty()),
|
|
21744
|
+
* });
|
|
21745
|
+
* // program.pipe(Effect.provide(TestCatalogs))
|
|
21746
|
+
* ```
|
|
21747
|
+
*/
|
|
21748
|
+
static layerTest = (overrides = {}) => Layer.succeed(WorkspaceCatalogs, WorkspaceCatalogs.makeTest(overrides));
|
|
21749
|
+
/**
|
|
21478
21750
|
* The real implementation of `@effected/npm`'s `CatalogResolver` contract —
|
|
21479
21751
|
* the one `@effected/package-json` declares but cannot fill.
|
|
21480
21752
|
*
|
|
@@ -21500,7 +21772,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends Context.Service()("@effe
|
|
|
21500
21772
|
};
|
|
21501
21773
|
|
|
21502
21774
|
//#endregion
|
|
21503
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
21775
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspaceStateSnapshot.js
|
|
21504
21776
|
const EMPTY = Object.freeze(Object.create(null));
|
|
21505
21777
|
const DependencyMap = Schema.Record(Schema.String, Schema.String).pipe(Schema.withDecodingDefaultKey(Effect.succeed(EMPTY)), Schema.withConstructorDefault(Effect.succeed(EMPTY)));
|
|
21506
21778
|
/**
|
|
@@ -21724,7 +21996,7 @@ var WorkspaceStateSnapshot = class extends Schema.Class("WorkspaceStateSnapshot"
|
|
|
21724
21996
|
};
|
|
21725
21997
|
|
|
21726
21998
|
//#endregion
|
|
21727
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
21999
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/WorkspaceSnapshots.js
|
|
21728
22000
|
/** Whether `value` is a non-null, non-array object. */
|
|
21729
22001
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
21730
22002
|
/** Whether every value in a record is a string — a usable dependency map. */
|
|
@@ -21783,6 +22055,8 @@ const EMPTY_LOCKFILE_RECORD = {
|
|
|
21783
22055
|
catalogs: CatalogSet.empty(),
|
|
21784
22056
|
importerVersions: {}
|
|
21785
22057
|
};
|
|
22058
|
+
/** A defect naming the unstubbed test-double method — a test-wiring mistake, not a typed failure. */
|
|
22059
|
+
const unstubbed = (method) => Effect.die(/* @__PURE__ */ new Error(`WorkspaceSnapshots.makeTest: ${method}() was called but not stubbed — pass a \`${method}\` override.`));
|
|
21786
22060
|
/**
|
|
21787
22061
|
* Reads workspace state at a git ref with no checkout, and the live worktree.
|
|
21788
22062
|
*
|
|
@@ -21929,10 +22203,70 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends Context.Service()("@ef
|
|
|
21929
22203
|
* `const` and reuse it, or layer memoization does not apply.
|
|
21930
22204
|
*/
|
|
21931
22205
|
static layer = (options) => Layer.effect(WorkspaceSnapshots, WorkspaceSnapshots.make(options));
|
|
22206
|
+
/**
|
|
22207
|
+
* A test double satisfying the full {@link WorkspaceSnapshotsShape} with no
|
|
22208
|
+
* git, filesystem, discovery, or catalog assembly.
|
|
22209
|
+
*
|
|
22210
|
+
* @remarks
|
|
22211
|
+
* There are **no honest defaults and no derivations** here: `at(ref)` and
|
|
22212
|
+
* `worktree()` are two independent reads of two different sources (a git ref
|
|
22213
|
+
* vs. the live tree), so neither can be honestly derived from the other, and
|
|
22214
|
+
* a fabricated empty {@link WorkspaceStateSnapshot} on either side of a
|
|
22215
|
+
* before/after diff reads as every dependency newly added or removed — the
|
|
22216
|
+
* exact silent-empty failure class this package documents on the live paths.
|
|
22217
|
+
* Both methods therefore **die** with an instructive defect until stubbed; a
|
|
22218
|
+
* test-wiring mistake fails loudly as a defect rather than succeeding with a
|
|
22219
|
+
* lie.
|
|
22220
|
+
*
|
|
22221
|
+
* @example
|
|
22222
|
+
* ```ts
|
|
22223
|
+
* import { CatalogSet, WorkspaceSnapshots, WorkspaceStateSnapshot } from "@effected/workspaces";
|
|
22224
|
+
* import { Effect } from "effect";
|
|
22225
|
+
*
|
|
22226
|
+
* const empty = WorkspaceStateSnapshot.make({
|
|
22227
|
+
* packages: [],
|
|
22228
|
+
* catalogs: CatalogSet.empty(),
|
|
22229
|
+
* importerVersions: {},
|
|
22230
|
+
* });
|
|
22231
|
+
* const double = WorkspaceSnapshots.makeTest({
|
|
22232
|
+
* at: () => Effect.succeed(empty),
|
|
22233
|
+
* worktree: () => Effect.succeed(empty),
|
|
22234
|
+
* });
|
|
22235
|
+
* ```
|
|
22236
|
+
*/
|
|
22237
|
+
static makeTest = (overrides = {}) => ({
|
|
22238
|
+
at: () => unstubbed("at"),
|
|
22239
|
+
worktree: () => unstubbed("worktree"),
|
|
22240
|
+
...overrides
|
|
22241
|
+
});
|
|
22242
|
+
/**
|
|
22243
|
+
* The test layer: {@link WorkspaceSnapshots.makeTest} behind `Layer.succeed`,
|
|
22244
|
+
* so a suite provides only the methods it exercises.
|
|
22245
|
+
*
|
|
22246
|
+
* @remarks
|
|
22247
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
22248
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
22249
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
22250
|
+
*
|
|
22251
|
+
* @example
|
|
22252
|
+
* ```ts
|
|
22253
|
+
* import { CatalogSet, WorkspaceSnapshots, WorkspaceStateSnapshot } from "@effected/workspaces";
|
|
22254
|
+
* import { Effect } from "effect";
|
|
22255
|
+
*
|
|
22256
|
+
* const TestSnapshots = WorkspaceSnapshots.layerTest({
|
|
22257
|
+
* worktree: () =>
|
|
22258
|
+
* Effect.succeed(
|
|
22259
|
+
* WorkspaceStateSnapshot.make({ packages: [], catalogs: CatalogSet.empty(), importerVersions: {} }),
|
|
22260
|
+
* ),
|
|
22261
|
+
* });
|
|
22262
|
+
* // program.pipe(Effect.provide(TestSnapshots))
|
|
22263
|
+
* ```
|
|
22264
|
+
*/
|
|
22265
|
+
static layerTest = (overrides = {}) => Layer.succeed(WorkspaceSnapshots, WorkspaceSnapshots.makeTest(overrides));
|
|
21932
22266
|
};
|
|
21933
22267
|
|
|
21934
22268
|
//#endregion
|
|
21935
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
22269
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.8.0_@effected+jsonc@0.5.1_effect@4.0.0-beta.101__effect@4.0.0-beta.101/node_modules/@effected/workspaces/Workspaces.js
|
|
21936
22270
|
/**
|
|
21937
22271
|
* Every service that needs only a filesystem: root, package-manager detection,
|
|
21938
22272
|
* discovery, lockfile reading, catalogs and publishability.
|
|
@@ -47304,20 +47638,25 @@ function readRawPackageJson(fs, pkgDir) {
|
|
|
47304
47638
|
}
|
|
47305
47639
|
/**
|
|
47306
47640
|
* Build resolved scopes from the discovered workspace packages, keeping only
|
|
47307
|
-
* those that are a release surface
|
|
47308
|
-
* one publish target
|
|
47309
|
-
*
|
|
47310
|
-
*
|
|
47311
|
-
*
|
|
47312
|
-
*
|
|
47313
|
-
* declares
|
|
47314
|
-
|
|
47315
|
-
|
|
47641
|
+
* those that are a release surface: a package that declares publishConfig
|
|
47642
|
+
* yielding at least one publish target, OR — when the changeset config sets
|
|
47643
|
+
* `privatePackages.version: true` (`versionPrivate`) — any workspace package
|
|
47644
|
+
* at all, since changesets versions private packages too in that mode (#360:
|
|
47645
|
+
* a private single-root repo with `privatePackages.version: true` previously
|
|
47646
|
+
* produced an empty release surface and left every file unmapped). Used both
|
|
47647
|
+
* when `.changeset/config.json` declares no explicit `packages` record AND to
|
|
47648
|
+
* augment an explicit record with the remaining workspace packages it does
|
|
47649
|
+
* not list (so the record annotates the listed packages without shrinking the
|
|
47650
|
+
* release surface). The changeset `ignore` list is intentionally NOT
|
|
47651
|
+
* consulted here — an ignored package still declares publishConfig and
|
|
47652
|
+
* remains a valid changeset target.
|
|
47653
|
+
*/
|
|
47654
|
+
function buildFallbackScopes(fs, workspaces, versionPrivate) {
|
|
47316
47655
|
return Effect.forEach(workspaces, (ws) => Effect.gen(function* () {
|
|
47317
47656
|
const raw = yield* readRawPackageJson(fs, ws.path);
|
|
47318
47657
|
if (raw === null) return [];
|
|
47319
47658
|
const binding = yield* readTargetsBinding(fs, ws.path);
|
|
47320
|
-
if (SilkPublishability.detect(ws.name, raw, binding).length === 0) return [];
|
|
47659
|
+
if (SilkPublishability.detect(ws.name, raw, binding).length === 0 && !versionPrivate) return [];
|
|
47321
47660
|
return [{
|
|
47322
47661
|
name: ws.name,
|
|
47323
47662
|
workspaceDir: ws.path,
|
|
@@ -47423,6 +47762,8 @@ function makeShape$3(reader, discovery, fs) {
|
|
|
47423
47762
|
version: w.version
|
|
47424
47763
|
}));
|
|
47425
47764
|
const hasExplicitPackages = Object.keys(decodedOptions.packages ?? {}).length > 0;
|
|
47765
|
+
const privatePackages = config.privatePackages;
|
|
47766
|
+
const versionPrivate = privatePackages !== void 0 && privatePackages !== false && privatePackages.version === true;
|
|
47426
47767
|
let scopes;
|
|
47427
47768
|
if (hasExplicitPackages) {
|
|
47428
47769
|
const explicitScopes = yield* buildResolvedScopes({
|
|
@@ -47438,9 +47779,9 @@ function makeShape$3(reader, discovery, fs) {
|
|
|
47438
47779
|
throw e;
|
|
47439
47780
|
}
|
|
47440
47781
|
const explicitNames = new Set(explicitScopes.map((s) => s.name));
|
|
47441
|
-
const discoveredScopes = yield* buildFallbackScopes(fs, workspaces.filter((w) => !explicitNames.has(w.name)));
|
|
47782
|
+
const discoveredScopes = yield* buildFallbackScopes(fs, workspaces.filter((w) => !explicitNames.has(w.name)), versionPrivate);
|
|
47442
47783
|
scopes = [...explicitScopes, ...discoveredScopes];
|
|
47443
|
-
} else scopes = yield* buildFallbackScopes(fs, workspaces);
|
|
47784
|
+
} else scopes = yield* buildFallbackScopes(fs, workspaces, versionPrivate);
|
|
47444
47785
|
const inspected = {
|
|
47445
47786
|
configPath,
|
|
47446
47787
|
projectDir,
|
|
@@ -47474,12 +47815,19 @@ function makeShape$3(reader, discovery, fs) {
|
|
|
47474
47815
|
function classifyOne(inspected, path) {
|
|
47475
47816
|
const abs = resolve(inspected.projectDir, path);
|
|
47476
47817
|
let bestWorkspace = null;
|
|
47477
|
-
|
|
47478
|
-
|
|
47479
|
-
if (
|
|
47480
|
-
|
|
47481
|
-
|
|
47482
|
-
}
|
|
47818
|
+
let rootScope = null;
|
|
47819
|
+
for (const s of inspected.packages) {
|
|
47820
|
+
if (s.workspaceDir === inspected.projectDir) {
|
|
47821
|
+
rootScope = s.name;
|
|
47822
|
+
continue;
|
|
47823
|
+
}
|
|
47824
|
+
if (isInside(s.workspaceDir, abs)) {
|
|
47825
|
+
const depth = s.workspaceDir.length;
|
|
47826
|
+
if (!bestWorkspace || depth > bestWorkspace.depth) bestWorkspace = {
|
|
47827
|
+
pkg: s.name,
|
|
47828
|
+
depth
|
|
47829
|
+
};
|
|
47830
|
+
}
|
|
47483
47831
|
}
|
|
47484
47832
|
if (bestWorkspace) return {
|
|
47485
47833
|
path,
|
|
@@ -47506,6 +47854,11 @@ function classifyOne(inspected, path) {
|
|
|
47506
47854
|
glob: vf.glob
|
|
47507
47855
|
}
|
|
47508
47856
|
};
|
|
47857
|
+
if (rootScope && isInside(inspected.projectDir, abs)) return {
|
|
47858
|
+
path,
|
|
47859
|
+
package: rootScope,
|
|
47860
|
+
reason: "workspace"
|
|
47861
|
+
};
|
|
47509
47862
|
return {
|
|
47510
47863
|
path,
|
|
47511
47864
|
package: null,
|