@savvy-web/silk 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -384,7 +384,23 @@ const ChangesetConfigLive = effect.Layer.effect(ChangesetConfig, effect.Effect.g
384
384
  };
385
385
  }));
386
386
  //#endregion
387
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogAssemblyError.js
387
+ //#region ../silk-effects/dist/dev/pkg/utils/TrailingSlash.js
388
+ /**
389
+ * Trim trailing slashes from a string.
390
+ *
391
+ * @remarks
392
+ * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
393
+ * unanchored at the start, so the engine retries the match from every position
394
+ * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
395
+ * Only a trailing run of slashes is removed; interior slash runs are untouched.
396
+ */
397
+ const trimTrailingSlashes = (s) => {
398
+ let end = s.length;
399
+ while (end > 0 && s[end - 1] === "/") end -= 1;
400
+ return s.slice(0, end);
401
+ };
402
+ //#endregion
403
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogAssemblyError.js
388
404
  /**
389
405
  * Base constant for {@link CatalogAssemblyError}.
390
406
  *
@@ -411,7 +427,7 @@ var CatalogAssemblyError = class extends CatalogAssemblyErrorBase {
411
427
  }
412
428
  };
413
429
  //#endregion
414
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogResolutionError.js
430
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogResolutionError.js
415
431
  /**
416
432
  * Base constant for {@link CatalogResolutionError}.
417
433
  *
@@ -437,7 +453,7 @@ var CatalogResolutionError = class extends CatalogResolutionErrorBase {
437
453
  }
438
454
  };
439
455
  //#endregion
440
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/GitReadError.js
456
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/GitReadError.js
441
457
  /**
442
458
  * Base constant for {@link GitReadError}.
443
459
  *
@@ -462,7 +478,7 @@ var GitReadError = class extends GitReadErrorBase {
462
478
  }
463
479
  };
464
480
  //#endregion
465
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/PackageNotFoundError.js
481
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/PackageNotFoundError.js
466
482
  /**
467
483
  * Base constant for {@link PackageNotFoundError}.
468
484
  *
@@ -513,7 +529,7 @@ var PackageNotFoundError = class extends PackageNotFoundErrorBase {
513
529
  }
514
530
  };
515
531
  //#endregion
516
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceDiscoveryError.js
532
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceDiscoveryError.js
517
533
  /**
518
534
  * Base constant for {@link WorkspaceDiscoveryError}.
519
535
  *
@@ -564,7 +580,7 @@ var WorkspaceDiscoveryError = class extends WorkspaceDiscoveryErrorBase {
564
580
  }
565
581
  };
566
582
  //#endregion
567
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceRootNotFoundError.js
583
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceRootNotFoundError.js
568
584
  /**
569
585
  * Base constant for {@link WorkspaceRootNotFoundError}.
570
586
  *
@@ -614,7 +630,7 @@ var WorkspaceRootNotFoundError = class extends WorkspaceRootNotFoundErrorBase {
614
630
  }
615
631
  };
616
632
  //#endregion
617
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceDiscovery.js
633
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceDiscovery.js
618
634
  /**
619
635
  * Service for discovering workspace packages in a monorepo.
620
636
  *
@@ -664,7 +680,7 @@ var WorkspaceRootNotFoundError = class extends WorkspaceRootNotFoundErrorBase {
664
680
  */
665
681
  var WorkspaceDiscovery = class extends effect.Context.Tag("@spencerbeggs/workspaces-effect/WorkspaceDiscovery")() {};
666
682
  //#endregion
667
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceRoot.js
683
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceRoot.js
668
684
  /**
669
685
  * Service for finding the workspace root directory.
670
686
  *
@@ -6350,7 +6366,7 @@ function parse$3(text, options) {
6350
6366
  }));
6351
6367
  }
6352
6368
  //#endregion
6353
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/workspace-manifest.js
6369
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/workspace-manifest.js
6354
6370
  /**
6355
6371
  * Parse a pnpm-workspace.yaml text into its catalog/config-dependency/packages
6356
6372
  * slice. Pure with respect to the filesystem.
@@ -6418,7 +6434,7 @@ function checkDefaultCatalogIsDefinedOnce(manifest) {
6418
6434
  if (manifest.catalog != null && manifest.catalogs?.default != null) throw new PnpmError("INVALID_CATALOGS_CONFIGURATION", "The 'default' catalog was defined multiple times. Use the 'catalog' field or 'catalogs.default', but not both.");
6419
6435
  }
6420
6436
  //#endregion
6421
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/assemble.js
6437
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/assemble.js
6422
6438
  /** Merge catalog sources; later sources win per dependency within a catalog. */
