@mannyc1/ts-release 0.0.2 → 0.0.5

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.
Files changed (181) hide show
  1. package/ARCHITECTURE.md +55 -15
  2. package/README.md +229 -75
  3. package/SPEC.md +53 -9
  4. package/dist/config/errors.d.ts +2 -1
  5. package/dist/config/errors.d.ts.map +1 -1
  6. package/dist/config/errors.js +4 -3
  7. package/dist/config/errors.js.map +1 -1
  8. package/dist/config/load.d.ts.map +1 -1
  9. package/dist/config/load.js +5 -3
  10. package/dist/config/load.js.map +1 -1
  11. package/dist/config/schema.d.ts +4 -0
  12. package/dist/config/schema.d.ts.map +1 -1
  13. package/dist/config/schema.js +13 -0
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/domain/artifact.d.ts +3 -3
  16. package/dist/domain/artifact.d.ts.map +1 -1
  17. package/dist/domain/artifact.js +1 -1
  18. package/dist/domain/artifact.js.map +1 -1
  19. package/dist/domain/evidence.d.ts +18 -14
  20. package/dist/domain/evidence.d.ts.map +1 -1
  21. package/dist/domain/evidence.js +8 -3
  22. package/dist/domain/evidence.js.map +1 -1
  23. package/dist/domain/operation.d.ts +15 -14
  24. package/dist/domain/operation.d.ts.map +1 -1
  25. package/dist/domain/operation.js +117 -1
  26. package/dist/domain/operation.js.map +1 -1
  27. package/dist/domain/release.d.ts +84 -9
  28. package/dist/domain/release.d.ts.map +1 -1
  29. package/dist/domain/release.js +76 -5
  30. package/dist/domain/release.js.map +1 -1
  31. package/dist/domain/remote-state.d.ts +21 -16
  32. package/dist/domain/remote-state.d.ts.map +1 -1
  33. package/dist/domain/remote-state.js +14 -8
  34. package/dist/domain/remote-state.js.map +1 -1
  35. package/dist/domain/status.d.ts +4 -4
  36. package/dist/domain/status.d.ts.map +1 -1
  37. package/dist/domain/status.js +3 -2
  38. package/dist/domain/status.js.map +1 -1
  39. package/dist/domain/target.d.ts +7 -7
  40. package/dist/domain/target.d.ts.map +1 -1
  41. package/dist/domain/target.js +1 -1
  42. package/dist/domain/target.js.map +1 -1
  43. package/dist/host/host.d.ts +1 -0
  44. package/dist/host/host.d.ts.map +1 -1
  45. package/dist/host/host.js +2 -1
  46. package/dist/host/host.js.map +1 -1
  47. package/dist/host/http-live.d.ts.map +1 -1
  48. package/dist/host/http-live.js +7 -3
  49. package/dist/host/http-live.js.map +1 -1
  50. package/dist/host/http.d.ts +4 -1
  51. package/dist/host/http.d.ts.map +1 -1
  52. package/dist/host/http.js +5 -2
  53. package/dist/host/http.js.map +1 -1
  54. package/dist/host/platform.d.ts.map +1 -1
  55. package/dist/host/platform.js +2 -2
  56. package/dist/host/platform.js.map +1 -1
  57. package/dist/host/test.d.ts +1 -0
  58. package/dist/host/test.d.ts.map +1 -1
  59. package/dist/host/test.js +67 -7
  60. package/dist/host/test.js.map +1 -1
  61. package/dist/internal/workspace-path.d.ts +16 -0
  62. package/dist/internal/workspace-path.d.ts.map +1 -0
  63. package/dist/internal/workspace-path.js +33 -0
  64. package/dist/internal/workspace-path.js.map +1 -0
  65. package/dist/planner/artifact-inventory.d.ts.map +1 -1
  66. package/dist/planner/artifact-inventory.js +28 -9
  67. package/dist/planner/artifact-inventory.js.map +1 -1
  68. package/dist/planner/create-release-plan.d.ts +1 -1
  69. package/dist/planner/errors.d.ts +12 -6
  70. package/dist/planner/errors.d.ts.map +1 -1
  71. package/dist/planner/errors.js +20 -12
  72. package/dist/planner/errors.js.map +1 -1
  73. package/dist/planner/evidence-recorder.d.ts.map +1 -1
  74. package/dist/planner/evidence-recorder.js +32 -10
  75. package/dist/planner/evidence-recorder.js.map +1 -1
  76. package/dist/planner/executor.d.ts +4 -4
  77. package/dist/planner/executor.d.ts.map +1 -1
  78. package/dist/planner/executor.js +36 -4
  79. package/dist/planner/executor.js.map +1 -1
  80. package/dist/planner/normalize-release.d.ts +11 -2
  81. package/dist/planner/normalize-release.d.ts.map +1 -1
  82. package/dist/planner/normalize-release.js +98 -19
  83. package/dist/planner/normalize-release.js.map +1 -1
  84. package/dist/planner/reconcile.d.ts +1 -1
  85. package/dist/planner/reconcile.d.ts.map +1 -1
  86. package/dist/planner/reconcile.js +75 -92
  87. package/dist/planner/reconcile.js.map +1 -1
  88. package/dist/planner/release-eligibility.d.ts +20 -14
  89. package/dist/planner/release-eligibility.d.ts.map +1 -1
  90. package/dist/planner/release-eligibility.js +431 -25
  91. package/dist/planner/release-eligibility.js.map +1 -1
  92. package/dist/planner/render-plan.d.ts +10 -0
  93. package/dist/planner/render-plan.d.ts.map +1 -1
  94. package/dist/planner/render-plan.js +159 -0
  95. package/dist/planner/render-plan.js.map +1 -1
  96. package/dist/planner/status.d.ts +1 -1
  97. package/dist/planner/status.d.ts.map +1 -1
  98. package/dist/planner/status.js +8 -2
  99. package/dist/planner/status.js.map +1 -1
  100. package/dist/targets/adapter-helpers.d.ts +20 -2
  101. package/dist/targets/adapter-helpers.d.ts.map +1 -1
  102. package/dist/targets/adapter-helpers.js +32 -1
  103. package/dist/targets/adapter-helpers.js.map +1 -1
  104. package/dist/targets/github-release.d.ts +25 -0
  105. package/dist/targets/github-release.d.ts.map +1 -0
  106. package/dist/targets/github-release.js +82 -0
  107. package/dist/targets/github-release.js.map +1 -0
  108. package/dist/targets/github.d.ts +2 -2
  109. package/dist/targets/github.d.ts.map +1 -1
  110. package/dist/targets/github.js +28 -66
  111. package/dist/targets/github.js.map +1 -1
  112. package/dist/targets/homebrew.d.ts +2 -2
  113. package/dist/targets/homebrew.d.ts.map +1 -1
  114. package/dist/targets/homebrew.js +15 -31
  115. package/dist/targets/homebrew.js.map +1 -1
  116. package/dist/targets/scoop.d.ts +2 -2
  117. package/dist/targets/scoop.d.ts.map +1 -1
  118. package/dist/targets/scoop.js +13 -28
  119. package/dist/targets/scoop.js.map +1 -1
  120. package/dist/workflows/config.d.ts +191 -18
  121. package/dist/workflows/config.d.ts.map +1 -1
  122. package/dist/workflows/config.js +339 -61
  123. package/dist/workflows/config.js.map +1 -1
  124. package/dist/workflows/diagnostics.d.ts +62 -0
  125. package/dist/workflows/diagnostics.d.ts.map +1 -0
  126. package/dist/workflows/diagnostics.js +536 -0
  127. package/dist/workflows/diagnostics.js.map +1 -0
  128. package/dist/workflows/evidence.d.ts +8 -3
  129. package/dist/workflows/evidence.d.ts.map +1 -1
  130. package/dist/workflows/evidence.js +9 -0
  131. package/dist/workflows/evidence.js.map +1 -1
  132. package/dist/workflows/index.d.ts +7 -0
  133. package/dist/workflows/index.d.ts.map +1 -0
  134. package/dist/workflows/index.js +6 -0
  135. package/dist/workflows/index.js.map +1 -0
  136. package/dist/workflows/init.d.ts +84 -0
  137. package/dist/workflows/init.d.ts.map +1 -0
  138. package/dist/workflows/init.js +451 -0
  139. package/dist/workflows/init.js.map +1 -0
  140. package/dist/workflows/live.d.ts +2 -0
  141. package/dist/workflows/live.d.ts.map +1 -1
  142. package/dist/workflows/live.js +2 -0
  143. package/dist/workflows/live.js.map +1 -1
  144. package/dist/workflows/options.d.ts +30 -0
  145. package/dist/workflows/options.d.ts.map +1 -0
  146. package/dist/workflows/options.js +16 -0
  147. package/dist/workflows/options.js.map +1 -0
  148. package/examples/README.md +16 -12
  149. package/examples/github-release/release.config.json +1 -0
  150. package/examples/homebrew-tap/release.config.json +1 -0
  151. package/examples/multi-target/release.config.json +5 -1
  152. package/examples/non-strict-skips/release.config.json +1 -0
  153. package/examples/npm-first-publish/release.config.json +1 -0
  154. package/examples/npm-only/release.config.json +5 -1
  155. package/examples/pypi-registry/release.config.json +1 -0
  156. package/examples/scoop-bucket/release.config.json +1 -0
  157. package/package.json +37 -26
  158. package/templates/README.md +59 -0
  159. package/templates/github-actions/plan-and-approved-execute.yml +58 -0
  160. package/templates/github-actions/plan-only.yml +33 -0
  161. package/templates/github-actions/trusted-publishing.yml +61 -0
  162. package/templates/multi-target-homebrew/release.config.json +70 -0
  163. package/templates/multi-target-scoop/release.config.json +72 -0
  164. package/templates/npm-github/release.config.json +50 -0
  165. package/templates/npm-only/release.config.json +39 -0
  166. package/dist/cli/command.d.ts +0 -4
  167. package/dist/cli/command.d.ts.map +0 -1
  168. package/dist/cli/command.js +0 -173
  169. package/dist/cli/command.js.map +0 -1
  170. package/dist/cli/main.d.ts +0 -3
  171. package/dist/cli/main.d.ts.map +0 -1
  172. package/dist/cli/main.js +0 -9
  173. package/dist/cli/main.js.map +0 -1
  174. package/dist/runtime/bun.d.ts +0 -9
  175. package/dist/runtime/bun.d.ts.map +0 -1
  176. package/dist/runtime/bun.js +0 -10
  177. package/dist/runtime/bun.js.map +0 -1
  178. package/dist/version.d.ts +0 -2
  179. package/dist/version.d.ts.map +0 -1
  180. package/dist/version.js +0 -2
  181. package/dist/version.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/workflows/evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/workflows/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type * from "../types/effect-internal.js";
