@savvy-web/silk 3.0.2 → 3.0.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 +219 -67
- package/changesets-changelog.d.cts +68 -2
- package/changesets-changelog.d.ts +68 -2
- package/changesets-changelog.js +224 -70
- package/changesets-markdownlint.cjs +219 -67
- package/changesets-markdownlint.d.cts +68 -2
- package/changesets-markdownlint.d.ts +68 -2
- package/changesets-markdownlint.js +224 -70
- package/package.json +2 -2
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -2329,7 +2329,7 @@ var GlobSet = class GlobSet extends Schema.Class("GlobSet")(Schema.Struct({ patt
|
|
|
2329
2329
|
};
|
|
2330
2330
|
|
|
2331
2331
|
//#endregion
|
|
2332
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
2332
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/BunExtension.js
|
|
2333
2333
|
/**
|
|
2334
2334
|
* Extension data specific to bun lockfiles, attached to `Lockfile.extension`
|
|
2335
2335
|
* when the format is `"bun"`.
|
|
@@ -4146,7 +4146,7 @@ const IntegrityHash = Object.assign(brandedIntegrity, {
|
|
|
4146
4146
|
});
|
|
4147
4147
|
|
|
4148
4148
|
//#endregion
|
|
4149
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4149
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/ImporterDependency.js
|
|
4150
4150
|
/**
|
|
4151
4151
|
* One declared dependency of one workspace importer, as the lockfile records it.
|
|
4152
4152
|
*
|
|
@@ -4175,7 +4175,7 @@ var ImporterDependency = class extends Schema.Class("ImporterDependency")({
|
|
|
4175
4175
|
}) {};
|
|
4176
4176
|
|
|
4177
4177
|
//#endregion
|
|
4178
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4178
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/LockfileImporter.js
|
|
4179
4179
|
/**
|
|
4180
4180
|
* One workspace importer's declared dependencies, as the lockfile records them.
|
|
4181
4181
|
*
|
|
@@ -4200,7 +4200,7 @@ var LockfileImporter = class extends Schema.Class("LockfileImporter")({
|
|
|
4200
4200
|
}) {};
|
|
4201
4201
|
|
|
4202
4202
|
//#endregion
|
|
4203
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4203
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/ResolvedPackage.js
|
|
4204
4204
|
const EMPTY_DEPENDENCIES = {};
|
|
4205
4205
|
/**
|
|
4206
4206
|
* A package resolved from a lockfile.
|
|
@@ -4236,7 +4236,7 @@ var ResolvedPackage = class extends Schema.Class("ResolvedPackage")({
|
|
|
4236
4236
|
}) {};
|
|
4237
4237
|
|
|
4238
4238
|
//#endregion
|
|
4239
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4239
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/WorkspaceDependency.js
|
|
4240
4240
|
/**
|
|
4241
4241
|
* A directed dependency edge between two workspace packages as recorded in
|
|
4242
4242
|
* the lockfile.
|
|
@@ -4259,7 +4259,7 @@ var WorkspaceDependency = class extends Schema.Class("WorkspaceDependency")({
|
|
|
4259
4259
|
}) {};
|
|
4260
4260
|
|
|
4261
4261
|
//#endregion
|
|
4262
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4262
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/PnpmExtension.js
|
|
4263
4263
|
/**
|
|
4264
4264
|
* Extension data specific to pnpm lockfiles, attached to `Lockfile.extension`
|
|
4265
4265
|
* when the format is `"pnpm"`.
|
|
@@ -4285,7 +4285,7 @@ var PnpmExtension = class extends Schema.Class("PnpmExtension")({
|
|
|
4285
4285
|
}) {};
|
|
4286
4286
|
|
|
4287
4287
|
//#endregion
|
|
4288
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4288
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/LockfileFormat.js
|
|
4289
4289
|
/**
|
|
4290
4290
|
* The lockfile formats this package parses: bun's `bun.lock` (JSONC), npm's
|
|
4291
4291
|
* `package-lock.json` (v2/v3 JSON), pnpm's `pnpm-lock.yaml` and yarn Berry's
|
|
@@ -4320,7 +4320,7 @@ const FILENAMES = {
|
|
|
4320
4320
|
const filenameFor = (format) => FILENAMES[format];
|
|
4321
4321
|
|
|
4322
4322
|
//#endregion
|
|
4323
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4323
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/shared.js
|
|
4324
4324
|
/**
|
|
4325
4325
|
* The four dependency sections of a manifest, in a stable order — the shared
|
|
4326
4326
|
* dependency-sections table (v3's `DEP_SECTIONS`). Each entry is both the
|
|
@@ -4447,7 +4447,7 @@ const extractWorkspaceDeps = (workspaces, workspaceNames) => {
|
|
|
4447
4447
|
};
|
|
4448
4448
|
|
|
4449
4449
|
//#endregion
|
|
4450
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4450
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/JsoncNode.js
|
|
4451
4451
|
/**
|
|
4452
4452
|
* Discriminator values for JSONC AST node types: the JSON value types
|
|
4453
4453
|
* (`string`/`number`/`boolean`/`null`), the structural types
|
|
@@ -4623,7 +4623,7 @@ function evaluateNode(node, depth) {
|
|
|
4623
4623
|
}
|
|
4624
4624
|
|
|
4625
4625
|
//#endregion
|
|
4626
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4626
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/scanner.js
|
|
4627
4627
|
const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
|
|
4628
4628
|
const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
|
|
4629
4629
|
const isDigit$1 = (ch) => ch >= 48 && ch <= 57;
|
|
@@ -4920,7 +4920,7 @@ const createScanner$2 = (text, ignoreTrivia = false) => {
|
|
|
4920
4920
|
};
|
|
4921
4921
|
|
|
4922
4922
|
//#endregion
|
|
4923
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4923
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/skip.js
|
|
4924
4924
|
/**
|
|
4925
4925
|
* Iteratively consume the value beginning at the cursor's current token and
|
|
4926
4926
|
* return its tight end offset (excludes trailing whitespace/comments).
|
|
@@ -4951,7 +4951,7 @@ const skipBalancedValue = (cursor) => {
|
|
|
4951
4951
|
};
|
|
4952
4952
|
|
|
4953
4953
|
//#endregion
|
|
4954
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4954
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/parser.js
|
|
4955
4955
|
/**
|
|
4956
4956
|
* The public parse-error code vocabulary. The facade builds its `@public`
|
|
4957
4957
|
* `JsoncParseErrorCode` schema from this array; the parser produces these codes
|
|
@@ -5365,7 +5365,7 @@ const parseTree$2 = (text, flags) => {
|
|
|
5365
5365
|
};
|
|
5366
5366
|
|
|
5367
5367
|
//#endregion
|
|
5368
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5368
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/Jsonc.js
|
|
5369
5369
|
/**
|
|
5370
5370
|
* The single public parse-error code vocabulary, appearing as the `code` field
|
|
5371
5371
|
* of {@link JsoncParseErrorDetail}.
|
|
@@ -5504,9 +5504,56 @@ const deepEqual = (a, b, depth = 0) => {
|
|
|
5504
5504
|
var Jsonc = class Jsonc {
|
|
5505
5505
|
constructor() {}
|
|
5506
5506
|
/**
|
|
5507
|
+
* Parse JSONC into a plain JavaScript value, synchronously, returning a
|
|
5508
|
+
* `Result` instead of an `Effect`. Same error-recovery semantics as
|
|
5509
|
+
* {@link Jsonc.parse}: every parse error is collected and the failure side
|
|
5510
|
+
* carries one aggregate {@link JsoncParseError}. Pure — parsing is
|
|
5511
|
+
* fundamentally synchronous, so non-Effect consumers (a plain config
|
|
5512
|
+
* loader, a build script) can call this directly instead of wrapping
|
|
5513
|
+
* `Effect.runSync(Effect.result(Jsonc.parse(text)))`.
|
|
5514
|
+
*
|
|
5515
|
+
* @remarks
|
|
5516
|
+
* {@link Jsonc.parse} is defined in terms of this function; the two never
|
|
5517
|
+
* diverge. Reach for the `Effect` variant inside Effect code — it carries
|
|
5518
|
+
* the `Jsonc.parse` tracing span — and for this one at synchronous
|
|
5519
|
+
* boundaries.
|
|
5520
|
+
*
|
|
5521
|
+
* @example
|
|
5522
|
+
* ```ts
|
|
5523
|
+
* import { Jsonc } from "@effected/jsonc";
|
|
5524
|
+
* import { Result } from "effect";
|
|
5525
|
+
*
|
|
5526
|
+
* const ok = Jsonc.parseResult('{ "port": 3000 // dev\n }');
|
|
5527
|
+
* if (Result.isSuccess(ok)) {
|
|
5528
|
+
* console.log(ok.success); // => { port: 3000 }
|
|
5529
|
+
* }
|
|
5530
|
+
*
|
|
5531
|
+
* const bad = Jsonc.parseResult("{ bad }");
|
|
5532
|
+
* if (Result.isFailure(bad)) {
|
|
5533
|
+
* console.log(bad.failure._tag); // => "JsoncParseError"
|
|
5534
|
+
* }
|
|
5535
|
+
* ```
|
|
5536
|
+
*
|
|
5537
|
+
* @param text - The JSONC source to parse.
|
|
5538
|
+
* @param options - Optional {@link JsoncParseOptions}; defaults apply for
|
|
5539
|
+
* omitted fields.
|
|
5540
|
+
* @returns A `Result` succeeding with the decoded value (`unknown`, never
|
|
5541
|
+
* `any`), or failing with the aggregate {@link JsoncParseError}.
|
|
5542
|
+
*/
|
|
5543
|
+
static parseResult(text, options) {
|
|
5544
|
+
const { value, errors } = parseValue(text, toFlags(options));
|
|
5545
|
+
if (errors.length > 0) return Result.fail(new JsoncParseError({
|
|
5546
|
+
errors: toDetails(text, errors),
|
|
5547
|
+
input: text
|
|
5548
|
+
}));
|
|
5549
|
+
return Result.succeed(value);
|
|
5550
|
+
}
|
|
5551
|
+
/**
|
|
5507
5552
|
* Parse JSONC into a plain JavaScript value. Error-recovery parsing:
|
|
5508
5553
|
* collects every parse error and fails once with the aggregate
|
|
5509
|
-
* {@link JsoncParseError}. Returns `unknown`, never `any`.
|
|
5554
|
+
* {@link JsoncParseError}. Returns `unknown`, never `any`. Defined in terms
|
|
5555
|
+
* of {@link Jsonc.parseResult} — synchronous callers can use that variant
|
|
5556
|
+
* directly.
|
|
5510
5557
|
*
|
|
5511
5558
|
* @param text - The JSONC source to parse.
|
|
5512
5559
|
* @param options - Optional {@link JsoncParseOptions}; defaults apply for
|
|
@@ -5514,14 +5561,7 @@ var Jsonc = class Jsonc {
|
|
|
5514
5561
|
* @returns An `Effect` that succeeds with the decoded value, or fails with
|
|
5515
5562
|
* the aggregate {@link JsoncParseError}.
|
|
5516
5563
|
*/
|
|
5517
|
-
static parse = Effect.fn("Jsonc.parse")(
|
|
5518
|
-
const { value, errors } = parseValue(text, toFlags(options));
|
|
5519
|
-
if (errors.length > 0) return yield* new JsoncParseError({
|
|
5520
|
-
errors: toDetails(text, errors),
|
|
5521
|
-
input: text
|
|
5522
|
-
});
|
|
5523
|
-
return value;
|
|
5524
|
-
});
|
|
5564
|
+
static parse = Effect.fn("Jsonc.parse")((text, options) => Effect.fromResult(Jsonc.parseResult(text, options)));
|
|
5525
5565
|
/**
|
|
5526
5566
|
* Parse JSONC into an immutable {@link JsoncNode} AST. `Option.none()` for
|
|
5527
5567
|
* empty input (with `allowEmptyContent`); the aggregate
|
|
@@ -5666,7 +5706,7 @@ var Jsonc = class Jsonc {
|
|
|
5666
5706
|
};
|
|
5667
5707
|
|
|
5668
5708
|
//#endregion
|
|
5669
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5709
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/JsoncEdit.js
|
|
5670
5710
|
/**
|
|
5671
5711
|
* A range within a JSONC document, expressed as a zero-based character
|
|
5672
5712
|
* `offset` and a `length` in UTF-16 code units. Pass to `JsoncFormatter.format`
|
|
@@ -5731,7 +5771,7 @@ var JsoncEdit = class extends Schema.Class("JsoncEdit")({
|
|
|
5731
5771
|
};
|
|
5732
5772
|
|
|
5733
5773
|
//#endregion
|
|
5734
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5774
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/navigate.js
|
|
5735
5775
|
/**
|
|
5736
5776
|
* Resolve `path` against `text`, returning where the target is (or where it
|
|
5737
5777
|
* would be inserted). `path` must be non-empty — the whole-document case is
|
|
@@ -5859,7 +5899,7 @@ function navigate(text, path) {
|
|
|
5859
5899
|
}
|
|
5860
5900
|
|
|
5861
5901
|
//#endregion
|
|
5862
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5902
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/JsoncModifier.js
|
|
5863
5903
|
/**
|
|
5864
5904
|
* Raised when `JsoncModifier.modify` cannot navigate the requested path: the
|
|
5865
5905
|
* value at `depth` is not the container kind (`expected`) the next path segment
|
|
@@ -5988,7 +6028,7 @@ var JsoncModifier = class {
|
|
|
5988
6028
|
};
|
|
5989
6029
|
|
|
5990
6030
|
//#endregion
|
|
5991
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
6031
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/bun.js
|
|
5992
6032
|
const DepRecord$2 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
5993
6033
|
const BunWorkspaceEntry = Schema.Struct({
|
|
5994
6034
|
name: Schema.optionalKey(Schema.String),
|
|
@@ -6082,7 +6122,7 @@ const toFields$3 = (raw) => Effect.gen(function* () {
|
|
|
6082
6122
|
});
|
|
6083
6123
|
|
|
6084
6124
|
//#endregion
|
|
6085
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
6125
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/npm.js
|
|
6086
6126
|
const DepRecord$1 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
6087
6127
|
const NpmPackageEntry = Schema.Struct({
|
|
6088
6128
|
name: Schema.optionalKey(Schema.String),
|
|
@@ -6181,7 +6221,7 @@ const toFields$2 = (raw) => Effect.gen(function* () {
|
|
|
6181
6221
|
});
|
|
6182
6222
|
|
|
6183
6223
|
//#endregion
|
|
6184
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6224
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlNode.js
|
|
6185
6225
|
/**
|
|
6186
6226
|
* YAML scalar presentation styles.
|
|
6187
6227
|
*
|
|
@@ -6574,7 +6614,7 @@ function nodeToValue(node, anchors, budget, counting = false) {
|
|
|
6574
6614
|
}
|
|
6575
6615
|
|
|
6576
6616
|
//#endregion
|
|
6577
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6617
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/diagnostics.js
|
|
6578
6618
|
/** Error codes emitted by the lexer stage. */
|
|
6579
6619
|
const YAML_LEX_ERROR_CODES = [
|
|
6580
6620
|
"UnexpectedCharacter",
|
|
@@ -6653,7 +6693,7 @@ function isFatalCode(code) {
|
|
|
6653
6693
|
}
|
|
6654
6694
|
|
|
6655
6695
|
//#endregion
|
|
6656
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6696
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlDiagnostic.js
|
|
6657
6697
|
/**
|
|
6658
6698
|
* Error codes emitted by the lexer stage.
|
|
6659
6699
|
*
|
|
@@ -6775,7 +6815,7 @@ function lineChar(text, offset) {
|
|
|
6775
6815
|
}
|
|
6776
6816
|
|
|
6777
6817
|
//#endregion
|
|
6778
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6818
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/anchors.js
|
|
6779
6819
|
/**
|
|
6780
6820
|
* Check if a pending anchor is being applied to an alias node (invalid in YAML 1.2 §3.2.2).
|
|
6781
6821
|
* Aliases represent references to existing anchored nodes and cannot have their own anchors.
|
|
@@ -6869,7 +6909,7 @@ function collectAnchors(node, anchors) {
|
|
|
6869
6909
|
}
|
|
6870
6910
|
|
|
6871
6911
|
//#endregion
|
|
6872
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6912
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/lexer.js
|
|
6873
6913
|
/**
|
|
6874
6914
|
* Create a new YAML scanner for the given source text.
|
|
6875
6915
|
*
|
|
@@ -7827,7 +7867,7 @@ function lexAll(text) {
|
|
|
7827
7867
|
}
|
|
7828
7868
|
|
|
7829
7869
|
//#endregion
|
|
7830
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
7870
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/cst-parser.js
|
|
7831
7871
|
/**
|
|
7832
7872
|
* Hardening: cap CST nesting so hostile inputs cannot overflow the stack
|
|
7833
7873
|
* while the tree is being BUILT. Set slightly above the composer's
|
|
@@ -8540,7 +8580,7 @@ function parseCSTAll(text) {
|
|
|
8540
8580
|
}
|
|
8541
8581
|
|
|
8542
8582
|
//#endregion
|
|
8543
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8583
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/state.js
|
|
8544
8584
|
let lineStartsText;
|
|
8545
8585
|
let lineStartsCache = [];
|
|
8546
8586
|
function getLineStarts(text) {
|
|
@@ -8647,7 +8687,7 @@ function exitNesting(state) {
|
|
|
8647
8687
|
}
|
|
8648
8688
|
|
|
8649
8689
|
//#endregion
|
|
8650
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8690
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/tags.js
|
|
8651
8691
|
/**
|
|
8652
8692
|
* Resolve a tag shorthand using the document's %TAG directives.
|
|
8653
8693
|
* For example, with `%TAG !! tag:example.com,2000:app/`, the tag `!!int`
|
|
@@ -8734,7 +8774,7 @@ function validateTagHandlesInDocument(docCst, state) {
|
|
|
8734
8774
|
}
|
|
8735
8775
|
|
|
8736
8776
|
//#endregion
|
|
8737
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8777
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/scalars.js
|
|
8738
8778
|
const NULL_RE$1 = /^(?:null|Null|NULL|~)$/;
|
|
8739
8779
|
const TRUE_RE$1 = /^(?:true|True|TRUE)$/;
|
|
8740
8780
|
const FALSE_RE$1 = /^(?:false|False|FALSE)$/;
|
|
@@ -9613,7 +9653,7 @@ function shouldPreserveRaw(rawValue, value) {
|
|
|
9613
9653
|
}
|
|
9614
9654
|
|
|
9615
9655
|
//#endregion
|
|
9616
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
9656
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/block.js
|
|
9617
9657
|
/**
|
|
9618
9658
|
* Compose a block map from its CST children, with an optional external first key.
|
|
9619
9659
|
*
|
|
@@ -10762,7 +10802,7 @@ function composeFlatBlockMap(children, startIdx, parentCst, state, externalFirst
|
|
|
10762
10802
|
}
|
|
10763
10803
|
|
|
10764
10804
|
//#endregion
|
|
10765
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
10805
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/flow.js
|
|
10766
10806
|
/**
|
|
10767
10807
|
* Validate that flow collection entries are separated by commas.
|
|
10768
10808
|
*
|
|
@@ -11155,7 +11195,7 @@ function composeFlowSeqInner(cst, state, meta, parentBlockColumn) {
|
|
|
11155
11195
|
}
|
|
11156
11196
|
|
|
11157
11197
|
//#endregion
|
|
11158
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
11198
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/document.js
|
|
11159
11199
|
/** The flow-composer dispatch wired into every state this module creates. */
|
|
11160
11200
|
const FLOW = {
|
|
11161
11201
|
composeFlowMap,
|
|
@@ -11822,7 +11862,7 @@ function composeAllDocuments(text, options) {
|
|
|
11822
11862
|
}
|
|
11823
11863
|
|
|
11824
11864
|
//#endregion
|
|
11825
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
11865
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/fold.js
|
|
11826
11866
|
/**
|
|
11827
11867
|
* Column-based line folding for a single logical scalar line (YAML 1.2 flow
|
|
11828
11868
|
* folding, §7.3 / §8.2.1). Breaks the content at "safe" single-space
|
|
@@ -12059,7 +12099,7 @@ function renderBlockFolded(s, indent) {
|
|
|
12059
12099
|
}
|
|
12060
12100
|
|
|
12061
12101
|
//#endregion
|
|
12062
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
12102
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/stringifier.js
|
|
12063
12103
|
/**
|
|
12064
12104
|
* Thrown by the stringifier on its failure paths (circular references). The
|
|
12065
12105
|
* facade catches this and materializes the public stringify error.
|
|
@@ -12424,7 +12464,7 @@ function stringifyValue(value, options) {
|
|
|
12424
12464
|
}
|
|
12425
12465
|
|
|
12426
12466
|
//#endregion
|
|
12427
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
12467
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/Yaml.js
|
|
12428
12468
|
/**
|
|
12429
12469
|
* Options controlling parse behavior. All fields are omissible; absent fields
|
|
12430
12470
|
* resolve to `strict` `true`, `maxAliasCount` `100` (the alias-based
|
|
@@ -12462,7 +12502,9 @@ var YamlParseOptions = class extends Schema.Class("YamlParseOptions")({
|
|
|
12462
12502
|
* no-fold behavior; a positive value folds long plain, double-quoted and
|
|
12463
12503
|
* block-folded (`>`) scalars at approximately that column, inserting only
|
|
12464
12504
|
* semantically transparent line breaks. Block-literal (`|`) content is never
|
|
12465
|
-
* folded — literal blocks preserve their bytes by definition.
|
|
12505
|
+
* folded — literal blocks preserve their bytes by definition. Folding is a
|
|
12506
|
+
* value-path feature only: `YamlDocument#stringify` and the `YamlFormat`
|
|
12507
|
+
* helpers accept these options but do not fold (see `lineWidth`).
|
|
12466
12508
|
*
|
|
12467
12509
|
* `indentSequences` controls the presentation of block sequences nested under
|
|
12468
12510
|
* a mapping key: `false` (the default) emits them at the key's column — the
|
|
@@ -12493,6 +12535,15 @@ var YamlStringifyOptions = class extends Schema.Class("YamlStringifyOptions")({
|
|
|
12493
12535
|
* Column at which to fold long scalars. Default `0` (and any value `<= 0`)
|
|
12494
12536
|
* never wraps; a positive value folds plain, double-quoted and block-folded
|
|
12495
12537
|
* (`>`) scalars at approximately that column, never block-literal (`|`).
|
|
12538
|
+
*
|
|
12539
|
+
* Takes effect only through {@link Yaml.stringify} and
|
|
12540
|
+
* {@link Yaml.stringifySync} — the two entry points that accept these
|
|
12541
|
+
* options on the value path. The schema factories ({@link Yaml.fromString},
|
|
12542
|
+
* {@link Yaml.schema}, {@link Yaml.YamlFromString}) encode with default
|
|
12543
|
+
* stringify options (`lineWidth` `0`), so their output never folds. The
|
|
12544
|
+
* document/node path — `YamlDocument#stringify` and the `YamlFormat`
|
|
12545
|
+
* helpers built on it — threads the field into its render context but
|
|
12546
|
+
* never reads it, so it is inert there.
|
|
12496
12547
|
*/
|
|
12497
12548
|
lineWidth: Schema.optionalKey(Schema.Number),
|
|
12498
12549
|
defaultScalarStyle: Schema.optionalKey(ScalarStyle),
|
|
@@ -12599,7 +12650,7 @@ const stringifyDefectToError = (defect, value) => {
|
|
|
12599
12650
|
});
|
|
12600
12651
|
};
|
|
12601
12652
|
/**
|
|
12602
|
-
* Synchronous single-document parse returning a
|
|
12653
|
+
* Synchronous single-document parse returning a `Result`. The pure
|
|
12603
12654
|
* engine bypasses the Effect runtime entirely: the composer, the failure
|
|
12604
12655
|
* collection and the alias-expansion budget all run inline, and every failure
|
|
12605
12656
|
* mode (fatal diagnostics, duplicate keys, a "billion laughs" blow-up) yields
|
|
@@ -12621,7 +12672,7 @@ const parseSyncImpl = (text, options) => {
|
|
|
12621
12672
|
}
|
|
12622
12673
|
};
|
|
12623
12674
|
/**
|
|
12624
|
-
* Synchronous stringify returning a
|
|
12675
|
+
* Synchronous stringify returning a `Result`. Mirrors {@link Yaml.stringify}
|
|
12625
12676
|
* without the Effect wrapper: a circular reference or a value nested past the
|
|
12626
12677
|
* recursion budget yields a `Failure` carrying a typed {@link YamlStringifyError},
|
|
12627
12678
|
* never a thrown defect.
|
|
@@ -12751,7 +12802,7 @@ var Yaml = class Yaml {
|
|
|
12751
12802
|
return yield* stringifyOrFail(value, options);
|
|
12752
12803
|
});
|
|
12753
12804
|
/**
|
|
12754
|
-
* Synchronous single-document parse, returning a
|
|
12805
|
+
* Synchronous single-document parse, returning a `Result` instead of
|
|
12755
12806
|
* an `Effect`. A pure escape hatch for config-time callers that cannot
|
|
12756
12807
|
* `await` an Effect (a `vitest.config.ts` is the motivating case): it runs
|
|
12757
12808
|
* the same engine as {@link Yaml.parse} inline.
|
|
@@ -12780,7 +12831,7 @@ var Yaml = class Yaml {
|
|
|
12780
12831
|
return parseSyncImpl(text, options);
|
|
12781
12832
|
}
|
|
12782
12833
|
/**
|
|
12783
|
-
* Synchronous stringify, returning a
|
|
12834
|
+
* Synchronous stringify, returning a `Result` instead of an `Effect`.
|
|
12784
12835
|
* The pure counterpart to {@link Yaml.stringify} for config-time callers
|
|
12785
12836
|
* that cannot `await`.
|
|
12786
12837
|
*
|
|
@@ -12987,7 +13038,7 @@ function deepEqualValues(a, b) {
|
|
|
12987
13038
|
}
|
|
12988
13039
|
|
|
12989
13040
|
//#endregion
|
|
12990
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13041
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/documents.js
|
|
12991
13042
|
/**
|
|
12992
13043
|
* An empty YAML document composes to `null` (`Yaml.parseAll("")` is `[null]`,
|
|
12993
13044
|
* and the trailing document of an env-only `pnpm-lock.yaml` is `null` too).
|
|
@@ -13058,7 +13109,7 @@ const selectSoleDocument = (content) => Effect.gen(function* () {
|
|
|
13058
13109
|
});
|
|
13059
13110
|
|
|
13060
13111
|
//#endregion
|
|
13061
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13112
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/pnpm.js
|
|
13062
13113
|
const PnpmImporterDeps = Schema.optionalKey(Schema.Record(Schema.String, Schema.Struct({
|
|
13063
13114
|
specifier: Schema.String,
|
|
13064
13115
|
version: Schema.String
|
|
@@ -13185,7 +13236,7 @@ const toFields$1 = (raw) => Effect.gen(function* () {
|
|
|
13185
13236
|
});
|
|
13186
13237
|
|
|
13187
13238
|
//#endregion
|
|
13188
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13239
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/internal/yarn.js
|
|
13189
13240
|
const YarnLockfileRaw = Schema.Record(Schema.String, Schema.Unknown);
|
|
13190
13241
|
const DepRecord = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
|
|
13191
13242
|
const YarnEntry = Schema.Struct({
|
|
@@ -13309,7 +13360,7 @@ const cleanYarnDeps = (deps) => {
|
|
|
13309
13360
|
};
|
|
13310
13361
|
|
|
13311
13362
|
//#endregion
|
|
13312
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13363
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/Lockfile.js
|
|
13313
13364
|
const EMPTY_IMPORTERS = [];
|
|
13314
13365
|
/**
|
|
13315
13366
|
* Failure of `Lockfile.parse`: the given content is not a valid lockfile of
|
|
@@ -13554,7 +13605,7 @@ var Lockfile = class Lockfile extends Schema.Class("Lockfile")({
|
|
|
13554
13605
|
};
|
|
13555
13606
|
|
|
13556
13607
|
//#endregion
|
|
13557
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13608
|
+
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.4_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__@effected+npm@0.2_7fc50d596abf9879356de67fd92b0252/node_modules/@effected/lockfiles/LockfileIntegrity.js
|
|
13558
13609
|
/**
|
|
13559
13610
|
* The minimal manifest shape {@link LockfileIntegrity.compare} checks a
|
|
13560
13611
|
* lockfile against: a package name plus the four optional dependency maps.
|
|
@@ -15528,7 +15579,7 @@ var Package = class Package extends Schema.Class("Package")({
|
|
|
15528
15579
|
};
|
|
15529
15580
|
|
|
15530
15581
|
//#endregion
|
|
15531
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
15582
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspacePackage.js
|
|
15532
15583
|
const EMPTY$1 = Object.freeze(Object.create(null));
|
|
15533
15584
|
const EMPTY_MANIFEST = Object.freeze(Object.create(null));
|
|
15534
15585
|
/**
|
|
@@ -16018,7 +16069,7 @@ const Walker$1 = {
|
|
|
16018
16069
|
};
|
|
16019
16070
|
|
|
16020
16071
|
//#endregion
|
|
16021
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16072
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceRoot.js
|
|
16022
16073
|
/**
|
|
16023
16074
|
* The marker filenames {@link WorkspaceRoot} probes for, in priority order.
|
|
16024
16075
|
*
|
|
@@ -16104,7 +16155,7 @@ var WorkspaceRoot = class WorkspaceRoot extends Context.Service()("@effected/wor
|
|
|
16104
16155
|
};
|
|
16105
16156
|
|
|
16106
16157
|
//#endregion
|
|
16107
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16158
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/limits.js
|
|
16108
16159
|
/**
|
|
16109
16160
|
* Hard ceiling on directories the enumerator will visit for one pattern set.
|
|
16110
16161
|
* Guards the pathological case a depth cap alone does not: a wide, shallow
|
|
@@ -16123,7 +16174,7 @@ const MAX_ENUMERATION_ENTRIES = 1e5;
|
|
|
16123
16174
|
const PRUNED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
|
|
16124
16175
|
|
|
16125
16176
|
//#endregion
|
|
16126
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16177
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/traverse.js
|
|
16127
16178
|
/** Directory names never descended into. */
|
|
16128
16179
|
const isPruned = (entry) => PRUNED_DIRECTORIES.has(entry);
|
|
16129
16180
|
/** Join root-relative POSIX segments; `""` is the root itself. */
|
|
@@ -16214,7 +16265,7 @@ var Traversal = class {
|
|
|
16214
16265
|
};
|
|
16215
16266
|
|
|
16216
16267
|
//#endregion
|
|
16217
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16268
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/enumerate.js
|
|
16218
16269
|
/** Strip a trailing slash from `GlobPattern.enumerationPrefix` to get a relative directory. */
|
|
16219
16270
|
const baseOf = (pattern) => pattern.enumerationPrefix.replace(/\/$/, "");
|
|
16220
16271
|
/**
|
|
@@ -16285,7 +16336,7 @@ const enumerate = (root, globs, options) => Effect.gen(function* () {
|
|
|
16285
16336
|
});
|
|
16286
16337
|
|
|
16287
16338
|
//#endregion
|
|
16288
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16339
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/patterns.js
|
|
16289
16340
|
const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : void 0;
|
|
16290
16341
|
/** The `packages:` list of a `pnpm-workspace.yaml` document. Total on a parsed document. */
|
|
16291
16342
|
const pnpmPatternsOf = (document) => {
|
|
@@ -16343,7 +16394,7 @@ const readPatterns = (root) => Effect.gen(function* () {
|
|
|
16343
16394
|
});
|
|
16344
16395
|
|
|
16345
16396
|
//#endregion
|
|
16346
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16397
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceDiscovery.js
|
|
16347
16398
|
/**
|
|
16348
16399
|
* Raised when a workspace member's `package.json` cannot be read, parsed, or
|
|
16349
16400
|
* used — it is missing, malformed, or lacks a `name` or `version`.
|
|
@@ -16641,6 +16692,109 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends Context.Service()("@ef
|
|
|
16641
16692
|
*/
|
|
16642
16693
|
static layer = (options) => Layer.effect(WorkspaceDiscovery, WorkspaceDiscovery.make(options));
|
|
16643
16694
|
/**
|
|
16695
|
+
* An in-memory test double of the service shape, with every method
|
|
16696
|
+
* defaulted so a test stubs only what it exercises.
|
|
16697
|
+
*
|
|
16698
|
+
* @remarks
|
|
16699
|
+
* The defaults model an **empty workspace**, and the derived methods run
|
|
16700
|
+
* over the *effective* `listPackages` — the override when one is supplied —
|
|
16701
|
+
* so stubbing only `listPackages` yields a consistent double:
|
|
16702
|
+
*
|
|
16703
|
+
* - `listPackages` — succeeds with `[]`.
|
|
16704
|
+
* - `importerMap` — derived: the packages keyed by `relativePath`.
|
|
16705
|
+
* - `getPackage` — derived: a name lookup that fails with the service's own
|
|
16706
|
+
* typed {@link PackageNotFoundError} on a miss, exactly as the live
|
|
16707
|
+
* implementation does.
|
|
16708
|
+
* - `resolveFile` / `resolveFiles` — derived: longest-prefix ownership over
|
|
16709
|
+
* `pkg.path`, POSIX-terminated (`"/"`); supply a win32 double explicitly
|
|
16710
|
+
* if your fixture paths are win32.
|
|
16711
|
+
* - `refresh` — a no-op (`Effect.void`); there is nothing memoized to drop.
|
|
16712
|
+
* - `info` — **dies** with an explanatory defect. No honest default exists
|
|
16713
|
+
* (a fabricated root path would leak into consumer path logic), so an
|
|
16714
|
+
* unstubbed `info()` call is a test-wiring mistake and fails loudly as a
|
|
16715
|
+
* defect rather than succeeding with a lie or failing with a dishonest
|
|
16716
|
+
* typed error.
|
|
16717
|
+
*
|
|
16718
|
+
* @example
|
|
16719
|
+
* ```ts
|
|
16720
|
+
* import { WorkspaceDiscovery, WorkspacePackage } from "@effected/workspaces";
|
|
16721
|
+
* import { Effect } from "effect";
|
|
16722
|
+
*
|
|
16723
|
+
* const double = WorkspaceDiscovery.makeTest({
|
|
16724
|
+
* listPackages: () =>
|
|
16725
|
+
* Effect.succeed([
|
|
16726
|
+
* WorkspacePackage.make({
|
|
16727
|
+
* name: "@my-org/utils",
|
|
16728
|
+
* version: "1.0.0",
|
|
16729
|
+
* path: "/repo/packages/utils",
|
|
16730
|
+
* packageJsonPath: "/repo/packages/utils/package.json",
|
|
16731
|
+
* relativePath: "packages/utils",
|
|
16732
|
+
* }),
|
|
16733
|
+
* ]),
|
|
16734
|
+
* });
|
|
16735
|
+
* // `getPackage`, `importerMap`, `resolveFile(s)` now answer consistently.
|
|
16736
|
+
* ```
|
|
16737
|
+
*/
|
|
16738
|
+
static makeTest = (overrides = {}) => {
|
|
16739
|
+
const listPackages = overrides.listPackages ?? (() => Effect.succeed([]));
|
|
16740
|
+
const ownerOf = (filePath, all) => {
|
|
16741
|
+
let best;
|
|
16742
|
+
let bestLength = 0;
|
|
16743
|
+
for (const pkg of all) {
|
|
16744
|
+
const prefix = pkg.path.endsWith("/") ? pkg.path : `${pkg.path}/`;
|
|
16745
|
+
if (filePath.startsWith(prefix) && prefix.length > bestLength) {
|
|
16746
|
+
best = pkg;
|
|
16747
|
+
bestLength = prefix.length;
|
|
16748
|
+
}
|
|
16749
|
+
}
|
|
16750
|
+
return Option.fromUndefinedOr(best);
|
|
16751
|
+
};
|
|
16752
|
+
return {
|
|
16753
|
+
listPackages,
|
|
16754
|
+
info: () => Effect.die(/* @__PURE__ */ new Error("WorkspaceDiscovery.makeTest: info() was called but not stubbed — no honest default WorkspaceInfo exists for a test double; pass an `info` override.")),
|
|
16755
|
+
importerMap: () => Effect.map(listPackages(), (all) => new Map(all.map((pkg) => [pkg.relativePath, pkg]))),
|
|
16756
|
+
getPackage: (name) => Effect.flatMap(listPackages(), (all) => {
|
|
16757
|
+
const found = all.find((pkg) => pkg.name === name);
|
|
16758
|
+
return found !== void 0 ? Effect.succeed(found) : Effect.fail(new PackageNotFoundError({
|
|
16759
|
+
name,
|
|
16760
|
+
available: all.map((pkg) => pkg.name)
|
|
16761
|
+
}));
|
|
16762
|
+
}),
|
|
16763
|
+
resolveFile: (filePath) => Effect.map(listPackages(), (all) => ownerOf(filePath, all)),
|
|
16764
|
+
resolveFiles: (filePaths) => Effect.map(listPackages(), (all) => {
|
|
16765
|
+
const seen = /* @__PURE__ */ new Map();
|
|
16766
|
+
for (const filePath of filePaths) {
|
|
16767
|
+
const owner = ownerOf(filePath, all);
|
|
16768
|
+
if (Option.isSome(owner)) seen.set(owner.value.name, owner.value);
|
|
16769
|
+
}
|
|
16770
|
+
return [...seen.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
16771
|
+
}),
|
|
16772
|
+
refresh: () => Effect.void,
|
|
16773
|
+
...overrides
|
|
16774
|
+
};
|
|
16775
|
+
};
|
|
16776
|
+
/**
|
|
16777
|
+
* The test layer: {@link WorkspaceDiscovery.makeTest} behind
|
|
16778
|
+
* `Layer.succeed`, so a suite provides only the methods it exercises.
|
|
16779
|
+
*
|
|
16780
|
+
* @remarks
|
|
16781
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
16782
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
16783
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
16784
|
+
*
|
|
16785
|
+
* @example
|
|
16786
|
+
* ```ts
|
|
16787
|
+
* import { WorkspaceDiscovery } from "@effected/workspaces";
|
|
16788
|
+
* import { Effect } from "effect";
|
|
16789
|
+
*
|
|
16790
|
+
* const TestDiscovery = WorkspaceDiscovery.layerTest({
|
|
16791
|
+
* listPackages: () => Effect.succeed([]),
|
|
16792
|
+
* });
|
|
16793
|
+
* // program.pipe(Effect.provide(TestDiscovery))
|
|
16794
|
+
* ```
|
|
16795
|
+
*/
|
|
16796
|
+
static layerTest = (overrides = {}) => Layer.succeed(WorkspaceDiscovery, WorkspaceDiscovery.makeTest(overrides));
|
|
16797
|
+
/**
|
|
16644
16798
|
* The real implementation of `@effected/npm`'s `WorkspaceResolver` contract
|
|
16645
16799
|
* — the one `@effected/package-json` declares but cannot fill.
|
|
16646
16800
|
*
|
|
@@ -16673,7 +16827,7 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends Context.Service()("@ef
|
|
|
16673
16827
|
const isStringRecord$2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && Object.values(value).every((entry) => typeof entry === "string");
|
|
16674
16828
|
|
|
16675
16829
|
//#endregion
|
|
16676
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16830
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/DependencyGraph.js
|
|
16677
16831
|
/**
|
|
16678
16832
|
* Raised when the workspace dependency graph cannot be topologically ordered
|
|
16679
16833
|
* because it contains a cycle.
|
|
@@ -18275,7 +18429,7 @@ var Git = class extends Context.Service()("@effected/git/Git") {
|
|
|
18275
18429
|
};
|
|
18276
18430
|
|
|
18277
18431
|
//#endregion
|
|
18278
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18432
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/ChangeDetector.js
|
|
18279
18433
|
/**
|
|
18280
18434
|
* Which git refs to compare, and whether to fold in the working tree.
|
|
18281
18435
|
*
|
|
@@ -18557,7 +18711,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
|
|
|
18557
18711
|
}
|
|
18558
18712
|
|
|
18559
18713
|
//#endregion
|
|
18560
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18714
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/catalogs.js
|
|
18561
18715
|
/** Project a pnpm-workspace manifest's `catalog` / `catalogs` fields into a `Catalogs` map. */
|
|
18562
18716
|
const inlineCatalogs = (manifest) => {
|
|
18563
18717
|
if (manifest.catalog === void 0 && manifest.catalogs === void 0) return {};
|
|
@@ -18622,7 +18776,7 @@ const rangeOf = (catalogs, dependency, specifier) => {
|
|
|
18622
18776
|
};
|
|
18623
18777
|
|
|
18624
18778
|
//#endregion
|
|
18625
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18779
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/ConfigDependencyHooks.js
|
|
18626
18780
|
/** Whether `value` is a non-null, non-array object. */
|
|
18627
18781
|
const isObject$2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
18628
18782
|
/**
|
|
@@ -18768,7 +18922,7 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends Context.Service(
|
|
|
18768
18922
|
};
|
|
18769
18923
|
|
|
18770
18924
|
//#endregion
|
|
18771
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18925
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/PackageManagerName.js
|
|
18772
18926
|
/**
|
|
18773
18927
|
* The four package managers this package understands.
|
|
18774
18928
|
*
|
|
@@ -19011,7 +19165,7 @@ var PackageManagerDetector = class PackageManagerDetector extends Context.Servic
|
|
|
19011
19165
|
};
|
|
19012
19166
|
|
|
19013
19167
|
//#endregion
|
|
19014
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19168
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/LockfileReader.js
|
|
19015
19169
|
/**
|
|
19016
19170
|
* Raised when the workspace's lockfile cannot be read off disk.
|
|
19017
19171
|
*
|
|
@@ -19122,7 +19276,7 @@ var LockfileReader = class LockfileReader extends Context.Service()("@effected/w
|
|
|
19122
19276
|
};
|
|
19123
19277
|
|
|
19124
19278
|
//#endregion
|
|
19125
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19279
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/Publishability.js
|
|
19126
19280
|
/** The public npm registry, used when `publishConfig.registry` says nothing. */
|
|
19127
19281
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
|
|
19128
19282
|
/**
|
|
@@ -19223,7 +19377,7 @@ var PublishabilityDetector = class PublishabilityDetector extends Context.Servic
|
|
|
19223
19377
|
};
|
|
19224
19378
|
|
|
19225
19379
|
//#endregion
|
|
19226
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19380
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceCatalogs.js
|
|
19227
19381
|
/**
|
|
19228
19382
|
* An immutable, fully-normalized catalog collection — the one catalog
|
|
19229
19383
|
* resolution semantic in the package.
|
|
@@ -19608,7 +19762,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends Context.Service()("@effe
|
|
|
19608
19762
|
};
|
|
19609
19763
|
|
|
19610
19764
|
//#endregion
|
|
19611
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19765
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceStateSnapshot.js
|
|
19612
19766
|
const EMPTY = Object.freeze(Object.create(null));
|
|
19613
19767
|
const DependencyMap = Schema.Record(Schema.String, Schema.String).pipe(Schema.withDecodingDefaultKey(Effect.succeed(EMPTY)), Schema.withConstructorDefault(Effect.succeed(EMPTY)));
|
|
19614
19768
|
/**
|
|
@@ -19774,7 +19928,7 @@ var WorkspaceStateSnapshot = class extends Schema.Class("WorkspaceStateSnapshot"
|
|
|
19774
19928
|
};
|
|
19775
19929
|
|
|
19776
19930
|
//#endregion
|
|
19777
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19931
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceSnapshots.js
|
|
19778
19932
|
/** Whether `value` is a non-null, non-array object. */
|
|
19779
19933
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
19780
19934
|
/** Whether every value in a record is a string — a usable dependency map. */
|
|
@@ -19967,7 +20121,7 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends Context.Service()("@ef
|
|
|
19967
20121
|
};
|
|
19968
20122
|
|
|
19969
20123
|
//#endregion
|
|
19970
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
20124
|
+
//#region ../../node_modules/.pnpm/@effected+workspaces@0.4.0_@effected+jsonc@0.3.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/Workspaces.js
|
|
19971
20125
|
/**
|
|
19972
20126
|
* Every service that needs only a filesystem: root, package-manager detection,
|
|
19973
20127
|
* discovery, lockfile reading, catalogs and publishability.
|