6423
6439
  function mergeCatalogs(...sources) {
6424
6440
  const result = {};
@@ -6499,7 +6515,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
6499
6515
  };
6500
6516
  }
6501
6517
  //#endregion
6502
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/resolve.js
6518
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/resolve.js
6503
6519
  const DEP_FIELDS = [
6504
6520
  "dependencies",
6505
6521
  "devDependencies",
@@ -6569,7 +6585,7 @@ function resolveManifest(catalogs, workspaceVersions, manifest) {
6569
6585
  return out;
6570
6586
  }
6571
6587
  //#endregion
6572
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/CatalogSet.js
6588
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/CatalogSet.js
6573
6589
  /**
6574
6590
  * An immutable, fully-normalized catalog collection with the one
6575
6591
  * resolution semantic shared by live and point-in-time resolution.
@@ -6659,7 +6675,7 @@ var CatalogSet = class CatalogSet extends effect.Schema.Class("CatalogSet")({ en
6659
6675
  }
6660
6676
  };
6661
6677
  //#endregion
6662
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/worktree-catalogs.js
6678
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/worktree-catalogs.js
6663
6679
  /**
6664
6680
  * The ONE code path that reads the working tree's catalog sources
6665
6681
  * (`pnpm-workspace.yaml` + `pnpm-lock.yaml`). Consumed by
@@ -8204,7 +8220,7 @@ minimatch.Minimatch = Minimatch;
8204
8220
  minimatch.escape = escape;
8205
8221
  minimatch.unescape = unescape;
8206
8222
  //#endregion
8207
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/core.js
8223
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/core.js
8208
8224
  /**
8209
8225
  * Schema for supported package manager identifiers.
8210
8226
  *
@@ -9745,7 +9761,7 @@ function modifyImpl(text, path, value, formattingOptions) {
9745
9761
  return [];
9746
9762
  }
9747
9763
  //#endregion
9748
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/WorkspaceStateSnapshot.js
9764
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/WorkspaceStateSnapshot.js
9749
9765
  const DepRecord = effect.Schema.optionalWith(effect.Schema.Record({
9750
9766
  key: effect.Schema.String,
9751
9767
  value: effect.Schema.String
@@ -9814,7 +9830,7 @@ var WorkspaceStateSnapshot = class extends effect.Schema.Class("WorkspaceStateSn
9814
9830
  }
9815
9831
  };
9816
9832
  //#endregion
9817
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PointInTimeWorkspace.js
9833
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PointInTimeWorkspace.js
9818
9834
  /**
9819
9835
  * Service for reading a monorepo's workspace state at a specific moment: any
9820
9836
  * git ref (via `git show`/`git ls-tree`, without checking the ref out) or the
@@ -9841,7 +9857,7 @@ var WorkspaceStateSnapshot = class extends effect.Schema.Class("WorkspaceStateSn
9841
9857
  */
9842
9858
  var PointInTimeWorkspace = class extends effect.Context.Tag("@spencerbeggs/workspaces-effect/PointInTimeWorkspace")() {};
9843
9859
  //#endregion
9844
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/discovery/glob-core.js
9860
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/discovery/glob-core.js
9845
9861
  const normalize$1 = (pattern) => pattern.replace(/\/\*\*$/, "/*");
9846
9862
  const toRegex = (glob) => new RegExp(`^${glob.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]")}$`);
9847
9863
  /**
@@ -9884,7 +9900,7 @@ const compileWorkspaceGlobs = (patterns) => {
9884
9900
  };
9885
9901
  };
9886
9902
  //#endregion
9887
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/git.js
9903
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/git.js
9888
9904
  /**
9889
9905
  * Stderr shapes that mean "the path is not present at this ref" rather than
9890
9906
  * "the git command failed."
@@ -9976,7 +9992,7 @@ const makeGitReader = (executor, options) => {
9976
9992
  };
9977
9993
  };
9978
9994
  //#endregion
9979
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PointInTimeWorkspaceLive.js
9995
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PointInTimeWorkspaceLive.js
9980
9996
  /**
9981
9997
  * Live layer for the {@link PointInTimeWorkspace} service.
9982
9998
  *
@@ -10098,6 +10114,7 @@ const PointInTimeWorkspaceLive = effect.Layer.effect(PointInTimeWorkspace, effec
10098
10114
  }).pipe(effect.Effect.withSpan("PointInTimeWorkspace.at", { attributes: { ref } }));
10099
10115
  const worktree = (options) => effect.Effect.gen(function* () {
10100
10116
  const root = yield* resolveRoot(options?.cwd);
10117
+ yield* discovery.refresh();
10101
10118
  return new WorkspaceStateSnapshot({
10102
10119
  packages: (yield* discovery.listPackages(root)).map((p) => new PackageStateSnapshot({
10103
10120
  name: p.name,
@@ -10117,7 +10134,7 @@ const PointInTimeWorkspaceLive = effect.Layer.effect(PointInTimeWorkspace, effec
10117
10134
  });
10118
10135
  }));
10119
10136
  //#endregion
10120
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/publish.js
10137
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/publish.js
10121
10138
  /**
10122
10139
  * Schema for package publish targets.
10123
10140
  *
@@ -10160,7 +10177,7 @@ var PublishTarget = class extends effect.Schema.Class("PublishTarget")({
10160
10177
  provenance: effect.Schema.optionalWith(effect.Schema.Boolean, { default: () => false })
10161
10178
  }) {};
10162
10179
  //#endregion
10163
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PublishabilityDetector.js
10180
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PublishabilityDetector.js
10164
10181
  /**
10165
10182
  * Service for detecting whether a workspace package is publishable and
10166
10183
  * identifying its publish targets (npm, GitHub Packages, etc.).
@@ -10222,7 +10239,7 @@ var PublishTarget = class extends effect.Schema.Class("PublishTarget")({
10222
10239
  */
10223
10240
  var PublishabilityDetector = class extends effect.Context.Tag("@spencerbeggs/workspaces-effect/PublishabilityDetector")() {};
10224
10241
  //#endregion
10225
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PublishabilityDetectorLive.js
10242
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PublishabilityDetectorLive.js
10226
10243
  /**
10227
10244
  * Default live implementation of the {@link PublishabilityDetector} service.
10228
10245
  *
@@ -10294,7 +10311,7 @@ const PublishabilityDetectorLive = effect.Layer.succeed(PublishabilityDetector,
10294
10311
  return targets;
10295
10312
  }).pipe(effect.Effect.withSpan("PublishabilityDetector.detect", { attributes: { "workspace.package": pkg.name } })) });
10296
10313
  //#endregion
10297
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceDiscoveryLive.js
10314
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceDiscoveryLive.js
10298
10315
  /**
10299
10316
  * Live implementation of the {@link WorkspaceDiscovery} service.
10300
10317
  *
@@ -10581,7 +10598,7 @@ const WorkspaceDiscoveryLive = effect.Layer.effect(WorkspaceDiscovery, effect.Ef
10581
10598
  };
10582
10599
  }));
10583
10600
  //#endregion
10584
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceRootLive.js
10601
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceRootLive.js
10585
10602
  /**
10586
10603
  * Live implementation of the {@link WorkspaceRoot} service.
10587
10604
  *
@@ -10867,18 +10884,16 @@ var SilkPublishability = class {
10867
10884
  * normalizes to `.`, matching how a root-directory target is recorded.
10868
10885
  *
10869
10886
  * @remarks
10870
- * Trailing slashes are trimmed with an index scan rather than `/\/+$/`. That
10871
- * regex is unanchored at the start, so the engine retries the match from every
10872
- * position and degrades to O(n²) on a path of many slashes (CodeQL
10873
- * `js/polynomial-redos`). `dir` reaches here from `dist/prod/targets.json`, which
10874
- * the bundler writes but a consumer repo could hand-edit.
10887
+ * Trailing-slash trimming is delegated to the shared `trimTrailingSlashes`
10888
+ * index-scan helper rather than `/\/+$/`: that regex is unanchored at the
10889
+ * start, so the engine retries the match from every position and degrades to
10890
+ * O(n²) on a path of many slashes (CodeQL `js/polynomial-redos`). `dir` reaches
10891
+ * here from `dist/prod/targets.json`, which the bundler writes but a consumer
10892
+ * repo could hand-edit.
10875
10893
  */
10876
10894
  const normalizeDir = (dir) => {
10877
10895
  const slashed = dir.replaceAll("\\", "/");
10878
- const withoutPrefix = slashed.startsWith("./") ? slashed.slice(2) : slashed;
10879
- let end = withoutPrefix.length;
10880
- while (end > 0 && withoutPrefix[end - 1] === "/") end -= 1;
10881
- const normalized = withoutPrefix.slice(0, end);
10896
+ const normalized = trimTrailingSlashes(slashed.startsWith("./") ? slashed.slice(2) : slashed);
10882
10897
  return normalized === "" ? "." : normalized;
10883
10898
  };
10884
10899
  /** True when a built target directory's package.json is `private: true`. Missing/unreadable/malformed → false. */
@@ -39367,6 +39382,7 @@ function makeShape$1(pit, inspector, discovery, detector, config, fs) {
39367
39382
  const plan = (options) => effect.Effect.gen(function* () {
39368
39383
  const resolvedCwd = (0, node_path.resolve)(options.cwd);
39369
39384
  const changesetDir = (0, node_path.join)(resolvedCwd, ".changeset");
39385
+ yield* discovery.refresh();
39370
39386
  let fromRef = options.from;
39371
39387
  if (!fromRef) {
39372
39388
  let baseBranch = options.base;
@@ -3326,7 +3326,7 @@ interface Catalog {
3326
3326
  readonly [dependencyName: string]: string | undefined;
3327
3327
  }
3328
3328
  //#endregion
3329
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/index.d.ts
3329
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/index.d.ts
3330
3330
  //#region src/errors/CatalogAssemblyError.d.ts
3331
3331
  /**
3332
3332
  * Base constant for {@link CatalogAssemblyError}.
@@ -3326,7 +3326,7 @@ interface Catalog {
3326
3326
  readonly [dependencyName: string]: string | undefined;
3327
3327
  }
3328
3328
  //#endregion
3329
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/index.d.ts
3329
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/index.d.ts
3330
3330
  //#region src/errors/CatalogAssemblyError.d.ts
3331
3331
  /**
3332
3332
  * Base constant for {@link CatalogAssemblyError}.
@@ -399,7 +399,24 @@ const ChangesetConfigLive = Layer.effect(ChangesetConfig, Effect.gen(function* (
399
399
  }));
400
400
 
401
401
  //#endregion
402
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogAssemblyError.js
402
+ //#region ../silk-effects/dist/dev/pkg/utils/TrailingSlash.js
403
+ /**
404
+ * Trim trailing slashes from a string.
405
+ *
406
+ * @remarks
407
+ * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
408
+ * unanchored at the start, so the engine retries the match from every position
409
+ * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
410
+ * Only a trailing run of slashes is removed; interior slash runs are untouched.
411
+ */
412
+ const trimTrailingSlashes = (s) => {
413
+ let end = s.length;
414
+ while (end > 0 && s[end - 1] === "/") end -= 1;
415
+ return s.slice(0, end);
416
+ };
417
+
418
+ //#endregion
419
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogAssemblyError.js
403
420
  /**
404
421
  * Base constant for {@link CatalogAssemblyError}.
405
422
  *
@@ -427,7 +444,7 @@ var CatalogAssemblyError = class extends CatalogAssemblyErrorBase {
427
444
  };
428
445
 
429
446
  //#endregion
430
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogResolutionError.js
447
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/CatalogResolutionError.js
431
448
  /**
432
449
  * Base constant for {@link CatalogResolutionError}.
433
450
  *
@@ -454,7 +471,7 @@ var CatalogResolutionError = class extends CatalogResolutionErrorBase {
454
471
  };
455
472
 
456
473
  //#endregion
457
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/GitReadError.js
474
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/GitReadError.js
458
475
  /**
459
476
  * Base constant for {@link GitReadError}.
460
477
  *
@@ -480,7 +497,7 @@ var GitReadError = class extends GitReadErrorBase {
480
497
  };
481
498
 
482
499
  //#endregion
483
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/PackageNotFoundError.js
500
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/PackageNotFoundError.js
484
501
  /**
485
502
  * Base constant for {@link PackageNotFoundError}.
486
503
  *
@@ -532,7 +549,7 @@ var PackageNotFoundError = class extends PackageNotFoundErrorBase {
532
549
  };
533
550
 
534
551
  //#endregion
535
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceDiscoveryError.js
552
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceDiscoveryError.js
536
553
  /**
537
554
  * Base constant for {@link WorkspaceDiscoveryError}.
538
555
  *
@@ -584,7 +601,7 @@ var WorkspaceDiscoveryError = class extends WorkspaceDiscoveryErrorBase {
584
601
  };
585
602
 
586
603
  //#endregion
587
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceRootNotFoundError.js
604
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/errors/WorkspaceRootNotFoundError.js
588
605
  /**
589
606
  * Base constant for {@link WorkspaceRootNotFoundError}.
590
607
  *
@@ -635,7 +652,7 @@ var WorkspaceRootNotFoundError = class extends WorkspaceRootNotFoundErrorBase {
635
652
  };
636
653
 
637
654
  //#endregion
638
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceDiscovery.js
655
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceDiscovery.js
639
656
  /**
640
657
  * Service for discovering workspace packages in a monorepo.
641
658
  *
@@ -686,7 +703,7 @@ var WorkspaceRootNotFoundError = class extends WorkspaceRootNotFoundErrorBase {
686
703
  var WorkspaceDiscovery = class extends Context.Tag("@spencerbeggs/workspaces-effect/WorkspaceDiscovery")() {};
687
704
 
688
705
  //#endregion
689
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceRoot.js
706
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/WorkspaceRoot.js
690
707
  /**
691
708
  * Service for finding the workspace root directory.
692
709
  *
@@ -6429,7 +6446,7 @@ function parse$3(text, options) {
6429
6446
  }
6430
6447
 
6431
6448
  //#endregion
6432
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/workspace-manifest.js
6449
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/workspace-manifest.js
6433
6450
  /**
6434
6451
  * Parse a pnpm-workspace.yaml text into its catalog/config-dependency/packages
6435
6452
  * slice. Pure with respect to the filesystem.
@@ -6505,7 +6522,7 @@ function checkDefaultCatalogIsDefinedOnce(manifest) {
6505
6522
  }
6506
6523
 
6507
6524
  //#endregion
6508
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/assemble.js
6525
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/assemble.js
6509
6526
  /** Merge catalog sources; later sources win per dependency within a catalog. */
6510
6527
  function mergeCatalogs(...sources) {
6511
6528
  const result = {};
@@ -6590,7 +6607,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
6590
6607
  }
6591
6608
 
6592
6609
  //#endregion
6593
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/resolve.js
6610
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/catalog/resolve.js
6594
6611
  const DEP_FIELDS = [
6595
6612
  "dependencies",
6596
6613
  "devDependencies",
@@ -6661,7 +6678,7 @@ function resolveManifest(catalogs, workspaceVersions, manifest) {
6661
6678
  }
6662
6679
 
6663
6680
  //#endregion
6664
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/CatalogSet.js
6681
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/CatalogSet.js
6665
6682
  /**
6666
6683
  * An immutable, fully-normalized catalog collection with the one
6667
6684
  * resolution semantic shared by live and point-in-time resolution.
@@ -6752,7 +6769,7 @@ var CatalogSet = class CatalogSet extends Schema.Class("CatalogSet")({ entries:
6752
6769
  };
6753
6770
 
6754
6771
  //#endregion
6755
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/worktree-catalogs.js
6772
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/worktree-catalogs.js
6756
6773
  /**
6757
6774
  * The ONE code path that reads the working tree's catalog sources
6758
6775
  * (`pnpm-workspace.yaml` + `pnpm-lock.yaml`). Consumed by
@@ -8308,7 +8325,7 @@ minimatch.escape = escape;
8308
8325
  minimatch.unescape = unescape;
8309
8326
 
8310
8327
  //#endregion
8311
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/core.js
8328
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/core.js
8312
8329
  /**
8313
8330
  * Schema for supported package manager identifiers.
8314
8331
  *
@@ -9931,7 +9948,7 @@ function modifyImpl(text, path, value, formattingOptions) {
9931
9948
  }
9932
9949
 
9933
9950
  //#endregion
9934
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/WorkspaceStateSnapshot.js
9951
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/WorkspaceStateSnapshot.js
9935
9952
  const DepRecord = Schema.optionalWith(Schema.Record({
9936
9953
  key: Schema.String,
9937
9954
  value: Schema.String
@@ -10001,7 +10018,7 @@ var WorkspaceStateSnapshot = class extends Schema.Class("WorkspaceStateSnapshot"
10001
10018
  };
10002
10019
 
10003
10020
  //#endregion
10004
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PointInTimeWorkspace.js
10021
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PointInTimeWorkspace.js
10005
10022
  /**
10006
10023
  * Service for reading a monorepo's workspace state at a specific moment: any
10007
10024
  * git ref (via `git show`/`git ls-tree`, without checking the ref out) or the
@@ -10029,7 +10046,7 @@ var WorkspaceStateSnapshot = class extends Schema.Class("WorkspaceStateSnapshot"
10029
10046
  var PointInTimeWorkspace = class extends Context.Tag("@spencerbeggs/workspaces-effect/PointInTimeWorkspace")() {};
10030
10047
 
10031
10048
  //#endregion
10032
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/discovery/glob-core.js
10049
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/discovery/glob-core.js
10033
10050
  const normalize$2 = (pattern) => pattern.replace(/\/\*\*$/, "/*");
10034
10051
  const toRegex = (glob) => new RegExp(`^${glob.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]")}$`);
10035
10052
  /**
@@ -10073,7 +10090,7 @@ const compileWorkspaceGlobs = (patterns) => {
10073
10090
  };
10074
10091
 
10075
10092
  //#endregion
10076
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/git.js
10093
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/point-in-time/git.js
10077
10094
  /**
10078
10095
  * Stderr shapes that mean "the path is not present at this ref" rather than
10079
10096
  * "the git command failed."
@@ -10166,7 +10183,7 @@ const makeGitReader = (executor, options) => {
10166
10183
  };
10167
10184
 
10168
10185
  //#endregion
10169
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PointInTimeWorkspaceLive.js
10186
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PointInTimeWorkspaceLive.js
10170
10187
  /**
10171
10188
  * Live layer for the {@link PointInTimeWorkspace} service.
10172
10189
  *
@@ -10288,6 +10305,7 @@ const PointInTimeWorkspaceLive = Layer.effect(PointInTimeWorkspace, Effect.gen(f
10288
10305
  }).pipe(Effect.withSpan("PointInTimeWorkspace.at", { attributes: { ref } }));
10289
10306
  const worktree = (options) => Effect.gen(function* () {
10290
10307
  const root = yield* resolveRoot(options?.cwd);
10308
+ yield* discovery.refresh();
10291
10309
  return new WorkspaceStateSnapshot({
10292
10310
  packages: (yield* discovery.listPackages(root)).map((p) => new PackageStateSnapshot({
10293
10311
  name: p.name,
@@ -10308,7 +10326,7 @@ const PointInTimeWorkspaceLive = Layer.effect(PointInTimeWorkspace, Effect.gen(f
10308
10326
  }));
10309
10327
 
10310
10328
  //#endregion
10311
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/publish.js
10329
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/schemas/publish.js
10312
10330
  /**
10313
10331
  * Schema for package publish targets.
10314
10332
  *
@@ -10352,7 +10370,7 @@ var PublishTarget = class extends Schema.Class("PublishTarget")({
10352
10370
  }) {};
10353
10371
 
10354
10372
  //#endregion
10355
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PublishabilityDetector.js
10373
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/services/PublishabilityDetector.js
10356
10374
  /**
10357
10375
  * Service for detecting whether a workspace package is publishable and
10358
10376
  * identifying its publish targets (npm, GitHub Packages, etc.).
@@ -10415,7 +10433,7 @@ var PublishTarget = class extends Schema.Class("PublishTarget")({
10415
10433
  var PublishabilityDetector = class extends Context.Tag("@spencerbeggs/workspaces-effect/PublishabilityDetector")() {};
10416
10434
 
10417
10435
  //#endregion
10418
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PublishabilityDetectorLive.js
10436
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/PublishabilityDetectorLive.js
10419
10437
  /**
10420
10438
  * Default live implementation of the {@link PublishabilityDetector} service.
10421
10439
  *
@@ -10488,7 +10506,7 @@ const PublishabilityDetectorLive = Layer.succeed(PublishabilityDetector, { detec
10488
10506
  }).pipe(Effect.withSpan("PublishabilityDetector.detect", { attributes: { "workspace.package": pkg.name } })) });
10489
10507
 
10490
10508
  //#endregion
10491
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceDiscoveryLive.js
10509
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceDiscoveryLive.js
10492
10510
  /**
10493
10511
  * Live implementation of the {@link WorkspaceDiscovery} service.
10494
10512
  *
@@ -10776,7 +10794,7 @@ const WorkspaceDiscoveryLive = Layer.effect(WorkspaceDiscovery, Effect.gen(funct
10776
10794
  }));
10777
10795
 
10778
10796
  //#endregion
10779
- //#region ../../node_modules/.pnpm/workspaces-effect@2.0.2_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceRootLive.js
10797
+ //#region ../../node_modules/.pnpm/workspaces-effect@2.0.3_@effect+platform@0.96.2_effect@3.21.4__effect@3.21.4/node_modules/workspaces-effect/layers/WorkspaceRootLive.js
10780
10798
  /**
10781
10799
  * Live implementation of the {@link WorkspaceRoot} service.
10782
10800
  *
@@ -11063,18 +11081,16 @@ var SilkPublishability = class {
11063
11081
  * normalizes to `.`, matching how a root-directory target is recorded.
11064
11082
  *
11065
11083
  * @remarks
11066
- * Trailing slashes are trimmed with an index scan rather than `/\/+$/`. That
11067
- * regex is unanchored at the start, so the engine retries the match from every
11068
- * position and degrades to O(n²) on a path of many slashes (CodeQL
11069
- * `js/polynomial-redos`). `dir` reaches here from `dist/prod/targets.json`, which
11070
- * the bundler writes but a consumer repo could hand-edit.
11084
+ * Trailing-slash trimming is delegated to the shared `trimTrailingSlashes`
11085
+ * index-scan helper rather than `/\/+$/`: that regex is unanchored at the
11086
+ * start, so the engine retries the match from every position and degrades to
11087
+ * O(n²) on a path of many slashes (CodeQL `js/polynomial-redos`). `dir` reaches
11088
+ * here from `dist/prod/targets.json`, which the bundler writes but a consumer
11089
+ * repo could hand-edit.
11071
11090
  */
11072
11091
  const normalizeDir = (dir) => {
11073
11092
  const slashed = dir.replaceAll("\\", "/");
11074
- const withoutPrefix = slashed.startsWith("./") ? slashed.slice(2) : slashed;
11075
- let end = withoutPrefix.length;
11076
- while (end > 0 && withoutPrefix[end - 1] === "/") end -= 1;
11077
- const normalized = withoutPrefix.slice(0, end);
11093
+ const normalized = trimTrailingSlashes(slashed.startsWith("./") ? slashed.slice(2) : slashed);
11078
11094
  return normalized === "" ? "." : normalized;
11079
11095
  };
11080
11096
  /** True when a built target directory's package.json is `private: true`. Missing/unreadable/malformed → false. */
@@ -39817,6 +39833,7 @@ function makeShape$1(pit, inspector, discovery, detector, config, fs) {
39817
39833
  const plan = (options) => Effect.gen(function* () {
39818
39834
  const resolvedCwd = resolve(options.cwd);
39819
39835
  const changesetDir = join(resolvedCwd, ".changeset");
39836
+ yield* discovery.refresh();
39820
39837
  let fromRef = options.from;
39821
39838
  if (!fromRef) {
39822
39839
  let baseBranch = options.base;