2
+ export * as Config from "./config.js";
3
+ export * as Diagnostics from "./diagnostics.js";
4
+ export * as Evidence from "./evidence.js";
5
+ export * as Init from "./init.js";
6
+ export * as Live from "./live.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,6BAA6B,CAAA;AAEhD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * as Config from "./config.js";
2
+ export * as Diagnostics from "./diagnostics.js";
3
+ export * as Evidence from "./evidence.js";
4
+ export * as Init from "./init.js";
5
+ export * as Live from "./live.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA"}
@@ -0,0 +1,84 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as FileSystem from "effect/FileSystem";
3
+ import * as Path from "effect/Path";
4
+ import * as Schema from "effect/Schema";
5
+ export type * from "../types/effect-internal.js";
6
+ export declare const ReleaseInitTemplateName: Schema.Literals<readonly ["npm-only", "npm-github", "multi-target-homebrew", "multi-target-scoop"]>;
7
+ export type ReleaseInitTemplateName = typeof ReleaseInitTemplateName.Type;
8
+ export declare const ReleaseInitFormat: Schema.Literals<readonly ["json", "text"]>;
9
+ export type ReleaseInitFormat = typeof ReleaseInitFormat.Type;
10
+ export declare const ReleaseInitPackageManager: Schema.Literals<readonly ["bun", "npm", "pnpm", "yarn"]>;
11
+ export type ReleaseInitPackageManager = typeof ReleaseInitPackageManager.Type;
12
+ declare const ReleaseInitOptions_base: Schema.Class<ReleaseInitOptions, Schema.Struct<{
13
+ readonly root: Schema.optionalKey<Schema.String>;
14
+ readonly configPath: Schema.optionalKey<Schema.String>;
15
+ readonly template: Schema.optionalKey<Schema.Literals<readonly ["npm-only", "npm-github", "multi-target-homebrew", "multi-target-scoop"]>>;
16
+ readonly package: Schema.optionalKey<Schema.String>;
17
+ readonly repo: Schema.optionalKey<Schema.String>;
18
+ readonly workflow: Schema.optionalKey<Schema.String>;
19
+ readonly tap: Schema.optionalKey<Schema.String>;
20
+ readonly bucket: Schema.optionalKey<Schema.String>;
21
+ readonly githubActions: Schema.optionalKey<Schema.Boolean>;
22
+ readonly packageManager: Schema.optionalKey<Schema.Literals<readonly ["bun", "npm", "pnpm", "yarn"]>>;
23
+ readonly installCommand: Schema.optionalKey<Schema.String>;
24
+ readonly buildCommand: Schema.optionalKey<Schema.String>;
25
+ readonly write: Schema.optionalKey<Schema.Boolean>;
26
+ readonly overwrite: Schema.optionalKey<Schema.Boolean>;
27
+ readonly format: Schema.optionalKey<Schema.Literals<readonly ["json", "text"]>>;
28
+ }>, {}>;
29
+ export declare class ReleaseInitOptions extends ReleaseInitOptions_base {
30
+ }
31
+ export interface ReleaseInitInput {
32
+ readonly root?: string | undefined;
33
+ readonly configPath?: string | undefined;
34
+ readonly template?: ReleaseInitTemplateName | undefined;
35
+ readonly package?: string | undefined;
36
+ readonly repo?: string | undefined;
37
+ readonly workflow?: string | undefined;
38
+ readonly tap?: string | undefined;
39
+ readonly bucket?: string | undefined;
40
+ readonly githubActions?: boolean | undefined;
41
+ readonly packageManager?: ReleaseInitPackageManager | undefined;
42
+ readonly installCommand?: string | undefined;
43
+ readonly buildCommand?: string | undefined;
44
+ readonly write?: boolean | undefined;
45
+ readonly overwrite?: boolean | undefined;
46
+ readonly format?: ReleaseInitFormat | undefined;
47
+ }
48
+ declare const ReleaseInitProposedFile_base: Schema.Class<ReleaseInitProposedFile, Schema.Struct<{
49
+ readonly path: Schema.String;
50
+ readonly contents: Schema.String;
51
+ readonly alreadyExists: Schema.Boolean;
52
+ }>, {}>;
53
+ export declare class ReleaseInitProposedFile extends ReleaseInitProposedFile_base {
54
+ }
55
+ declare const ReleaseInitPlan_base: Schema.Class<ReleaseInitPlan, Schema.Struct<{
56
+ readonly schemaVersion: Schema.Literal<"release-init/v1">;
57
+ readonly template: Schema.Literals<readonly ["npm-only", "npm-github", "multi-target-homebrew", "multi-target-scoop"]>;
58
+ readonly files: Schema.$Array<typeof ReleaseInitProposedFile>;
59
+ readonly nextCommand: Schema.String;
60
+ }>, {}>;
61
+ export declare class ReleaseInitPlan extends ReleaseInitPlan_base {
62
+ }
63
+ declare const ReleaseInitWriteError_base: Schema.Class<ReleaseInitWriteError, Schema.TaggedStruct<"ReleaseInitWriteError", {
64
+ readonly path: Schema.String;
65
+ readonly reason: Schema.String;
66
+ }>, import("effect/Cause").YieldableError>;
67
+ export declare class ReleaseInitWriteError extends ReleaseInitWriteError_base {
68
+ }
69
+ export declare const TS_RELEASE_ACTION_REFERENCE = "mannyc2/ts-release-action@v1";
70
+ interface GithubActionsWorkflowSetupInput {
71
+ readonly packageManager?: ReleaseInitPackageManager | undefined;
72
+ readonly installCommand?: string | undefined;
73
+ readonly buildCommand?: string | undefined;
74
+ }
75
+ export declare const renderGithubActionsTrustedPublishingWorkflow: (configPath: string, input?: GithubActionsWorkflowSetupInput) => string;
76
+ export declare const planReleaseInit: (input?: ReleaseInitInput | undefined) => Effect.Effect<ReleaseInitPlan, import("effect/PlatformError").PlatformError | ReleaseInitWriteError, FileSystem.FileSystem | Path.Path>;
77
+ export declare const runReleaseInit: (input?: ReleaseInitInput | undefined) => Effect.Effect<ReleaseInitPlan, import("effect/PlatformError").PlatformError | ReleaseInitWriteError, FileSystem.FileSystem | Path.Path>;
78
+ export declare const renderReleaseInitJson: (plan: ReleaseInitPlan) => string;
79
+ export declare const renderReleaseInitText: (plan: ReleaseInitPlan) => string;
80
+ export declare const renderReleaseInitPlan: (plan: ReleaseInitPlan, format?: ReleaseInitFormat) => string;
81
+ export declare const plan: (input?: ReleaseInitInput | undefined) => Effect.Effect<ReleaseInitPlan, import("effect/PlatformError").PlatformError | ReleaseInitWriteError, FileSystem.FileSystem | Path.Path>;
82
+ export declare const run: (input?: ReleaseInitInput | undefined) => Effect.Effect<ReleaseInitPlan, import("effect/PlatformError").PlatformError | ReleaseInitWriteError, FileSystem.FileSystem | Path.Path>;
83
+ export declare const renderPlan: (plan: ReleaseInitPlan, format?: ReleaseInitFormat) => string;
84
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/workflows/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,451 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as FileSystem from "effect/FileSystem";
3
+ import * as Path from "effect/Path";
4
+ import * as Schema from "effect/Schema";
5
+ import { DEFAULT_CONFIG_PATH, RELEASE_CONFIG_SCHEMA_ID } from "../config/schema.js";
6
+ import { hasParentTraversal, isInsidePathBoundary, resolveWorkspacePath, validateWorkspaceWritePath } from "../internal/workspace-path.js";
7
+ import { releaseConfigFields } from "./options.js";
8
+ export const ReleaseInitTemplateName = Schema.Literals([
9
+ "npm-only",
10
+ "npm-github",
11
+ "multi-target-homebrew",
12
+ "multi-target-scoop"
13
+ ]);
14
+ export const ReleaseInitFormat = Schema.Literals(["json", "text"]);
15
+ export const ReleaseInitPackageManager = Schema.Literals(["bun", "npm", "pnpm", "yarn"]);
16
+ export class ReleaseInitOptions extends Schema.Class("ReleaseInitOptions")({
17
+ root: Schema.optionalKey(Schema.String),
18
+ configPath: Schema.optionalKey(Schema.String),
19
+ template: Schema.optionalKey(ReleaseInitTemplateName),
20
+ package: Schema.optionalKey(Schema.String),
21
+ repo: Schema.optionalKey(Schema.String),
22
+ workflow: Schema.optionalKey(Schema.String),
23
+ tap: Schema.optionalKey(Schema.String),
24
+ bucket: Schema.optionalKey(Schema.String),
25
+ githubActions: Schema.optionalKey(Schema.Boolean),
26
+ packageManager: Schema.optionalKey(ReleaseInitPackageManager),
27
+ installCommand: Schema.optionalKey(Schema.String),
28
+ buildCommand: Schema.optionalKey(Schema.String),
29
+ write: Schema.optionalKey(Schema.Boolean),
30
+ overwrite: Schema.optionalKey(Schema.Boolean),
31
+ format: Schema.optionalKey(ReleaseInitFormat)
32
+ }) {
33
+ }
34
+ export class ReleaseInitProposedFile extends Schema.Class("ReleaseInitProposedFile")({
35
+ path: Schema.String,
36
+ contents: Schema.String,
37
+ alreadyExists: Schema.Boolean
38
+ }) {
39
+ }
40
+ export class ReleaseInitPlan extends Schema.Class("ReleaseInitPlan")({
41
+ schemaVersion: Schema.Literal("release-init/v1"),
42
+ template: ReleaseInitTemplateName,
43
+ files: Schema.Array(ReleaseInitProposedFile),
44
+ nextCommand: Schema.String
45
+ }) {
46
+ }
47
+ export class ReleaseInitWriteError extends Schema.TaggedErrorClass()("ReleaseInitWriteError", {
48
+ path: Schema.String,
49
+ reason: Schema.String
50
+ }) {
51
+ }
52
+ export const TS_RELEASE_ACTION_REFERENCE = "mannyc2/ts-release-action@v1";
53
+ const releaseInitOptionsFromInput = (input = {}) => ReleaseInitOptions.make({
54
+ ...releaseConfigFields(input),
55
+ ...(input.template === undefined ? {} : { template: input.template }),
56
+ ...(input.package === undefined ? {} : { package: input.package }),
57
+ ...(input.repo === undefined ? {} : { repo: input.repo }),
58
+ ...(input.workflow === undefined ? {} : { workflow: input.workflow }),
59
+ ...(input.tap === undefined ? {} : { tap: input.tap }),
60
+ ...(input.bucket === undefined ? {} : { bucket: input.bucket }),
61
+ ...(input.githubActions === undefined ? {} : { githubActions: input.githubActions }),
62
+ ...(input.packageManager === undefined ? {} : { packageManager: input.packageManager }),
63
+ ...(input.installCommand === undefined ? {} : { installCommand: input.installCommand }),
64
+ ...(input.buildCommand === undefined ? {} : { buildCommand: input.buildCommand }),
65
+ ...(input.write === undefined ? {} : { write: input.write }),
66
+ ...(input.overwrite === undefined ? {} : { overwrite: input.overwrite }),
67
+ ...(input.format === undefined ? {} : { format: input.format })
68
+ });
69
+ const initRoot = (path, options) => {
70
+ if (options.root !== undefined) {
71
+ return options.root;
72
+ }
73
+ if (options.configPath !== undefined && path.isAbsolute(options.configPath)) {
74
+ return path.dirname(options.configPath);
75
+ }
76
+ return ".";
77
+ };
78
+ const defaultInstallCommand = (packageManager) => {
79
+ switch (packageManager) {
80
+ case "bun":
81
+ return "bun install --frozen-lockfile";
82
+ case "npm":
83
+ return "npm ci";
84
+ case "pnpm":
85
+ return "corepack enable && pnpm install --frozen-lockfile";
86
+ case "yarn":
87
+ return "corepack enable && yarn install --immutable";
88
+ }
89
+ };
90
+ const defaultBuildCommand = (packageManager) => {
91
+ switch (packageManager) {
92
+ case "bun":
93
+ return "bun run build";
94
+ case "npm":
95
+ return "npm run build --if-present";
96
+ case "pnpm":
97
+ return "pnpm run build --if-present";
98
+ case "yarn":
99
+ return "yarn run build";
100
+ }
101
+ };
102
+ const normalizeOptions = (options, root) => {
103
+ const packageManager = options.packageManager ?? "bun";
104
+ return {
105
+ root,
106
+ configPath: options.configPath ?? DEFAULT_CONFIG_PATH,
107
+ template: options.template ?? "npm-only",
108
+ packageName: options["package"] ?? "@scope/pkg",
109
+ repository: options.repo ?? "owner/repo",
110
+ workflow: options.workflow ?? "release.yml",
111
+ tap: options.tap ?? "owner/homebrew-tap",
112
+ bucket: options.bucket ?? "owner/scoop-bucket",
113
+ githubActions: options.githubActions ?? false,
114
+ packageManager,
115
+ installCommand: (options.installCommand ?? defaultInstallCommand(packageManager)).trim(),
116
+ buildCommand: (options.buildCommand ?? defaultBuildCommand(packageManager)).trim()
117
+ };
118
+ };
119
+ const packageShortName = (packageName) => {
120
+ const withoutScope = packageName.includes("/") ? packageName.split("/").at(-1) ?? packageName : packageName;
121
+ const normalized = withoutScope.replace(/^@/, "").replace(/[^A-Za-z0-9-]+/g, "-");
122
+ return normalized.length === 0 ? "pkg" : normalized;
123
+ };
124
+ const configTargetNpm = (options) => ({
125
+ _tag: "NpmRegistryTarget",
126
+ id: "npm",
127
+ registry: "https://registry.npmjs.org",
128
+ packageName: options.packageName,
129
+ packagePath: ".",
130
+ trustedPublishing: {
131
+ provider: "github-actions",
132
+ workflow: options.workflow,
133
+ packageExists: true,
134
+ verifyPackageExists: true
135
+ },
136
+ access: "public",
137
+ provenance: true,
138
+ dryRunSupport: "native",
139
+ mutability: "immutable",
140
+ recovery: "publish-new-version"
141
+ });
142
+ const configTargetGitHub = (options) => ({
143
+ _tag: "GitHubReleaseTarget",
144
+ id: "github",
145
+ repository: options.repository,
146
+ tokenEnv: "GH_TOKEN",
147
+ draft: true,
148
+ prerelease: false,
149
+ dryRunSupport: "simulated",
150
+ mutability: "mutable-release",
151
+ recovery: "delete-and-recreate"
152
+ });
153
+ const configTargetHomebrew = (options) => {
154
+ const name = packageShortName(options.packageName);
155
+ return {
156
+ _tag: "HomebrewTapTarget",
157
+ id: "homebrew",
158
+ repository: options.tap,
159
+ formulaName: name,
160
+ formulaPath: `.release/generated/${name}.rb`,
161
+ artifactId: "archive",
162
+ homepage: `https://github.com/${options.repository}`,
163
+ url: `https://github.com/${options.repository}/releases/download/v0.1.0/${name}-0.1.0.tgz`,
164
+ installPath: `bin/${name}`,
165
+ dryRunSupport: "simulated",
166
+ mutability: "mutable-index",
167
+ recovery: "manual"
168
+ };
169
+ };
170
+ const configTargetScoop = (options) => {
171
+ const name = packageShortName(options.packageName);
172
+ return {
173
+ _tag: "ScoopBucketTarget",
174
+ id: "scoop",
175
+ repository: options.bucket,
176
+ manifestName: name,
177
+ manifestPath: `.release/generated/${name}.json`,
178
+ artifactId: "archive",
179
+ homepage: `https://github.com/${options.repository}`,
180
+ description: `Example Scoop manifest for ${name}`,
181
+ license: "MIT",
182
+ url: `https://github.com/${options.repository}/releases/download/v0.1.0/${name}-0.1.0.zip`,
183
+ bin: `${name}.exe`,
184
+ dryRunSupport: "simulated",
185
+ mutability: "mutable-index",
186
+ recovery: "manual"
187
+ };
188
+ };
189
+ const releaseConfigForTemplate = (options) => {
190
+ const name = packageShortName(options.packageName);
191
+ const artifacts = [
192
+ {
193
+ id: "package",
194
+ path: ".",
195
+ format: "directory",
196
+ consumers: ["npm"]
197
+ }
198
+ ];
199
+ const targets = [configTargetNpm(options)];
200
+ if (options.template !== "npm-only") {
201
+ targets.push(configTargetGitHub(options));
202
+ }
203
+ if (options.template === "multi-target-homebrew") {
204
+ artifacts.push({
205
+ id: "archive",
206
+ path: `artifacts/${name}-0.1.0.tgz`,
207
+ format: "tarball",
208
+ consumers: ["github", "homebrew"]
209
+ });
210
+ targets.push(configTargetHomebrew(options));
211
+ }
212
+ if (options.template === "multi-target-scoop") {
213
+ artifacts.push({
214
+ id: "archive",
215
+ path: `artifacts/${name}-0.1.0.zip`,
216
+ format: "zip",
217
+ consumers: ["github", "scoop"]
218
+ });
219
+ targets.push(configTargetScoop(options));
220
+ }
221
+ return {
222
+ $schema: RELEASE_CONFIG_SCHEMA_ID,
223
+ identity: {
224
+ name: options.packageName,
225
+ version: "0.1.0",
226
+ commit: "abc123",
227
+ tag: "v0.1.0"
228
+ },
229
+ artifacts,
230
+ targets,
231
+ strict: true,
232
+ evidenceDirectory: ".release/evidence/{version}"
233
+ };
234
+ };
235
+ const githubActionsWorkflowSetup = (input = {}) => {
236
+ const packageManager = input.packageManager ?? "bun";
237
+ return {
238
+ packageManager,
239
+ installCommand: (input.installCommand ?? defaultInstallCommand(packageManager)).trim(),
240
+ buildCommand: (input.buildCommand ?? defaultBuildCommand(packageManager)).trim()
241
+ };
242
+ };
243
+ const planSetupSteps = () => [
244
+ " - uses: actions/checkout@v4"
245
+ ];
246
+ const executeSetupSteps = (setup) => [
247
+ " - uses: actions/checkout@v4",
248
+ ...(setup.packageManager === "bun" ? [" - uses: oven-sh/setup-bun@v2"] : []),
249
+ " - uses: actions/setup-node@v4",
250
+ " with:",
251
+ " node-version: 22.14.0",
252
+ " registry-url: https://registry.npmjs.org",
253
+ " - run: npm install -g npm@^11.5.1",
254
+ ` - run: ${setup.installCommand}`,
255
+ ` - run: ${setup.buildCommand}`
256
+ ];
257
+ export const renderGithubActionsTrustedPublishingWorkflow = (configPath, input = {}) => {
258
+ const setup = githubActionsWorkflowSetup(input);
259
+ return [
260
+ "name: Release",
261
+ "",
262
+ "on:",
263
+ " workflow_dispatch:",
264
+ "",
265
+ "permissions:",
266
+ " contents: read",
267
+ "",
268
+ "jobs:",
269
+ " plan:",
270
+ " runs-on: ubuntu-latest",
271
+ " steps:",
272
+ ...planSetupSteps(),
273
+ ` - uses: ${TS_RELEASE_ACTION_REFERENCE}`,
274
+ " with:",
275
+ " command: plan",
276
+ ` config: ${configPath}`,
277
+ " format: markdown",
278
+ " write-step-summary: true",
279
+ " plan-path: release-plan.md",
280
+ " - uses: actions/upload-artifact@v4",
281
+ " if: always()",
282
+ " with:",
283
+ " name: release-plan",
284
+ " path: |",
285
+ " release-plan.md",
286
+ " .release/evidence/",
287
+ "",
288
+ " execute:",
289
+ " needs: plan",
290
+ " runs-on: ubuntu-latest",
291
+ " environment: release",
292
+ " permissions:",
293
+ " contents: write",
294
+ " id-token: write",
295
+ " steps:",
296
+ ...executeSetupSteps(setup),
297
+ ` - uses: ${TS_RELEASE_ACTION_REFERENCE}`,
298
+ " with:",
299
+ " command: run",
300
+ ` config: ${configPath}`,
301
+ " execute: true",
302
+ " approve-irreversible: true",
303
+ " write-step-summary: true",
304
+ " - uses: actions/upload-artifact@v4",
305
+ " if: always()",
306
+ " with:",
307
+ " name: release-evidence",
308
+ " path: .release/evidence/",
309
+ ""
310
+ ].join("\n");
311
+ };
312
+ const workflowConfigPath = (path, options) => {
313
+ const root = path.resolve(options.root);
314
+ const config = resolveWorkspacePath(path, options.root, options.configPath);
315
+ const relative = path.relative(root, config).replaceAll("\\", "/");
316
+ if (relative.length === 0 || relative === ".." || relative.startsWith("../")) {
317
+ return path.basename(options.configPath);
318
+ }
319
+ return relative;
320
+ };
321
+ const proposedFileSpecs = (path, options) => {
322
+ const config = `${JSON.stringify(releaseConfigForTemplate(options), null, 2)}\n`;
323
+ const files = [
324
+ {
325
+ path: options.configPath,
326
+ contents: config
327
+ }
328
+ ];
329
+ if (options.githubActions) {
330
+ files.push({
331
+ path: `.github/workflows/${options.workflow}`,
332
+ contents: renderGithubActionsTrustedPublishingWorkflow(workflowConfigPath(path, options), {
333
+ packageManager: options.packageManager,
334
+ installCommand: options.installCommand,
335
+ buildCommand: options.buildCommand
336
+ })
337
+ });
338
+ }
339
+ return files;
340
+ };
341
+ const workspacePath = (path, root, pathName) => {
342
+ const result = validateWorkspaceWritePath(path, root, pathName);
343
+ if (result._tag === "Ok") {
344
+ return Effect.succeed(result.path);
345
+ }
346
+ return Effect.fail(ReleaseInitWriteError.make({
347
+ path: pathName,
348
+ reason: result.reason === "empty-or-parent-traversal"
349
+ ? "Path must be non-empty and must not contain parent traversal."
350
+ : "Path must resolve inside the workspace root."
351
+ }));
352
+ };
353
+ const validateWorkflowFileName = (workflow) => {
354
+ const hasPathSeparator = workflow.includes("/") || workflow.includes("\\");
355
+ const hasWorkflowExtension = workflow.endsWith(".yml") || workflow.endsWith(".yaml");
356
+ if (workflow.trim().length > 0 && !hasPathSeparator && !hasParentTraversal(workflow) && hasWorkflowExtension) {
357
+ return Effect.void;
358
+ }
359
+ return Effect.fail(ReleaseInitWriteError.make({
360
+ path: workflow,
361
+ reason: "Workflow must be a .yml or .yaml filename without path separators."
362
+ }));
363
+ };
364
+ const validateWorkflowCommand = (field, command) => {
365
+ if (command.trim().length > 0 && !command.includes("\n") && !command.includes("\r")) {
366
+ return Effect.void;
367
+ }
368
+ return Effect.fail(ReleaseInitWriteError.make({
369
+ path: field,
370
+ reason: "Command overrides must be single non-empty lines."
371
+ }));
372
+ };
373
+ const validateInitOptions = Effect.fn("workflows.init.validateInitOptions")(function* (path, options) {
374
+ yield* workspacePath(path, options.root, options.configPath);
375
+ yield* validateWorkflowCommand("install-command", options.installCommand);
376
+ yield* validateWorkflowCommand("build-command", options.buildCommand);
377
+ if (!options.githubActions) {
378
+ return;
379
+ }
380
+ yield* validateWorkflowFileName(options.workflow);
381
+ const workflowsRoot = resolveWorkspacePath(path, options.root, ".github/workflows");
382
+ const workflowPath = yield* workspacePath(path, options.root, `.github/workflows/${options.workflow}`);
383
+ if (isInsidePathBoundary(path, workflowsRoot, workflowPath)) {
384
+ return;
385
+ }
386
+ return yield* Effect.fail(ReleaseInitWriteError.make({
387
+ path: options.workflow,
388
+ reason: "Workflow output must resolve inside .github/workflows."
389
+ }));
390
+ });
391
+ export const planReleaseInit = Effect.fn("workflows.init.planReleaseInit")(function* (input = {}) {
392
+ const options = releaseInitOptionsFromInput(input);
393
+ const fs = yield* FileSystem.FileSystem;
394
+ const path = yield* Path.Path;
395
+ const normalized = normalizeOptions(options, initRoot(path, options));
396
+ yield* validateInitOptions(path, normalized);
397
+ const files = yield* Effect.forEach(proposedFileSpecs(path, normalized), (file) => workspacePath(path, normalized.root, file.path).pipe(Effect.flatMap((targetPath) => fs.exists(targetPath).pipe(Effect.map((alreadyExists) => ReleaseInitProposedFile.make({
398
+ path: file.path,
399
+ contents: file.contents,
400
+ alreadyExists
401
+ }))))));
402
+ return ReleaseInitPlan.make({
403
+ schemaVersion: "release-init/v1",
404
+ template: normalized.template,
405
+ files,
406
+ nextCommand: `release plan --config ${normalized.configPath} --format text`
407
+ });
408
+ });
409
+ const writeInitFile = Effect.fn("workflows.init.writeInitFile")(function* (root, file, overwrite) {
410
+ if (file.alreadyExists && !overwrite) {
411
+ return yield* Effect.fail(ReleaseInitWriteError.make({
412
+ path: file.path,
413
+ reason: "File already exists. Pass --overwrite to replace it."
414
+ }));
415
+ }
416
+ const fs = yield* FileSystem.FileSystem;
417
+ const path = yield* Path.Path;
418
+ const outputPath = yield* workspacePath(path, root, file.path);
419
+ yield* fs.makeDirectory(path.dirname(outputPath), { recursive: true });
420
+ yield* fs.writeFileString(outputPath, file.contents);
421
+ });
422
+ export const runReleaseInit = Effect.fn("workflows.init.runReleaseInit")(function* (input = {}) {
423
+ const options = releaseInitOptionsFromInput(input);
424
+ const path = yield* Path.Path;
425
+ const normalized = normalizeOptions(options, initRoot(path, options));
426
+ const plan = yield* planReleaseInit(options);
427
+ if (options.write !== true) {
428
+ return plan;
429
+ }
430
+ yield* Effect.forEach(plan.files, (file) => writeInitFile(normalized.root, file, options.overwrite === true), { discard: true });
431
+ return plan;
432
+ });
433
+ export const renderReleaseInitJson = (plan) => `${JSON.stringify(plan, null, 2)}\n`;
434
+ export const renderReleaseInitText = (plan) => {
435
+ const lines = [
436
+ `template: ${plan.template}`,
437
+ "files:"
438
+ ];
439
+ for (const file of plan.files) {
440
+ lines.push(` - ${file.path}${file.alreadyExists ? " (exists)" : " (new)"}`);
441
+ lines.push(`--- ${file.path}`);
442
+ lines.push(file.contents.trimEnd());
443
+ }
444
+ lines.push(`next: ${plan.nextCommand}`);
445
+ return `${lines.join("\n")}\n`;
446
+ };
447
+ export const renderReleaseInitPlan = (plan, format = "text") => format === "json" ? renderReleaseInitJson(plan) : renderReleaseInitText(plan);
448
+ export const plan = planReleaseInit;
449
+ export const run = runReleaseInit;
450
+ export const renderPlan = renderReleaseInitPlan;
451
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/workflows/init.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import * as Layer from "effect/Layer";
2
2
  import * as HttpClient from "effect/unstable/http/HttpClient";
