@savvy-web/silk-effects 1.5.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changesets/api/linter.js +9 -7
- package/changesets/errors.js +44 -1
- package/changesets/index.js +20 -16
- package/changesets/markdownlint/rules/dependency-table-format.js +1 -1
- package/changesets/remark/presets.js +1 -1
- package/changesets/schemas/dependency-table.js +12 -2
- package/changesets/services/deps-regen.js +367 -0
- package/changesets/services/release-planner.js +105 -81
- package/changesets/utils/dep-diff.js +81 -47
- package/changesets/utils/git.js +51 -0
- package/changesets/utils/publishability.js +14 -2
- package/index.d.ts +336 -166
- package/package.json +5 -5
- package/changesets/services/workspace-snapshot.js +0 -181
- package/changesets/utils/worktree-snapshot.js +0 -142
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Context, Data, Effect, Equal, Hash, Layer, Option, Schema, Stream } from "effect";
|
|
2
|
-
import { Command, CommandExecutor, FileSystem } from "@effect/platform";
|
|
3
|
-
import { PackageManagerDetector, PublishConfig, PublishTarget, PublishabilityDetector, TopologicalSorter, WorkspaceDiscovery, WorkspaceDiscoveryError, WorkspacePackage, WorkspaceRoot } from "workspaces-effect";
|
|
2
|
+
import { Command, CommandExecutor, FileSystem, Path } from "@effect/platform";
|
|
3
|
+
import { PackageManagerDetector, PointInTimeReadError, PointInTimeWorkspace, PublishConfig, PublishTarget, PublishabilityDetector, TopologicalSorter, WorkspaceDiscovery, WorkspaceDiscoveryError, WorkspacePackage, WorkspaceRoot, WorkspaceStateSnapshot } from "workspaces-effect";
|
|
4
4
|
import { Plugin } from "unified";
|
|
5
5
|
import { PlatformError } from "@effect/platform/Error";
|
|
6
6
|
|
|
@@ -1571,6 +1571,16 @@ declare const DependencyTableTypeSchema: Schema.Literal<["dependency", "devDepen
|
|
|
1571
1571
|
* @public
|
|
1572
1572
|
*/
|
|
1573
1573
|
type DependencyTableType = typeof DependencyTableTypeSchema.Type;
|
|
1574
|
+
/**
|
|
1575
|
+
* The canonical accepted-value pattern for a dependency-table From/To cell:
|
|
1576
|
+
* the em-dash sentinel (U+2014), a bare/`~`/`^` semver, or — as a last-resort
|
|
1577
|
+
* fallback when a `catalog:`/`workspace:` specifier could not be resolved to a
|
|
1578
|
+
* concrete version — a pnpm protocol string. Non-overlapping alternatives keep
|
|
1579
|
+
* this free of polynomial backtracking (CodeQL).
|
|
1580
|
+
*
|
|
1581
|
+
* @public
|
|
1582
|
+
*/
|
|
1583
|
+
declare const VERSION_RE: RegExp;
|
|
1574
1584
|
/**
|
|
1575
1585
|
* Version string or em dash (U+2014) sentinel for added/removed entries.
|
|
1576
1586
|
*
|
|
@@ -1845,7 +1855,7 @@ declare class DependencyTable {
|
|
|
1845
1855
|
/**
|
|
1846
1856
|
* Class-based API wrapper for changeset linting.
|
|
1847
1857
|
*
|
|
1848
|
-
* Provides a static class interface that runs all remark-lint rules
|
|
1858
|
+
* Provides a static class interface that runs all five remark-lint rules
|
|
1849
1859
|
* against changeset markdown files and returns structured diagnostics.
|
|
1850
1860
|
*
|
|
1851
1861
|
* @internal
|
|
@@ -1859,11 +1869,12 @@ declare class DependencyTable {
|
|
|
1859
1869
|
* (file, line, column) for integration with editors, CI reporters, and
|
|
1860
1870
|
* the Effect CLI's `lint` and `check` commands.
|
|
1861
1871
|
*
|
|
1862
|
-
* The
|
|
1872
|
+
* The five rules that produce lint messages are:
|
|
1863
1873
|
*
|
|
1864
1874
|
* - **heading-hierarchy** -- ensures headings follow a valid nesting order
|
|
1865
1875
|
* - **required-sections** -- checks that mandatory sections are present
|
|
1866
1876
|
* - **content-structure** -- validates the structure of section content
|
|
1877
|
+
* - **dependency-table-format** -- enforces the machine-generated dependency-table format for `## Dependencies` sections
|
|
1867
1878
|
* - **uncategorized-content** -- flags content outside recognized section headings
|
|
1868
1879
|
*
|
|
1869
1880
|
* @public
|
|
@@ -1882,9 +1893,10 @@ interface LintMessage {
|
|
|
1882
1893
|
* Identifier of the remark-lint rule that produced this message.
|
|
1883
1894
|
*
|
|
1884
1895
|
* @remarks
|
|
1885
|
-
* Corresponds to one of the
|
|
1886
|
-
* `"required-sections"`, `"content-structure"`,
|
|
1887
|
-
* Falls back to `"unknown"` if the underlying
|
|
1896
|
+
* Corresponds to one of the five built-in rules: `"heading-hierarchy"`,
|
|
1897
|
+
* `"required-sections"`, `"content-structure"`, `"dependency-table-format"`,
|
|
1898
|
+
* or `"uncategorized-content"`. Falls back to `"unknown"` if the underlying
|
|
1899
|
+
* vfile message has no rule ID.
|
|
1888
1900
|
*/
|
|
1889
1901
|
rule: string;
|
|
1890
1902
|
/**
|
|
@@ -1917,9 +1929,9 @@ interface LintMessage {
|
|
|
1917
1929
|
/**
|
|
1918
1930
|
* Static class for linting changeset markdown files.
|
|
1919
1931
|
*
|
|
1920
|
-
* Runs the
|
|
1921
|
-
* content-structure, uncategorized-content) against
|
|
1922
|
-
* and returns structured {@link LintMessage} diagnostics.
|
|
1932
|
+
* Runs the five remark-lint rules (heading-hierarchy, required-sections,
|
|
1933
|
+
* content-structure, dependency-table-format, uncategorized-content) against
|
|
1934
|
+
* changeset markdown and returns structured {@link LintMessage} diagnostics.
|
|
1923
1935
|
*
|
|
1924
1936
|
* @remarks
|
|
1925
1937
|
* This class implements the pre-validation layer of the three-layer
|
|
@@ -2004,7 +2016,7 @@ declare class ChangesetLinter {
|
|
|
2004
2016
|
*
|
|
2005
2017
|
* @remarks
|
|
2006
2018
|
* Reads the file synchronously, strips YAML frontmatter, and runs all
|
|
2007
|
-
*
|
|
2019
|
+
* five lint rules. The file path is preserved in each returned
|
|
2008
2020
|
* {@link LintMessage} for error reporting.
|
|
2009
2021
|
*
|
|
2010
2022
|
* @param filePath - Absolute or relative path to the changeset `.md` file
|
|
@@ -2015,7 +2027,7 @@ declare class ChangesetLinter {
|
|
|
2015
2027
|
* Validate a markdown string directly.
|
|
2016
2028
|
*
|
|
2017
2029
|
* @remarks
|
|
2018
|
-
* Strips YAML frontmatter (if present) and runs all
|
|
2030
|
+
* Strips YAML frontmatter (if present) and runs all five lint rules
|
|
2019
2031
|
* against the remaining content. This method is useful for validating
|
|
2020
2032
|
* changeset content that is already in memory, such as in test suites
|
|
2021
2033
|
* or editor integrations.
|
|
@@ -2494,6 +2506,53 @@ declare class GitError extends GitErrorBase<{
|
|
|
2494
2506
|
}> {
|
|
2495
2507
|
get message(): string;
|
|
2496
2508
|
}
|
|
2509
|
+
/**
|
|
2510
|
+
* Base class for {@link ChangesetIOError}.
|
|
2511
|
+
*
|
|
2512
|
+
* @privateRemarks
|
|
2513
|
+
* Effect's `Data.TaggedError` creates an anonymous base class that
|
|
2514
|
+
* api-extractor cannot follow without an explicit export.
|
|
2515
|
+
*
|
|
2516
|
+
* @internal
|
|
2517
|
+
*/
|
|
2518
|
+
declare const ChangesetIOErrorBase: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
|
|
2519
|
+
readonly _tag: "ChangesetIOError";
|
|
2520
|
+
} & Readonly<A>;
|
|
2521
|
+
/**
|
|
2522
|
+
* Changeset file I/O failure.
|
|
2523
|
+
*
|
|
2524
|
+
* @remarks
|
|
2525
|
+
* Raised by {@link DepsRegen} when reading, writing, listing, or deleting
|
|
2526
|
+
* `.changeset/*.md` files fails. Deletion failures during
|
|
2527
|
+
* {@link DepsRegenShape.execute} are tolerated (stale changesets are
|
|
2528
|
+
* skip-and-continue, so an interrupted run stays safely re-runnable);
|
|
2529
|
+
* read, list, and write failures are loud.
|
|
2530
|
+
*
|
|
2531
|
+
* @example
|
|
2532
|
+
* ```typescript
|
|
2533
|
+
* import { Effect } from "effect";
|
|
2534
|
+
* import { ChangesetIOError } from "@savvy-web/changesets";
|
|
2535
|
+
*
|
|
2536
|
+
* declare const program: Effect.Effect<void, ChangesetIOError>;
|
|
2537
|
+
*
|
|
2538
|
+
* const handled = program.pipe(
|
|
2539
|
+
* Effect.catchTag("ChangesetIOError", (err) =>
|
|
2540
|
+
* Effect.logError(`changeset ${err.operation} failed at ${err.path}: ${err.reason}`)
|
|
2541
|
+
* ),
|
|
2542
|
+
* );
|
|
2543
|
+
* ```
|
|
2544
|
+
*
|
|
2545
|
+
* @see {@link DepsRegen} which produces these errors during plan/execute
|
|
2546
|
+
*
|
|
2547
|
+
* @public
|
|
2548
|
+
*/
|
|
2549
|
+
declare class ChangesetIOError extends ChangesetIOErrorBase<{
|
|
2550
|
+
/** Absolute path of the file or directory the operation targeted. */readonly path: string; /** The failed operation. */
|
|
2551
|
+
readonly operation: "read" | "write" | "delete" | "list"; /** Human-readable failure reason. */
|
|
2552
|
+
readonly reason: string;
|
|
2553
|
+
}> {
|
|
2554
|
+
get message(): string;
|
|
2555
|
+
}
|
|
2497
2556
|
/**
|
|
2498
2557
|
* Base class for {@link ReleasePlanError}.
|
|
2499
2558
|
*
|
|
@@ -3480,6 +3539,246 @@ declare const ChangelogServiceBase: Context.TagClass<ChangelogService, "Changelo
|
|
|
3480
3539
|
*/
|
|
3481
3540
|
declare class ChangelogService extends ChangelogServiceBase {}
|
|
3482
3541
|
//#endregion
|
|
3542
|
+
//#region src/services/ChangesetConfig.d.ts
|
|
3543
|
+
/**
|
|
3544
|
+
* Changeset operating mode for a workspace root.
|
|
3545
|
+
* @public
|
|
3546
|
+
*/
|
|
3547
|
+
type ChangesetMode = "silk" | "vanilla" | "none";
|
|
3548
|
+
declare const ChangesetConfig_base: Context.TagClass<ChangesetConfig, "@savvy-web/silk-effects/ChangesetConfig", {
|
|
3549
|
+
readonly mode: (root: string) => Effect.Effect<ChangesetMode>;
|
|
3550
|
+
readonly versionPrivate: (root: string) => Effect.Effect<boolean>;
|
|
3551
|
+
readonly ignorePatterns: (root: string) => Effect.Effect<ReadonlyArray<string>>;
|
|
3552
|
+
readonly isIgnored: (name: string, root: string) => Effect.Effect<boolean>;
|
|
3553
|
+
readonly fixed: (root: string) => Effect.Effect<ReadonlyArray<ReadonlyArray<string>>>;
|
|
3554
|
+
}>;
|
|
3555
|
+
/**
|
|
3556
|
+
* Accessor service over a workspace root's `.changeset/config.json`.
|
|
3557
|
+
*
|
|
3558
|
+
* @remarks
|
|
3559
|
+
* Reads through {@link ChangesetConfigReader} (FileSystem-based) with a per-root cache.
|
|
3560
|
+
* Every accessor is total (error channel `never`): a missing or unreadable config collapses
|
|
3561
|
+
* to `mode: "none"` and empty/false defaults.
|
|
3562
|
+
*
|
|
3563
|
+
* @since 0.4.0
|
|
3564
|
+
* @public
|
|
3565
|
+
*/
|
|
3566
|
+
declare class ChangesetConfig extends ChangesetConfig_base {
|
|
3567
|
+
/**
|
|
3568
|
+
* The one ignore matcher: exact name match, or `@scope/*` wildcard.
|
|
3569
|
+
*
|
|
3570
|
+
* `"@scope/*"` matches `"@scope/anything"` (prefix kept includes the trailing slash),
|
|
3571
|
+
* but not the bare scope `"@scope"`.
|
|
3572
|
+
*/
|
|
3573
|
+
static matches(name: string, pattern: string): boolean;
|
|
3574
|
+
}
|
|
3575
|
+
/**
|
|
3576
|
+
* Live {@link ChangesetConfig} reading via {@link ChangesetConfigReader}, cached per root.
|
|
3577
|
+
*
|
|
3578
|
+
* @remarks
|
|
3579
|
+
* Requires `ChangesetConfigReader` (which requires `FileSystem`). Provide
|
|
3580
|
+
* `ChangesetConfigReaderLive` + a platform layer (`NodeContext.layer`).
|
|
3581
|
+
*
|
|
3582
|
+
* @since 0.4.0
|
|
3583
|
+
* @public
|
|
3584
|
+
*/
|
|
3585
|
+
declare const ChangesetConfigLive: Layer.Layer<ChangesetConfig, never, ChangesetConfigReader>;
|
|
3586
|
+
//#endregion
|
|
3587
|
+
//#region src/changesets/utils/dep-diff.d.ts
|
|
3588
|
+
/**
|
|
3589
|
+
* A workspace package's worth of dependency-table rows.
|
|
3590
|
+
*
|
|
3591
|
+
* @public
|
|
3592
|
+
*/
|
|
3593
|
+
interface WorkspaceDependencyDiff {
|
|
3594
|
+
/** The workspace package whose `package.json` changed. */
|
|
3595
|
+
readonly package: string;
|
|
3596
|
+
/** Repo-relative path of the package directory (taken from the `after` snapshot). */
|
|
3597
|
+
readonly relativePath: string;
|
|
3598
|
+
/** One row per dependency change, sorted by the existing `sortDependencyRows` convention. */
|
|
3599
|
+
readonly rows: ReadonlyArray<DependencyTableRow>;
|
|
3600
|
+
}
|
|
3601
|
+
/**
|
|
3602
|
+
* Diff two workspace snapshots and return per-package dependency-table rows,
|
|
3603
|
+
* comparing already-resolved specifier values per side.
|
|
3604
|
+
*
|
|
3605
|
+
* @param before - Snapshot at the older ref (typically the merge base). A
|
|
3606
|
+
* workspace package absent here reports every declared dep as `"added"`.
|
|
3607
|
+
* @param after - Snapshot at the newer ref (typically the working tree).
|
|
3608
|
+
* @returns One {@link WorkspaceDependencyDiff} entry per workspace package
|
|
3609
|
+
* that has at least one row. Packages with no resolved-value changes are
|
|
3610
|
+
* omitted.
|
|
3611
|
+
*
|
|
3612
|
+
* @public
|
|
3613
|
+
*/
|
|
3614
|
+
declare function computeWorkspaceDependencyDiffs(before: WorkspaceStateSnapshot, after: WorkspaceStateSnapshot): ReadonlyArray<WorkspaceDependencyDiff>;
|
|
3615
|
+
//#endregion
|
|
3616
|
+
//#region src/changesets/services/deps-regen.d.ts
|
|
3617
|
+
/**
|
|
3618
|
+
* Strict detection of "pure dependency changesets" per the documented
|
|
3619
|
+
* rules: single-package frontmatter, single `## Dependencies` heading,
|
|
3620
|
+
* no other body content beyond that section.
|
|
3621
|
+
*
|
|
3622
|
+
* @param content - Raw `.changeset/*.md` file contents.
|
|
3623
|
+
* @returns `{ isPure, package }` — `isPure` is `true` only for a
|
|
3624
|
+
* single-package, Dependencies-only changeset; `package` is the sole
|
|
3625
|
+
* frontmatter package name (or `null` when not pure).
|
|
3626
|
+
*
|
|
3627
|
+
* @public
|
|
3628
|
+
*/
|
|
3629
|
+
declare function isPureDependencyChangeset(content: string): {
|
|
3630
|
+
isPure: boolean;
|
|
3631
|
+
package: string | null;
|
|
3632
|
+
};
|
|
3633
|
+
/**
|
|
3634
|
+
* A complete, side-effect-free regen plan: which stale pure-dependency
|
|
3635
|
+
* changesets to delete, which fresh changesets to write (carrying the
|
|
3636
|
+
* already-resolved diff), and which mixed changesets were left untouched.
|
|
3637
|
+
*
|
|
3638
|
+
* @public
|
|
3639
|
+
*/
|
|
3640
|
+
interface RegenPlan {
|
|
3641
|
+
readonly toDelete: ReadonlyArray<{
|
|
3642
|
+
readonly file: string;
|
|
3643
|
+
readonly package: string;
|
|
3644
|
+
}>;
|
|
3645
|
+
readonly toWrite: ReadonlyArray<{
|
|
3646
|
+
readonly file: string;
|
|
3647
|
+
readonly package: string;
|
|
3648
|
+
readonly diff: WorkspaceDependencyDiff;
|
|
3649
|
+
}>;
|
|
3650
|
+
readonly skippedMixed: ReadonlyArray<string>;
|
|
3651
|
+
}
|
|
3652
|
+
/**
|
|
3653
|
+
* The result of applying a {@link RegenPlan}: the files actually deleted
|
|
3654
|
+
* and written, plus the mixed changesets that were skipped.
|
|
3655
|
+
*
|
|
3656
|
+
* @public
|
|
3657
|
+
*/
|
|
3658
|
+
interface RegenResult {
|
|
3659
|
+
readonly deleted: ReadonlyArray<string>;
|
|
3660
|
+
readonly written: ReadonlyArray<string>;
|
|
3661
|
+
readonly skippedMixed: ReadonlyArray<string>;
|
|
3662
|
+
}
|
|
3663
|
+
/**
|
|
3664
|
+
* Options for {@link DepsRegenShape.plan}.
|
|
3665
|
+
*
|
|
3666
|
+
* @public
|
|
3667
|
+
*/
|
|
3668
|
+
interface DepsRegenOptions {
|
|
3669
|
+
/** Project root (containing `.changeset/`). */
|
|
3670
|
+
readonly cwd: string;
|
|
3671
|
+
/** Override the base branch used to compute the merge-base when `from` is omitted. */
|
|
3672
|
+
readonly base?: string;
|
|
3673
|
+
/** Restrict regeneration to a single workspace package. */
|
|
3674
|
+
readonly package?: string;
|
|
3675
|
+
/**
|
|
3676
|
+
* When `true`, retain `devDependency` rows (the `deps detect` path);
|
|
3677
|
+
* when falsy (the `deps regen` default), drop them unconditionally.
|
|
3678
|
+
* Protocol resolution runs regardless.
|
|
3679
|
+
*/
|
|
3680
|
+
readonly includeDevDeps?: boolean;
|
|
3681
|
+
/**
|
|
3682
|
+
* Older ref to diff from. Defaults to `git merge-base <base branch> HEAD`.
|
|
3683
|
+
*/
|
|
3684
|
+
readonly from?: string;
|
|
3685
|
+
/**
|
|
3686
|
+
* Newer ref to diff to. Defaults to the working tree (staged + unstaged
|
|
3687
|
+
* + untracked) via `PointInTimeWorkspace.worktree`.
|
|
3688
|
+
*/
|
|
3689
|
+
readonly to?: string;
|
|
3690
|
+
}
|
|
3691
|
+
/**
|
|
3692
|
+
* Effect service interface for the deps regen/detect orchestration.
|
|
3693
|
+
*
|
|
3694
|
+
* @public
|
|
3695
|
+
*/
|
|
3696
|
+
interface DepsRegenShape {
|
|
3697
|
+
/**
|
|
3698
|
+
* Compute a complete {@link RegenPlan}. Read-only against the filesystem:
|
|
3699
|
+
* only inspects the existing `.changeset/*.md` files to detect
|
|
3700
|
+
* stale/mixed changesets.
|
|
3701
|
+
*
|
|
3702
|
+
* @param options - See {@link DepsRegenOptions}.
|
|
3703
|
+
* @returns An Effect yielding the plan, or failing with {@link GitError},
|
|
3704
|
+
* `WorkspaceDiscoveryError`, {@link ChangesetIOError} (an unreadable
|
|
3705
|
+
* `.changeset` directory or a genuinely unreadable changeset file list),
|
|
3706
|
+
* or `PointInTimeReadError` (a snapshot read failed for either ref).
|
|
3707
|
+
*/
|
|
3708
|
+
readonly plan: (options: DepsRegenOptions) => Effect.Effect<RegenPlan, GitError | WorkspaceDiscoveryError | ChangesetIOError | PointInTimeReadError, never>;
|
|
3709
|
+
/**
|
|
3710
|
+
* Apply a {@link RegenPlan}: write fresh changesets first, then delete
|
|
3711
|
+
* stale ones. Writes fail loudly with {@link ChangesetIOError}; deletion
|
|
3712
|
+
* failures are tolerated (skip-and-continue) so an interrupted run stays
|
|
3713
|
+
* safely re-runnable.
|
|
3714
|
+
*
|
|
3715
|
+
* @param plan - The plan produced by {@link DepsRegenShape.plan}.
|
|
3716
|
+
* @returns An Effect yielding a {@link RegenResult}.
|
|
3717
|
+
*/
|
|
3718
|
+
readonly execute: (plan: RegenPlan) => Effect.Effect<RegenResult, ChangesetIOError, never>;
|
|
3719
|
+
}
|
|
3720
|
+
/**
|
|
3721
|
+
* @internal
|
|
3722
|
+
*/
|
|
3723
|
+
declare const DepsRegenBase: Context.TagClass<DepsRegen, "Changesets/DepsRegen", DepsRegenShape>;
|
|
3724
|
+
/**
|
|
3725
|
+
* Effect service tag for {@link DepsRegenShape}.
|
|
3726
|
+
*
|
|
3727
|
+
* @example
|
|
3728
|
+
* ```typescript
|
|
3729
|
+
* import { Effect } from "effect";
|
|
3730
|
+
* import { Changesets } from "@savvy-web/silk-effects";
|
|
3731
|
+
*
|
|
3732
|
+
* const program = Effect.gen(function* () {
|
|
3733
|
+
* const svc = yield* Changesets.DepsRegen;
|
|
3734
|
+
* const plan = yield* svc.plan({ cwd: process.cwd() });
|
|
3735
|
+
* return yield* svc.execute(plan);
|
|
3736
|
+
* });
|
|
3737
|
+
* ```
|
|
3738
|
+
*
|
|
3739
|
+
* @public
|
|
3740
|
+
*/
|
|
3741
|
+
declare class DepsRegen extends DepsRegenBase {}
|
|
3742
|
+
/**
|
|
3743
|
+
* Live layer for {@link DepsRegen}.
|
|
3744
|
+
*
|
|
3745
|
+
* Requires `PointInTimeWorkspace`, `WorkspaceDiscovery`,
|
|
3746
|
+
* `PublishabilityDetector` (all from `workspaces-effect`),
|
|
3747
|
+
* {@link ConfigInspector}, {@link ChangesetConfig}, and
|
|
3748
|
+
* `FileSystem.FileSystem` (resolved once at construction and closed over by
|
|
3749
|
+
* the shape, keeping `plan`/`execute` themselves requirement-free).
|
|
3750
|
+
*
|
|
3751
|
+
* @public
|
|
3752
|
+
*/
|
|
3753
|
+
declare const DepsRegenLive: Layer.Layer<DepsRegen, never, PointInTimeWorkspace | ConfigInspector | WorkspaceDiscovery | PublishabilityDetector | ChangesetConfig | FileSystem.FileSystem>;
|
|
3754
|
+
/**
|
|
3755
|
+
* Batteries-included {@link DepsRegen} layer: silk's opinionated default
|
|
3756
|
+
* composition of the full dependency graph. Only the platform services
|
|
3757
|
+
* remain — note that {@link PointInTimeWorkspace} reads git history, so
|
|
3758
|
+
* this layer genuinely requires `CommandExecutor` in addition to
|
|
3759
|
+
* `FileSystem`/`Path`: provide a git-capable platform layer
|
|
3760
|
+
* (`NodeContext.layer`), not a bare filesystem-only layer.
|
|
3761
|
+
*
|
|
3762
|
+
* Gating uses silk's adaptive publishability detector
|
|
3763
|
+
* ({@link PublishabilityDetectorAdaptiveLive}), so the default semantics
|
|
3764
|
+
* are "versionable minus ignored" — identical to the savvy CLI and MCP
|
|
3765
|
+
* runtimes. Consumers who need to swap any dependency (test detectors,
|
|
3766
|
+
* alternate config sources) should keep composing {@link DepsRegenLive}
|
|
3767
|
+
* directly; this layer is purely additive.
|
|
3768
|
+
*
|
|
3769
|
+
* @example
|
|
3770
|
+
* ```typescript
|
|
3771
|
+
* import { NodeContext } from "@effect/platform-node";
|
|
3772
|
+
* import { Layer } from "effect";
|
|
3773
|
+
* import { Changesets } from "@savvy-web/silk-effects";
|
|
3774
|
+
*
|
|
3775
|
+
* const depsRegen = Changesets.DepsRegenDefault.pipe(Layer.provide(NodeContext.layer));
|
|
3776
|
+
* ```
|
|
3777
|
+
*
|
|
3778
|
+
* @public
|
|
3779
|
+
*/
|
|
3780
|
+
declare const DepsRegenDefault: Layer.Layer<DepsRegen, never, FileSystem.FileSystem | Path.Path | CommandExecutor.CommandExecutor>;
|
|
3781
|
+
//#endregion
|
|
3483
3782
|
//#region src/changesets/schemas/release-plan.d.ts
|
|
3484
3783
|
/** A semantic-version bump level (the `"none"` plan type is filtered out upstream). @public */
|
|
3485
3784
|
declare const BumpTypeSchema: Schema.Literal<["major", "minor", "patch"]>;
|
|
@@ -3580,8 +3879,8 @@ interface ReleasePlannerShape {
|
|
|
3580
3879
|
declare const ReleasePlannerBase: Context.TagClass<ReleasePlanner, "ReleasePlanner", ReleasePlannerShape>;
|
|
3581
3880
|
/** Effect service tag for the release planner. @public */
|
|
3582
3881
|
declare class ReleasePlanner extends ReleasePlannerBase {}
|
|
3583
|
-
/** Production layer. Requires {@link ConfigInspector} (used by `apply`)
|
|
3584
|
-
declare const ReleasePlannerLive: Layer.Layer<ReleasePlanner, never, ConfigInspector>;
|
|
3882
|
+
/** Production layer. Requires {@link ConfigInspector} (used by `apply`) and `FileSystem`. @public */
|
|
3883
|
+
declare const ReleasePlannerLive: Layer.Layer<ReleasePlanner, never, ConfigInspector | FileSystem.FileSystem>;
|
|
3585
3884
|
/**
|
|
3586
3885
|
* Test factory — supply fixed results for any subset of methods. Unsupplied
|
|
3587
3886
|
* methods fail with a `ReleasePlanError`.
|
|
@@ -3594,61 +3893,6 @@ declare function makeReleasePlannerTest(fixed: {
|
|
|
3594
3893
|
readonly apply?: AppliedRelease;
|
|
3595
3894
|
}): Layer.Layer<ReleasePlanner>;
|
|
3596
3895
|
//#endregion
|
|
3597
|
-
//#region src/changesets/services/workspace-snapshot.d.ts
|
|
3598
|
-
/**
|
|
3599
|
-
* One workspace package as it existed at a specific git ref.
|
|
3600
|
-
*
|
|
3601
|
-
* @public
|
|
3602
|
-
*/
|
|
3603
|
-
interface WorkspaceSnapshot {
|
|
3604
|
-
/** Package name from `package.json#name`. */
|
|
3605
|
-
readonly name: string;
|
|
3606
|
-
/** Repo-relative path of the package directory at this ref. */
|
|
3607
|
-
readonly relativePath: string;
|
|
3608
|
-
/** Package version from `package.json#version`. */
|
|
3609
|
-
readonly version: string;
|
|
3610
|
-
/** Declared `dependencies` (raw strings, including `workspace:` / `catalog:` protocols). */
|
|
3611
|
-
readonly dependencies: Readonly<Record<string, string>>;
|
|
3612
|
-
/** Declared `devDependencies`. */
|
|
3613
|
-
readonly devDependencies: Readonly<Record<string, string>>;
|
|
3614
|
-
/** Declared `peerDependencies`. */
|
|
3615
|
-
readonly peerDependencies: Readonly<Record<string, string>>;
|
|
3616
|
-
/** Declared `optionalDependencies`. */
|
|
3617
|
-
readonly optionalDependencies: Readonly<Record<string, string>>;
|
|
3618
|
-
}
|
|
3619
|
-
/**
|
|
3620
|
-
* Effect service interface for reading workspace snapshots.
|
|
3621
|
-
*
|
|
3622
|
-
* @public
|
|
3623
|
-
*/
|
|
3624
|
-
interface WorkspaceSnapshotReaderShape {
|
|
3625
|
-
/**
|
|
3626
|
-
* Read every workspace package's snapshot at the given git ref.
|
|
3627
|
-
*
|
|
3628
|
-
* @param cwd - Project root (must be inside a git repo)
|
|
3629
|
-
* @param ref - Any valid git revision spec — branch, tag, SHA, `HEAD~1`, etc.
|
|
3630
|
-
* @returns Effect resolving to one {@link WorkspaceSnapshot} per workspace
|
|
3631
|
-
* package present at that ref, or failing with {@link GitError}
|
|
3632
|
-
*/
|
|
3633
|
-
readonly snapshotAt: (cwd: string, ref: string) => Effect.Effect<ReadonlyArray<WorkspaceSnapshot>, GitError>;
|
|
3634
|
-
}
|
|
3635
|
-
/**
|
|
3636
|
-
* @internal
|
|
3637
|
-
*/
|
|
3638
|
-
declare const WorkspaceSnapshotReaderBase: Context.TagClass<WorkspaceSnapshotReader, "WorkspaceSnapshotReader", WorkspaceSnapshotReaderShape>;
|
|
3639
|
-
/**
|
|
3640
|
-
* Effect service tag for {@link WorkspaceSnapshotReaderShape}.
|
|
3641
|
-
*
|
|
3642
|
-
* @public
|
|
3643
|
-
*/
|
|
3644
|
-
declare class WorkspaceSnapshotReader extends WorkspaceSnapshotReaderBase {}
|
|
3645
|
-
/**
|
|
3646
|
-
* Production layer for {@link WorkspaceSnapshotReader}.
|
|
3647
|
-
*
|
|
3648
|
-
* @public
|
|
3649
|
-
*/
|
|
3650
|
-
declare const WorkspaceSnapshotReaderLive: Layer.Layer<WorkspaceSnapshotReader>;
|
|
3651
|
-
//#endregion
|
|
3652
3896
|
//#region src/changesets/schemas/changeset.d.ts
|
|
3653
3897
|
/**
|
|
3654
3898
|
* Schema for a changeset summary (1--1000 characters).
|
|
@@ -4290,34 +4534,6 @@ declare const LegacyVersionFilesSchema: Schema.Array$<Schema.Struct<{
|
|
|
4290
4534
|
package: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
4291
4535
|
}>>;
|
|
4292
4536
|
//#endregion
|
|
4293
|
-
//#region src/changesets/utils/dep-diff.d.ts
|
|
4294
|
-
/**
|
|
4295
|
-
* A workspace package's worth of dependency-table rows.
|
|
4296
|
-
*
|
|
4297
|
-
* @public
|
|
4298
|
-
*/
|
|
4299
|
-
interface WorkspaceDependencyDiff {
|
|
4300
|
-
/** The workspace package whose `package.json` changed. */
|
|
4301
|
-
readonly package: string;
|
|
4302
|
-
/** Repo-relative path of the package directory (taken from the `after` snapshot when available). */
|
|
4303
|
-
readonly relativePath: string;
|
|
4304
|
-
/** One row per dependency change, sorted by the existing `sortDependencyRows` convention. */
|
|
4305
|
-
readonly rows: ReadonlyArray<DependencyTableRow>;
|
|
4306
|
-
}
|
|
4307
|
-
/**
|
|
4308
|
-
* Diff two workspace snapshots and return per-package dependency-table rows.
|
|
4309
|
-
*
|
|
4310
|
-
* @param before - Snapshot at the older ref (typically the merge base). Pass
|
|
4311
|
-
* `null` for workspace packages that did not exist at the older ref — every
|
|
4312
|
-
* declared dep is then reported as `"added"`.
|
|
4313
|
-
* @param after - Snapshot at the newer ref (typically the working tree).
|
|
4314
|
-
* @returns One {@link WorkspaceDependencyDiff} entry per workspace package
|
|
4315
|
-
* that has at least one row. Packages with no changes are omitted.
|
|
4316
|
-
*
|
|
4317
|
-
* @public
|
|
4318
|
-
*/
|
|
4319
|
-
declare function computeWorkspaceDependencyDiffs(beforeSnapshots: ReadonlyArray<WorkspaceSnapshot>, afterSnapshots: ReadonlyArray<WorkspaceSnapshot>): ReadonlyArray<WorkspaceDependencyDiff>;
|
|
4320
|
-
//#endregion
|
|
4321
4537
|
//#region src/changesets/utils/dependency-table.d.ts
|
|
4322
4538
|
/**
|
|
4323
4539
|
* Serialize dependency table rows to a markdown table string.
|
|
@@ -4346,6 +4562,15 @@ declare function computeWorkspaceDependencyDiffs(beforeSnapshots: ReadonlyArray<
|
|
|
4346
4562
|
*/
|
|
4347
4563
|
declare function serializeDependencyTableToMarkdown(rows: DependencyTableRow[]): string;
|
|
4348
4564
|
//#endregion
|
|
4565
|
+
//#region src/changesets/utils/git.d.ts
|
|
4566
|
+
/**
|
|
4567
|
+
* Run `git merge-base <base> HEAD`, returning the SHA. Errors propagate
|
|
4568
|
+
* as {@link GitError}.
|
|
4569
|
+
*
|
|
4570
|
+
* @internal
|
|
4571
|
+
*/
|
|
4572
|
+
declare function gitMergeBase(cwd: string, base: string): Effect.Effect<string, GitError>;
|
|
4573
|
+
//#endregion
|
|
4349
4574
|
//#region src/changesets/utils/publishability.d.ts
|
|
4350
4575
|
/**
|
|
4351
4576
|
* Compute the set of currently-publishable workspace package names.
|
|
@@ -4354,12 +4579,24 @@ declare function serializeDependencyTableToMarkdown(rows: DependencyTableRow[]):
|
|
|
4354
4579
|
* Uses the currently-active {@link SilkPublishability} — wire the
|
|
4355
4580
|
* {@link SilkPublishabilityDetectorLive} layer to get silk semantics.
|
|
4356
4581
|
*
|
|
4582
|
+
* `root` is passed through verbatim to `detector.detect(pkg, root)` for every
|
|
4583
|
+
* package — it must be the project root (the directory containing
|
|
4584
|
+
* `.changeset/`), NOT the individual package's directory. The vanilla
|
|
4585
|
+
* `PublishabilityDetectorLive` and plain `SilkPublishabilityDetectorLive`
|
|
4586
|
+
* both ignore this argument, but the ignore/mode-aware
|
|
4587
|
+
* `PublishabilityDetectorAdaptiveLive` reads `.changeset/config.json`
|
|
4588
|
+
* relative to it, so passing a package subdirectory silently makes every
|
|
4589
|
+
* package resolve to "not publishable". Mirrors
|
|
4590
|
+
* {@link SilkPublishability.listPublishable}, which takes the same
|
|
4591
|
+
* single-root parameter for the same reason.
|
|
4592
|
+
*
|
|
4357
4593
|
* @param packages - The workspace packages to evaluate
|
|
4594
|
+
* @param root - Absolute path to the project root containing `.changeset/`
|
|
4358
4595
|
* @returns An Effect yielding a `Set` of publishable package names
|
|
4359
4596
|
*
|
|
4360
4597
|
* @public
|
|
4361
4598
|
*/
|
|
4362
|
-
declare function listPublishablePackageNames(packages: ReadonlyArray<WorkspacePackage
|
|
4599
|
+
declare function listPublishablePackageNames(packages: ReadonlyArray<WorkspacePackage>, root: string): Effect.Effect<ReadonlySet<string>, never, PublishabilityDetector>;
|
|
4363
4600
|
//#endregion
|
|
4364
4601
|
//#region src/changesets/utils/version-files.d.ts
|
|
4365
4602
|
/**
|
|
@@ -4566,28 +4803,6 @@ declare class VersionFiles {
|
|
|
4566
4803
|
static processResolvedVersionFiles(scopes: ReadonlyArray<ResolvedPackageScope>, dryRun?: boolean): VersionFileUpdate[];
|
|
4567
4804
|
}
|
|
4568
4805
|
//#endregion
|
|
4569
|
-
//#region src/changesets/utils/worktree-snapshot.d.ts
|
|
4570
|
-
/**
|
|
4571
|
-
* Run `git merge-base <base> HEAD`, returning the SHA. Errors propagate
|
|
4572
|
-
* as {@link GitError}.
|
|
4573
|
-
*
|
|
4574
|
-
* @internal
|
|
4575
|
-
*/
|
|
4576
|
-
declare function gitMergeBase(cwd: string, base: string): Effect.Effect<string, GitError>;
|
|
4577
|
-
/**
|
|
4578
|
-
* Read every workspace package's `package.json` from the live working
|
|
4579
|
-
* tree, returning {@link WorkspaceSnapshot} entries matching the shape
|
|
4580
|
-
* `WorkspaceSnapshotReader.snapshotAt` produces for git refs.
|
|
4581
|
-
*
|
|
4582
|
-
* @remarks
|
|
4583
|
-
* Falls back to root-only when `pnpm-workspace.yaml` is missing or
|
|
4584
|
-
* unparseable. Uses `node:fs.readdirSync` for directory expansion
|
|
4585
|
-
* (portable across platforms — `execFileSync("ls")` is not).
|
|
4586
|
-
*
|
|
4587
|
-
* @internal
|
|
4588
|
-
*/
|
|
4589
|
-
declare function snapshotFromWorktree(cwd: string): ReadonlyArray<WorkspaceSnapshot>;
|
|
4590
|
-
//#endregion
|
|
4591
4806
|
//#region ../../node_modules/.pnpm/micromark-util-types@2.0.2/node_modules/micromark-util-types/index.d.ts
|
|
4592
4807
|
/**
|
|
4593
4808
|
* Enum of allowed token types.
|
|
@@ -5262,7 +5477,7 @@ declare const RequiredSectionsRule: import("unified-lint-rule").Plugin<Root, unk
|
|
|
5262
5477
|
//#region src/changesets/remark/rules/uncategorized-content.d.ts
|
|
5263
5478
|
declare const UncategorizedContentRule: import("unified-lint-rule").Plugin<Root, unknown>;
|
|
5264
5479
|
declare namespace index_d_exports {
|
|
5265
|
-
export { AggregateDependencyTablesPlugin, AppliedRelease, AppliedReleaseEntrySchema, AppliedReleaseSchema, BranchAnalysis, BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerBase, BranchAnalyzerLive, BranchAnalyzerShape, BranchFileEntry, BranchFileEntrySchema, BumpType, BumpTypeSchema, Categories, Changelog, ChangelogService, ChangelogServiceBase, ChangelogServiceShape, ChangelogTransformer, Changeset, ChangesetLinter, ChangesetOptions, ChangesetOptionsSchema, ChangesetPreview, ChangesetPreviewSchema, ChangesetSchema, ChangesetSummarySchema, ChangesetValidationError, ChangesetValidationErrorBase, Classification, ClassificationReason, ClassificationReasonSchema, ClassificationSchema, CommitHashSchema, ConfigInspector, ConfigInspectorBase, ConfigInspectorLive, ConfigInspectorShape, ConfigurationError, ConfigurationErrorBase, ContentStructureRule, ContributorFootnotesPlugin, DeduplicateItemsPlugin, DependencyAction, DependencyActionSchema, DependencyTable, DependencyTableFormatRule, DependencyTableRow, DependencyTableRowSchema, DependencyTableSchema, DependencyTableType, DependencyTableTypeSchema, DependencyType, DependencyTypeSchema, DependencyUpdate, DependencyUpdateSchema, FileStatus, FileStatusSchema, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, GitHubCommitInfo, GitHubInfo, GitHubInfoSchema, GitHubLive, GitHubService, GitHubServiceBase, GitHubServiceShape, GlobSchema, HeadingHierarchyRule, InspectedConfig, InspectedConfigSchema, IssueLinkRefsPlugin, IssueNumberSchema, JsonPathSchema, LegacyVersionFileConfig, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, LintMessage, MarkdownLive, MarkdownParseError, MarkdownParseErrorBase, MarkdownService, MarkdownServiceBase, MarkdownServiceShape, ContentStructureRule$1 as MarkdownlintContentStructureRule, DependencyTableFormatRule$1 as MarkdownlintDependencyTableFormatRule, HeadingHierarchyRule$1 as MarkdownlintHeadingHierarchyRule, RequiredSectionsRule$1 as MarkdownlintRequiredSectionsRule, UncategorizedContentRule$1 as MarkdownlintUncategorizedContentRule, MergeSectionsPlugin, NonEmptyString, NormalizeFormatPlugin, PackageScope, PackageScopeSchema, PackagesRecordSchema, PendingChangeset, PendingChangesetSchema, PositiveInteger, PreviewRelease, PreviewReleaseSchema, ReleasePlanError, ReleasePlanErrorBase, ReleasePlanner, ReleasePlannerBase, ReleasePlannerLive, ReleasePlannerShape, ReorderSectionsPlugin, RepoSchema, RequiredSectionsRule, ResolvedPackageScope, ResolvedPackageScopeSchema, ResolvedVersionFile, ResolvedVersionFileSchema, SectionCategory, SectionCategorySchema, SilkChangesetPreset, SilkChangesetTransformPreset, SilkChangesetsRules, UncategorizedContentRule, UrlOrMarkdownLinkSchema, UsernameSchema, VersionFileConfig, VersionFileConfigSchema, VersionFileError, VersionFileErrorBase, VersionFileUpdate, VersionFileUpdateRecordSchema, VersionFiles, VersionFilesSchema, VersionOrEmptySchema, VersionType, VersionTypeSchema, WorkspaceDependencyDiff,
|
|
5480
|
+
export { AggregateDependencyTablesPlugin, AppliedRelease, AppliedReleaseEntrySchema, AppliedReleaseSchema, BranchAnalysis, BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerBase, BranchAnalyzerLive, BranchAnalyzerShape, BranchFileEntry, BranchFileEntrySchema, BumpType, BumpTypeSchema, Categories, Changelog, ChangelogService, ChangelogServiceBase, ChangelogServiceShape, ChangelogTransformer, Changeset, ChangesetIOError, ChangesetIOErrorBase, ChangesetLinter, ChangesetOptions, ChangesetOptionsSchema, ChangesetPreview, ChangesetPreviewSchema, ChangesetSchema, ChangesetSummarySchema, ChangesetValidationError, ChangesetValidationErrorBase, Classification, ClassificationReason, ClassificationReasonSchema, ClassificationSchema, CommitHashSchema, ConfigInspector, ConfigInspectorBase, ConfigInspectorLive, ConfigInspectorShape, ConfigurationError, ConfigurationErrorBase, ContentStructureRule, ContributorFootnotesPlugin, DeduplicateItemsPlugin, DependencyAction, DependencyActionSchema, DependencyTable, DependencyTableFormatRule, DependencyTableRow, DependencyTableRowSchema, DependencyTableSchema, DependencyTableType, DependencyTableTypeSchema, DependencyType, DependencyTypeSchema, DependencyUpdate, DependencyUpdateSchema, DepsRegen, DepsRegenBase, DepsRegenDefault, DepsRegenLive, DepsRegenOptions, DepsRegenShape, FileStatus, FileStatusSchema, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, GitHubCommitInfo, GitHubInfo, GitHubInfoSchema, GitHubLive, GitHubService, GitHubServiceBase, GitHubServiceShape, GlobSchema, HeadingHierarchyRule, InspectedConfig, InspectedConfigSchema, IssueLinkRefsPlugin, IssueNumberSchema, JsonPathSchema, LegacyVersionFileConfig, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, LintMessage, MarkdownLive, MarkdownParseError, MarkdownParseErrorBase, MarkdownService, MarkdownServiceBase, MarkdownServiceShape, ContentStructureRule$1 as MarkdownlintContentStructureRule, DependencyTableFormatRule$1 as MarkdownlintDependencyTableFormatRule, HeadingHierarchyRule$1 as MarkdownlintHeadingHierarchyRule, RequiredSectionsRule$1 as MarkdownlintRequiredSectionsRule, UncategorizedContentRule$1 as MarkdownlintUncategorizedContentRule, MergeSectionsPlugin, NonEmptyString, NormalizeFormatPlugin, PackageScope, PackageScopeSchema, PackagesRecordSchema, PendingChangeset, PendingChangesetSchema, PositiveInteger, PreviewRelease, PreviewReleaseSchema, RegenPlan, RegenResult, ReleasePlanError, ReleasePlanErrorBase, ReleasePlanner, ReleasePlannerBase, ReleasePlannerLive, ReleasePlannerShape, ReorderSectionsPlugin, RepoSchema, RequiredSectionsRule, ResolvedPackageScope, ResolvedPackageScopeSchema, ResolvedVersionFile, ResolvedVersionFileSchema, SectionCategory, SectionCategorySchema, SilkChangesetPreset, SilkChangesetTransformPreset, SilkChangesetsRules, UncategorizedContentRule, UrlOrMarkdownLinkSchema, UsernameSchema, VERSION_RE, VersionFileConfig, VersionFileConfigSchema, VersionFileError, VersionFileErrorBase, VersionFileUpdate, VersionFileUpdateRecordSchema, VersionFiles, VersionFilesSchema, VersionOrEmptySchema, VersionType, VersionTypeSchema, WorkspaceDependencyDiff, WorkspaceVersion, changelogFunctions, computeWorkspaceDependencyDiffs, gitMergeBase, isPureDependencyChangeset, listPublishablePackageNames, makeBranchAnalyzerTest, makeConfigInspectorTest, makeGitHubTest, makeReleasePlannerTest, serializeDependencyTableToMarkdown };
|
|
5266
5481
|
}
|
|
5267
5482
|
//#endregion
|
|
5268
5483
|
//#region src/commitlint/config/schema.d.ts
|
|
@@ -9157,51 +9372,6 @@ declare class BiomeSchemaSync extends BiomeSchemaSync_base {}
|
|
|
9157
9372
|
*/
|
|
9158
9373
|
declare const BiomeSchemaSyncLive: Layer.Layer<BiomeSchemaSync, never, FileSystem.FileSystem>;
|
|
9159
9374
|
//#endregion
|
|
9160
|
-
//#region src/services/ChangesetConfig.d.ts
|
|
9161
|
-
/**
|
|
9162
|
-
* Changeset operating mode for a workspace root.
|
|
9163
|
-
* @public
|
|
9164
|
-
*/
|
|
9165
|
-
type ChangesetMode = "silk" | "vanilla" | "none";
|
|
9166
|
-
declare const ChangesetConfig_base: Context.TagClass<ChangesetConfig, "@savvy-web/silk-effects/ChangesetConfig", {
|
|
9167
|
-
readonly mode: (root: string) => Effect.Effect<ChangesetMode>;
|
|
9168
|
-
readonly versionPrivate: (root: string) => Effect.Effect<boolean>;
|
|
9169
|
-
readonly ignorePatterns: (root: string) => Effect.Effect<ReadonlyArray<string>>;
|
|
9170
|
-
readonly isIgnored: (name: string, root: string) => Effect.Effect<boolean>;
|
|
9171
|
-
readonly fixed: (root: string) => Effect.Effect<ReadonlyArray<ReadonlyArray<string>>>;
|
|
9172
|
-
}>;
|
|
9173
|
-
/**
|
|
9174
|
-
* Accessor service over a workspace root's `.changeset/config.json`.
|
|
9175
|
-
*
|
|
9176
|
-
* @remarks
|
|
9177
|
-
* Reads through {@link ChangesetConfigReader} (FileSystem-based) with a per-root cache.
|
|
9178
|
-
* Every accessor is total (error channel `never`): a missing or unreadable config collapses
|
|
9179
|
-
* to `mode: "none"` and empty/false defaults.
|
|
9180
|
-
*
|
|
9181
|
-
* @since 0.4.0
|
|
9182
|
-
* @public
|
|
9183
|
-
*/
|
|
9184
|
-
declare class ChangesetConfig extends ChangesetConfig_base {
|
|
9185
|
-
/**
|
|
9186
|
-
* The one ignore matcher: exact name match, or `@scope/*` wildcard.
|
|
9187
|
-
*
|
|
9188
|
-
* `"@scope/*"` matches `"@scope/anything"` (prefix kept includes the trailing slash),
|
|
9189
|
-
* but not the bare scope `"@scope"`.
|
|
9190
|
-
*/
|
|
9191
|
-
static matches(name: string, pattern: string): boolean;
|
|
9192
|
-
}
|
|
9193
|
-
/**
|
|
9194
|
-
* Live {@link ChangesetConfig} reading via {@link ChangesetConfigReader}, cached per root.
|
|
9195
|
-
*
|
|
9196
|
-
* @remarks
|
|
9197
|
-
* Requires `ChangesetConfigReader` (which requires `FileSystem`). Provide
|
|
9198
|
-
* `ChangesetConfigReaderLive` + a platform layer (`NodeContext.layer`).
|
|
9199
|
-
*
|
|
9200
|
-
* @since 0.4.0
|
|
9201
|
-
* @public
|
|
9202
|
-
*/
|
|
9203
|
-
declare const ChangesetConfigLive: Layer.Layer<ChangesetConfig, never, ChangesetConfigReader>;
|
|
9204
|
-
//#endregion
|
|
9205
9375
|
//#region src/services/ConfigDiscovery.d.ts
|
|
9206
9376
|
declare const ConfigDiscovery_base: Context.TagClass<ConfigDiscovery, "@savvy-web/silk-effects/ConfigDiscovery", {
|
|
9207
9377
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@savvy-web/silk-effects",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared Effect library for Silk Suite conventions",
|
|
6
6
|
"homepage": "https://github.com/savvy-web/systems/tree/main/packages/silk-effects",
|
|
@@ -33,23 +33,23 @@
|
|
|
33
33
|
"@changesets/get-github-info": "^0.8.0",
|
|
34
34
|
"@changesets/get-release-plan": "^4.0.16",
|
|
35
35
|
"@manypkg/get-packages": "^1.1.3",
|
|
36
|
-
"jsonc-effect": "^0.
|
|
36
|
+
"jsonc-effect": "^0.3.0",
|
|
37
37
|
"mdast-util-heading-range": "^4.0.0",
|
|
38
38
|
"mdast-util-to-string": "^4.0.0",
|
|
39
39
|
"prettier": "^3.8.4",
|
|
40
40
|
"remark-gfm": "^4.0.1",
|
|
41
41
|
"remark-parse": "^11.0.0",
|
|
42
42
|
"remark-stringify": "^11.0.0",
|
|
43
|
-
"semver-effect": "^0.
|
|
43
|
+
"semver-effect": "^0.3.0",
|
|
44
44
|
"shell-quote": "^1.9.0",
|
|
45
45
|
"sort-package-json": "^4.0.0",
|
|
46
46
|
"tinyglobby": "^0.2.17",
|
|
47
47
|
"unified": "^11.0.5",
|
|
48
48
|
"unified-lint-rule": "^3.0.1",
|
|
49
49
|
"unist-util-visit": "^5.1.0",
|
|
50
|
-
"workspaces-effect": "^
|
|
50
|
+
"workspaces-effect": "^2.0.0",
|
|
51
51
|
"yaml": "^2.9.0",
|
|
52
|
-
"yaml-effect": "^0.
|
|
52
|
+
"yaml-effect": "^0.7.0",
|
|
53
53
|
"yaml-lint": "^1.7.0"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|