@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
package/changesets-changelog.cjs
CHANGED
|
@@ -2301,7 +2301,7 @@ var GlobSet = class GlobSet extends effect.Schema.Class("GlobSet")(effect.Schema
|
|
|
2301
2301
|
}
|
|
2302
2302
|
};
|
|
2303
2303
|
//#endregion
|
|
2304
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
2304
|
+
//#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
|
|
2305
2305
|
/**
|
|
2306
2306
|
* Extension data specific to bun lockfiles, attached to `Lockfile.extension`
|
|
2307
2307
|
* when the format is `"bun"`.
|
|
@@ -4103,7 +4103,7 @@ const IntegrityHash = Object.assign(brandedIntegrity, {
|
|
|
4103
4103
|
decode: decode$2
|
|
4104
4104
|
});
|
|
4105
4105
|
//#endregion
|
|
4106
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4106
|
+
//#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
|
|
4107
4107
|
/**
|
|
4108
4108
|
* One declared dependency of one workspace importer, as the lockfile records it.
|
|
4109
4109
|
*
|
|
@@ -4131,7 +4131,7 @@ var ImporterDependency = class extends effect.Schema.Class("ImporterDependency")
|
|
|
4131
4131
|
depType: DependencyField
|
|
4132
4132
|
}) {};
|
|
4133
4133
|
//#endregion
|
|
4134
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4134
|
+
//#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
|
|
4135
4135
|
/**
|
|
4136
4136
|
* One workspace importer's declared dependencies, as the lockfile records them.
|
|
4137
4137
|
*
|
|
@@ -4155,7 +4155,7 @@ var LockfileImporter = class extends effect.Schema.Class("LockfileImporter")({
|
|
|
4155
4155
|
dependencies: effect.Schema.Array(ImporterDependency)
|
|
4156
4156
|
}) {};
|
|
4157
4157
|
//#endregion
|
|
4158
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4158
|
+
//#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
|
|
4159
4159
|
const EMPTY_DEPENDENCIES = {};
|
|
4160
4160
|
/**
|
|
4161
4161
|
* A package resolved from a lockfile.
|
|
@@ -4190,7 +4190,7 @@ var ResolvedPackage = class extends effect.Schema.Class("ResolvedPackage")({
|
|
|
4190
4190
|
dependencies: effect.Schema.Record(effect.Schema.String, effect.Schema.String).pipe(effect.Schema.withDecodingDefaultKey(effect.Effect.succeed(EMPTY_DEPENDENCIES)), effect.Schema.withConstructorDefault(effect.Effect.succeed(EMPTY_DEPENDENCIES)))
|
|
4191
4191
|
}) {};
|
|
4192
4192
|
//#endregion
|
|
4193
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4193
|
+
//#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
|
|
4194
4194
|
/**
|
|
4195
4195
|
* A directed dependency edge between two workspace packages as recorded in
|
|
4196
4196
|
* the lockfile.
|
|
@@ -4212,7 +4212,7 @@ var WorkspaceDependency = class extends effect.Schema.Class("WorkspaceDependency
|
|
|
4212
4212
|
constraint: effect.Schema.String
|
|
4213
4213
|
}) {};
|
|
4214
4214
|
//#endregion
|
|
4215
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4215
|
+
//#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
|
|
4216
4216
|
/**
|
|
4217
4217
|
* Extension data specific to pnpm lockfiles, attached to `Lockfile.extension`
|
|
4218
4218
|
* when the format is `"pnpm"`.
|
|
@@ -4237,7 +4237,7 @@ var PnpmExtension = class extends effect.Schema.Class("PnpmExtension")({
|
|
|
4237
4237
|
}))
|
|
4238
4238
|
}) {};
|
|
4239
4239
|
//#endregion
|
|
4240
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4240
|
+
//#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
|
|
4241
4241
|
/**
|
|
4242
4242
|
* The lockfile formats this package parses: bun's `bun.lock` (JSONC), npm's
|
|
4243
4243
|
* `package-lock.json` (v2/v3 JSON), pnpm's `pnpm-lock.yaml` and yarn Berry's
|
|
@@ -4271,7 +4271,7 @@ const FILENAMES = {
|
|
|
4271
4271
|
*/
|
|
4272
4272
|
const filenameFor = (format) => FILENAMES[format];
|
|
4273
4273
|
//#endregion
|
|
4274
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
4274
|
+
//#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
|
|
4275
4275
|
/**
|
|
4276
4276
|
* The four dependency sections of a manifest, in a stable order — the shared
|
|
4277
4277
|
* dependency-sections table (v3's `DEP_SECTIONS`). Each entry is both the
|
|
@@ -4397,7 +4397,7 @@ const extractWorkspaceDeps = (workspaces, workspaceNames) => {
|
|
|
4397
4397
|
return deps;
|
|
4398
4398
|
};
|
|
4399
4399
|
//#endregion
|
|
4400
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4400
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/JsoncNode.js
|
|
4401
4401
|
/**
|
|
4402
4402
|
* Discriminator values for JSONC AST node types: the JSON value types
|
|
4403
4403
|
* (`string`/`number`/`boolean`/`null`), the structural types
|
|
@@ -4572,7 +4572,7 @@ function evaluateNode(node, depth) {
|
|
|
4572
4572
|
}
|
|
4573
4573
|
}
|
|
4574
4574
|
//#endregion
|
|
4575
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4575
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/scanner.js
|
|
4576
4576
|
const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
|
|
4577
4577
|
const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
|
|
4578
4578
|
const isDigit$1 = (ch) => ch >= 48 && ch <= 57;
|
|
@@ -4868,7 +4868,7 @@ const createScanner$2 = (text, ignoreTrivia = false) => {
|
|
|
4868
4868
|
};
|
|
4869
4869
|
};
|
|
4870
4870
|
//#endregion
|
|
4871
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4871
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/skip.js
|
|
4872
4872
|
/**
|
|
4873
4873
|
* Iteratively consume the value beginning at the cursor's current token and
|
|
4874
4874
|
* return its tight end offset (excludes trailing whitespace/comments).
|
|
@@ -4898,7 +4898,7 @@ const skipBalancedValue = (cursor) => {
|
|
|
4898
4898
|
return end;
|
|
4899
4899
|
};
|
|
4900
4900
|
//#endregion
|
|
4901
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4901
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/parser.js
|
|
4902
4902
|
/**
|
|
4903
4903
|
* The public parse-error code vocabulary. The facade builds its `@public`
|
|
4904
4904
|
* `JsoncParseErrorCode` schema from this array; the parser produces these codes
|
|
@@ -5311,7 +5311,7 @@ const parseTree$2 = (text, flags) => {
|
|
|
5311
5311
|
};
|
|
5312
5312
|
};
|
|
5313
5313
|
//#endregion
|
|
5314
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5314
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/Jsonc.js
|
|
5315
5315
|
/**
|
|
5316
5316
|
* The single public parse-error code vocabulary, appearing as the `code` field
|
|
5317
5317
|
* of {@link JsoncParseErrorDetail}.
|
|
@@ -5436,9 +5436,56 @@ const deepEqual = (a, b, depth = 0) => {
|
|
|
5436
5436
|
var Jsonc = class Jsonc {
|
|
5437
5437
|
constructor() {}
|
|
5438
5438
|
/**
|
|
5439
|
+
* Parse JSONC into a plain JavaScript value, synchronously, returning a
|
|
5440
|
+
* `Result` instead of an `Effect`. Same error-recovery semantics as
|
|
5441
|
+
* {@link Jsonc.parse}: every parse error is collected and the failure side
|
|
5442
|
+
* carries one aggregate {@link JsoncParseError}. Pure — parsing is
|
|
5443
|
+
* fundamentally synchronous, so non-Effect consumers (a plain config
|
|
5444
|
+
* loader, a build script) can call this directly instead of wrapping
|
|
5445
|
+
* `Effect.runSync(Effect.result(Jsonc.parse(text)))`.
|
|
5446
|
+
*
|
|
5447
|
+
* @remarks
|
|
5448
|
+
* {@link Jsonc.parse} is defined in terms of this function; the two never
|
|
5449
|
+
* diverge. Reach for the `Effect` variant inside Effect code — it carries
|
|
5450
|
+
* the `Jsonc.parse` tracing span — and for this one at synchronous
|
|
5451
|
+
* boundaries.
|
|
5452
|
+
*
|
|
5453
|
+
* @example
|
|
5454
|
+
* ```ts
|
|
5455
|
+
* import { Jsonc } from "@effected/jsonc";
|
|
5456
|
+
* import { Result } from "effect";
|
|
5457
|
+
*
|
|
5458
|
+
* const ok = Jsonc.parseResult('{ "port": 3000 // dev\n }');
|
|
5459
|
+
* if (Result.isSuccess(ok)) {
|
|
5460
|
+
* console.log(ok.success); // => { port: 3000 }
|
|
5461
|
+
* }
|
|
5462
|
+
*
|
|
5463
|
+
* const bad = Jsonc.parseResult("{ bad }");
|
|
5464
|
+
* if (Result.isFailure(bad)) {
|
|
5465
|
+
* console.log(bad.failure._tag); // => "JsoncParseError"
|
|
5466
|
+
* }
|
|
5467
|
+
* ```
|
|
5468
|
+
*
|
|
5469
|
+
* @param text - The JSONC source to parse.
|
|
5470
|
+
* @param options - Optional {@link JsoncParseOptions}; defaults apply for
|
|
5471
|
+
* omitted fields.
|
|
5472
|
+
* @returns A `Result` succeeding with the decoded value (`unknown`, never
|
|
5473
|
+
* `any`), or failing with the aggregate {@link JsoncParseError}.
|
|
5474
|
+
*/
|
|
5475
|
+
static parseResult(text, options) {
|
|
5476
|
+
const { value, errors } = parseValue(text, toFlags(options));
|
|
5477
|
+
if (errors.length > 0) return effect.Result.fail(new JsoncParseError({
|
|
5478
|
+
errors: toDetails(text, errors),
|
|
5479
|
+
input: text
|
|
5480
|
+
}));
|
|
5481
|
+
return effect.Result.succeed(value);
|
|
5482
|
+
}
|
|
5483
|
+
/**
|
|
5439
5484
|
* Parse JSONC into a plain JavaScript value. Error-recovery parsing:
|
|
5440
5485
|
* collects every parse error and fails once with the aggregate
|
|
5441
|
-
* {@link JsoncParseError}. Returns `unknown`, never `any`.
|
|
5486
|
+
* {@link JsoncParseError}. Returns `unknown`, never `any`. Defined in terms
|
|
5487
|
+
* of {@link Jsonc.parseResult} — synchronous callers can use that variant
|
|
5488
|
+
* directly.
|
|
5442
5489
|
*
|
|
5443
5490
|
* @param text - The JSONC source to parse.
|
|
5444
5491
|
* @param options - Optional {@link JsoncParseOptions}; defaults apply for
|
|
@@ -5446,14 +5493,7 @@ var Jsonc = class Jsonc {
|
|
|
5446
5493
|
* @returns An `Effect` that succeeds with the decoded value, or fails with
|
|
5447
5494
|
* the aggregate {@link JsoncParseError}.
|
|
5448
5495
|
*/
|
|
5449
|
-
static parse = effect.Effect.fn("Jsonc.parse")(
|
|
5450
|
-
const { value, errors } = parseValue(text, toFlags(options));
|
|
5451
|
-
if (errors.length > 0) return yield* new JsoncParseError({
|
|
5452
|
-
errors: toDetails(text, errors),
|
|
5453
|
-
input: text
|
|
5454
|
-
});
|
|
5455
|
-
return value;
|
|
5456
|
-
});
|
|
5496
|
+
static parse = effect.Effect.fn("Jsonc.parse")((text, options) => effect.Effect.fromResult(Jsonc.parseResult(text, options)));
|
|
5457
5497
|
/**
|
|
5458
5498
|
* Parse JSONC into an immutable {@link JsoncNode} AST. `Option.none()` for
|
|
5459
5499
|
* empty input (with `allowEmptyContent`); the aggregate
|
|
@@ -5652,7 +5692,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
|
|
|
5652
5692
|
}
|
|
5653
5693
|
};
|
|
5654
5694
|
//#endregion
|
|
5655
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5695
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/internal/navigate.js
|
|
5656
5696
|
/**
|
|
5657
5697
|
* Resolve `path` against `text`, returning where the target is (or where it
|
|
5658
5698
|
* would be inserted). `path` must be non-empty — the whole-document case is
|
|
@@ -5779,7 +5819,7 @@ function navigate(text, path) {
|
|
|
5779
5819
|
return { _tag: "NoOp" };
|
|
5780
5820
|
}
|
|
5781
5821
|
//#endregion
|
|
5782
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5822
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/jsonc/JsoncModifier.js
|
|
5783
5823
|
/**
|
|
5784
5824
|
* Raised when `JsoncModifier.modify` cannot navigate the requested path: the
|
|
5785
5825
|
* value at `depth` is not the container kind (`expected`) the next path segment
|
|
@@ -5907,7 +5947,7 @@ var JsoncModifier = class {
|
|
|
5907
5947
|
});
|
|
5908
5948
|
};
|
|
5909
5949
|
//#endregion
|
|
5910
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
5950
|
+
//#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
|
|
5911
5951
|
const DepRecord$2 = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
5912
5952
|
const BunWorkspaceEntry = effect.Schema.Struct({
|
|
5913
5953
|
name: effect.Schema.optionalKey(effect.Schema.String),
|
|
@@ -6000,7 +6040,7 @@ const toFields$3 = (raw) => effect.Effect.gen(function* () {
|
|
|
6000
6040
|
};
|
|
6001
6041
|
});
|
|
6002
6042
|
//#endregion
|
|
6003
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
6043
|
+
//#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
|
|
6004
6044
|
const DepRecord$1 = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
6005
6045
|
const NpmPackageEntry = effect.Schema.Struct({
|
|
6006
6046
|
name: effect.Schema.optionalKey(effect.Schema.String),
|
|
@@ -6098,7 +6138,7 @@ const toFields$2 = (raw) => effect.Effect.gen(function* () {
|
|
|
6098
6138
|
};
|
|
6099
6139
|
});
|
|
6100
6140
|
//#endregion
|
|
6101
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6141
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlNode.js
|
|
6102
6142
|
/**
|
|
6103
6143
|
* YAML scalar presentation styles.
|
|
6104
6144
|
*
|
|
@@ -6490,7 +6530,7 @@ function nodeToValue(node, anchors, budget, counting = false) {
|
|
|
6490
6530
|
return null;
|
|
6491
6531
|
}
|
|
6492
6532
|
//#endregion
|
|
6493
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6533
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/diagnostics.js
|
|
6494
6534
|
/** Error codes emitted by the lexer stage. */
|
|
6495
6535
|
const YAML_LEX_ERROR_CODES = [
|
|
6496
6536
|
"UnexpectedCharacter",
|
|
@@ -6568,7 +6608,7 @@ function isFatalCode(code) {
|
|
|
6568
6608
|
return FATAL_CODES.has(code);
|
|
6569
6609
|
}
|
|
6570
6610
|
//#endregion
|
|
6571
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6611
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlDiagnostic.js
|
|
6572
6612
|
/**
|
|
6573
6613
|
* Error codes emitted by the lexer stage.
|
|
6574
6614
|
*
|
|
@@ -6689,7 +6729,7 @@ function lineChar(text, offset) {
|
|
|
6689
6729
|
};
|
|
6690
6730
|
}
|
|
6691
6731
|
//#endregion
|
|
6692
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6732
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/anchors.js
|
|
6693
6733
|
/**
|
|
6694
6734
|
* Check if a pending anchor is being applied to an alias node (invalid in YAML 1.2 §3.2.2).
|
|
6695
6735
|
* Aliases represent references to existing anchored nodes and cannot have their own anchors.
|
|
@@ -6782,7 +6822,7 @@ function collectAnchors(node, anchors) {
|
|
|
6782
6822
|
}
|
|
6783
6823
|
}
|
|
6784
6824
|
//#endregion
|
|
6785
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
6825
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/lexer.js
|
|
6786
6826
|
/**
|
|
6787
6827
|
* Create a new YAML scanner for the given source text.
|
|
6788
6828
|
*
|
|
@@ -7739,7 +7779,7 @@ function lexAll(text) {
|
|
|
7739
7779
|
return tokens;
|
|
7740
7780
|
}
|
|
7741
7781
|
//#endregion
|
|
7742
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
7782
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/cst-parser.js
|
|
7743
7783
|
/**
|
|
7744
7784
|
* Hardening: cap CST nesting so hostile inputs cannot overflow the stack
|
|
7745
7785
|
* while the tree is being BUILT. Set slightly above the composer's
|
|
@@ -8451,7 +8491,7 @@ function parseCSTAll(text) {
|
|
|
8451
8491
|
return parseDocuments(lexAll(text), text);
|
|
8452
8492
|
}
|
|
8453
8493
|
//#endregion
|
|
8454
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8494
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/state.js
|
|
8455
8495
|
let lineStartsText;
|
|
8456
8496
|
let lineStartsCache = [];
|
|
8457
8497
|
function getLineStarts(text) {
|
|
@@ -8557,7 +8597,7 @@ function exitNesting(state) {
|
|
|
8557
8597
|
state.depth--;
|
|
8558
8598
|
}
|
|
8559
8599
|
//#endregion
|
|
8560
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8600
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/tags.js
|
|
8561
8601
|
/**
|
|
8562
8602
|
* Resolve a tag shorthand using the document's %TAG directives.
|
|
8563
8603
|
* For example, with `%TAG !! tag:example.com,2000:app/`, the tag `!!int`
|
|
@@ -8643,7 +8683,7 @@ function validateTagHandlesInDocument(docCst, state) {
|
|
|
8643
8683
|
}
|
|
8644
8684
|
}
|
|
8645
8685
|
//#endregion
|
|
8646
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
8686
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/scalars.js
|
|
8647
8687
|
const NULL_RE$1 = /^(?:null|Null|NULL|~)$/;
|
|
8648
8688
|
const TRUE_RE$1 = /^(?:true|True|TRUE)$/;
|
|
8649
8689
|
const FALSE_RE$1 = /^(?:false|False|FALSE)$/;
|
|
@@ -9521,7 +9561,7 @@ function shouldPreserveRaw(rawValue, value) {
|
|
|
9521
9561
|
return false;
|
|
9522
9562
|
}
|
|
9523
9563
|
//#endregion
|
|
9524
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
9564
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/block.js
|
|
9525
9565
|
/**
|
|
9526
9566
|
* Compose a block map from its CST children, with an optional external first key.
|
|
9527
9567
|
*
|
|
@@ -10669,7 +10709,7 @@ function composeFlatBlockMap(children, startIdx, parentCst, state, externalFirst
|
|
|
10669
10709
|
return map;
|
|
10670
10710
|
}
|
|
10671
10711
|
//#endregion
|
|
10672
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
10712
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/flow.js
|
|
10673
10713
|
/**
|
|
10674
10714
|
* Validate that flow collection entries are separated by commas.
|
|
10675
10715
|
*
|
|
@@ -11061,7 +11101,7 @@ function composeFlowSeqInner(cst, state, meta, parentBlockColumn) {
|
|
|
11061
11101
|
return seq;
|
|
11062
11102
|
}
|
|
11063
11103
|
//#endregion
|
|
11064
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
11104
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/document.js
|
|
11065
11105
|
/** The flow-composer dispatch wired into every state this module creates. */
|
|
11066
11106
|
const FLOW = {
|
|
11067
11107
|
composeFlowMap,
|
|
@@ -11727,7 +11767,7 @@ function composeAllDocuments(text, options) {
|
|
|
11727
11767
|
};
|
|
11728
11768
|
}
|
|
11729
11769
|
//#endregion
|
|
11730
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
11770
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/fold.js
|
|
11731
11771
|
/**
|
|
11732
11772
|
* Column-based line folding for a single logical scalar line (YAML 1.2 flow
|
|
11733
11773
|
* folding, §7.3 / §8.2.1). Breaks the content at "safe" single-space
|
|
@@ -11963,7 +12003,7 @@ function renderBlockFolded(s, indent) {
|
|
|
11963
12003
|
return `>${indentIndicator}${chomp}\n${outputLines.join("\n")}`;
|
|
11964
12004
|
}
|
|
11965
12005
|
//#endregion
|
|
11966
|
-
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.
|
|
12006
|
+
//#region ../../node_modules/.pnpm/@effected+yaml@0.3.1_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/stringifier.js
|
|
11967
12007
|
/**
|
|
11968
12008
|
* Thrown by the stringifier on its failure paths (circular references). The
|
|
11969
12009
|
* facade catches this and materializes the public stringify error.
|
|
@@ -12337,6 +12377,15 @@ effect.Schema.Class("YamlStringifyOptions")({
|
|
|
12337
12377
|
* Column at which to fold long scalars. Default `0` (and any value `<= 0`)
|
|
12338
12378
|
* never wraps; a positive value folds plain, double-quoted and block-folded
|
|
12339
12379
|
* (`>`) scalars at approximately that column, never block-literal (`|`).
|
|
12380
|
+
*
|
|
12381
|
+
* Takes effect only through {@link Yaml.stringify} and
|
|
12382
|
+
* {@link Yaml.stringifySync} — the two entry points that accept these
|
|
12383
|
+
* options on the value path. The schema factories ({@link Yaml.fromString},
|
|
12384
|
+
* {@link Yaml.schema}, {@link Yaml.YamlFromString}) encode with default
|
|
12385
|
+
* stringify options (`lineWidth` `0`), so their output never folds. The
|
|
12386
|
+
* document/node path — `YamlDocument#stringify` and the `YamlFormat`
|
|
12387
|
+
* helpers built on it — threads the field into its render context but
|
|
12388
|
+
* never reads it, so it is inert there.
|
|
12340
12389
|
*/
|
|
12341
12390
|
lineWidth: effect.Schema.optionalKey(effect.Schema.Number),
|
|
12342
12391
|
defaultScalarStyle: effect.Schema.optionalKey(ScalarStyle),
|
|
@@ -12443,7 +12492,7 @@ const stringifyDefectToError = (defect, value) => {
|
|
|
12443
12492
|
});
|
|
12444
12493
|
};
|
|
12445
12494
|
/**
|
|
12446
|
-
* Synchronous single-document parse returning a
|
|
12495
|
+
* Synchronous single-document parse returning a `Result`. The pure
|
|
12447
12496
|
* engine bypasses the Effect runtime entirely: the composer, the failure
|
|
12448
12497
|
* collection and the alias-expansion budget all run inline, and every failure
|
|
12449
12498
|
* mode (fatal diagnostics, duplicate keys, a "billion laughs" blow-up) yields
|
|
@@ -12465,7 +12514,7 @@ const parseSyncImpl = (text, options) => {
|
|
|
12465
12514
|
}
|
|
12466
12515
|
};
|
|
12467
12516
|
/**
|
|
12468
|
-
* Synchronous stringify returning a
|
|
12517
|
+
* Synchronous stringify returning a `Result`. Mirrors {@link Yaml.stringify}
|
|
12469
12518
|
* without the Effect wrapper: a circular reference or a value nested past the
|
|
12470
12519
|
* recursion budget yields a `Failure` carrying a typed {@link YamlStringifyError},
|
|
12471
12520
|
* never a thrown defect.
|
|
@@ -12595,7 +12644,7 @@ var Yaml = class Yaml {
|
|
|
12595
12644
|
return yield* stringifyOrFail(value, options);
|
|
12596
12645
|
});
|
|
12597
12646
|
/**
|
|
12598
|
-
* Synchronous single-document parse, returning a
|
|
12647
|
+
* Synchronous single-document parse, returning a `Result` instead of
|
|
12599
12648
|
* an `Effect`. A pure escape hatch for config-time callers that cannot
|
|
12600
12649
|
* `await` an Effect (a `vitest.config.ts` is the motivating case): it runs
|
|
12601
12650
|
* the same engine as {@link Yaml.parse} inline.
|
|
@@ -12624,7 +12673,7 @@ var Yaml = class Yaml {
|
|
|
12624
12673
|
return parseSyncImpl(text, options);
|
|
12625
12674
|
}
|
|
12626
12675
|
/**
|
|
12627
|
-
* Synchronous stringify, returning a
|
|
12676
|
+
* Synchronous stringify, returning a `Result` instead of an `Effect`.
|
|
12628
12677
|
* The pure counterpart to {@link Yaml.stringify} for config-time callers
|
|
12629
12678
|
* that cannot `await`.
|
|
12630
12679
|
*
|
|
@@ -12830,7 +12879,7 @@ function deepEqualValues(a, b) {
|
|
|
12830
12879
|
return false;
|
|
12831
12880
|
}
|
|
12832
12881
|
//#endregion
|
|
12833
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
12882
|
+
//#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
|
|
12834
12883
|
/**
|
|
12835
12884
|
* An empty YAML document composes to `null` (`Yaml.parseAll("")` is `[null]`,
|
|
12836
12885
|
* and the trailing document of an env-only `pnpm-lock.yaml` is `null` too).
|
|
@@ -12900,7 +12949,7 @@ const selectSoleDocument = (content) => effect.Effect.gen(function* () {
|
|
|
12900
12949
|
};
|
|
12901
12950
|
});
|
|
12902
12951
|
//#endregion
|
|
12903
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
12952
|
+
//#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
|
|
12904
12953
|
const PnpmImporterDeps = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.Struct({
|
|
12905
12954
|
specifier: effect.Schema.String,
|
|
12906
12955
|
version: effect.Schema.String
|
|
@@ -13026,7 +13075,7 @@ const toFields$1 = (raw) => effect.Effect.gen(function* () {
|
|
|
13026
13075
|
};
|
|
13027
13076
|
});
|
|
13028
13077
|
//#endregion
|
|
13029
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13078
|
+
//#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
|
|
13030
13079
|
const YarnLockfileRaw = effect.Schema.Record(effect.Schema.String, effect.Schema.Unknown);
|
|
13031
13080
|
const DepRecord = effect.Schema.optionalKey(effect.Schema.Record(effect.Schema.String, effect.Schema.String));
|
|
13032
13081
|
const YarnEntry = effect.Schema.Struct({
|
|
@@ -13149,7 +13198,7 @@ const cleanYarnDeps = (deps) => {
|
|
|
13149
13198
|
return Object.fromEntries(Object.entries(deps).map(([name, value]) => [name, value.startsWith("npm:") ? value.slice(4) : value]));
|
|
13150
13199
|
};
|
|
13151
13200
|
//#endregion
|
|
13152
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13201
|
+
//#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
|
|
13153
13202
|
const EMPTY_IMPORTERS = [];
|
|
13154
13203
|
/**
|
|
13155
13204
|
* Failure of `Lockfile.parse`: the given content is not a valid lockfile of
|
|
@@ -13393,7 +13442,7 @@ var Lockfile = class Lockfile extends effect.Schema.Class("Lockfile")({
|
|
|
13393
13442
|
}
|
|
13394
13443
|
};
|
|
13395
13444
|
//#endregion
|
|
13396
|
-
//#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.
|
|
13445
|
+
//#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
|
|
13397
13446
|
/**
|
|
13398
13447
|
* The minimal manifest shape {@link LockfileIntegrity.compare} checks a
|
|
13399
13448
|
* lockfile against: a package name plus the four optional dependency maps.
|
|
@@ -15349,7 +15398,7 @@ var Package = class Package extends effect.Schema.Class("Package")({
|
|
|
15349
15398
|
}
|
|
15350
15399
|
};
|
|
15351
15400
|
//#endregion
|
|
15352
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
15401
|
+
//#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
|
|
15353
15402
|
const EMPTY$1 = Object.freeze(Object.create(null));
|
|
15354
15403
|
const EMPTY_MANIFEST = Object.freeze(Object.create(null));
|
|
15355
15404
|
/**
|
|
@@ -15836,7 +15885,7 @@ const Walker$1 = {
|
|
|
15836
15885
|
findRoot: findRoot$1
|
|
15837
15886
|
};
|
|
15838
15887
|
//#endregion
|
|
15839
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
15888
|
+
//#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
|
|
15840
15889
|
/**
|
|
15841
15890
|
* The marker filenames {@link WorkspaceRoot} probes for, in priority order.
|
|
15842
15891
|
*
|
|
@@ -15921,7 +15970,7 @@ var WorkspaceRoot = class WorkspaceRoot extends effect.Context.Service()("@effec
|
|
|
15921
15970
|
static layer = effect.Layer.effect(WorkspaceRoot, WorkspaceRoot.make);
|
|
15922
15971
|
};
|
|
15923
15972
|
//#endregion
|
|
15924
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
15973
|
+
//#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
|
|
15925
15974
|
/**
|
|
15926
15975
|
* Hard ceiling on directories the enumerator will visit for one pattern set.
|
|
15927
15976
|
* Guards the pathological case a depth cap alone does not: a wide, shallow
|
|
@@ -15939,7 +15988,7 @@ const MAX_ENUMERATION_ENTRIES = 1e5;
|
|
|
15939
15988
|
*/
|
|
15940
15989
|
const PRUNED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
|
|
15941
15990
|
//#endregion
|
|
15942
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
15991
|
+
//#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
|
|
15943
15992
|
/** Directory names never descended into. */
|
|
15944
15993
|
const isPruned = (entry) => PRUNED_DIRECTORIES.has(entry);
|
|
15945
15994
|
/** Join root-relative POSIX segments; `""` is the root itself. */
|
|
@@ -16029,7 +16078,7 @@ var Traversal = class {
|
|
|
16029
16078
|
}
|
|
16030
16079
|
};
|
|
16031
16080
|
//#endregion
|
|
16032
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16081
|
+
//#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
|
|
16033
16082
|
/** Strip a trailing slash from `GlobPattern.enumerationPrefix` to get a relative directory. */
|
|
16034
16083
|
const baseOf = (pattern) => pattern.enumerationPrefix.replace(/\/$/, "");
|
|
16035
16084
|
/**
|
|
@@ -16099,7 +16148,7 @@ const enumerate = (root, globs, options) => effect.Effect.gen(function* () {
|
|
|
16099
16148
|
return results;
|
|
16100
16149
|
});
|
|
16101
16150
|
//#endregion
|
|
16102
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16151
|
+
//#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
|
|
16103
16152
|
const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : void 0;
|
|
16104
16153
|
/** The `packages:` list of a `pnpm-workspace.yaml` document. Total on a parsed document. */
|
|
16105
16154
|
const pnpmPatternsOf = (document) => {
|
|
@@ -16156,7 +16205,7 @@ const readPatterns = (root) => effect.Effect.gen(function* () {
|
|
|
16156
16205
|
return manifestPatternsOf(manifest);
|
|
16157
16206
|
});
|
|
16158
16207
|
//#endregion
|
|
16159
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16208
|
+
//#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
|
|
16160
16209
|
/**
|
|
16161
16210
|
* Raised when a workspace member's `package.json` cannot be read, parsed, or
|
|
16162
16211
|
* used — it is missing, malformed, or lacks a `name` or `version`.
|
|
@@ -16454,6 +16503,109 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends effect.Context.Service
|
|
|
16454
16503
|
*/
|
|
16455
16504
|
static layer = (options) => effect.Layer.effect(WorkspaceDiscovery, WorkspaceDiscovery.make(options));
|
|
16456
16505
|
/**
|
|
16506
|
+
* An in-memory test double of the service shape, with every method
|
|
16507
|
+
* defaulted so a test stubs only what it exercises.
|
|
16508
|
+
*
|
|
16509
|
+
* @remarks
|
|
16510
|
+
* The defaults model an **empty workspace**, and the derived methods run
|
|
16511
|
+
* over the *effective* `listPackages` — the override when one is supplied —
|
|
16512
|
+
* so stubbing only `listPackages` yields a consistent double:
|
|
16513
|
+
*
|
|
16514
|
+
* - `listPackages` — succeeds with `[]`.
|
|
16515
|
+
* - `importerMap` — derived: the packages keyed by `relativePath`.
|
|
16516
|
+
* - `getPackage` — derived: a name lookup that fails with the service's own
|
|
16517
|
+
* typed {@link PackageNotFoundError} on a miss, exactly as the live
|
|
16518
|
+
* implementation does.
|
|
16519
|
+
* - `resolveFile` / `resolveFiles` — derived: longest-prefix ownership over
|
|
16520
|
+
* `pkg.path`, POSIX-terminated (`"/"`); supply a win32 double explicitly
|
|
16521
|
+
* if your fixture paths are win32.
|
|
16522
|
+
* - `refresh` — a no-op (`Effect.void`); there is nothing memoized to drop.
|
|
16523
|
+
* - `info` — **dies** with an explanatory defect. No honest default exists
|
|
16524
|
+
* (a fabricated root path would leak into consumer path logic), so an
|
|
16525
|
+
* unstubbed `info()` call is a test-wiring mistake and fails loudly as a
|
|
16526
|
+
* defect rather than succeeding with a lie or failing with a dishonest
|
|
16527
|
+
* typed error.
|
|
16528
|
+
*
|
|
16529
|
+
* @example
|
|
16530
|
+
* ```ts
|
|
16531
|
+
* import { WorkspaceDiscovery, WorkspacePackage } from "@effected/workspaces";
|
|
16532
|
+
* import { Effect } from "effect";
|
|
16533
|
+
*
|
|
16534
|
+
* const double = WorkspaceDiscovery.makeTest({
|
|
16535
|
+
* listPackages: () =>
|
|
16536
|
+
* Effect.succeed([
|
|
16537
|
+
* WorkspacePackage.make({
|
|
16538
|
+
* name: "@my-org/utils",
|
|
16539
|
+
* version: "1.0.0",
|
|
16540
|
+
* path: "/repo/packages/utils",
|
|
16541
|
+
* packageJsonPath: "/repo/packages/utils/package.json",
|
|
16542
|
+
* relativePath: "packages/utils",
|
|
16543
|
+
* }),
|
|
16544
|
+
* ]),
|
|
16545
|
+
* });
|
|
16546
|
+
* // `getPackage`, `importerMap`, `resolveFile(s)` now answer consistently.
|
|
16547
|
+
* ```
|
|
16548
|
+
*/
|
|
16549
|
+
static makeTest = (overrides = {}) => {
|
|
16550
|
+
const listPackages = overrides.listPackages ?? (() => effect.Effect.succeed([]));
|
|
16551
|
+
const ownerOf = (filePath, all) => {
|
|
16552
|
+
let best;
|
|
16553
|
+
let bestLength = 0;
|
|
16554
|
+
for (const pkg of all) {
|
|
16555
|
+
const prefix = pkg.path.endsWith("/") ? pkg.path : `${pkg.path}/`;
|
|
16556
|
+
if (filePath.startsWith(prefix) && prefix.length > bestLength) {
|
|
16557
|
+
best = pkg;
|
|
16558
|
+
bestLength = prefix.length;
|
|
16559
|
+
}
|
|
16560
|
+
}
|
|
16561
|
+
return effect.Option.fromUndefinedOr(best);
|
|
16562
|
+
};
|
|
16563
|
+
return {
|
|
16564
|
+
listPackages,
|
|
16565
|
+
info: () => effect.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.")),
|
|
16566
|
+
importerMap: () => effect.Effect.map(listPackages(), (all) => new Map(all.map((pkg) => [pkg.relativePath, pkg]))),
|
|
16567
|
+
getPackage: (name) => effect.Effect.flatMap(listPackages(), (all) => {
|
|
16568
|
+
const found = all.find((pkg) => pkg.name === name);
|
|
16569
|
+
return found !== void 0 ? effect.Effect.succeed(found) : effect.Effect.fail(new PackageNotFoundError({
|
|
16570
|
+
name,
|
|
16571
|
+
available: all.map((pkg) => pkg.name)
|
|
16572
|
+
}));
|
|
16573
|
+
}),
|
|
16574
|
+
resolveFile: (filePath) => effect.Effect.map(listPackages(), (all) => ownerOf(filePath, all)),
|
|
16575
|
+
resolveFiles: (filePaths) => effect.Effect.map(listPackages(), (all) => {
|
|
16576
|
+
const seen = /* @__PURE__ */ new Map();
|
|
16577
|
+
for (const filePath of filePaths) {
|
|
16578
|
+
const owner = ownerOf(filePath, all);
|
|
16579
|
+
if (effect.Option.isSome(owner)) seen.set(owner.value.name, owner.value);
|
|
16580
|
+
}
|
|
16581
|
+
return [...seen.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
16582
|
+
}),
|
|
16583
|
+
refresh: () => effect.Effect.void,
|
|
16584
|
+
...overrides
|
|
16585
|
+
};
|
|
16586
|
+
};
|
|
16587
|
+
/**
|
|
16588
|
+
* The test layer: {@link WorkspaceDiscovery.makeTest} behind
|
|
16589
|
+
* `Layer.succeed`, so a suite provides only the methods it exercises.
|
|
16590
|
+
*
|
|
16591
|
+
* @remarks
|
|
16592
|
+
* A parameterized layer factory mints a **fresh reference per call**, and
|
|
16593
|
+
* layers memoize by reference — bind the result to a `const` and reuse it
|
|
16594
|
+
* rather than calling `layerTest(...)` at each composition site.
|
|
16595
|
+
*
|
|
16596
|
+
* @example
|
|
16597
|
+
* ```ts
|
|
16598
|
+
* import { WorkspaceDiscovery } from "@effected/workspaces";
|
|
16599
|
+
* import { Effect } from "effect";
|
|
16600
|
+
*
|
|
16601
|
+
* const TestDiscovery = WorkspaceDiscovery.layerTest({
|
|
16602
|
+
* listPackages: () => Effect.succeed([]),
|
|
16603
|
+
* });
|
|
16604
|
+
* // program.pipe(Effect.provide(TestDiscovery))
|
|
16605
|
+
* ```
|
|
16606
|
+
*/
|
|
16607
|
+
static layerTest = (overrides = {}) => effect.Layer.succeed(WorkspaceDiscovery, WorkspaceDiscovery.makeTest(overrides));
|
|
16608
|
+
/**
|
|
16457
16609
|
* The real implementation of `@effected/npm`'s `WorkspaceResolver` contract
|
|
16458
16610
|
* — the one `@effected/package-json` declares but cannot fill.
|
|
16459
16611
|
*
|
|
@@ -16485,7 +16637,7 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends effect.Context.Service
|
|
|
16485
16637
|
};
|
|
16486
16638
|
const isStringRecord$2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && Object.values(value).every((entry) => typeof entry === "string");
|
|
16487
16639
|
//#endregion
|
|
16488
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
16640
|
+
//#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
|
|
16489
16641
|
/**
|
|
16490
16642
|
* Raised when the workspace dependency graph cannot be topologically ordered
|
|
16491
16643
|
* because it contains a cycle.
|
|
@@ -18083,7 +18235,7 @@ var Git = class extends effect.Context.Service()("@effected/git/Git") {
|
|
|
18083
18235
|
}));
|
|
18084
18236
|
};
|
|
18085
18237
|
//#endregion
|
|
18086
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18238
|
+
//#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
|
|
18087
18239
|
/**
|
|
18088
18240
|
* Which git refs to compare, and whether to fold in the working tree.
|
|
18089
18241
|
*
|
|
@@ -18335,7 +18487,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
|
|
|
18335
18487
|
};
|
|
18336
18488
|
}
|
|
18337
18489
|
//#endregion
|
|
18338
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18490
|
+
//#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
|
|
18339
18491
|
/** Project a pnpm-workspace manifest's `catalog` / `catalogs` fields into a `Catalogs` map. */
|
|
18340
18492
|
const inlineCatalogs = (manifest) => {
|
|
18341
18493
|
if (manifest.catalog === void 0 && manifest.catalogs === void 0) return {};
|
|
@@ -18399,7 +18551,7 @@ const rangeOf = (catalogs, dependency, specifier) => {
|
|
|
18399
18551
|
});
|
|
18400
18552
|
};
|
|
18401
18553
|
//#endregion
|
|
18402
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18554
|
+
//#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
|
|
18403
18555
|
/** Whether `value` is a non-null, non-array object. */
|
|
18404
18556
|
const isObject$2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
18405
18557
|
/**
|
|
@@ -18544,7 +18696,7 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends effect.Context.S
|
|
|
18544
18696
|
}) });
|
|
18545
18697
|
};
|
|
18546
18698
|
//#endregion
|
|
18547
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18699
|
+
//#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
|
|
18548
18700
|
/**
|
|
18549
18701
|
* The four package managers this package understands.
|
|
18550
18702
|
*
|
|
@@ -18786,7 +18938,7 @@ var PackageManagerDetector = class PackageManagerDetector extends effect.Context
|
|
|
18786
18938
|
static layer = effect.Layer.effect(PackageManagerDetector, PackageManagerDetector.make);
|
|
18787
18939
|
};
|
|
18788
18940
|
//#endregion
|
|
18789
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
18941
|
+
//#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
|
|
18790
18942
|
/**
|
|
18791
18943
|
* Raised when the workspace's lockfile cannot be read off disk.
|
|
18792
18944
|
*
|
|
@@ -18896,7 +19048,7 @@ var LockfileReader = class LockfileReader extends effect.Context.Service()("@eff
|
|
|
18896
19048
|
static layer = (options) => effect.Layer.effect(LockfileReader, LockfileReader.make(options));
|
|
18897
19049
|
};
|
|
18898
19050
|
//#endregion
|
|
18899
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19051
|
+
//#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
|
|
18900
19052
|
/** The public npm registry, used when `publishConfig.registry` says nothing. */
|
|
18901
19053
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
|
|
18902
19054
|
/**
|
|
@@ -18996,7 +19148,7 @@ var PublishabilityDetector = class PublishabilityDetector extends effect.Context
|
|
|
18996
19148
|
}) });
|
|
18997
19149
|
};
|
|
18998
19150
|
//#endregion
|
|
18999
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19151
|
+
//#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
|
|
19000
19152
|
/**
|
|
19001
19153
|
* An immutable, fully-normalized catalog collection — the one catalog
|
|
19002
19154
|
* resolution semantic in the package.
|
|
@@ -19380,7 +19532,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends effect.Context.Service()
|
|
|
19380
19532
|
}));
|
|
19381
19533
|
};
|
|
19382
19534
|
//#endregion
|
|
19383
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19535
|
+
//#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
|
|
19384
19536
|
const EMPTY = Object.freeze(Object.create(null));
|
|
19385
19537
|
const DependencyMap = effect.Schema.Record(effect.Schema.String, effect.Schema.String).pipe(effect.Schema.withDecodingDefaultKey(effect.Effect.succeed(EMPTY)), effect.Schema.withConstructorDefault(effect.Effect.succeed(EMPTY)));
|
|
19386
19538
|
/**
|
|
@@ -19545,7 +19697,7 @@ var WorkspaceStateSnapshot = class extends effect.Schema.Class("WorkspaceStateSn
|
|
|
19545
19697
|
}
|
|
19546
19698
|
};
|
|
19547
19699
|
//#endregion
|
|
19548
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19700
|
+
//#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
|
|
19549
19701
|
/** Whether `value` is a non-null, non-array object. */
|
|
19550
19702
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
19551
19703
|
/** Whether every value in a record is a string — a usable dependency map. */
|
|
@@ -19737,7 +19889,7 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends effect.Context.Service
|
|
|
19737
19889
|
static layer = (options) => effect.Layer.effect(WorkspaceSnapshots, WorkspaceSnapshots.make(options));
|
|
19738
19890
|
};
|
|
19739
19891
|
//#endregion
|
|
19740
|
-
//#region ../../node_modules/.pnpm/@effected+workspaces@0.
|
|
19892
|
+
//#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
|
|
19741
19893
|
/**
|
|
19742
19894
|
* Every service that needs only a filesystem: root, package-manager detection,
|
|
19743
19895
|
* discovery, lockfile reading, catalogs and publishability.
|