3
3
  import { ReleaseHttp } from "../host/http.js";
4
+ import type { PlatformCommandRunnerOptions } from "../host/platform.js";
4
5
  import { TargetRegistry } from "../targets/registry.js";
5
6
  export type * from "../types/effect-internal.js";
6
7
  export declare const LiveReleaseWorkflowLayer: Layer.Layer<ReleaseHttp | TargetRegistry, never, HttpClient.HttpClient>;
8
+ export declare const makeLayer: (options?: PlatformCommandRunnerOptions) => Layer.Layer<import("../host/host.js").ReleaseCommandRunner | ReleaseHttp | TargetRegistry, never, HttpClient.HttpClient | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner>;
7
9
  //# sourceMappingURL=live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/workflows/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAChD,WAAW,GAAG,cAAc,EAC5B,KAAK,EACL,UAAU,CAAC,UAAU,CAItB,CAAA"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/workflows/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAChD,WAAW,GAAG,cAAc,EAC5B,KAAK,EACL,UAAU,CAAC,UAAU,CAItB,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,UAAS,4BAAiC,yMAKzC,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import * as Layer from "effect/Layer";
2
2
  import { LiveReleaseHttpLayer } from "../host/http-live.js";
3
+ import { makePlatformCommandRunnerLayer } from "../host/platform.js";
3
4
  import { LiveTargetRegistryLayer } from "../targets/live.js";
4
5
  export const LiveReleaseWorkflowLayer = Layer.mergeAll(LiveReleaseHttpLayer, LiveTargetRegistryLayer);
6
+ export const makeLayer = (options = {}) => Layer.mergeAll(makePlatformCommandRunnerLayer(options), LiveReleaseWorkflowLayer);
5
7
  //# sourceMappingURL=live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/workflows/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAK5D,MAAM,CAAC,MAAM,wBAAwB,GAIjC,KAAK,CAAC,QAAQ,CAChB,oBAAoB,EACpB,uBAAuB,CACxB,CAAA"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/workflows/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAK5D,MAAM,CAAC,MAAM,wBAAwB,GAIjC,KAAK,CAAC,QAAQ,CAChB,oBAAoB,EACpB,uBAAuB,CACxB,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,UAAwC,EAAE,EAC1C,EAAE,CACF,KAAK,CAAC,QAAQ,CACZ,8BAA8B,CAAC,OAAO,CAAC,EACvC,wBAAwB,CACzB,CAAA"}