@savvy-web/silk-effects 7.5.2 → 8.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/changelog.js +10 -5
- package/changesets/changelog/getReleaseLine.js +2 -5
- package/changesets/changelog/index.js +39 -19
- package/changesets/index.js +5 -2
- package/changesets/utils/logger.js +47 -20
- package/index.d.ts +171 -1336
- package/index.js +2 -10
- package/lint/cli/sections.js +1 -1
- package/package.json +15 -13
- package/services/BiomeSchemaSync.js +3 -3
- package/services/ChangesetConfigReader.js +3 -4
- package/services/ConfigDiscovery.js +2 -2
- package/services/SilkPublishability.js +2 -3
- package/services/SilkWorkspaceAnalyzer.js +2 -3
- package/errors/BiomeSyncError.js +0 -22
- package/errors/ChangesetConfigError.js +0 -21
- package/errors/ConfigNotFoundError.js +0 -22
- package/errors/PublishTargetBindingError.js +0 -30
- package/errors/WorkspaceAnalysisError.js +0 -22
- package/pr-body/body.js +0 -145
- package/pr-body/diagnostics.js +0 -104
- package/pr-body/index.js +0 -22
- package/pr-body/linked-issue.js +0 -44
- package/pr-body/markers.js +0 -103
- package/pr-body/references.js +0 -157
- package/pr-body/region.js +0 -105
- package/schemas/SavvyInstallSection.js +0 -232
- package/schemas/SavvySections.js +0 -194
- package/schemas/VersioningSchemas.js +0 -87
- package/schemas/WorkspaceAnalysisSchemas.js +0 -209
- package/utils/TrailingSlash.js +0 -18
package/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnalyzedWorkspace, BiomeSyncError, BiomeSyncError as BiomeSyncError$1, BiomeSyncOptions, BiomeSyncResult, BiomeSyncResult as BiomeSyncResult$1, ChangesetConfigError, ChangesetConfigError as ChangesetConfigError$1, ChangesetConfigFile, ChangesetConfigFile as ChangesetConfigFile$1, ConfigDiscoveryOptions, ConfigLocation, ConfigLocation as ConfigLocation$1, ConfigNotFoundError, ConfigSource, LIFECYCLE_SCRIPTS_CONFIG_KEY, PrBody, PublishTargetBindingError, PublishTargetBindingError as PublishTargetBindingError$1, SavvyBaseSection, SavvyHooksSection, SavvyInstallHook, SavvyInstallSection, SavvyToolchainSection, SilkChangesetConfigFile, SilkChangesetConfigFile as SilkChangesetConfigFile$1, SilkPublishConfig, WorkspaceAnalysis, WorkspaceAnalysis as WorkspaceAnalysis$1, WorkspaceAnalysisError, WorkspaceAnalysisError as WorkspaceAnalysisError$1, publishesBuiltLinkDirectory, savvyBasePreamble, savvyHooksHygiene, savvyInstallBlock, savvyInstallDeps, savvyToolSection, savvyToolchainCheck } from "@savvy-web/silk-core";
|
|
2
|
+
import { Context, Effect, FileSystem, Layer, Path, Schema } from "effect";
|
|
2
3
|
import { Plugin } from "unified";
|
|
3
4
|
import { ChildProcessSpawner } from "effect/unstable/process";
|
|
4
|
-
import { PackageManagerDetector,
|
|
5
|
+
import { PackageManagerDetector, PublishTarget, PublishabilityDetector, WorkspaceDiscovery, WorkspaceDiscoveryFailure, WorkspacePackage, WorkspaceSnapshotAtFailure, WorkspaceSnapshotWorktreeFailure, WorkspaceSnapshots, WorkspaceStateSnapshot, WorkspacesOptions } from "@effected/workspaces";
|
|
5
6
|
import { Git } from "@effected/git";
|
|
6
7
|
import { GlobExpansionError } from "@effected/walker";
|
|
7
8
|
import * as PlatformError from "effect/PlatformError";
|
|
@@ -291,6 +292,40 @@ declare class Categories {
|
|
|
291
292
|
static isValidHeading(heading: string): boolean;
|
|
292
293
|
}
|
|
293
294
|
//#endregion
|
|
295
|
+
//#region src/changesets/utils/logger.d.ts
|
|
296
|
+
/**
|
|
297
|
+
* How changelog warnings are emitted.
|
|
298
|
+
*
|
|
299
|
+
* - `"stderr"` — `console.warn(message, ...args)` (the default).
|
|
300
|
+
* - `"github"` — a `::warning::` workflow annotation that surfaces in the
|
|
301
|
+
* GitHub Actions UI.
|
|
302
|
+
* - `"silent"` — discarded; the mode a test runner provides.
|
|
303
|
+
*
|
|
304
|
+
* @public
|
|
305
|
+
*/
|
|
306
|
+
type ChangesetLogModeValue = "silent" | "github" | "stderr";
|
|
307
|
+
/**
|
|
308
|
+
* The reference that selects the {@link ChangesetLogModeValue}.
|
|
309
|
+
*
|
|
310
|
+
* @remarks
|
|
311
|
+
* Defaults to `"stderr"` when no front end provides it, so a program that
|
|
312
|
+
* never touches the reference still reports. Provide with
|
|
313
|
+
* `Layer.succeed(ChangesetLogMode, "github")` or
|
|
314
|
+
* `Effect.provideService(ChangesetLogMode, "silent")`.
|
|
315
|
+
*
|
|
316
|
+
* @example
|
|
317
|
+
* ```typescript
|
|
318
|
+
* import { Effect } from "effect";
|
|
319
|
+
* import { Changesets } from "\@savvy-web/silk-effects";
|
|
320
|
+
*
|
|
321
|
+
* const mode = process.env.GITHUB_ACTIONS === "true" ? "github" : "stderr";
|
|
322
|
+
* program.pipe(Effect.provideService(Changesets.ChangesetLogMode, mode));
|
|
323
|
+
* ```
|
|
324
|
+
*
|
|
325
|
+
* @public
|
|
326
|
+
*/
|
|
327
|
+
declare const ChangesetLogMode: Context.Reference<ChangesetLogModeValue>;
|
|
328
|
+
//#endregion
|
|
294
329
|
//#region ../../node_modules/.pnpm/@changesets+types@7.0.0/node_modules/@changesets/types/dist/index.d.mts
|
|
295
330
|
//#region src/index.d.ts
|
|
296
331
|
type MaybePromise<T> = T | Promise<T>;
|
|
@@ -515,9 +550,12 @@ declare class Changelog {
|
|
|
515
550
|
* @param versionType - The semantic version bump type (`"major"`, `"minor"`, or `"patch"`)
|
|
516
551
|
* @param options - Configuration object; must include `repo` in `"owner/repo"` format.
|
|
517
552
|
* Pass `null` to use defaults (no GitHub link resolution).
|
|
553
|
+
* @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
|
|
554
|
+
* the host reads its own environment and passes `"github"` / `"silent"` — this
|
|
555
|
+
* engine never does. See `ChangesetLogMode`.
|
|
518
556
|
* @returns A promise resolving to the formatted markdown string
|
|
519
557
|
*/
|
|
520
|
-
static formatReleaseLine(changeset: NewChangesetWithCommit, versionType: VersionType$1, options: Record<string, unknown> | null): Promise<string>;
|
|
558
|
+
static formatReleaseLine(changeset: NewChangesetWithCommit, versionType: VersionType$1, options: Record<string, unknown> | null, logMode?: ChangesetLogModeValue): Promise<string>;
|
|
521
559
|
/**
|
|
522
560
|
* Format dependency update release lines into a markdown table.
|
|
523
561
|
*
|
|
@@ -531,10 +569,12 @@ declare class Changelog {
|
|
|
531
569
|
* old/new versions and package metadata
|
|
532
570
|
* @param options - Configuration object; must include `repo` in `"owner/repo"` format.
|
|
533
571
|
* Pass `null` to use defaults.
|
|
572
|
+
* @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
|
|
573
|
+
* see {@link Changelog.formatReleaseLine}.
|
|
534
574
|
* @returns A promise resolving to the formatted markdown string containing
|
|
535
575
|
* the dependency update table
|
|
536
576
|
*/
|
|
537
|
-
static formatDependencyReleaseLine(changesets: NewChangesetWithCommit[], dependenciesUpdated: ModCompWithPackage[], options: Record<string, unknown> | null): Promise<string>;
|
|
577
|
+
static formatDependencyReleaseLine(changesets: NewChangesetWithCommit[], dependenciesUpdated: ModCompWithPackage[], options: Record<string, unknown> | null, logMode?: ChangesetLogModeValue): Promise<string>;
|
|
538
578
|
}
|
|
539
579
|
//#endregion
|
|
540
580
|
//#region ../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
|
|
@@ -2337,12 +2377,43 @@ declare class ChangelogTransformer {
|
|
|
2337
2377
|
//#endregion
|
|
2338
2378
|
//#region src/changesets/changelog/index.d.ts
|
|
2339
2379
|
/**
|
|
2340
|
-
*
|
|
2380
|
+
* Options for {@link makeChangelogFunctions}.
|
|
2381
|
+
*
|
|
2382
|
+
* @public
|
|
2383
|
+
*/
|
|
2384
|
+
interface MakeChangelogFunctionsOptions {
|
|
2385
|
+
/**
|
|
2386
|
+
* How warnings are emitted. Omit to leave the {@link ChangesetLogMode}
|
|
2387
|
+
* default (`"stderr"`) in force.
|
|
2388
|
+
*/
|
|
2389
|
+
readonly logMode?: ChangesetLogModeValue | undefined;
|
|
2390
|
+
}
|
|
2391
|
+
/**
|
|
2392
|
+
* Build a Changesets `ChangelogFunctions` implementation bound to a warning
|
|
2393
|
+
* mode.
|
|
2394
|
+
*
|
|
2395
|
+
* @remarks
|
|
2396
|
+
* This module is engine code and reads no environment; the host that installs
|
|
2397
|
+
* the functions (the `\@savvy-web/changelog` package under the changesets CLI)
|
|
2398
|
+
* decides the mode from its own `process.env` and passes it here. Each method
|
|
2399
|
+
* validates options, runs the corresponding Effect program with the merged
|
|
2400
|
+
* service layer and the chosen {@link ChangesetLogMode}, and returns a
|
|
2401
|
+
* `Promise<string>`.
|
|
2402
|
+
*
|
|
2403
|
+
* @param options - The warning mode to provide
|
|
2404
|
+
* @returns A `ChangelogFunctions` object for `.changeset/config.json`
|
|
2405
|
+
*
|
|
2406
|
+
* @public
|
|
2407
|
+
*/
|
|
2408
|
+
declare function makeChangelogFunctions(options?: MakeChangelogFunctionsOptions): ChangelogFunctions;
|
|
2409
|
+
/**
|
|
2410
|
+
* Changesets API `ChangelogFunctions` implementation with the default warning
|
|
2411
|
+
* mode (`"stderr"`).
|
|
2341
2412
|
*
|
|
2342
|
-
*
|
|
2343
|
-
*
|
|
2344
|
-
*
|
|
2345
|
-
*
|
|
2413
|
+
* @remarks
|
|
2414
|
+
* Equivalent to `makeChangelogFunctions()`. A host that runs under GitHub
|
|
2415
|
+
* Actions or a test runner should call {@link makeChangelogFunctions} with the
|
|
2416
|
+
* mode it detects instead.
|
|
2346
2417
|
*
|
|
2347
2418
|
* @internal
|
|
2348
2419
|
*/
|
|
@@ -2791,104 +2862,6 @@ declare class ReleasePlanError extends ReleasePlanErrorBase<{
|
|
|
2791
2862
|
get message(): string;
|
|
2792
2863
|
}
|
|
2793
2864
|
//#endregion
|
|
2794
|
-
//#region src/errors/ChangesetConfigError.d.ts
|
|
2795
|
-
declare const ChangesetConfigError_base: 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 & {
|
|
2796
|
-
readonly _tag: "ChangesetConfigError";
|
|
2797
|
-
} & Readonly<A>;
|
|
2798
|
-
/**
|
|
2799
|
-
* Raised when the `.changeset/config.json` file cannot be read or decoded.
|
|
2800
|
-
*
|
|
2801
|
-
* @remarks
|
|
2802
|
-
* Returned by `ChangesetConfigReader.read` when the file is missing,
|
|
2803
|
-
* contains invalid JSON, or fails Effect Schema validation.
|
|
2804
|
-
*
|
|
2805
|
-
* @since 0.1.0
|
|
2806
|
-
* @public
|
|
2807
|
-
*/
|
|
2808
|
-
export declare class ChangesetConfigError extends ChangesetConfigError_base<{
|
|
2809
|
-
readonly path: string;
|
|
2810
|
-
readonly reason: string;
|
|
2811
|
-
}> {
|
|
2812
|
-
get message(): string;
|
|
2813
|
-
}
|
|
2814
|
-
//#endregion
|
|
2815
|
-
//#region src/schemas/VersioningSchemas.d.ts
|
|
2816
|
-
/**
|
|
2817
|
-
* Standard changesets configuration matching the `@changesets/config@4.0.0` spec.
|
|
2818
|
-
*
|
|
2819
|
-
* @remarks
|
|
2820
|
-
* Represents the parsed `.changeset/config.json` file. All fields are optional
|
|
2821
|
-
* to allow partial configs. Use {@link (SilkChangesetConfigFile:type)} when the Silk changelog
|
|
2822
|
-
* adapter is detected.
|
|
2823
|
-
*
|
|
2824
|
-
* @since 0.1.0
|
|
2825
|
-
*/
|
|
2826
|
-
/** @public */
|
|
2827
|
-
declare const ChangesetConfigFile: Schema.Struct<{
|
|
2828
|
-
readonly changelog: Schema.optional<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Unknown>, Schema.Literal<false>]>>;
|
|
2829
|
-
readonly commit: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.String, Schema.$Array<Schema.Unknown>]>>;
|
|
2830
|
-
readonly fixed: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
2831
|
-
readonly linked: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
2832
|
-
readonly access: Schema.optional<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
2833
|
-
readonly baseBranch: Schema.optional<Schema.String>;
|
|
2834
|
-
readonly updateInternalDependencies: Schema.optional<Schema.Literals<readonly ["patch", "minor", "major"]>>;
|
|
2835
|
-
readonly ignore: Schema.optional<Schema.$Array<Schema.String>>;
|
|
2836
|
-
readonly privatePackages: Schema.optional<Schema.Union<readonly [Schema.Struct<{
|
|
2837
|
-
readonly tag: Schema.optional<Schema.Boolean>;
|
|
2838
|
-
readonly version: Schema.optional<Schema.Boolean>;
|
|
2839
|
-
}>, Schema.Literal<false>]>>;
|
|
2840
|
-
readonly prettier: Schema.optional<Schema.Boolean>;
|
|
2841
|
-
readonly changedFilePatterns: Schema.optional<Schema.$Array<Schema.String>>;
|
|
2842
|
-
readonly bumpVersionsWithWorkspaceProtocolOnly: Schema.optional<Schema.Boolean>;
|
|
2843
|
-
readonly snapshot: Schema.optional<Schema.Struct<{
|
|
2844
|
-
readonly useCalculatedVersion: Schema.optional<Schema.Boolean>;
|
|
2845
|
-
readonly prereleaseTemplate: Schema.optional<Schema.String>;
|
|
2846
|
-
}>>;
|
|
2847
|
-
}>;
|
|
2848
|
-
/**
|
|
2849
|
-
* @since 0.1.0
|
|
2850
|
-
* @public
|
|
2851
|
-
*/
|
|
2852
|
-
type ChangesetConfigFile = typeof ChangesetConfigFile.Type;
|
|
2853
|
-
/**
|
|
2854
|
-
* Extended changeset config for repos using the `@savvy-web/changesets` changelog adapter.
|
|
2855
|
-
*
|
|
2856
|
-
* @remarks
|
|
2857
|
-
* Extends {@link (ChangesetConfigFile:type)} with a `_isSilk` marker flag that is automatically
|
|
2858
|
-
* set to `true`. Detected by {@link ChangesetConfigReader} when the `changelog` field
|
|
2859
|
-
* references `@savvy-web/changesets`.
|
|
2860
|
-
*
|
|
2861
|
-
* @since 0.1.0
|
|
2862
|
-
*/
|
|
2863
|
-
/** @public */
|
|
2864
|
-
declare const SilkChangesetConfigFile: Schema.Struct<{
|
|
2865
|
-
readonly changelog: Schema.optional<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Unknown>, Schema.Literal<false>]>>;
|
|
2866
|
-
readonly commit: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.String, Schema.$Array<Schema.Unknown>]>>;
|
|
2867
|
-
readonly fixed: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
2868
|
-
readonly linked: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
2869
|
-
readonly access: Schema.optional<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
2870
|
-
readonly baseBranch: Schema.optional<Schema.String>;
|
|
2871
|
-
readonly updateInternalDependencies: Schema.optional<Schema.Literals<readonly ["patch", "minor", "major"]>>;
|
|
2872
|
-
readonly ignore: Schema.optional<Schema.$Array<Schema.String>>;
|
|
2873
|
-
readonly privatePackages: Schema.optional<Schema.Union<readonly [Schema.Struct<{
|
|
2874
|
-
readonly tag: Schema.optional<Schema.Boolean>;
|
|
2875
|
-
readonly version: Schema.optional<Schema.Boolean>;
|
|
2876
|
-
}>, Schema.Literal<false>]>>;
|
|
2877
|
-
readonly prettier: Schema.optional<Schema.Boolean>;
|
|
2878
|
-
readonly changedFilePatterns: Schema.optional<Schema.$Array<Schema.String>>;
|
|
2879
|
-
readonly bumpVersionsWithWorkspaceProtocolOnly: Schema.optional<Schema.Boolean>;
|
|
2880
|
-
readonly snapshot: Schema.optional<Schema.Struct<{
|
|
2881
|
-
readonly useCalculatedVersion: Schema.optional<Schema.Boolean>;
|
|
2882
|
-
readonly prereleaseTemplate: Schema.optional<Schema.String>;
|
|
2883
|
-
}>>;
|
|
2884
|
-
readonly _isSilk: Schema.withConstructorDefault<Schema.withDecodingDefaultType<Schema.Boolean, never>>;
|
|
2885
|
-
}>;
|
|
2886
|
-
/**
|
|
2887
|
-
* @since 0.1.0
|
|
2888
|
-
* @public
|
|
2889
|
-
*/
|
|
2890
|
-
type SilkChangesetConfigFile = typeof SilkChangesetConfigFile.Type;
|
|
2891
|
-
//#endregion
|
|
2892
2865
|
//#region src/services/ChangesetConfigReader.d.ts
|
|
2893
2866
|
/**
|
|
2894
2867
|
* The {@link ChangesetConfigReader} service shape.
|
|
@@ -2901,11 +2874,11 @@ interface ChangesetConfigReaderShape {
|
|
|
2901
2874
|
* Read and decode `.changeset/config.json` from the given workspace root.
|
|
2902
2875
|
*
|
|
2903
2876
|
* @param root - Absolute path to the workspace root containing the `.changeset/` directory.
|
|
2904
|
-
* @returns An `Effect` that succeeds with the decoded config or fails with
|
|
2877
|
+
* @returns An `Effect` that succeeds with the decoded config or fails with `ChangesetConfigError`.
|
|
2905
2878
|
*
|
|
2906
2879
|
* @since 0.1.0
|
|
2907
2880
|
*/
|
|
2908
|
-
readonly read: (root: string) => Effect.Effect<ChangesetConfigFile | SilkChangesetConfigFile, ChangesetConfigError>;
|
|
2881
|
+
readonly read: (root: string) => Effect.Effect<ChangesetConfigFile$1 | SilkChangesetConfigFile$1, ChangesetConfigError$1>;
|
|
2909
2882
|
}
|
|
2910
2883
|
declare const ChangesetConfigReader_base: Context.ServiceClass<ChangesetConfigReader, "@savvy-web/silk-effects/ChangesetConfigReader", ChangesetConfigReaderShape>;
|
|
2911
2884
|
/**
|
|
@@ -2913,8 +2886,8 @@ declare const ChangesetConfigReader_base: Context.ServiceClass<ChangesetConfigRe
|
|
|
2913
2886
|
*
|
|
2914
2887
|
* @remarks
|
|
2915
2888
|
* Automatically detects whether the config uses the Silk changelog adapter
|
|
2916
|
-
* (`@savvy-web/changesets`) and decodes as
|
|
2917
|
-
* standard
|
|
2889
|
+
* (`@savvy-web/changesets`) and decodes as `SilkChangesetConfigFile` or the
|
|
2890
|
+
* standard `ChangesetConfigFile` accordingly.
|
|
2918
2891
|
*
|
|
2919
2892
|
* @example
|
|
2920
2893
|
* ```typescript
|
|
@@ -5856,7 +5829,7 @@ declare const RequiredSectionsRule: import("unified-lint-rule").Plugin<Root, unk
|
|
|
5856
5829
|
//#region src/changesets/remark/rules/uncategorized-content.d.ts
|
|
5857
5830
|
declare const UncategorizedContentRule: import("unified-lint-rule").Plugin<Root, unknown>;
|
|
5858
5831
|
declare namespace index_d_exports {
|
|
5859
|
-
export { AggregateDependencyTablesPlugin, AppliedRelease, AppliedReleaseEntrySchema, AppliedReleaseSchema, BranchAnalysis, BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerShape, BranchFileEntry, BranchFileEntrySchema, BumpType, BumpTypeSchema, Categories, Changelog, ChangelogService, ChangelogServiceShape, ChangelogTransformer, Changeset, ChangesetIOError, ChangesetLinter, ChangesetOptions, ChangesetOptionsSchema, ChangesetPreview, ChangesetPreviewSchema, ChangesetSchema, ChangesetSummarySchema, ChangesetValidationError, Classification, ClassificationReason, ClassificationReasonSchema, ClassificationSchema, CoexistingChangeset, CoexistingChangesetSchema, CommitHashSchema, ConfigInspector, ConfigInspectorShape, ConfigurationError, ContentStructureRule, ContributorFootnotesPlugin, DeduplicateItemsPlugin, DependencyAction, DependencyActionSchema, DependencyTable, DependencyTableFormatRule, DependencyTableRow, DependencyTableRowSchema, DependencyTableSchema, DependencyTableType, DependencyTableTypeSchema, DependencyType, DependencyTypeSchema, DependencyUpdate, DependencyUpdateSchema, DepsRegen, DepsRegenDefault, DepsRegenOptions, DepsRegenPlanError, DepsRegenShape, FileStatus, FileStatusSchema, GitError, GitHubApiError, GitHubCommitInfo, GitHubInfo, GitHubInfoSchema, GitHubService, GitHubServiceShape, GlobSchema, HeadingHierarchyRule, InspectedConfig, InspectedConfigSchema, IssueLinkRefsPlugin, IssueNumberSchema, JsonPathSchema, LegacyVersionFileConfig, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, LintMessage, MaintenanceNoteOptions, MaintenanceNotePlugin, MaintenanceReason, MaintenanceReasonSchema, MaintenanceTrigger, MaintenanceTriggerSchema, MarkdownParseError, 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, RegenDiffRow, RegenDiffRowSchema, RegenPlan, RegenPlanSchema, RegenResult, RegenResultSchema, ReleasePlanError, ReleasePlanner, ReleasePlannerShape, ReorderSectionsPlugin, RepoSchema, RequiredSectionsRule, ResolvedPackageScope, ResolvedPackageScopeSchema, ResolvedVersionFile, ResolvedVersionFileSchema, SectionCategory, SectionCategorySchema, SilkChangesetPreset, SilkChangesetTransformPreset, SilkChangesetsRules, TransformOptions, UncategorizedContentRule, UrlOrMarkdownLinkSchema, UsernameSchema, VERSION_RE, VersionFileConfig, VersionFileConfigSchema, VersionFileError, VersionFileUpdate, VersionFileUpdateRecordSchema, VersionFiles, VersionFilesSchema, VersionOrEmptySchema, VersionType, VersionTypeSchema, WorkspaceDependencyDiff, WorkspaceVersion, changelogFunctions, computeWorkspaceDependencyDiffs, deriveMaintenanceReason, gitMergeBase, isPureDependencyChangeset, listPublishablePackageNames, makeBranchAnalyzerTest, makeConfigInspectorTest, makeDepsRegenDefault, makeGitHubTest, makeReleasePlannerTest, parseChangesetPackages, serializeDependencyTableToMarkdown, vanillaChangelogFunctions };
|
|
5832
|
+
export { AggregateDependencyTablesPlugin, AppliedRelease, AppliedReleaseEntrySchema, AppliedReleaseSchema, BranchAnalysis, BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerShape, BranchFileEntry, BranchFileEntrySchema, BumpType, BumpTypeSchema, Categories, Changelog, ChangelogService, ChangelogServiceShape, ChangelogTransformer, Changeset, ChangesetIOError, ChangesetLinter, ChangesetLogMode, ChangesetLogModeValue, ChangesetOptions, ChangesetOptionsSchema, ChangesetPreview, ChangesetPreviewSchema, ChangesetSchema, ChangesetSummarySchema, ChangesetValidationError, Classification, ClassificationReason, ClassificationReasonSchema, ClassificationSchema, CoexistingChangeset, CoexistingChangesetSchema, CommitHashSchema, ConfigInspector, ConfigInspectorShape, ConfigurationError, ContentStructureRule, ContributorFootnotesPlugin, DeduplicateItemsPlugin, DependencyAction, DependencyActionSchema, DependencyTable, DependencyTableFormatRule, DependencyTableRow, DependencyTableRowSchema, DependencyTableSchema, DependencyTableType, DependencyTableTypeSchema, DependencyType, DependencyTypeSchema, DependencyUpdate, DependencyUpdateSchema, DepsRegen, DepsRegenDefault, DepsRegenOptions, DepsRegenPlanError, DepsRegenShape, FileStatus, FileStatusSchema, GitError, GitHubApiError, GitHubCommitInfo, GitHubInfo, GitHubInfoSchema, GitHubService, GitHubServiceShape, GlobSchema, HeadingHierarchyRule, InspectedConfig, InspectedConfigSchema, IssueLinkRefsPlugin, IssueNumberSchema, JsonPathSchema, LegacyVersionFileConfig, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, LintMessage, MaintenanceNoteOptions, MaintenanceNotePlugin, MaintenanceReason, MaintenanceReasonSchema, MaintenanceTrigger, MaintenanceTriggerSchema, MakeChangelogFunctionsOptions, MarkdownParseError, 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, RegenDiffRow, RegenDiffRowSchema, RegenPlan, RegenPlanSchema, RegenResult, RegenResultSchema, ReleasePlanError, ReleasePlanner, ReleasePlannerShape, ReorderSectionsPlugin, RepoSchema, RequiredSectionsRule, ResolvedPackageScope, ResolvedPackageScopeSchema, ResolvedVersionFile, ResolvedVersionFileSchema, SectionCategory, SectionCategorySchema, SilkChangesetPreset, SilkChangesetTransformPreset, SilkChangesetsRules, TransformOptions, UncategorizedContentRule, UrlOrMarkdownLinkSchema, UsernameSchema, VERSION_RE, VersionFileConfig, VersionFileConfigSchema, VersionFileError, VersionFileUpdate, VersionFileUpdateRecordSchema, VersionFiles, VersionFilesSchema, VersionOrEmptySchema, VersionType, VersionTypeSchema, WorkspaceDependencyDiff, WorkspaceVersion, changelogFunctions, computeWorkspaceDependencyDiffs, deriveMaintenanceReason, gitMergeBase, isPureDependencyChangeset, listPublishablePackageNames, makeBranchAnalyzerTest, makeChangelogFunctions, makeConfigInspectorTest, makeDepsRegenDefault, makeGitHubTest, makeReleasePlannerTest, parseChangesetPackages, serializeDependencyTableToMarkdown, vanillaChangelogFunctions };
|
|
5860
5833
|
}
|
|
5861
5834
|
//#endregion
|
|
5862
5835
|
//#region src/commitlint/config/schema.d.ts
|
|
@@ -6796,106 +6769,6 @@ declare class CommitlintConfig {
|
|
|
6796
6769
|
private constructor();
|
|
6797
6770
|
}
|
|
6798
6771
|
//#endregion
|
|
6799
|
-
//#region src/errors/BiomeSyncError.d.ts
|
|
6800
|
-
declare const BiomeSyncError_base: 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 & {
|
|
6801
|
-
readonly _tag: "BiomeSyncError";
|
|
6802
|
-
} & Readonly<A>;
|
|
6803
|
-
/**
|
|
6804
|
-
* Raised when a Biome config file cannot be read or its `$schema` URL cannot be updated.
|
|
6805
|
-
*
|
|
6806
|
-
* @remarks
|
|
6807
|
-
* Returned by `BiomeSchemaSync.sync` and `BiomeSchemaSync.check` when
|
|
6808
|
-
* a `biome.json` or `biome.jsonc` file exists but cannot be read, contains invalid JSON,
|
|
6809
|
-
* or cannot be written back to disk.
|
|
6810
|
-
*
|
|
6811
|
-
* @since 0.1.0
|
|
6812
|
-
* @public
|
|
6813
|
-
*/
|
|
6814
|
-
export declare class BiomeSyncError extends BiomeSyncError_base<{
|
|
6815
|
-
readonly path: string;
|
|
6816
|
-
readonly reason: string;
|
|
6817
|
-
}> {
|
|
6818
|
-
get message(): string;
|
|
6819
|
-
}
|
|
6820
|
-
//#endregion
|
|
6821
|
-
//#region src/errors/ConfigNotFoundError.d.ts
|
|
6822
|
-
declare const ConfigNotFoundError_base: 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 & {
|
|
6823
|
-
readonly _tag: "ConfigNotFoundError";
|
|
6824
|
-
} & Readonly<A>;
|
|
6825
|
-
/**
|
|
6826
|
-
* Raised when a config file cannot be located in any of the expected locations.
|
|
6827
|
-
*
|
|
6828
|
-
* @remarks
|
|
6829
|
-
* Returned by consumers that require a config file to exist. `ConfigDiscovery.find`
|
|
6830
|
-
* itself returns `null` instead of failing — callers that need a hard failure should
|
|
6831
|
-
* map `null` to this error.
|
|
6832
|
-
*
|
|
6833
|
-
* @since 0.1.0
|
|
6834
|
-
* @public
|
|
6835
|
-
*/
|
|
6836
|
-
export declare class ConfigNotFoundError extends ConfigNotFoundError_base<{
|
|
6837
|
-
readonly name: string;
|
|
6838
|
-
readonly searchedPaths: ReadonlyArray<string>;
|
|
6839
|
-
}> {
|
|
6840
|
-
get message(): string;
|
|
6841
|
-
}
|
|
6842
|
-
//#endregion
|
|
6843
|
-
//#region src/errors/PublishTargetBindingError.d.ts
|
|
6844
|
-
declare const PublishTargetBindingError_base: 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 & {
|
|
6845
|
-
readonly _tag: "PublishTargetBindingError";
|
|
6846
|
-
} & Readonly<A>;
|
|
6847
|
-
/**
|
|
6848
|
-
* Raised when publishability detection selects a directory that the package's
|
|
6849
|
-
* `dist/prod/targets.json` binding does not describe.
|
|
6850
|
-
*
|
|
6851
|
-
* @remarks
|
|
6852
|
-
* The bundler's prod build writes `targets.json` naming every byte-group
|
|
6853
|
-
* directory it produced. Once that binding exists it is authoritative: the only
|
|
6854
|
-
* directories whose bytes may be published are the ones it lists. A detector
|
|
6855
|
-
* that returns anything else — most often `publishConfig.directory` pointing at
|
|
6856
|
-
* a **dev** build, because silk mode was misdetected — is about to pack an
|
|
6857
|
-
* unresolved workspace manifest and ship it to a registry.
|
|
6858
|
-
*
|
|
6859
|
-
* That is the `yaml-effect@0.7.1` failure: detection picked `dist/dev/pkg`, the
|
|
6860
|
-
* dev manifest still carried `catalog:` specifiers, and the published package
|
|
6861
|
-
* was uninstallable (`EUNSUPPORTEDPROTOCOL`).
|
|
6862
|
-
*
|
|
6863
|
-
* @since 3.1.0
|
|
6864
|
-
* @public
|
|
6865
|
-
*/
|
|
6866
|
-
export declare class PublishTargetBindingError extends PublishTargetBindingError_base<{
|
|
6867
|
-
/** The package whose targets were being resolved. */
|
|
6868
|
-
readonly pkg: string;
|
|
6869
|
-
/** The directory detection selected, relative to the package root. */
|
|
6870
|
-
readonly directory: string;
|
|
6871
|
-
/** The group directories the prod binding actually describes. */
|
|
6872
|
-
readonly boundDirectories: ReadonlyArray<string>;
|
|
6873
|
-
}> {
|
|
6874
|
-
get message(): string;
|
|
6875
|
-
}
|
|
6876
|
-
//#endregion
|
|
6877
|
-
//#region src/errors/WorkspaceAnalysisError.d.ts
|
|
6878
|
-
declare const WorkspaceAnalysisError_base: 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 & {
|
|
6879
|
-
readonly _tag: "WorkspaceAnalysisError";
|
|
6880
|
-
} & Readonly<A>;
|
|
6881
|
-
/**
|
|
6882
|
-
* Raised when workspace analysis fails for a given root directory.
|
|
6883
|
-
*
|
|
6884
|
-
* @remarks
|
|
6885
|
-
* Returned by `SilkWorkspaceAnalyzer.analyze` when the analysis pipeline
|
|
6886
|
-
* encounters an unrecoverable error — e.g. workspace discovery failure,
|
|
6887
|
-
* package manager detection failure, or publishability detection errors.
|
|
6888
|
-
*
|
|
6889
|
-
* @since 0.2.0
|
|
6890
|
-
* @public
|
|
6891
|
-
*/
|
|
6892
|
-
export declare class WorkspaceAnalysisError extends WorkspaceAnalysisError_base<{
|
|
6893
|
-
readonly root: string;
|
|
6894
|
-
readonly reason: string;
|
|
6895
|
-
}> {
|
|
6896
|
-
get message(): string;
|
|
6897
|
-
}
|
|
6898
|
-
//#endregion
|
|
6899
6772
|
//#region src/lint/types.d.ts
|
|
6900
6773
|
/**
|
|
6901
6774
|
* A lint-staged handler function.
|
|
@@ -8471,606 +8344,74 @@ declare namespace index_d_exports$2 {
|
|
|
8471
8344
|
export { BaseHandlerOptions, Biome, BiomeOptions, Command, CreateConfigOptions, DEFAULT_CONFIG_PATH, Filter, HUSKY_HOOK_PATH, Handler, LegacySavvyLintHygieneDef, LintStagedConfig, LintStagedEntry, LintStagedHandler, MARKDOWNLINT_CONFIG, MARKDOWNLINT_CONFIG_PATH, MARKDOWNLINT_SCHEMA, MARKDOWNLINT_TEMPLATE, Markdown, MarkdownOptions, POST_CHECKOUT_HOOK_PATH, POST_COMMIT_HOOK_PATH, POST_MERGE_HOOK_PATH, PackageJson, PackageJsonOptions, PackageManager, PnpmWorkspace, PnpmWorkspaceContent, PnpmWorkspaceOptions, Preset, PresetExtendOptions, PresetType, SavvyLintSectionDef, ShellScripts, ShellScriptsOptions, ToolSearchResult, TypeScript, TypeScriptCompiler, TypeScriptOptions, WorkspacePackageInfo, Yaml, YamlOptions, createConfig, generateManagedContent, getWorkspacePackagePaths, getWorkspacePackages, getWorkspaceRoot, isWorkspacePackagePath, resetWorkspaceCache, savvyLintBlock };
|
|
8472
8345
|
}
|
|
8473
8346
|
//#endregion
|
|
8474
|
-
//#region src/
|
|
8475
|
-
declare const LinkedIssueRef_base: Schema.Class<LinkedIssueRef, Schema.Struct<{
|
|
8476
|
-
readonly number: Schema.Number;
|
|
8477
|
-
readonly title: Schema.String;
|
|
8478
|
-
readonly state: Schema.String;
|
|
8479
|
-
}>, {}>;
|
|
8347
|
+
//#region src/repos/constants.d.ts
|
|
8480
8348
|
/**
|
|
8481
|
-
*
|
|
8482
|
-
*
|
|
8483
|
-
* @remarks
|
|
8484
|
-
* `state` is deliberately a tolerant `Schema.String` rather than a literal
|
|
8485
|
-
* union: GitHub's REST API reports `"open"`/`"closed"` while GraphQL reports
|
|
8486
|
-
* `"OPEN"`/`"CLOSED"`, and both actions pass their existing issue shapes
|
|
8487
|
-
* through unchanged. **`LinkedIssueRef.isClosed` is the ONLY sanctioned way
|
|
8488
|
-
* to test closedness** — it lowercases before comparing, so both spellings
|
|
8489
|
-
* classify correctly. A hand-written `issue.state === "closed"` comparison
|
|
8490
|
-
* silently misclassifies GraphQL's `"CLOSED"` as open, which re-links (and on
|
|
8491
|
-
* merge auto-closes) an issue the release deliberately dropped.
|
|
8492
|
-
*
|
|
8493
|
-
* The class carries no instance members, so a plain
|
|
8494
|
-
* `{ number, title, state }` literal satisfies the type structurally — both
|
|
8495
|
-
* actions' existing `LinkedIssue` shapes are accepted without mapping.
|
|
8496
|
-
*
|
|
8349
|
+
* Directory vendored reference repos live under, relative to the repo root.
|
|
8497
8350
|
* @public
|
|
8498
8351
|
*/
|
|
8499
|
-
declare
|
|
8500
|
-
/**
|
|
8501
|
-
* Whether an issue is closed, case-insensitively.
|
|
8502
|
-
*
|
|
8503
|
-
* @remarks
|
|
8504
|
-
* The only sanctioned closedness test — see the class remarks for why a
|
|
8505
|
-
* bare `state === "closed"` comparison is a silent bug against GraphQL
|
|
8506
|
-
* payloads.
|
|
8507
|
-
*
|
|
8508
|
-
* @public
|
|
8509
|
-
*/
|
|
8510
|
-
static isClosed(issue: {
|
|
8511
|
-
readonly state: string;
|
|
8512
|
-
}): boolean;
|
|
8513
|
-
}
|
|
8514
|
-
//#endregion
|
|
8515
|
-
//#region src/pr-body/body.d.ts
|
|
8352
|
+
declare const REPOS_DIR = ".repos";
|
|
8516
8353
|
/**
|
|
8517
|
-
*
|
|
8518
|
-
*
|
|
8354
|
+
* Path of the committed vendored-repos manifest, relative to the repo root.
|
|
8519
8355
|
* @public
|
|
8520
8356
|
*/
|
|
8521
|
-
|
|
8522
|
-
/** The proposed squash-commit subject — a conventional-commit header. */
|
|
8523
|
-
readonly subject: string;
|
|
8524
|
-
/**
|
|
8525
|
-
* Every issue this run knows about, open AND closed.
|
|
8526
|
-
*
|
|
8527
|
-
* @remarks
|
|
8528
|
-
* The run decides every issue it knows about: an open issue is emitted, a
|
|
8529
|
-
* closed one is dropped, and a carried line cannot resurrect one it
|
|
8530
|
-
* deliberately dropped. Closedness is tested with
|
|
8531
|
-
* `LinkedIssueRef.isClosed` (case-insensitive), so REST and GraphQL
|
|
8532
|
-
* payloads both classify correctly.
|
|
8533
|
-
*/
|
|
8534
|
-
readonly linkedIssues: ReadonlyArray<LinkedIssueRef>;
|
|
8535
|
-
/** The DCO signoff line the squash-commit block carries. */
|
|
8536
|
-
readonly signoff: string;
|
|
8537
|
-
/**
|
|
8538
|
-
* The summary region's current content, from
|
|
8539
|
-
* {@link ManagedPrBody.extractSummary}.
|
|
8540
|
-
*
|
|
8541
|
-
* @remarks
|
|
8542
|
-
* Passed in rather than read from `priorBody` so `build` stays explicit
|
|
8543
|
-
* about it: the summary's owner decides what it says, and this function
|
|
8544
|
-
* must not quietly overrule a caller that passed one. `""` reserves an
|
|
8545
|
-
* empty region.
|
|
8546
|
-
*/
|
|
8547
|
-
readonly summary: string;
|
|
8548
|
-
/**
|
|
8549
|
-
* The PR's previous description, verbatim.
|
|
8550
|
-
*
|
|
8551
|
-
* @remarks
|
|
8552
|
-
* The WHOLE prior body rather than an extracted region: merging
|
|
8553
|
-
* references needs both the region's lines and the `owned` attribute on
|
|
8554
|
-
* its opening marker, and two separate parameters would eventually be
|
|
8555
|
-
* passed inconsistently. Optional because a PR being created has no
|
|
8556
|
-
* prior body.
|
|
8557
|
-
*/
|
|
8558
|
-
readonly priorBody?: string;
|
|
8559
|
-
}
|
|
8357
|
+
declare const MANIFEST_PATH = ".repos/config.json";
|
|
8560
8358
|
/**
|
|
8561
|
-
*
|
|
8562
|
-
*
|
|
8563
|
-
* `src/utils/pr-body.ts` (savvy-web/systems#419).
|
|
8564
|
-
*
|
|
8565
|
-
* @remarks
|
|
8566
|
-
* Every operation is pure and total: markers absent, regions broken, or
|
|
8567
|
-
* attributes malformed all degrade to the documented fail-safe result
|
|
8568
|
-
* (preserve too much rather than delete someone's work) instead of failing —
|
|
8569
|
-
* a regenerating action must still produce a body when the prior one is
|
|
8570
|
-
* malformed. Use `PrBodyDiagnostic.scan` where a writer wants to be told
|
|
8571
|
-
* about a broken pair instead of tolerating it.
|
|
8572
|
-
*
|
|
8359
|
+
* Maximum notes per vendored repo; enforced at write time to force
|
|
8360
|
+
* consolidation into orientation.
|
|
8573
8361
|
* @public
|
|
8574
8362
|
*/
|
|
8575
|
-
declare
|
|
8576
|
-
private constructor();
|
|
8577
|
-
/**
|
|
8578
|
-
* Build the region of the PR description the generating run owns.
|
|
8579
|
-
*
|
|
8580
|
-
* @remarks
|
|
8581
|
-
* Delimited by `Markers.MANAGED_START` / `Markers.MANAGED_END` so
|
|
8582
|
-
* {@link ManagedPrBody.upsert} can regenerate it without touching
|
|
8583
|
-
* anything a human wrote around it. Layout, in order: the reserved
|
|
8584
|
-
* summary region (nothing may sit above it — a reader meets the prose
|
|
8585
|
-
* before the machinery), the proposed-squash-commit fence, and the
|
|
8586
|
-
* bare-reference region. No preamble, no file listing, no linked-issues
|
|
8587
|
-
* list, no run attribution — each said something already on the page.
|
|
8588
|
-
*
|
|
8589
|
-
* @public
|
|
8590
|
-
*/
|
|
8591
|
-
static build(options: ManagedPrBodyOptions): string;
|
|
8592
|
-
/**
|
|
8593
|
-
* Put `managed` (a full {@link ManagedPrBody.build} result) into
|
|
8594
|
-
* `existing`, replacing a previous managed region and leaving everything
|
|
8595
|
-
* else alone.
|
|
8596
|
-
*
|
|
8597
|
-
* @remarks
|
|
8598
|
-
* Human edits outside the markers survive; a body with no markers keeps
|
|
8599
|
-
* its content and gains the region below it. See `Region.upsert` for the
|
|
8600
|
-
* splice semantics.
|
|
8601
|
-
*
|
|
8602
|
-
* @public
|
|
8603
|
-
*/
|
|
8604
|
-
static upsert(existing: string, managed: string): string;
|
|
8605
|
-
/**
|
|
8606
|
-
* The summary region's current content, or `""` when it is empty or
|
|
8607
|
-
* absent.
|
|
8608
|
-
*
|
|
8609
|
-
* @remarks
|
|
8610
|
-
* Extraction exists because the managed region is REGENERATED on every
|
|
8611
|
-
* run. Re-emitting the region empty would delete a summary the moment
|
|
8612
|
-
* any commit landed — destructive and silent, with no signal back to the
|
|
8613
|
-
* summariser whose work was discarded. Feed the result to
|
|
8614
|
-
* {@link ManagedPrBody.build}'s `summary` option.
|
|
8615
|
-
*
|
|
8616
|
-
* @public
|
|
8617
|
-
*/
|
|
8618
|
-
static extractSummary(existing: string): string;
|
|
8619
|
-
/**
|
|
8620
|
-
* The reference region's current content, or `""` when it is empty or
|
|
8621
|
-
* absent.
|
|
8622
|
-
*
|
|
8623
|
-
* @remarks
|
|
8624
|
-
* Symmetric to {@link ManagedPrBody.extractSummary}, and for the same
|
|
8625
|
-
* reason. Located by `Markers.REFERENCES_START_PREFIX` — never the plain
|
|
8626
|
-
* opening constant — because a generating run emits the attributed form.
|
|
8627
|
-
*
|
|
8628
|
-
* @public
|
|
8629
|
-
*/
|
|
8630
|
-
static extractReferences(existing: string): string;
|
|
8631
|
-
}
|
|
8363
|
+
declare const NOTE_LIMIT = 10;
|
|
8632
8364
|
//#endregion
|
|
8633
|
-
//#region src/
|
|
8365
|
+
//#region src/repos/errors.d.ts
|
|
8366
|
+
/** @internal */
|
|
8367
|
+
declare const ReposConfigErrorBase: 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 & {
|
|
8368
|
+
readonly _tag: "ReposConfigError";
|
|
8369
|
+
} & Readonly<A>;
|
|
8634
8370
|
/**
|
|
8635
|
-
* The
|
|
8636
|
-
* markers.
|
|
8637
|
-
*
|
|
8371
|
+
* The .repos/config.json manifest is missing, unreadable, or invalid.
|
|
8638
8372
|
* @public
|
|
8639
8373
|
*/
|
|
8640
|
-
declare
|
|
8374
|
+
declare class ReposConfigError extends ReposConfigErrorBase<{
|
|
8375
|
+
readonly path: string;
|
|
8376
|
+
readonly reason: string;
|
|
8377
|
+
readonly kind: "missing" | "invalid";
|
|
8378
|
+
}> {
|
|
8379
|
+
get message(): string;
|
|
8380
|
+
}
|
|
8381
|
+
/** @internal */
|
|
8382
|
+
declare const GitSubmoduleErrorBase: 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 & {
|
|
8383
|
+
readonly _tag: "GitSubmoduleError";
|
|
8384
|
+
} & Readonly<A>;
|
|
8641
8385
|
/**
|
|
8642
|
-
*
|
|
8643
|
-
* markers.
|
|
8644
|
-
*
|
|
8386
|
+
* A git submodule operation failed.
|
|
8645
8387
|
* @public
|
|
8646
8388
|
*/
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
readonly
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8389
|
+
declare class GitSubmoduleError extends GitSubmoduleErrorBase<{
|
|
8390
|
+
readonly command: string;
|
|
8391
|
+
readonly cwd: string;
|
|
8392
|
+
readonly reason: string;
|
|
8393
|
+
}> {
|
|
8394
|
+
get message(): string;
|
|
8395
|
+
}
|
|
8396
|
+
/** @internal */
|
|
8397
|
+
declare const RepoNotFoundErrorBase: 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 & {
|
|
8398
|
+
readonly _tag: "RepoNotFoundError";
|
|
8399
|
+
} & Readonly<A>;
|
|
8653
8400
|
/**
|
|
8654
|
-
*
|
|
8655
|
-
*
|
|
8656
|
-
* @remarks
|
|
8657
|
-
* Diagnostics are advisory VALUES, not a typed error channel: every parse and
|
|
8658
|
-
* render operation in this namespace is deliberately total (a regenerating
|
|
8659
|
-
* action must still produce a body when the prior one is malformed, and the
|
|
8660
|
-
* fail-safe direction is to preserve too much rather than delete someone's
|
|
8661
|
-
* work). `scan` exists for the writer that wants to be told about a broken
|
|
8662
|
-
* pair before editing — the `pr-body` skill instructs an agent that finds a
|
|
8663
|
-
* region missing its pair to stop and report rather than guess, and this is
|
|
8664
|
-
* the check that instruction points at. A misplaced marker pair is worse than
|
|
8665
|
-
* none: it makes the next regeneration rewrite content it does not own.
|
|
8666
|
-
*
|
|
8401
|
+
* The named repo is not present in the manifest.
|
|
8667
8402
|
* @public
|
|
8668
8403
|
*/
|
|
8669
|
-
declare class
|
|
8670
|
-
|
|
8671
|
-
|
|
8672
|
-
*
|
|
8673
|
-
* @public
|
|
8674
|
-
*/
|
|
8404
|
+
declare class RepoNotFoundError extends RepoNotFoundErrorBase<{
|
|
8405
|
+
readonly name: string;
|
|
8406
|
+
}> {
|
|
8675
8407
|
get message(): string;
|
|
8676
|
-
/**
|
|
8677
|
-
* Every marker problem in `body`, or an empty array when the markers are
|
|
8678
|
-
* well-formed (including entirely absent — an unmanaged body is not a
|
|
8679
|
-
* defect).
|
|
8680
|
-
*
|
|
8681
|
-
* @remarks
|
|
8682
|
-
* The references region is located by its attributed opening prefix, so a
|
|
8683
|
-
* marker carrying an `owned="…"` attribute counts as present.
|
|
8684
|
-
*
|
|
8685
|
-
* @public
|
|
8686
|
-
*/
|
|
8687
|
-
static scan(body: string): ReadonlyArray<PrBodyDiagnostic>;
|
|
8688
8408
|
}
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
|
|
8693
|
-
* PR-body contract.
|
|
8694
|
-
*
|
|
8695
|
-
* @remarks
|
|
8696
|
-
* **The `silk-release:` token is frozen and names the CONTRACT, not the
|
|
8697
|
-
* emitting action.** `silk-update-action` PRs carry the same markers as
|
|
8698
|
-
* release PRs, deliberately: every live document, the `pr-body` plugin skill,
|
|
8699
|
-
* and every agent that edits a managed PR description key on these exact
|
|
8700
|
-
* byte sequences. Do not parameterize the token per action and do not rename
|
|
8701
|
-
* it — either forks the wire format for zero gain and orphans every open PR
|
|
8702
|
-
* (ruled in savvy-web/systems#419).
|
|
8703
|
-
*
|
|
8704
|
-
* These constants are the single source of truth for the marker grammar.
|
|
8705
|
-
* The agent-facing documentation in the silk plugin (`pr-body` and
|
|
8706
|
-
* `commit-create` skills) duplicates the literals for readability; a drift
|
|
8707
|
-
* lint in this package's test suite asserts the copies stay in sync.
|
|
8708
|
-
*/
|
|
8409
|
+
/** @internal */
|
|
8410
|
+
declare const NoteNotFoundErrorBase: 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 & {
|
|
8411
|
+
readonly _tag: "NoteNotFoundError";
|
|
8412
|
+
} & Readonly<A>;
|
|
8709
8413
|
/**
|
|
8710
|
-
* The
|
|
8711
|
-
*
|
|
8712
|
-
* @public
|
|
8713
|
-
*/
|
|
8714
|
-
declare class Markers {
|
|
8715
|
-
private constructor();
|
|
8716
|
-
/**
|
|
8717
|
-
* Opening marker of the whole managed region.
|
|
8718
|
-
*
|
|
8719
|
-
* @remarks
|
|
8720
|
-
* Everything between this and {@link Markers.MANAGED_END} that is not
|
|
8721
|
-
* inside the summary or references region is regenerated wholesale on
|
|
8722
|
-
* every run; everything outside the pair is human territory and survives
|
|
8723
|
-
* every regeneration.
|
|
8724
|
-
*
|
|
8725
|
-
* @public
|
|
8726
|
-
*/
|
|
8727
|
-
static readonly MANAGED_START: string;
|
|
8728
|
-
/**
|
|
8729
|
-
* Closing marker of the whole managed region.
|
|
8730
|
-
*
|
|
8731
|
-
* @public
|
|
8732
|
-
*/
|
|
8733
|
-
static readonly MANAGED_END: string;
|
|
8734
|
-
/**
|
|
8735
|
-
* Opening marker of the region an AI summariser owns.
|
|
8736
|
-
*
|
|
8737
|
-
* @remarks
|
|
8738
|
-
* The generating action never writes into this region — it only reserves
|
|
8739
|
-
* it and carries its content through on regeneration.
|
|
8740
|
-
*
|
|
8741
|
-
* @public
|
|
8742
|
-
*/
|
|
8743
|
-
static readonly SUMMARY_START: string;
|
|
8744
|
-
/**
|
|
8745
|
-
* Closing marker of the summariser's region.
|
|
8746
|
-
*
|
|
8747
|
-
* @public
|
|
8748
|
-
*/
|
|
8749
|
-
static readonly SUMMARY_END: string;
|
|
8750
|
-
/**
|
|
8751
|
-
* The PLAIN opening marker of the closing-reference region — the form an
|
|
8752
|
-
* author writes by hand.
|
|
8753
|
-
*
|
|
8754
|
-
* @remarks
|
|
8755
|
-
* A generating run emits the ATTRIBUTED form instead (the plain prefix
|
|
8756
|
-
* plus an `owned="…"` attribute). Never locate the region by matching
|
|
8757
|
-
* this constant — match {@link Markers.REFERENCES_START_PREFIX}, or a
|
|
8758
|
-
* region a run wrote will not be found.
|
|
8759
|
-
*
|
|
8760
|
-
* @public
|
|
8761
|
-
*/
|
|
8762
|
-
static readonly REFERENCES_START: string;
|
|
8763
|
-
/**
|
|
8764
|
-
* Closing marker of the closing-reference region.
|
|
8765
|
-
*
|
|
8766
|
-
* @public
|
|
8767
|
-
*/
|
|
8768
|
-
static readonly REFERENCES_END: string;
|
|
8769
|
-
/**
|
|
8770
|
-
* The references opening marker up to its attributes, for locating a
|
|
8771
|
-
* region whose `owned` list is unknown.
|
|
8772
|
-
*
|
|
8773
|
-
* @public
|
|
8774
|
-
*/
|
|
8775
|
-
static readonly REFERENCES_START_PREFIX = "<!-- silk-release:references:start";
|
|
8776
|
-
/**
|
|
8777
|
-
* The fence language for the proposed squash-commit block.
|
|
8778
|
-
*
|
|
8779
|
-
* @remarks
|
|
8780
|
-
* Not a GFM language and apparently undocumented, but GitHub renders it.
|
|
8781
|
-
* It is a target for AI integrations to read and rewrite into the
|
|
8782
|
-
* eventual squash-commit message. **Do not "correct" it to `text`.**
|
|
8783
|
-
*
|
|
8784
|
-
* @public
|
|
8785
|
-
*/
|
|
8786
|
-
static readonly SQUASH_FENCE_LANGUAGE = "proposed-squash-commit";
|
|
8787
|
-
}
|
|
8788
|
-
//#endregion
|
|
8789
|
-
//#region src/pr-body/references.d.ts
|
|
8790
|
-
declare const ClosingReferences_base: Schema.Class<ClosingReferences, Schema.Struct<{
|
|
8791
|
-
readonly ids: Schema.$Array<Schema.Number>;
|
|
8792
|
-
}>, {}>;
|
|
8793
|
-
/**
|
|
8794
|
-
* An ordered list of issue ids destined for closing references, with the two
|
|
8795
|
-
* renderers whose difference is the whole point of this module.
|
|
8796
|
-
*
|
|
8797
|
-
* @remarks
|
|
8798
|
-
* The same issues appear twice in a managed PR body, spelled differently, and
|
|
8799
|
-
* **neither consumer accepts the other's spelling**:
|
|
8800
|
-
*
|
|
8801
|
-
* - commitlint reads ONE comma-joined trailer (`Closes #1, #2`) inside the
|
|
8802
|
-
* proposed-squash-commit fence — {@link ClosingReferences.renderTrailer};
|
|
8803
|
-
* - GitHub's linker reads one bare `Closes #N` line each, OUTSIDE every
|
|
8804
|
-
* fence — {@link ClosingReferences.renderBareLines}. A reference inside a
|
|
8805
|
-
* fenced block is inert to GitHub.
|
|
8806
|
-
*
|
|
8807
|
-
* The duplication is load-bearing. Never "simplify" a body by emitting one
|
|
8808
|
-
* form in both places: comma-joined bare lines link nothing (verified by hand
|
|
8809
|
-
* against live pull requests — `savvy-web/silk-integration` #242/#232 with no
|
|
8810
|
-
* bare line reported `closingIssuesReferences: []`, #243 with one reported
|
|
8811
|
-
* `[168]`), and per-line trailers inside the fence break the commit contract.
|
|
8812
|
-
*
|
|
8813
|
-
* Ids are stored exactly as given — construction neither deduplicates nor
|
|
8814
|
-
* sorts. Call {@link ClosingReferences.dedupe} where uniqueness is wanted;
|
|
8815
|
-
* the split exists because the squash trailer historically renders duplicates
|
|
8816
|
-
* as-given while the references region deduplicates, and byte-compatibility
|
|
8817
|
-
* with live PR bodies pins that behavior.
|
|
8818
|
-
*
|
|
8819
|
-
* @public
|
|
8820
|
-
*/
|
|
8821
|
-
declare class ClosingReferences extends ClosingReferences_base {
|
|
8822
|
-
/**
|
|
8823
|
-
* The open issues' ids, in input order, duplicates preserved.
|
|
8824
|
-
*
|
|
8825
|
-
* @remarks
|
|
8826
|
-
* Closedness is decided by `LinkedIssueRef.isClosed` — the only
|
|
8827
|
-
* sanctioned test, case-insensitive so REST (`closed`) and GraphQL
|
|
8828
|
-
* (`CLOSED`) payloads classify identically.
|
|
8829
|
-
*
|
|
8830
|
-
* @public
|
|
8831
|
-
*/
|
|
8832
|
-
static fromIssues(issues: ReadonlyArray<LinkedIssueRef>): ClosingReferences;
|
|
8833
|
-
/**
|
|
8834
|
-
* Issue ids carried by a region's bare closing lines.
|
|
8835
|
-
*
|
|
8836
|
-
* @remarks
|
|
8837
|
-
* The region is read with `@effected/github-references`' `parseBareLines`
|
|
8838
|
-
* — per line, the whole line, after trimming, must be
|
|
8839
|
-
* `<keyword>[:] #<number>`, so a number mentioned in passing is never
|
|
8840
|
-
* mistaken for a closing reference. Every keyword GitHub accepts counts,
|
|
8841
|
-
* not just the present-tense plural this contract emits, because a
|
|
8842
|
-
* reference the parser fails to recognise is one the next regeneration
|
|
8843
|
-
* silently deletes.
|
|
8844
|
-
*
|
|
8845
|
-
* @public
|
|
8846
|
-
*/
|
|
8847
|
-
static parseBare(region: string): ReadonlyArray<number>;
|
|
8848
|
-
/**
|
|
8849
|
-
* A copy with duplicate ids removed, first occurrence winning.
|
|
8850
|
-
*
|
|
8851
|
-
* @public
|
|
8852
|
-
*/
|
|
8853
|
-
dedupe(): ClosingReferences;
|
|
8854
|
-
/**
|
|
8855
|
-
* The comma-joined trailer the squash-commit message carries, or `""`
|
|
8856
|
-
* when there is nothing to close.
|
|
8857
|
-
*
|
|
8858
|
-
* @remarks
|
|
8859
|
-
* `Closes #1, #2` on ONE line — the spelling commitlint reads and
|
|
8860
|
-
* GitHub's linker ignores. See the class remarks before changing either
|
|
8861
|
-
* renderer.
|
|
8862
|
-
*
|
|
8863
|
-
* @public
|
|
8864
|
-
*/
|
|
8865
|
-
renderTrailer(): string;
|
|
8866
|
-
/**
|
|
8867
|
-
* One bare `Closes #N` line per id, or `""` when empty.
|
|
8868
|
-
*
|
|
8869
|
-
* @remarks
|
|
8870
|
-
* The spelling GitHub's linker reads — each line must sit OUTSIDE every
|
|
8871
|
-
* fenced block to link. See the class remarks before changing either
|
|
8872
|
-
* renderer.
|
|
8873
|
-
*
|
|
8874
|
-
* @public
|
|
8875
|
-
*/
|
|
8876
|
-
renderBareLines(): string;
|
|
8877
|
-
}
|
|
8878
|
-
/**
|
|
8879
|
-
* The `owned="…"` attribute on the references region's opening marker.
|
|
8880
|
-
*
|
|
8881
|
-
* @remarks
|
|
8882
|
-
* Records the issue ids a generating run emitted itself, so the next run can
|
|
8883
|
-
* tell its own references from ones an agent or human added. "Not in this
|
|
8884
|
-
* run's linked set" is NOT enough: a reference the previous run emitted also
|
|
8885
|
-
* disappears from the linked set when the release stops tracking that issue,
|
|
8886
|
-
* and treating it as agent-authored would preserve it forever — re-linking,
|
|
8887
|
-
* and on merge auto-closing, an issue the release deliberately dropped.
|
|
8888
|
-
*
|
|
8889
|
-
* **Never hand-edit the attribute.** A wrong value makes the next run delete
|
|
8890
|
-
* a real reference or resurrect a dropped one.
|
|
8891
|
-
*
|
|
8892
|
-
* @public
|
|
8893
|
-
*/
|
|
8894
|
-
declare class OwnedAttribute {
|
|
8895
|
-
private constructor();
|
|
8896
|
-
/**
|
|
8897
|
-
* The attribute as emitted on the opening marker.
|
|
8898
|
-
*
|
|
8899
|
-
* @public
|
|
8900
|
-
*/
|
|
8901
|
-
static render(ids: ReadonlyArray<number>): string;
|
|
8902
|
-
/**
|
|
8903
|
-
* The ids the prior body's opening marker claims as the previous run's
|
|
8904
|
-
* own.
|
|
8905
|
-
*
|
|
8906
|
-
* @remarks
|
|
8907
|
-
* An absent or malformed attribute reads as "none", which degrades to
|
|
8908
|
-
* treating every reference in the region as agent-authored. That
|
|
8909
|
-
* preserves too much rather than deleting someone's work — the safe
|
|
8910
|
-
* direction to fail. The match is anchored to an attribute boundary: an
|
|
8911
|
-
* unanchored match also finds `data-owned="…"` and `unowned="…"`, which
|
|
8912
|
-
* would let an unrelated attribute claim an agent's reference and get it
|
|
8913
|
-
* dropped on the next run.
|
|
8914
|
-
*
|
|
8915
|
-
* @public
|
|
8916
|
-
*/
|
|
8917
|
-
static parse(priorBody: string): ReadonlySet<number>;
|
|
8918
|
-
}
|
|
8919
|
-
//#endregion
|
|
8920
|
-
//#region src/pr-body/region.d.ts
|
|
8921
|
-
/**
|
|
8922
|
-
* The generic marker-delimited region grammar every silk-managed document
|
|
8923
|
-
* uses: `<!-- token:start -->` … `<!-- token:end -->`.
|
|
8924
|
-
*
|
|
8925
|
-
* @remarks
|
|
8926
|
-
* Extracted from `silk-release-action` (its `pr-body.ts` and
|
|
8927
|
-
* `managed-sections.ts` both carried a private copy) so the grammar has one
|
|
8928
|
-
* owner. **Every marker is a pair.** A lone opening marker can only be located
|
|
8929
|
-
* by scanning forward to whatever happens to follow it, which makes the
|
|
8930
|
-
* region's extent a function of its neighbours rather than of itself — moving
|
|
8931
|
-
* anything nearby silently redefines it. The token is free-form; `:start` and
|
|
8932
|
-
* `:end` are the whole contract, so pairs nest and a region can contain
|
|
8933
|
-
* sub-regions without either needing to know about the other.
|
|
8934
|
-
*/
|
|
8935
|
-
/**
|
|
8936
|
-
* Pure helpers over the `<!-- token:start -->` / `<!-- token:end -->` region
|
|
8937
|
-
* grammar.
|
|
8938
|
-
*
|
|
8939
|
-
* @remarks
|
|
8940
|
-
* Every operation is total: a body with no region (or a broken pair) degrades
|
|
8941
|
-
* to the documented fail-safe result rather than failing, because the callers
|
|
8942
|
-
* are regenerating actions that must still produce a body when the prior one
|
|
8943
|
-
* is malformed. Use `PrBodyDiagnostic.scan` when a caller wants to be told
|
|
8944
|
-
* about a broken pair instead of silently tolerating it.
|
|
8945
|
-
*
|
|
8946
|
-
* @public
|
|
8947
|
-
*/
|
|
8948
|
-
declare class Region {
|
|
8949
|
-
private constructor();
|
|
8950
|
-
/**
|
|
8951
|
-
* The opening delimiter for a named region.
|
|
8952
|
-
*
|
|
8953
|
-
* @public
|
|
8954
|
-
*/
|
|
8955
|
-
static start(token: string): string;
|
|
8956
|
-
/**
|
|
8957
|
-
* The closing delimiter for a named region.
|
|
8958
|
-
*
|
|
8959
|
-
* @public
|
|
8960
|
-
*/
|
|
8961
|
-
static end(token: string): string;
|
|
8962
|
-
/**
|
|
8963
|
-
* The content between a region's delimiters, or `undefined` when absent.
|
|
8964
|
-
*
|
|
8965
|
-
* @remarks
|
|
8966
|
-
* Finds the FIRST opening marker and the matching close after it, so a
|
|
8967
|
-
* nested region of a different token is returned as part of the content
|
|
8968
|
-
* rather than truncating it.
|
|
8969
|
-
*
|
|
8970
|
-
* @public
|
|
8971
|
-
*/
|
|
8972
|
-
static read(body: string, token: string): string | undefined;
|
|
8973
|
-
/**
|
|
8974
|
-
* Everything outside a region, with the region and its delimiters removed.
|
|
8975
|
-
*
|
|
8976
|
-
* @remarks
|
|
8977
|
-
* A body without the region comes back unchanged — removal of an absent
|
|
8978
|
-
* region is a no-op, not an error.
|
|
8979
|
-
*
|
|
8980
|
-
* @public
|
|
8981
|
-
*/
|
|
8982
|
-
static strip(body: string, token: string): string;
|
|
8983
|
-
/**
|
|
8984
|
-
* Put `rendered` (a fully rendered region, its own markers included) into
|
|
8985
|
-
* `body`, replacing a previous region of the same token and leaving
|
|
8986
|
-
* everything else alone.
|
|
8987
|
-
*
|
|
8988
|
-
* @remarks
|
|
8989
|
-
* **Human edits outside the markers survive.** A predecessor spliced on a
|
|
8990
|
-
* markdown heading, which silently ate any content a human happened to put
|
|
8991
|
-
* under a heading of that name and could not tell generated text from
|
|
8992
|
-
* theirs. An explicit marker pair can.
|
|
8993
|
-
*
|
|
8994
|
-
* A body with no markers keeps its content and gains the region **below**
|
|
8995
|
-
* it, so an existing hand-written document is not displaced. The result is
|
|
8996
|
-
* trimmed.
|
|
8997
|
-
*
|
|
8998
|
-
* @public
|
|
8999
|
-
*/
|
|
9000
|
-
static upsert(body: string, token: string, rendered: string): string;
|
|
9001
|
-
}
|
|
9002
|
-
declare namespace index_d_exports$3 {
|
|
9003
|
-
export { ClosingReferences, LinkedIssueRef, ManagedPrBody, ManagedPrBodyOptions, Markers, OwnedAttribute, PrBodyDiagnostic, PrBodyDiagnosticCode, Region };
|
|
9004
|
-
}
|
|
9005
|
-
//#endregion
|
|
9006
|
-
//#region src/repos/constants.d.ts
|
|
9007
|
-
/**
|
|
9008
|
-
* Directory vendored reference repos live under, relative to the repo root.
|
|
9009
|
-
* @public
|
|
9010
|
-
*/
|
|
9011
|
-
declare const REPOS_DIR = ".repos";
|
|
9012
|
-
/**
|
|
9013
|
-
* Path of the committed vendored-repos manifest, relative to the repo root.
|
|
9014
|
-
* @public
|
|
9015
|
-
*/
|
|
9016
|
-
declare const MANIFEST_PATH = ".repos/config.json";
|
|
9017
|
-
/**
|
|
9018
|
-
* Maximum notes per vendored repo; enforced at write time to force
|
|
9019
|
-
* consolidation into orientation.
|
|
9020
|
-
* @public
|
|
9021
|
-
*/
|
|
9022
|
-
declare const NOTE_LIMIT = 10;
|
|
9023
|
-
//#endregion
|
|
9024
|
-
//#region src/repos/errors.d.ts
|
|
9025
|
-
/** @internal */
|
|
9026
|
-
declare const ReposConfigErrorBase: 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 & {
|
|
9027
|
-
readonly _tag: "ReposConfigError";
|
|
9028
|
-
} & Readonly<A>;
|
|
9029
|
-
/**
|
|
9030
|
-
* The .repos/config.json manifest is missing, unreadable, or invalid.
|
|
9031
|
-
* @public
|
|
9032
|
-
*/
|
|
9033
|
-
declare class ReposConfigError extends ReposConfigErrorBase<{
|
|
9034
|
-
readonly path: string;
|
|
9035
|
-
readonly reason: string;
|
|
9036
|
-
readonly kind: "missing" | "invalid";
|
|
9037
|
-
}> {
|
|
9038
|
-
get message(): string;
|
|
9039
|
-
}
|
|
9040
|
-
/** @internal */
|
|
9041
|
-
declare const GitSubmoduleErrorBase: 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 & {
|
|
9042
|
-
readonly _tag: "GitSubmoduleError";
|
|
9043
|
-
} & Readonly<A>;
|
|
9044
|
-
/**
|
|
9045
|
-
* A git submodule operation failed.
|
|
9046
|
-
* @public
|
|
9047
|
-
*/
|
|
9048
|
-
declare class GitSubmoduleError extends GitSubmoduleErrorBase<{
|
|
9049
|
-
readonly command: string;
|
|
9050
|
-
readonly cwd: string;
|
|
9051
|
-
readonly reason: string;
|
|
9052
|
-
}> {
|
|
9053
|
-
get message(): string;
|
|
9054
|
-
}
|
|
9055
|
-
/** @internal */
|
|
9056
|
-
declare const RepoNotFoundErrorBase: 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 & {
|
|
9057
|
-
readonly _tag: "RepoNotFoundError";
|
|
9058
|
-
} & Readonly<A>;
|
|
9059
|
-
/**
|
|
9060
|
-
* The named repo is not present in the manifest.
|
|
9061
|
-
* @public
|
|
9062
|
-
*/
|
|
9063
|
-
declare class RepoNotFoundError extends RepoNotFoundErrorBase<{
|
|
9064
|
-
readonly name: string;
|
|
9065
|
-
}> {
|
|
9066
|
-
get message(): string;
|
|
9067
|
-
}
|
|
9068
|
-
/** @internal */
|
|
9069
|
-
declare const NoteNotFoundErrorBase: 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 & {
|
|
9070
|
-
readonly _tag: "NoteNotFoundError";
|
|
9071
|
-
} & Readonly<A>;
|
|
9072
|
-
/**
|
|
9073
|
-
* The note id does not exist on the named repo.
|
|
8414
|
+
* The note id does not exist on the named repo.
|
|
9074
8415
|
* @public
|
|
9075
8416
|
*/
|
|
9076
8417
|
declare class NoteNotFoundError extends NoteNotFoundErrorBase<{
|
|
@@ -9739,520 +9080,10 @@ declare class ReposManager extends ReposManager_base {
|
|
|
9739
9080
|
*/
|
|
9740
9081
|
static readonly layer: Layer.Layer<ReposManager, never, ReposConfigStore | Git | FileSystem.FileSystem | Path.Path | ReposLockdown>;
|
|
9741
9082
|
}
|
|
9742
|
-
declare namespace index_d_exports$
|
|
9083
|
+
declare namespace index_d_exports$3 {
|
|
9743
9084
|
export { DriftKind, GitSubmoduleError, GitSubmoduleErrorBase, MANIFEST_PATH, NOTE_LIMIT, NoteNotFoundError, NoteNotFoundErrorBase, REPOS_DIR, RepoDrift, RepoEntry, RepoName, RepoNotFoundError, RepoNotFoundErrorBase, RepoNote, RepoOrientation, RepoStatusEntry, ReposAddResult, ReposConfigError, ReposConfigErrorBase, ReposConfigStore, ReposConfigStoreShape, ReposDeregisterResult, ReposDrift, ReposDriftReport, ReposDriftShape, ReposLockdown, ReposLockdownError, ReposLockdownErrorBase, ReposLockdownShape, ReposManager, ReposManagerShape, ReposManifestFile, ReposNoteResult, ReposPinResult, ReposRemoveResult, ReposRenameResult, ReposRestoreResult, ReposStatusReport, ReposSyncReport, STALE_LOCK_MAX_AGE_MS, resolveModuleDir, submoduleNameFromKey };
|
|
9744
9085
|
}
|
|
9745
9086
|
//#endregion
|
|
9746
|
-
//#region src/schemas/BiomeConfig.d.ts
|
|
9747
|
-
/**
|
|
9748
|
-
* Result of a Biome schema URL sync or check operation.
|
|
9749
|
-
*
|
|
9750
|
-
* @remarks
|
|
9751
|
-
* - `updated` — paths of config files whose `$schema` URL was changed (or would be changed on `check`).
|
|
9752
|
-
* - `skipped` — paths of config files with no `$schema` field or a non-biomejs.dev URL.
|
|
9753
|
-
* - `current` — paths of config files already pointing to the expected schema URL.
|
|
9754
|
-
*
|
|
9755
|
-
* @since 0.1.0
|
|
9756
|
-
* @public
|
|
9757
|
-
*/
|
|
9758
|
-
declare const BiomeSyncResult: Schema.Struct<{
|
|
9759
|
-
readonly updated: Schema.$Array<Schema.String>;
|
|
9760
|
-
readonly skipped: Schema.$Array<Schema.String>;
|
|
9761
|
-
readonly current: Schema.$Array<Schema.String>;
|
|
9762
|
-
}>;
|
|
9763
|
-
/**
|
|
9764
|
-
* @since 0.1.0
|
|
9765
|
-
* @public
|
|
9766
|
-
*/
|
|
9767
|
-
type BiomeSyncResult = typeof BiomeSyncResult.Type;
|
|
9768
|
-
/**
|
|
9769
|
-
* Options for {@link BiomeSchemaSync} operations.
|
|
9770
|
-
*
|
|
9771
|
-
* @remarks
|
|
9772
|
-
* `cwd` overrides the working directory used to locate `biome.json` / `biome.jsonc`.
|
|
9773
|
-
* `gitignore` is reserved for future use to skip gitignored config files (defaults to `true`).
|
|
9774
|
-
*
|
|
9775
|
-
* @since 0.1.0
|
|
9776
|
-
* @public
|
|
9777
|
-
*/
|
|
9778
|
-
declare const BiomeSyncOptions: Schema.Struct<{
|
|
9779
|
-
readonly cwd: Schema.optional<Schema.String>;
|
|
9780
|
-
readonly gitignore: Schema.withConstructorDefault<Schema.withDecodingDefaultType<Schema.Boolean, never>>;
|
|
9781
|
-
}>;
|
|
9782
|
-
/**
|
|
9783
|
-
* @since 0.1.0
|
|
9784
|
-
* @public
|
|
9785
|
-
*/
|
|
9786
|
-
type BiomeSyncOptions = typeof BiomeSyncOptions.Type;
|
|
9787
|
-
//#endregion
|
|
9788
|
-
//#region src/schemas/ConfigDiscoverySchemas.d.ts
|
|
9789
|
-
/**
|
|
9790
|
-
* The discovery strategy used to locate a config file.
|
|
9791
|
-
*
|
|
9792
|
-
* @remarks
|
|
9793
|
-
* - `"lib"` — found under `lib/configs/{name}` relative to the workspace root.
|
|
9794
|
-
* - `"root"` — found directly in the workspace root as `{name}`.
|
|
9795
|
-
* - `"cosmiconfig"` — reserved for future cosmiconfig-based discovery.
|
|
9796
|
-
*
|
|
9797
|
-
* @since 0.1.0
|
|
9798
|
-
* @public
|
|
9799
|
-
*/
|
|
9800
|
-
declare const ConfigSource: Schema.Literals<readonly ["lib", "root", "cosmiconfig"]>;
|
|
9801
|
-
/**
|
|
9802
|
-
* @since 0.1.0
|
|
9803
|
-
* @public
|
|
9804
|
-
*/
|
|
9805
|
-
type ConfigSource = typeof ConfigSource.Type;
|
|
9806
|
-
/**
|
|
9807
|
-
* The resolved location of a discovered config file.
|
|
9808
|
-
*
|
|
9809
|
-
* @remarks
|
|
9810
|
-
* Produced by `ConfigDiscovery.find` and `ConfigDiscovery.findAll`.
|
|
9811
|
-
* `path` is the absolute file path; `source` indicates how it was discovered.
|
|
9812
|
-
*
|
|
9813
|
-
* @since 0.1.0
|
|
9814
|
-
* @public
|
|
9815
|
-
*/
|
|
9816
|
-
declare const ConfigLocation: Schema.Struct<{
|
|
9817
|
-
readonly path: Schema.String;
|
|
9818
|
-
readonly source: Schema.Literals<readonly ["lib", "root", "cosmiconfig"]>;
|
|
9819
|
-
}>;
|
|
9820
|
-
/**
|
|
9821
|
-
* @since 0.1.0
|
|
9822
|
-
* @public
|
|
9823
|
-
*/
|
|
9824
|
-
type ConfigLocation = typeof ConfigLocation.Type;
|
|
9825
|
-
/**
|
|
9826
|
-
* Options passed to config discovery methods.
|
|
9827
|
-
*
|
|
9828
|
-
* @remarks
|
|
9829
|
-
* `cwd` overrides the working directory for path resolution (defaults to `process.cwd()`).
|
|
9830
|
-
* `tool` is reserved for future use as a tool-specific discovery hint.
|
|
9831
|
-
*
|
|
9832
|
-
* @since 0.1.0
|
|
9833
|
-
* @public
|
|
9834
|
-
*/
|
|
9835
|
-
declare const ConfigDiscoveryOptions: Schema.Struct<{
|
|
9836
|
-
readonly cwd: Schema.optional<Schema.String>;
|
|
9837
|
-
readonly tool: Schema.optional<Schema.String>;
|
|
9838
|
-
}>;
|
|
9839
|
-
/**
|
|
9840
|
-
* @since 0.1.0
|
|
9841
|
-
* @public
|
|
9842
|
-
*/
|
|
9843
|
-
type ConfigDiscoveryOptions = typeof ConfigDiscoveryOptions.Type;
|
|
9844
|
-
//#endregion
|
|
9845
|
-
//#region src/schemas/SavvyInstallSection.d.ts
|
|
9846
|
-
/**
|
|
9847
|
-
* The hooks {@link savvyInstallDeps} can be generated for.
|
|
9848
|
-
*
|
|
9849
|
-
* @remarks
|
|
9850
|
-
* Both are needed, and `post-merge` is the one that matters most in practice:
|
|
9851
|
-
* a fast-forward `git pull` — the batch-alignment case this exists for — fires
|
|
9852
|
-
* `post-merge` and never `post-checkout`. They are separate spellings rather
|
|
9853
|
-
* than one argument-sniffing block because the two hooks disagree on both
|
|
9854
|
-
* halves of the decision: `post-checkout` is handed `<prev> <new> <flag>` and
|
|
9855
|
-
* must ignore a file checkout, while `post-merge` is handed only a squash flag
|
|
9856
|
-
* and has to recover its own range from `ORIG_HEAD`.
|
|
9857
|
-
*
|
|
9858
|
-
* @since 7.5.0
|
|
9859
|
-
* @public
|
|
9860
|
-
*/
|
|
9861
|
-
type SavvyInstallHook = "post-checkout" | "post-merge";
|
|
9862
|
-
/**
|
|
9863
|
-
* Section identity for the dependency auto-install block.
|
|
9864
|
-
*
|
|
9865
|
-
* `toolName` is `"savvy-install"`; pair with {@link savvyInstallDeps}.
|
|
9866
|
-
*
|
|
9867
|
-
* @since 7.5.0
|
|
9868
|
-
* @public
|
|
9869
|
-
*/
|
|
9870
|
-
export declare const SavvyInstallSection: SectionId;
|
|
9871
|
-
/**
|
|
9872
|
-
* Dependency auto-install shared across Silk Suite hook files.
|
|
9873
|
-
*
|
|
9874
|
-
* @remarks
|
|
9875
|
-
* Brings `node_modules` back in line after a branch switch or a pull, so a batch
|
|
9876
|
-
* of repos pulled to align their dependencies does not each need a manual
|
|
9877
|
-
* install. Installs with lifecycle scripts skipped — `--ignore-scripts`, or
|
|
9878
|
-
* `--mode=skip-build` for Yarn Berry, which dropped the former — because the goal
|
|
9879
|
-
* is to get the dependency tree on disk, not to run a full postinstall.
|
|
9880
|
-
*
|
|
9881
|
-
* **That flag has a cost, and one shape of repo cannot pay it.** Where a package
|
|
9882
|
-
* publishes through a built link directory — `publishConfig.directory` with
|
|
9883
|
-
* `linkDirectory: true`, which is how this monorepo wires `dist/dev/pkg` — the
|
|
9884
|
-
* workspace resolves its own dependencies through a directory that a `prepare`
|
|
9885
|
-
* script has to build, and skipping scripts yields a populated `node_modules`
|
|
9886
|
-
* pointing at nothing.
|
|
9887
|
-
*
|
|
9888
|
-
* Those repos ask for a full install through the LOCAL git config key
|
|
9889
|
-
* `savvy.installLifecycleScripts`, which `savvy init` sets when it finds the
|
|
9890
|
-
* shape. The decision deliberately does NOT read the checked-out tree. Doing so
|
|
9891
|
-
* failed in both directions at once: a branch that merely declared the shape
|
|
9892
|
-
* could turn lifecycle scripts back on just by being checked out, making
|
|
9893
|
-
* `git checkout` of an untrusted revision a code-execution path; and the `jq`
|
|
9894
|
-
* the scan needed is absent on stock macOS and Ubuntu, where the missing answer
|
|
9895
|
-
* silently skipped scripts in precisely the repos that cannot survive it.
|
|
9896
|
-
* `.git/config` is neither checked out nor parsed with `jq`, so it has neither
|
|
9897
|
-
* failure mode.
|
|
9898
|
-
*
|
|
9899
|
-
* The package managers gate dependency scripts themselves on top of this —
|
|
9900
|
-
* pnpm's `strictDepBuilds` with an `allowBuilds` allowlist being the case in
|
|
9901
|
-
* point — but workspace and root lifecycle scripts still run, which is why the
|
|
9902
|
-
* opt-in is local rather than inferred. With the flag on, the hook says on the
|
|
9903
|
-
* way out that scripts were skipped rather than leaving it to be discovered.
|
|
9904
|
-
*
|
|
9905
|
-
* Deliberately self-contained, like `savvyToolchainCheck`: its homes carry
|
|
9906
|
-
* `SavvyHooksSection` but no `SavvyBaseSection`, so it defines its own root, CI
|
|
9907
|
-
* and package-manager lookups rather than depending on `ROOT`, `in_ci` or `PM`.
|
|
9908
|
-
*
|
|
9909
|
-
* Four guards keep it from firing on the many checkouts that are not dependency
|
|
9910
|
-
* events, each a silent no-op:
|
|
9911
|
-
*
|
|
9912
|
-
* - CI, where the runtime action owns installation by construction.
|
|
9913
|
-
* - `SAVVY_SKIP_INSTALL`, the escape hatch for a bisect or a scripted sweep that
|
|
9914
|
-
* does not want an install between steps.
|
|
9915
|
-
* - `post-checkout` only: a branch-flag of `0`, which is `git checkout -- <file>`
|
|
9916
|
-
* and not a move between commits.
|
|
9917
|
-
* - **The gate that makes this affordable:** nothing dependency-related actually
|
|
9918
|
-
* changed across the move. Without it every branch switch would pay for a full
|
|
9919
|
-
* install. A missing `node_modules` overrides it, since there is nothing to be
|
|
9920
|
-
* stale.
|
|
9921
|
-
*
|
|
9922
|
-
* A fresh clone is not among the cases it handles, and cannot be: husky sets
|
|
9923
|
-
* `core.hooksPath` from its own `prepare` script, so until the first manual
|
|
9924
|
-
* install has run there is no hook installed to fire.
|
|
9925
|
-
*
|
|
9926
|
-
* The install's exit status is swallowed and its output goes to stderr. Git
|
|
9927
|
-
* ignores what `post-checkout` and `post-merge` return, so a failure here must
|
|
9928
|
-
* not look like a failed checkout; the hint names the escape hatch instead.
|
|
9929
|
-
*
|
|
9930
|
-
* Every probe that can legitimately fail — no `ORIG_HEAD` to compare against, an
|
|
9931
|
-
* unresolvable range — is neutralised with `|| true` rather than left to its own
|
|
9932
|
-
* status. These blocks are co-owned and consumer content can sit below them, so
|
|
9933
|
-
* under a hook running `set -e` a bare failing substitution would abort the whole
|
|
9934
|
-
* file and take those later sections with it.
|
|
9935
|
-
*
|
|
9936
|
-
* @param hook - Which hook the block is being generated for; decides the
|
|
9937
|
-
* argument guard and how the comparison range is recovered.
|
|
9938
|
-
* @returns The install shell, with no surrounding markers or trailing newline.
|
|
9939
|
-
*
|
|
9940
|
-
* @since 7.5.0
|
|
9941
|
-
* @public
|
|
9942
|
-
*/
|
|
9943
|
-
export declare function savvyInstallDeps(hook: SavvyInstallHook): string;
|
|
9944
|
-
/**
|
|
9945
|
-
* The local git config key that authorizes lifecycle scripts during a hook install.
|
|
9946
|
-
*
|
|
9947
|
-
* @remarks
|
|
9948
|
-
* Local scope only. It lives in `.git/config`, which is never checked out, so no
|
|
9949
|
-
* incoming revision can set it — that is the whole point of reading the decision
|
|
9950
|
-
* from here rather than from a manifest in the tree.
|
|
9951
|
-
*
|
|
9952
|
-
* @since 7.5.0
|
|
9953
|
-
* @public
|
|
9954
|
-
*/
|
|
9955
|
-
export declare const LIFECYCLE_SCRIPTS_CONFIG_KEY = "savvy.installLifecycleScripts";
|
|
9956
|
-
/**
|
|
9957
|
-
* Whether `manifest` publishes through a built link directory.
|
|
9958
|
-
*
|
|
9959
|
-
* @remarks
|
|
9960
|
-
* `publishConfig.directory` with `linkDirectory: true` means consumers of this
|
|
9961
|
-
* package resolve it through a directory that a `prepare` script has to produce,
|
|
9962
|
-
* so an install that skips lifecycle scripts leaves the link pointing at nothing.
|
|
9963
|
-
* A workspace containing any such package is one whose owner probably wants
|
|
9964
|
-
* {@link LIFECYCLE_SCRIPTS_CONFIG_KEY} set.
|
|
9965
|
-
*
|
|
9966
|
-
* Reporting the shape is deliberately separate from acting on it: this answers
|
|
9967
|
-
* "does this repo need scripts", and a human still decides whether hook-time
|
|
9968
|
-
* installs may run them.
|
|
9969
|
-
*
|
|
9970
|
-
* @param manifest - A parsed `package.json`; any non-object reads as `false`.
|
|
9971
|
-
*
|
|
9972
|
-
* @since 7.5.0
|
|
9973
|
-
* @public
|
|
9974
|
-
*/
|
|
9975
|
-
export declare function publishesBuiltLinkDirectory(manifest: unknown): boolean;
|
|
9976
|
-
/**
|
|
9977
|
-
* Build the dependency auto-install block for `hook`.
|
|
9978
|
-
*
|
|
9979
|
-
* @param hook - Which hook the section is destined for.
|
|
9980
|
-
* @returns A shell `Section` (`commentStyle: hash`) keyed `SAVVY-INSTALL`.
|
|
9981
|
-
*
|
|
9982
|
-
* @since 7.5.0
|
|
9983
|
-
* @public
|
|
9984
|
-
*/
|
|
9985
|
-
export declare function savvyInstallBlock(hook: SavvyInstallHook): Section;
|
|
9986
|
-
//#endregion
|
|
9987
|
-
//#region src/schemas/SavvySections.d.ts
|
|
9988
|
-
/**
|
|
9989
|
-
* Section identity for the shared package-manager preamble.
|
|
9990
|
-
*
|
|
9991
|
-
* `toolName` is `"savvy-base"`; pair with {@link savvyBasePreamble} to build the block:
|
|
9992
|
-
*
|
|
9993
|
-
* @example
|
|
9994
|
-
* ```ts
|
|
9995
|
-
* const section = SavvyBaseSection.section(savvyBasePreamble());
|
|
9996
|
-
* ```
|
|
9997
|
-
*
|
|
9998
|
-
* @since 0.5.0
|
|
9999
|
-
* @public
|
|
10000
|
-
*/
|
|
10001
|
-
export declare const SavvyBaseSection: SectionId;
|
|
10002
|
-
/**
|
|
10003
|
-
* Section identity for the shared repo-hygiene block.
|
|
10004
|
-
*
|
|
10005
|
-
* `toolName` is `"savvy-hooks"`; pair with {@link savvyHooksHygiene}.
|
|
10006
|
-
*
|
|
10007
|
-
* @since 0.5.0
|
|
10008
|
-
* @public
|
|
10009
|
-
*/
|
|
10010
|
-
export declare const SavvyHooksSection: SectionId;
|
|
10011
|
-
/**
|
|
10012
|
-
* Package-manager detection preamble shared across Silk Suite hook files.
|
|
10013
|
-
*
|
|
10014
|
-
* @remarks
|
|
10015
|
-
* Side-effect-free definitions meant to run unconditionally — no markers, no outer CI
|
|
10016
|
-
* guard. Defines `ROOT`, the `in_ci` predicate, `PM` (via `detect_pm`), and `pm_exec`.
|
|
10017
|
-
* `pm_exec` uses local/exec semantics for every package manager and `bun x` (space form),
|
|
10018
|
-
* which works regardless of how bun was installed (the `bunx` shim is not always on PATH).
|
|
10019
|
-
*
|
|
10020
|
-
* @returns The preamble shell, with no surrounding markers or trailing newline.
|
|
10021
|
-
*
|
|
10022
|
-
* @since 0.5.0
|
|
10023
|
-
* @public
|
|
10024
|
-
*/
|
|
10025
|
-
export declare function savvyBasePreamble(): string;
|
|
10026
|
-
/**
|
|
10027
|
-
* Repo-hygiene block shared across Silk Suite hook files.
|
|
10028
|
-
*
|
|
10029
|
-
* @remarks
|
|
10030
|
-
* Self-guarded against CI and needs no package manager: disables Git's `core.fileMode`
|
|
10031
|
-
* tracking and marks tracked shell scripts executable.
|
|
10032
|
-
*
|
|
10033
|
-
* @returns The hygiene shell, with no surrounding markers or trailing newline.
|
|
10034
|
-
*
|
|
10035
|
-
* @since 0.5.0
|
|
10036
|
-
* @public
|
|
10037
|
-
*/
|
|
10038
|
-
export declare function savvyHooksHygiene(): string;
|
|
10039
|
-
/**
|
|
10040
|
-
* Build a consumer's one-line tool section so every consumer calls the shared base
|
|
10041
|
-
* helpers identically.
|
|
10042
|
-
*
|
|
10043
|
-
* @remarks
|
|
10044
|
-
* The returned block's content is exactly `in_ci || pm_exec <command>` with `command`
|
|
10045
|
-
* appended verbatim — it is not parsed, quoted, or interpolated, so shell tokens like
|
|
10046
|
-
* `$ROOT` and `$1` survive into the generated literal.
|
|
10047
|
-
*
|
|
10048
|
-
* **Precondition:** a {@link SavvyBaseSection} block must precede this section in the same
|
|
10049
|
-
* hook file so `in_ci` and `pm_exec` are defined. Consumers guarantee this by passing both
|
|
10050
|
-
* to `ManagedSection.syncAll` in order:
|
|
10051
|
-
*
|
|
10052
|
-
* @example
|
|
10053
|
-
* ```ts
|
|
10054
|
-
* yield* sections.syncAll(".husky/commit-msg", [
|
|
10055
|
-
* SavvyBaseSection.section(savvyBasePreamble()),
|
|
10056
|
-
* savvyToolSection("savvy-commit", 'commitlint --config "$ROOT/lib/configs/commitlint.config.ts" --edit "$1"'),
|
|
10057
|
-
* ]);
|
|
10058
|
-
* ```
|
|
10059
|
-
*
|
|
10060
|
-
* @param toolName - Section identity; also drives the marker names (uppercased).
|
|
10061
|
-
* @param command - The command passed verbatim to `pm_exec`, run only outside CI.
|
|
10062
|
-
* @returns A shell `Section` (`commentStyle: hash`) for `toolName`.
|
|
10063
|
-
*
|
|
10064
|
-
* @since 0.5.0
|
|
10065
|
-
* @public
|
|
10066
|
-
*/
|
|
10067
|
-
export declare function savvyToolSection(toolName: string, command: string): Section;
|
|
10068
|
-
/**
|
|
10069
|
-
* Section identity for the package-manager toolchain drift check.
|
|
10070
|
-
*
|
|
10071
|
-
* `toolName` is `"savvy-toolchain"`; pair with {@link savvyToolchainCheck}.
|
|
10072
|
-
*
|
|
10073
|
-
* @since 7.3.0
|
|
10074
|
-
* @public
|
|
10075
|
-
*/
|
|
10076
|
-
export declare const SavvyToolchainSection: SectionId;
|
|
10077
|
-
/**
|
|
10078
|
-
* Package-manager drift check shared across Silk Suite hook files.
|
|
10079
|
-
*
|
|
10080
|
-
* @remarks
|
|
10081
|
-
* Compares the running package manager's version against the repo's
|
|
10082
|
-
* `devEngines.packageManager` pin and prints a warning on mismatch. **Warn only** —
|
|
10083
|
-
* it never blocks the hook and never installs anything, so nobody mid-bisect or
|
|
10084
|
-
* mid-rebase on an older pin is stranded.
|
|
10085
|
-
*
|
|
10086
|
-
* Deliberately self-contained: its homes are `.husky/post-checkout` and
|
|
10087
|
-
* `.husky/post-merge`, which carry {@link SavvyHooksSection} but no
|
|
10088
|
-
* {@link SavvyBaseSection}, so it defines its own root/CI/pin lookups rather than
|
|
10089
|
-
* depending on `ROOT`, `in_ci` or `PM`. It honours the `name` recorded in the pin
|
|
10090
|
-
* rather than assuming pnpm.
|
|
10091
|
-
*
|
|
10092
|
-
* Every input is treated as optional: no `git` root, no `jq`, no `devEngines` block,
|
|
10093
|
-
* or a package manager that is not on `PATH` all mean "say nothing". Only an exact
|
|
10094
|
-
* pin is comparable, so ranges (`^1.2.3`, `>=1 || <2`) and wildcards (`1.x`) are
|
|
10095
|
-
* skipped, and the `+sha512…` integrity tail `devEngines` versions routinely carry is
|
|
10096
|
-
* stripped before comparison. Skipped under CI, where the runtime action installs the
|
|
10097
|
-
* pin by construction.
|
|
10098
|
-
*
|
|
10099
|
-
* @returns The drift-check shell, with no surrounding markers or trailing newline.
|
|
10100
|
-
*
|
|
10101
|
-
* @since 7.3.0
|
|
10102
|
-
* @public
|
|
10103
|
-
*/
|
|
10104
|
-
export declare function savvyToolchainCheck(): string;
|
|
10105
|
-
//#endregion
|
|
10106
|
-
//#region src/schemas/WorkspaceAnalysisSchemas.d.ts
|
|
10107
|
-
declare const SilkPublishConfig_base: Schema.Class<SilkPublishConfig, Schema.Struct<{
|
|
10108
|
-
readonly access: Schema.optionalKey<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
10109
|
-
readonly registry: Schema.optionalKey<Schema.String>;
|
|
10110
|
-
readonly directory: Schema.optionalKey<Schema.String>;
|
|
10111
|
-
readonly linkDirectory: Schema.optionalKey<Schema.Boolean>;
|
|
10112
|
-
readonly tag: Schema.optionalKey<Schema.String>;
|
|
10113
|
-
targets: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.Literals<readonly ["npm", "github", "jsr"]>, Schema.Struct<{
|
|
10114
|
-
readonly protocol: Schema.withConstructorDefault<Schema.withDecodingDefaultType<Schema.Literals<readonly ["npm", "jsr"]>, never>>;
|
|
10115
|
-
readonly registry: Schema.optional<Schema.String>;
|
|
10116
|
-
readonly directory: Schema.optional<Schema.String>;
|
|
10117
|
-
readonly access: Schema.optional<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
10118
|
-
readonly provenance: Schema.optional<Schema.Boolean>;
|
|
10119
|
-
readonly tag: Schema.optional<Schema.String>;
|
|
10120
|
-
}>]>>>;
|
|
10121
|
-
}>, PublishConfig> & Pick<{}, never>;
|
|
10122
|
-
/**
|
|
10123
|
-
* Silk-extended publishConfig schema.
|
|
10124
|
-
*
|
|
10125
|
-
* @remarks
|
|
10126
|
-
* Extends the base PublishConfig from `@effected/workspaces` (which covers the
|
|
10127
|
-
* npm standard fields — access, registry, directory, tag — and, as of kit
|
|
10128
|
-
* round 3, `linkDirectory`) with the Silk `targets` extension for
|
|
10129
|
-
* multi-registry publishing.
|
|
10130
|
-
*
|
|
10131
|
-
* @since 0.2.0
|
|
10132
|
-
* @public
|
|
10133
|
-
*/
|
|
10134
|
-
export declare class SilkPublishConfig extends SilkPublishConfig_base {}
|
|
10135
|
-
declare const AnalyzedWorkspace_base: Schema.Class<AnalyzedWorkspace, Schema.TaggedStruct<"AnalyzedWorkspace", {
|
|
10136
|
-
readonly name: Schema.String;
|
|
10137
|
-
readonly version: Schema.Struct<{
|
|
10138
|
-
readonly current: Schema.optional<Schema.String>;
|
|
10139
|
-
}>;
|
|
10140
|
-
readonly path: Schema.String;
|
|
10141
|
-
readonly root: Schema.Boolean;
|
|
10142
|
-
readonly publishConfig: Schema.NullOr<typeof SilkPublishConfig>;
|
|
10143
|
-
readonly publishable: Schema.Boolean;
|
|
10144
|
-
readonly targets: Schema.$Array<typeof PublishTarget>;
|
|
10145
|
-
readonly versioned: Schema.Boolean;
|
|
10146
|
-
readonly tagged: Schema.Boolean;
|
|
10147
|
-
readonly released: Schema.Boolean;
|
|
10148
|
-
readonly linked: Schema.$Array<Schema.suspend<any>>;
|
|
10149
|
-
readonly fixed: Schema.$Array<Schema.suspend<any>>;
|
|
10150
|
-
}>, {}>;
|
|
10151
|
-
/**
|
|
10152
|
-
* A fully analyzed workspace with publish targets, versioning status,
|
|
10153
|
-
* and release group membership.
|
|
10154
|
-
*
|
|
10155
|
-
* @since 0.2.0
|
|
10156
|
-
* @public
|
|
10157
|
-
*/
|
|
10158
|
-
export declare class AnalyzedWorkspace extends AnalyzedWorkspace_base {
|
|
10159
|
-
get isRoot(): boolean;
|
|
10160
|
-
get isPublishable(): boolean;
|
|
10161
|
-
get isReleasable(): boolean;
|
|
10162
|
-
get isFixed(): boolean;
|
|
10163
|
-
get isLinked(): boolean;
|
|
10164
|
-
publishesTo(registry: string): boolean;
|
|
10165
|
-
hasTarget(shorthand: "npm" | "github" | "jsr"): boolean;
|
|
10166
|
-
targetFor(registry: string): Option.Option<PublishTarget>;
|
|
10167
|
-
[Equal.symbol](that: Equal.Equal): boolean;
|
|
10168
|
-
[Hash.symbol](): number;
|
|
10169
|
-
toString(): string;
|
|
10170
|
-
toJSON(): unknown;
|
|
10171
|
-
static publishable(workspaces: ReadonlyArray<AnalyzedWorkspace>): ReadonlyArray<AnalyzedWorkspace>;
|
|
10172
|
-
static releasable(workspaces: ReadonlyArray<AnalyzedWorkspace>): ReadonlyArray<AnalyzedWorkspace>;
|
|
10173
|
-
static findByName: {
|
|
10174
|
-
(name: string): (workspaces: ReadonlyArray<AnalyzedWorkspace>) => Option.Option<AnalyzedWorkspace>;
|
|
10175
|
-
(workspaces: ReadonlyArray<AnalyzedWorkspace>, name: string): Option.Option<AnalyzedWorkspace>;
|
|
10176
|
-
};
|
|
10177
|
-
/** Pretty-print an AnalyzedWorkspace instance. */
|
|
10178
|
-
static pretty: (self: AnalyzedWorkspace) => string;
|
|
10179
|
-
}
|
|
10180
|
-
declare const WorkspaceAnalysis_base: Schema.Class<WorkspaceAnalysis, Schema.TaggedStruct<"WorkspaceAnalysis", {
|
|
10181
|
-
readonly root: Schema.String;
|
|
10182
|
-
readonly runtime: Schema.Literals<readonly ["node", "bun"]>;
|
|
10183
|
-
readonly packageManager: Schema.Struct<{
|
|
10184
|
-
readonly type: Schema.Literals<readonly ["npm", "pnpm", "yarn", "bun"]>;
|
|
10185
|
-
readonly version: Schema.optional<Schema.String>;
|
|
10186
|
-
}>;
|
|
10187
|
-
readonly workspaces: Schema.$Array<typeof AnalyzedWorkspace>;
|
|
10188
|
-
readonly changesetConfig: Schema.NullOr<Schema.Union<readonly [Schema.Struct<{
|
|
10189
|
-
readonly changelog: Schema.optional<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Unknown>, Schema.Literal<false>]>>;
|
|
10190
|
-
readonly commit: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.String, Schema.$Array<Schema.Unknown>]>>;
|
|
10191
|
-
readonly fixed: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
10192
|
-
readonly linked: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
10193
|
-
readonly access: Schema.optional<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
10194
|
-
readonly baseBranch: Schema.optional<Schema.String>;
|
|
10195
|
-
readonly updateInternalDependencies: Schema.optional<Schema.Literals<readonly ["patch", "minor", "major"]>>;
|
|
10196
|
-
readonly ignore: Schema.optional<Schema.$Array<Schema.String>>;
|
|
10197
|
-
readonly privatePackages: Schema.optional<Schema.Union<readonly [Schema.Struct<{
|
|
10198
|
-
readonly tag: Schema.optional<Schema.Boolean>;
|
|
10199
|
-
readonly version: Schema.optional<Schema.Boolean>;
|
|
10200
|
-
}>, Schema.Literal<false>]>>;
|
|
10201
|
-
readonly prettier: Schema.optional<Schema.Boolean>;
|
|
10202
|
-
readonly changedFilePatterns: Schema.optional<Schema.$Array<Schema.String>>;
|
|
10203
|
-
readonly bumpVersionsWithWorkspaceProtocolOnly: Schema.optional<Schema.Boolean>;
|
|
10204
|
-
readonly snapshot: Schema.optional<Schema.Struct<{
|
|
10205
|
-
readonly useCalculatedVersion: Schema.optional<Schema.Boolean>;
|
|
10206
|
-
readonly prereleaseTemplate: Schema.optional<Schema.String>;
|
|
10207
|
-
}>>;
|
|
10208
|
-
readonly _isSilk: Schema.withConstructorDefault<Schema.withDecodingDefaultType<Schema.Boolean, never>>;
|
|
10209
|
-
}>, Schema.Struct<{
|
|
10210
|
-
readonly changelog: Schema.optional<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Unknown>, Schema.Literal<false>]>>;
|
|
10211
|
-
readonly commit: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.String, Schema.$Array<Schema.Unknown>]>>;
|
|
10212
|
-
readonly fixed: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
10213
|
-
readonly linked: Schema.optional<Schema.$Array<Schema.$Array<Schema.String>>>;
|
|
10214
|
-
readonly access: Schema.optional<Schema.Literals<readonly ["public", "restricted"]>>;
|
|
10215
|
-
readonly baseBranch: Schema.optional<Schema.String>;
|
|
10216
|
-
readonly updateInternalDependencies: Schema.optional<Schema.Literals<readonly ["patch", "minor", "major"]>>;
|
|
10217
|
-
readonly ignore: Schema.optional<Schema.$Array<Schema.String>>;
|
|
10218
|
-
readonly privatePackages: Schema.optional<Schema.Union<readonly [Schema.Struct<{
|
|
10219
|
-
readonly tag: Schema.optional<Schema.Boolean>;
|
|
10220
|
-
readonly version: Schema.optional<Schema.Boolean>;
|
|
10221
|
-
}>, Schema.Literal<false>]>>;
|
|
10222
|
-
readonly prettier: Schema.optional<Schema.Boolean>;
|
|
10223
|
-
readonly changedFilePatterns: Schema.optional<Schema.$Array<Schema.String>>;
|
|
10224
|
-
readonly bumpVersionsWithWorkspaceProtocolOnly: Schema.optional<Schema.Boolean>;
|
|
10225
|
-
readonly snapshot: Schema.optional<Schema.Struct<{
|
|
10226
|
-
readonly useCalculatedVersion: Schema.optional<Schema.Boolean>;
|
|
10227
|
-
readonly prereleaseTemplate: Schema.optional<Schema.String>;
|
|
10228
|
-
}>>;
|
|
10229
|
-
}>]>>;
|
|
10230
|
-
readonly versioning: Schema.NullOr<typeof VersioningStrategy>;
|
|
10231
|
-
readonly tagStrategy: Schema.NullOr<Schema.Literals<readonly ["single", "scoped"]>>;
|
|
10232
|
-
}>, {}>;
|
|
10233
|
-
/**
|
|
10234
|
-
* Full workspace analysis result containing all analyzed workspaces
|
|
10235
|
-
* and project-level configuration.
|
|
10236
|
-
*
|
|
10237
|
-
* @since 0.2.0
|
|
10238
|
-
* @public
|
|
10239
|
-
*/
|
|
10240
|
-
export declare class WorkspaceAnalysis extends WorkspaceAnalysis_base {
|
|
10241
|
-
findWorkspace(name: string): Option.Option<AnalyzedWorkspace>;
|
|
10242
|
-
get rootWorkspace(): Option.Option<AnalyzedWorkspace>;
|
|
10243
|
-
get publishableWorkspaces(): ReadonlyArray<AnalyzedWorkspace>;
|
|
10244
|
-
get versionedWorkspaces(): ReadonlyArray<AnalyzedWorkspace>;
|
|
10245
|
-
get taggedWorkspaces(): ReadonlyArray<AnalyzedWorkspace>;
|
|
10246
|
-
get releasableWorkspaces(): ReadonlyArray<AnalyzedWorkspace>;
|
|
10247
|
-
get isSilk(): boolean;
|
|
10248
|
-
get hasChangesets(): boolean;
|
|
10249
|
-
[Equal.symbol](that: Equal.Equal): boolean;
|
|
10250
|
-
[Hash.symbol](): number;
|
|
10251
|
-
toString(): string;
|
|
10252
|
-
/** Pretty-print a WorkspaceAnalysis instance. */
|
|
10253
|
-
static pretty: (self: WorkspaceAnalysis) => string;
|
|
10254
|
-
}
|
|
10255
|
-
//#endregion
|
|
10256
9087
|
//#region src/services/BiomeSchemaSync.d.ts
|
|
10257
9088
|
/**
|
|
10258
9089
|
* Strip leading semver range operators from a version string.
|
|
@@ -10285,29 +9116,31 @@ interface BiomeSchemaSyncShape {
|
|
|
10285
9116
|
* Update the `$schema` URL in all located Biome config files to match `version`.
|
|
10286
9117
|
*
|
|
10287
9118
|
* @param version - Target Biome version (range operators are stripped automatically).
|
|
10288
|
-
* @param options -
|
|
10289
|
-
*
|
|
9119
|
+
* @param options - The `cwd` to scan (required — engine code never reads `process.cwd()`; the front
|
|
9120
|
+
* end supplies it) and an optional `gitignore` override.
|
|
9121
|
+
* @returns An `Effect` that succeeds with a `BiomeSyncResult` or fails with `BiomeSyncError`.
|
|
10290
9122
|
*
|
|
10291
9123
|
* @since 0.1.0
|
|
10292
9124
|
*/
|
|
10293
|
-
readonly sync: (version: string, options
|
|
10294
|
-
cwd
|
|
10295
|
-
gitignore?: boolean;
|
|
10296
|
-
}) => Effect.Effect<BiomeSyncResult, BiomeSyncError>;
|
|
9125
|
+
readonly sync: (version: string, options: {
|
|
9126
|
+
readonly cwd: string;
|
|
9127
|
+
readonly gitignore?: boolean;
|
|
9128
|
+
}) => Effect.Effect<BiomeSyncResult$1, BiomeSyncError$1>;
|
|
10297
9129
|
/**
|
|
10298
9130
|
* Check whether the `$schema` URL in Biome config files is current, without writing any changes.
|
|
10299
9131
|
*
|
|
10300
9132
|
* @param version - Target Biome version (range operators are stripped automatically).
|
|
10301
|
-
* @param options -
|
|
10302
|
-
*
|
|
9133
|
+
* @param options - The `cwd` to scan (required — engine code never reads `process.cwd()`; the front
|
|
9134
|
+
* end supplies it) and an optional `gitignore` override.
|
|
9135
|
+
* @returns An `Effect` that succeeds with a `BiomeSyncResult` or fails with `BiomeSyncError`.
|
|
10303
9136
|
* Files that would be updated appear in `updated`; no disk writes occur.
|
|
10304
9137
|
*
|
|
10305
9138
|
* @since 0.1.0
|
|
10306
9139
|
*/
|
|
10307
|
-
readonly check: (version: string, options
|
|
10308
|
-
cwd
|
|
10309
|
-
gitignore?: boolean;
|
|
10310
|
-
}) => Effect.Effect<BiomeSyncResult, BiomeSyncError>;
|
|
9140
|
+
readonly check: (version: string, options: {
|
|
9141
|
+
readonly cwd: string;
|
|
9142
|
+
readonly gitignore?: boolean;
|
|
9143
|
+
}) => Effect.Effect<BiomeSyncResult$1, BiomeSyncError$1>;
|
|
10311
9144
|
}
|
|
10312
9145
|
declare const BiomeSchemaSync_base: Context.ServiceClass<BiomeSchemaSync, "@savvy-web/silk-effects/BiomeSchemaSync", BiomeSchemaSyncShape>;
|
|
10313
9146
|
/**
|
|
@@ -10323,7 +9156,7 @@ declare const BiomeSchemaSync_base: Context.ServiceClass<BiomeSchemaSync, "@savv
|
|
|
10323
9156
|
* const result = await Effect.runPromise(
|
|
10324
9157
|
* Effect.gen(function* () {
|
|
10325
9158
|
* const syncer = yield* BiomeSchemaSync;
|
|
10326
|
-
* return yield* syncer.sync("^1.9.3");
|
|
9159
|
+
* return yield* syncer.sync("^1.9.3", { cwd: "/path/to/repo" });
|
|
10327
9160
|
* }).pipe(
|
|
10328
9161
|
* Effect.provide(BiomeSchemaSync.layer),
|
|
10329
9162
|
* Effect.provide(NodeServices.layer),
|
|
@@ -10357,31 +9190,33 @@ export declare class BiomeSchemaSync extends BiomeSchemaSync_base {
|
|
|
10357
9190
|
*/
|
|
10358
9191
|
interface ConfigDiscoveryShape {
|
|
10359
9192
|
/**
|
|
10360
|
-
* Return the highest-priority
|
|
9193
|
+
* Return the highest-priority `ConfigLocation` for the given config file name,
|
|
10361
9194
|
* or `null` when none of the candidate paths exist.
|
|
10362
9195
|
*
|
|
10363
9196
|
* @param name - Config file name (e.g. `"biome.json"`).
|
|
10364
|
-
* @param options -
|
|
10365
|
-
*
|
|
9197
|
+
* @param options - The `cwd` the candidate paths are resolved against (no ambient default: this is
|
|
9198
|
+
* engine code and never reads `process.cwd()`; the front end supplies it).
|
|
9199
|
+
* @returns An `Effect` that always succeeds with a `ConfigLocation` or `null`.
|
|
10366
9200
|
*
|
|
10367
9201
|
* @since 0.1.0
|
|
10368
9202
|
*/
|
|
10369
|
-
readonly find: (name: string, options
|
|
10370
|
-
cwd
|
|
10371
|
-
}) => Effect.Effect<ConfigLocation | null>;
|
|
9203
|
+
readonly find: (name: string, options: {
|
|
9204
|
+
readonly cwd: string;
|
|
9205
|
+
}) => Effect.Effect<ConfigLocation$1 | null>;
|
|
10372
9206
|
/**
|
|
10373
|
-
* Return all existing
|
|
9207
|
+
* Return all existing `ConfigLocation` entries for the given config file name,
|
|
10374
9208
|
* ordered from highest to lowest priority.
|
|
10375
9209
|
*
|
|
10376
9210
|
* @param name - Config file name (e.g. `"biome.json"`).
|
|
10377
|
-
* @param options -
|
|
10378
|
-
*
|
|
9211
|
+
* @param options - The `cwd` the candidate paths are resolved against (no ambient default: this is
|
|
9212
|
+
* engine code and never reads `process.cwd()`; the front end supplies it).
|
|
9213
|
+
* @returns An `Effect` that always succeeds with an array of `ConfigLocation` records.
|
|
10379
9214
|
*
|
|
10380
9215
|
* @since 0.1.0
|
|
10381
9216
|
*/
|
|
10382
|
-
readonly findAll: (name: string, options
|
|
10383
|
-
cwd
|
|
10384
|
-
}) => Effect.Effect<ReadonlyArray<ConfigLocation>>;
|
|
9217
|
+
readonly findAll: (name: string, options: {
|
|
9218
|
+
readonly cwd: string;
|
|
9219
|
+
}) => Effect.Effect<ReadonlyArray<ConfigLocation$1>>;
|
|
10385
9220
|
}
|
|
10386
9221
|
declare const ConfigDiscovery_base: Context.ServiceClass<ConfigDiscovery, "@savvy-web/silk-effects/ConfigDiscovery", ConfigDiscoveryShape>;
|
|
10387
9222
|
/**
|
|
@@ -10399,7 +9234,7 @@ declare const ConfigDiscovery_base: Context.ServiceClass<ConfigDiscovery, "@savv
|
|
|
10399
9234
|
* const result = await Effect.runPromise(
|
|
10400
9235
|
* Effect.gen(function* () {
|
|
10401
9236
|
* const discovery = yield* ConfigDiscovery;
|
|
10402
|
-
* return yield* discovery.find("biome.json");
|
|
9237
|
+
* return yield* discovery.find("biome.json", { cwd: "/path/to/repo" });
|
|
10403
9238
|
* }).pipe(
|
|
10404
9239
|
* Effect.provide(ConfigDiscovery.layer),
|
|
10405
9240
|
* Effect.provide(NodeServices.layer),
|
|
@@ -10571,12 +9406,12 @@ export declare class SilkPublishability {
|
|
|
10571
9406
|
* directories it names. A directory outside the binding means detection did
|
|
10572
9407
|
* not select the prod output — the `yaml-effect@0.7.1` shape, where a dev
|
|
10573
9408
|
* manifest carrying `catalog:` specifiers was packed and published. Rather
|
|
10574
|
-
* than ship those bytes, fail with
|
|
9409
|
+
* than ship those bytes, fail with `PublishTargetBindingError`.
|
|
10575
9410
|
*
|
|
10576
9411
|
* Before the prod build runs there is no binding, and the detector's
|
|
10577
9412
|
* placeholder directories are left alone.
|
|
10578
9413
|
*/
|
|
10579
|
-
static resolveTargets(pkg: WorkspacePackage, _root: string): Effect.Effect<ReadonlyArray<PublishTarget>, PublishTargetBindingError, PublishabilityDetector | FileSystem.FileSystem>;
|
|
9414
|
+
static resolveTargets(pkg: WorkspacePackage, _root: string): Effect.Effect<ReadonlyArray<PublishTarget>, PublishTargetBindingError$1, PublishabilityDetector | FileSystem.FileSystem>;
|
|
10580
9415
|
/**
|
|
10581
9416
|
* The publishable, non-ignored packages, resolved through the single
|
|
10582
9417
|
* {@link SilkPublishability} (which already honors changeset ignore in adaptive mode).
|
|
@@ -10632,17 +9467,17 @@ export declare const readTargetsBinding: (fs: FileSystem.FileSystem, pkgPath: st
|
|
|
10632
9467
|
*/
|
|
10633
9468
|
interface SilkWorkspaceAnalyzerShape {
|
|
10634
9469
|
/**
|
|
10635
|
-
* Analyze a workspace root and produce a full
|
|
9470
|
+
* Analyze a workspace root and produce a full `WorkspaceAnalysis`.
|
|
10636
9471
|
*
|
|
10637
9472
|
* @param root - Absolute path to the workspace root directory. Must match
|
|
10638
9473
|
* the root that the `WorkspaceDiscovery` layer was initialised with. The analyzer
|
|
10639
9474
|
* is single-root by design — build a fresh layer per workspace root.
|
|
10640
|
-
* @returns An `Effect` that succeeds with a
|
|
10641
|
-
* fails with
|
|
9475
|
+
* @returns An `Effect` that succeeds with a `WorkspaceAnalysis`, or
|
|
9476
|
+
* fails with `WorkspaceAnalysisError`.
|
|
10642
9477
|
*
|
|
10643
9478
|
* @since 0.2.0
|
|
10644
9479
|
*/
|
|
10645
|
-
readonly analyze: (root: string) => Effect.Effect<WorkspaceAnalysis, WorkspaceAnalysisError>;
|
|
9480
|
+
readonly analyze: (root: string) => Effect.Effect<WorkspaceAnalysis$1, WorkspaceAnalysisError$1>;
|
|
10646
9481
|
}
|
|
10647
9482
|
declare const SilkWorkspaceAnalyzer_base: Context.ServiceClass<SilkWorkspaceAnalyzer, "@savvy-web/silk-effects/SilkWorkspaceAnalyzer", SilkWorkspaceAnalyzerShape>;
|
|
10648
9483
|
/**
|
|
@@ -10654,7 +9489,7 @@ declare const SilkWorkspaceAnalyzer_base: Context.ServiceClass<SilkWorkspaceAnal
|
|
|
10654
9489
|
* Orchestrates `WorkspaceDiscovery`, `PackageManagerDetector` and
|
|
10655
9490
|
* {@link ChangesetConfigReader}, then classifies the result with
|
|
10656
9491
|
* `@effected/workspaces`' pure `VersioningStrategy` value class, to produce a
|
|
10657
|
-
* complete
|
|
9492
|
+
* complete `WorkspaceAnalysis` for a given workspace root.
|
|
10658
9493
|
*
|
|
10659
9494
|
* @example
|
|
10660
9495
|
* ```typescript
|
|
@@ -11038,9 +9873,9 @@ declare class TurboInspector extends TurboInspector_base {
|
|
|
11038
9873
|
*/
|
|
11039
9874
|
static readonly layer: Layer.Layer<TurboInspector, never, ToolDiscovery | ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem | Git>;
|
|
11040
9875
|
}
|
|
11041
|
-
declare namespace index_d_exports$
|
|
9876
|
+
declare namespace index_d_exports$4 {
|
|
11042
9877
|
export { AffectedResult, AffectedResultType, CacheDiagnosis, CacheDiagnosisType, DryRunParseError, GlobalHashSummary, GraphNode, MissExplanation, NotATurboRepoError, PackageCacheStatus, TaskGraphResult, TaskGraphResultType, TurboCache, TurboDigest, TurboDryRun, TurboDryRunType, TurboDryTask, TurboDryTaskType, TurboEnvVars, TurboError, TurboExecError, TurboGlobalCacheInputs, TurboInspector, TurboInspectorShape, TurboNotInstalledError };
|
|
11043
9878
|
}
|
|
11044
9879
|
//#endregion
|
|
11045
|
-
export { type BiomeSchemaSyncShape, type BiomeSyncOptions, type BiomeSyncResult, type ChangesetConfigFile, type ChangesetConfigReaderShape, type ChangesetConfigShape, type ChangesetMode, index_d_exports as Changesets, index_d_exports$1 as Commitlint, type CommitlintPlugin, type CommitlintUserConfig, type ConfigDiscoveryOptions, type ConfigDiscoveryShape, type ConfigLocation, type ConfigSource, index_d_exports$2 as Lint,
|
|
9880
|
+
export { AnalyzedWorkspace, type BiomeSchemaSyncShape, BiomeSyncError, type BiomeSyncOptions, type BiomeSyncResult, ChangesetConfigError, type ChangesetConfigFile, type ChangesetConfigReaderShape, type ChangesetConfigShape, type ChangesetMode, index_d_exports as Changesets, index_d_exports$1 as Commitlint, type CommitlintPlugin, type CommitlintUserConfig, type ConfigDiscoveryOptions, type ConfigDiscoveryShape, type ConfigLocation, ConfigNotFoundError, type ConfigSource, LIFECYCLE_SCRIPTS_CONFIG_KEY, index_d_exports$2 as Lint, PrBody, type PromptConfig, type PromptSettings, PublishTargetBindingError, type PublishablePackage, type RawPackageJson, type RawPublishConfig, type RawPublishTargets, type RawTargetObject, type RawTargetValue, index_d_exports$3 as Repos, type RuleApplicability, type RuleConfigTuple, type RuleSeverity, type RulesConfig, SavvyBaseSection, SavvyHooksSection, type SavvyInstallHook, SavvyInstallSection, SavvyToolchainSection, type SilkChangesetConfigFile, SilkPublishConfig, type SilkWorkspaceAnalyzerShape, type TargetBinding, type TargetGroupBinding, type TargetsBinding, index_d_exports$4 as Turbo, WorkspaceAnalysis, WorkspaceAnalysisError, publishesBuiltLinkDirectory, savvyBasePreamble, savvyHooksHygiene, savvyInstallBlock, savvyInstallDeps, savvyToolSection, savvyToolchainCheck };
|
|
11046
9881
|
//# sourceMappingURL=index.d.ts.map
|