@savvy-web/silk 1.3.11 → 2.1.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.
Files changed (159) hide show
  1. package/README.md +7 -5
  2. package/changesets-changelog.cjs +39298 -96760
  3. package/changesets-changelog.d.cts +24 -14
  4. package/changesets-changelog.d.ts +24 -14
  5. package/changesets-changelog.js +54057 -1
  6. package/changesets-markdownlint.cjs +39295 -96757
  7. package/changesets-markdownlint.d.cts +24 -14
  8. package/changesets-markdownlint.d.ts +24 -14
  9. package/changesets-markdownlint.js +54057 -1
  10. package/package.json +6 -5
  11. package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
  12. package/_virtual/_rolldown/runtime.cjs +0 -45
  13. package/_virtual/_rolldown/runtime.js +0 -45
  14. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.cjs +0 -15
  15. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.js +0 -14
  16. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.cjs +0 -247
  17. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.js +0 -247
  18. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.cjs +0 -134
  19. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.js +0 -134
  20. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.cjs +0 -163
  21. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.js +0 -163
  22. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.cjs +0 -170
  23. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.js +0 -170
  24. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.cjs +0 -134
  25. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.js +0 -134
  26. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.cjs +0 -317
  27. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.js +0 -299
  28. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.cjs +0 -65
  29. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.js +0 -65
  30. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.cjs +0 -114
  31. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.js +0 -113
  32. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.cjs +0 -118
  33. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.js +0 -118
  34. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.cjs +0 -122
  35. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.js +0 -122
  36. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.cjs +0 -97
  37. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.js +0 -97
  38. package/packages/silk-effects/dist/dev/pkg/changesets/constants.cjs +0 -43
  39. package/packages/silk-effects/dist/dev/pkg/changesets/constants.js +0 -42
  40. package/packages/silk-effects/dist/dev/pkg/changesets/errors.cjs +0 -386
  41. package/packages/silk-effects/dist/dev/pkg/changesets/errors.js +0 -371
  42. package/packages/silk-effects/dist/dev/pkg/changesets/index.cjs +0 -300
  43. package/packages/silk-effects/dist/dev/pkg/changesets/index.js +0 -179
  44. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.cjs +0 -34
  45. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.js +0 -29
  46. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.cjs +0 -98
  47. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js +0 -98
  48. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.cjs +0 -170
  49. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js +0 -170
  50. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.cjs +0 -61
  51. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.js +0 -61
  52. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.cjs +0 -54
  53. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.js +0 -54
  54. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.cjs +0 -54
  55. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.js +0 -54
  56. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.cjs +0 -31
  57. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.js +0 -30
  58. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.cjs +0 -47
  59. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.js +0 -47
  60. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.cjs +0 -123
  61. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.js +0 -123
  62. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.cjs +0 -32
  63. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.js +0 -32
  64. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.cjs +0 -59
  65. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.js +0 -59
  66. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.cjs +0 -61
  67. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.js +0 -61
  68. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.cjs +0 -43
  69. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.js +0 -43
  70. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.cjs +0 -47
  71. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js +0 -47
  72. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.cjs +0 -34
  73. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js +0 -34
  74. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.cjs +0 -120
  75. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.js +0 -119
  76. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.cjs +0 -22
  77. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js +0 -22
  78. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.cjs +0 -40
  79. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js +0 -40
  80. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.cjs +0 -19
  81. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js +0 -19
  82. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.cjs +0 -17
  83. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js +0 -17
  84. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs +0 -31
  85. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js +0 -31
  86. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.cjs +0 -148
  87. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.js +0 -145
  88. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.cjs +0 -203
  89. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js +0 -198
  90. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.cjs +0 -69
  91. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.js +0 -68
  92. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.cjs +0 -177
  93. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.js +0 -174
  94. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.cjs +0 -183
  95. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.js +0 -181
  96. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.cjs +0 -129
  97. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.js +0 -127
  98. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.cjs +0 -72
  99. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.js +0 -71
  100. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.cjs +0 -62
  101. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js +0 -56
  102. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.cjs +0 -154
  103. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.js +0 -150
  104. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.cjs +0 -300
  105. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.js +0 -294
  106. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.cjs +0 -50
  107. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.js +0 -49
  108. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.cjs +0 -489
  109. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.js +0 -481
  110. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.cjs +0 -375
  111. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.js +0 -371
  112. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.cjs +0 -160
  113. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.js +0 -157
  114. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.cjs +0 -68
  115. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.js +0 -66
  116. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.cjs +0 -87
  117. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.js +0 -85
  118. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.cjs +0 -338
  119. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +0 -334
  120. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.cjs +0 -81
  121. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.js +0 -80
  122. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.cjs +0 -111
  123. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.js +0 -111
  124. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.cjs +0 -351
  125. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.js +0 -347
  126. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.cjs +0 -51
  127. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.js +0 -51
  128. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.cjs +0 -102
  129. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js +0 -101
  130. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.cjs +0 -178
  131. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.js +0 -175
  132. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.cjs +0 -51
  133. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.js +0 -50
  134. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.cjs +0 -59
  135. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.js +0 -57
  136. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.cjs +0 -50
  137. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.js +0 -50
  138. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.cjs +0 -81
  139. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.js +0 -79
  140. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.cjs +0 -94
  141. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.js +0 -94
  142. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.cjs +0 -47
  143. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.js +0 -46
  144. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.cjs +0 -110
  145. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.js +0 -108
  146. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.cjs +0 -336
  147. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.js +0 -336
  148. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.cjs +0 -55
  149. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.js +0 -55
  150. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.cjs +0 -21
  151. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js +0 -21
  152. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.cjs +0 -101
  153. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js +0 -99
  154. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.cjs +0 -81
  155. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.js +0 -80
  156. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.cjs +0 -109
  157. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js +0 -108
  158. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.cjs +0 -238
  159. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.js +0 -236
@@ -1,198 +0,0 @@
1
- import { NonEmptyString } from "./primitives.js";
2
- import { Schema } from "effect";
3
-
4
- //#region ../silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js
5
- /**
6
- * Effect schemas for structured dependency table entries.
7
- *
8
- * @remarks
9
- * These schemas define the canonical representation for dependency
10
- * changes tracked as markdown tables in changeset files and CHANGELOGs.
11
- * The table format provides a richer view than {@link DependencyUpdateSchema}
12
- * by supporting singular dependency type names, workspace/config types,
13
- * and explicit add/update/remove actions.
14
- *
15
- * A dependency table row looks like this in a CHANGELOG:
16
- *
17
- * | Dependency | Type | Action | From | To |
18
- * |---|---|---|---|---|
19
- * | effect | dependency | updated | 3.18.0 | 3.19.1 |
20
- *
21
- * @see {@link DependencyUpdateSchema} for the simpler Changesets API format
22
- * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
23
- *
24
- */
25
- /**
26
- * Valid dependency table actions.
27
- *
28
- * @remarks
29
- * Represents the three possible operations on a dependency: `"added"` for
30
- * new dependencies, `"updated"` for version changes, and `"removed"` for
31
- * deletions. Used in the "Action" column of dependency tables.
32
- *
33
- * @example
34
- * ```typescript
35
- * import { Schema } from "effect";
36
- * import { DependencyActionSchema } from "@savvy-web/changesets";
37
- * import type { DependencyAction } from "@savvy-web/changesets";
38
- *
39
- * const action: DependencyAction = Schema.decodeUnknownSync(DependencyActionSchema)("updated");
40
- * ```
41
- *
42
- * @public
43
- */
44
- const DependencyActionSchema = Schema.Literal("added", "updated", "removed");
45
- /**
46
- * Extended dependency types for table format.
47
- *
48
- * @remarks
49
- * Unlike {@link DependencyTypeSchema} (which uses plural npm field names like
50
- * `"dependencies"`), this schema uses singular forms (`"dependency"`) and adds
51
- * two additional types: `"workspace"` for monorepo workspace references and
52
- * `"config"` for configuration toolchain updates (e.g., ESLint, TypeScript).
53
- *
54
- * @example
55
- * ```typescript
56
- * import { Schema } from "effect";
57
- * import { DependencyTableTypeSchema } from "@savvy-web/changesets";
58
- * import type { DependencyTableType } from "@savvy-web/changesets";
59
- *
60
- * const tableType: DependencyTableType = Schema.decodeUnknownSync(
61
- * DependencyTableTypeSchema
62
- * )("workspace");
63
- * ```
64
- *
65
- * @see {@link DependencyTypeSchema} for the plural npm-field variant
66
- *
67
- * @public
68
- */
69
- const DependencyTableTypeSchema = Schema.Literal("dependency", "devDependency", "peerDependency", "optionalDependency", "workspace", "config");
70
- /**
71
- * The canonical accepted-value pattern for a dependency-table From/To cell:
72
- * the em-dash sentinel (U+2014), a bare/`~`/`^` semver, or — as a last-resort
73
- * fallback when a `catalog:`/`workspace:` specifier could not be resolved to a
74
- * concrete version — a pnpm protocol string. Non-overlapping alternatives keep
75
- * this free of polynomial backtracking (CodeQL).
76
- *
77
- * @public
78
- */
79
- const VERSION_RE = /^(\u2014|[~^]?\d+\.\d+\.\d+(?:[-+.][\w.+-]+)?|(?:catalog|workspace|npm|jsr|file|link|portal):[^\s|]+)$/;
80
- /**
81
- * Version string or em dash (U+2014) sentinel for added/removed entries.
82
- *
83
- * @remarks
84
- * Accepts either a semver-like version string (with optional `~` or `^`
85
- * prefix and pre-release/build suffixes) or the em dash character `\u2014`
86
- * which serves as a sentinel: the "From" column uses `\u2014` for newly
87
- * added dependencies, and the "To" column uses it for removed ones.
88
- *
89
- * @example
90
- * ```typescript
91
- * import { Schema } from "effect";
92
- * import { VersionOrEmptySchema } from "@savvy-web/changesets";
93
- *
94
- * // Succeeds — semver version
95
- * Schema.decodeUnknownSync(VersionOrEmptySchema)("^3.19.1");
96
- *
97
- * // Succeeds — em dash sentinel for "no version"
98
- * Schema.decodeUnknownSync(VersionOrEmptySchema)("\u2014");
99
- *
100
- * // Throws ParseError — arbitrary text
101
- * Schema.decodeUnknownSync(VersionOrEmptySchema)("latest");
102
- * ```
103
- *
104
- * @public
105
- */
106
- const VersionOrEmptySchema = Schema.String.pipe(Schema.pattern(VERSION_RE));
107
- /**
108
- * Schema for a single dependency table row.
109
- *
110
- * @remarks
111
- * Represents one row of a dependency update table in a CHANGELOG.
112
- * Each row captures the dependency name, its type, the change action,
113
- * and the "from" and "to" version strings. For added dependencies the
114
- * `from` field is an em dash; for removed dependencies the `to` field
115
- * is an em dash.
116
- *
117
- * @example
118
- * ```typescript
119
- * import { Schema } from "effect";
120
- * import { DependencyTableRowSchema } from "@savvy-web/changesets";
121
- * import type { DependencyTableRow } from "@savvy-web/changesets";
122
- *
123
- * const row: DependencyTableRow = Schema.decodeUnknownSync(DependencyTableRowSchema)({
124
- * dependency: "effect",
125
- * type: "dependency",
126
- * action: "updated",
127
- * from: "3.18.0",
128
- * to: "3.19.1",
129
- * });
130
- *
131
- * // Newly added dependency — "from" is em dash
132
- * const addedRow: DependencyTableRow = Schema.decodeUnknownSync(DependencyTableRowSchema)({
133
- * dependency: "@effect/cli",
134
- * type: "dependency",
135
- * action: "added",
136
- * from: "\u2014",
137
- * to: "0.50.0",
138
- * });
139
- * ```
140
- *
141
- * @see {@link DependencyTableRow} for the inferred TypeScript type
142
- * @see {@link DependencyTableSchema} for a non-empty array of rows
143
- *
144
- * @public
145
- */
146
- const DependencyTableRowSchema = Schema.Struct({
147
- /** Package or toolchain name. */
148
- dependency: NonEmptyString,
149
- /** Dependency type. */
150
- type: DependencyTableTypeSchema,
151
- /** Change action. */
152
- action: DependencyActionSchema,
153
- /** Previous version (em dash for added). */
154
- from: VersionOrEmptySchema,
155
- /** New version (em dash for removed). */
156
- to: VersionOrEmptySchema
157
- });
158
- /**
159
- * Schema for a dependency table (non-empty array of rows).
160
- *
161
- * @remarks
162
- * Validates that the table contains at least one row. Used to represent
163
- * the full dependency update table in a changeset or CHANGELOG entry.
164
- *
165
- * @example
166
- * ```typescript
167
- * import { Schema } from "effect";
168
- * import { DependencyTableSchema } from "@savvy-web/changesets";
169
- *
170
- * const table = Schema.decodeUnknownSync(DependencyTableSchema)([
171
- * {
172
- * dependency: "effect",
173
- * type: "dependency",
174
- * action: "updated",
175
- * from: "3.18.0",
176
- * to: "3.19.1",
177
- * },
178
- * {
179
- * dependency: "typescript",
180
- * type: "config",
181
- * action: "updated",
182
- * from: "5.6.0",
183
- * to: "5.7.2",
184
- * },
185
- * ]);
186
- *
187
- * // Throws ParseError — empty array
188
- * Schema.decodeUnknownSync(DependencyTableSchema)([]);
189
- * ```
190
- *
191
- * @see {@link DependencyTableRowSchema} for the individual row schema
192
- *
193
- * @public
194
- */
195
- const DependencyTableSchema = Schema.Array(DependencyTableRowSchema).pipe(Schema.minItems(1));
196
-
197
- //#endregion
198
- export { DependencyActionSchema, DependencyTableRowSchema, DependencyTableSchema, DependencyTableTypeSchema, VERSION_RE, VersionOrEmptySchema };
@@ -1,69 +0,0 @@
1
- let effect = require("effect");
2
-
3
- //#region ../silk-effects/dist/dev/pkg/changesets/schemas/git.js
4
- /**
5
- * Git-related Effect schemas for commit hashes and version bump types.
6
- *
7
- * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
8
- *
9
- */
10
- /**
11
- * Schema for a git commit hash (at least 7 lowercase hex characters).
12
- *
13
- * @remarks
14
- * Accepts both abbreviated (7-character) and full (40-character) SHA-1 hashes.
15
- * Only lowercase hexadecimal characters are allowed; uppercase letters will
16
- * fail validation. This matches the output of `git rev-parse --short` and
17
- * `git log --format=%h`.
18
- *
19
- * @example
20
- * ```typescript
21
- * import { Schema } from "effect";
22
- * import { CommitHashSchema } from "@savvy-web/changesets";
23
- *
24
- * // Succeeds — abbreviated hash
25
- * const short = Schema.decodeUnknownSync(CommitHashSchema)("a1b2c3d");
26
- *
27
- * // Succeeds — full 40-character SHA
28
- * const full = Schema.decodeUnknownSync(CommitHashSchema)(
29
- * "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
30
- * );
31
- *
32
- * // Throws ParseError — too short
33
- * Schema.decodeUnknownSync(CommitHashSchema)("a1b2c3");
34
- *
35
- * // Throws ParseError — uppercase not allowed
36
- * Schema.decodeUnknownSync(CommitHashSchema)("A1B2C3D");
37
- * ```
38
- *
39
- * @see {@link ChangesetSchema} which uses this for the optional `commit` field
40
- *
41
- * @public
42
- */
43
- const CommitHashSchema = effect.Schema.String.pipe(effect.Schema.pattern(/^[a-f0-9]{7,}$/, { message: () => "Commit hash must be 7 or more lowercase hexadecimal characters (0-9, a-f). Example: \"a1b2c3d\" or a full 40-character SHA like \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2\". Uppercase letters are not allowed" }));
44
- /**
45
- * Semantic version bump type.
46
- *
47
- * @remarks
48
- * Represents the four possible version bump levels used by Changesets:
49
- * - `"major"` -- breaking changes (e.g., 1.x.x to 2.0.0)
50
- * - `"minor"` -- new features (e.g., 1.1.x to 1.2.0)
51
- * - `"patch"` -- bug fixes (e.g., 1.1.1 to 1.1.2)
52
- * - `"none"` -- no version bump (internal changes only)
53
- *
54
- * @example
55
- * ```typescript
56
- * import { Schema } from "effect";
57
- * import { VersionTypeSchema } from "@savvy-web/changesets";
58
- * import type { VersionType } from "@savvy-web/changesets";
59
- *
60
- * const bump: VersionType = Schema.decodeUnknownSync(VersionTypeSchema)("minor");
61
- * ```
62
- *
63
- * @public
64
- */
65
- const VersionTypeSchema = effect.Schema.Literal("major", "minor", "patch", "none");
66
-
67
- //#endregion
68
- exports.CommitHashSchema = CommitHashSchema;
69
- exports.VersionTypeSchema = VersionTypeSchema;
@@ -1,68 +0,0 @@
1
- import { Schema } from "effect";
2
-
3
- //#region ../silk-effects/dist/dev/pkg/changesets/schemas/git.js
4
- /**
5
- * Git-related Effect schemas for commit hashes and version bump types.
6
- *
7
- * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
8
- *
9
- */
10
- /**
11
- * Schema for a git commit hash (at least 7 lowercase hex characters).
12
- *
13
- * @remarks
14
- * Accepts both abbreviated (7-character) and full (40-character) SHA-1 hashes.
15
- * Only lowercase hexadecimal characters are allowed; uppercase letters will
16
- * fail validation. This matches the output of `git rev-parse --short` and
17
- * `git log --format=%h`.
18
- *
19
- * @example
20
- * ```typescript
21
- * import { Schema } from "effect";
22
- * import { CommitHashSchema } from "@savvy-web/changesets";
23
- *
24
- * // Succeeds — abbreviated hash
25
- * const short = Schema.decodeUnknownSync(CommitHashSchema)("a1b2c3d");
26
- *
27
- * // Succeeds — full 40-character SHA
28
- * const full = Schema.decodeUnknownSync(CommitHashSchema)(
29
- * "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
30
- * );
31
- *
32
- * // Throws ParseError — too short
33
- * Schema.decodeUnknownSync(CommitHashSchema)("a1b2c3");
34
- *
35
- * // Throws ParseError — uppercase not allowed
36
- * Schema.decodeUnknownSync(CommitHashSchema)("A1B2C3D");
37
- * ```
38
- *
39
- * @see {@link ChangesetSchema} which uses this for the optional `commit` field
40
- *
41
- * @public
42
- */
43
- const CommitHashSchema = Schema.String.pipe(Schema.pattern(/^[a-f0-9]{7,}$/, { message: () => "Commit hash must be 7 or more lowercase hexadecimal characters (0-9, a-f). Example: \"a1b2c3d\" or a full 40-character SHA like \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2\". Uppercase letters are not allowed" }));
44
- /**
45
- * Semantic version bump type.
46
- *
47
- * @remarks
48
- * Represents the four possible version bump levels used by Changesets:
49
- * - `"major"` -- breaking changes (e.g., 1.x.x to 2.0.0)
50
- * - `"minor"` -- new features (e.g., 1.1.x to 1.2.0)
51
- * - `"patch"` -- bug fixes (e.g., 1.1.1 to 1.1.2)
52
- * - `"none"` -- no version bump (internal changes only)
53
- *
54
- * @example
55
- * ```typescript
56
- * import { Schema } from "effect";
57
- * import { VersionTypeSchema } from "@savvy-web/changesets";
58
- * import type { VersionType } from "@savvy-web/changesets";
59
- *
60
- * const bump: VersionType = Schema.decodeUnknownSync(VersionTypeSchema)("minor");
61
- * ```
62
- *
63
- * @public
64
- */
65
- const VersionTypeSchema = Schema.Literal("major", "minor", "patch", "none");
66
-
67
- //#endregion
68
- export { CommitHashSchema, VersionTypeSchema };
@@ -1,177 +0,0 @@
1
- const require_primitives = require('./primitives.cjs');
2
- const require_markdown_link = require('../utils/markdown-link.cjs');
3
- let effect = require("effect");
4
-
5
- //#region ../silk-effects/dist/dev/pkg/changesets/schemas/github.js
6
- /**
7
- * GitHub-related Effect schemas for usernames, issue numbers, and API responses.
8
- *
9
- * @remarks
10
- * These schemas validate data returned by the `\@changesets/get-github-info`
11
- * vendor module and enforce GitHub's naming conventions for usernames and
12
- * issue references.
13
- *
14
- * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
15
- *
16
- */
17
- /**
18
- * Test whether a string is a valid URL.
19
- *
20
- * @internal
21
- */
22
- function isValidUrl(value) {
23
- try {
24
- new URL(value);
25
- return true;
26
- } catch {
27
- return false;
28
- }
29
- }
30
- /**
31
- * Schema for a GitHub username.
32
- *
33
- * @remarks
34
- * Validates against GitHub's username rules: alphanumeric characters and
35
- * hyphens only, cannot start or end with a hyphen. Does not enforce the
36
- * 39-character maximum length since GitHub may change that limit.
37
- *
38
- * @example
39
- * ```typescript
40
- * import { Schema } from "effect";
41
- * import { UsernameSchema } from "@savvy-web/changesets";
42
- *
43
- * // Succeeds
44
- * Schema.decodeUnknownSync(UsernameSchema)("octocat");
45
- * Schema.decodeUnknownSync(UsernameSchema)("my-user-123");
46
- *
47
- * // Throws ParseError — starts with hyphen
48
- * Schema.decodeUnknownSync(UsernameSchema)("-invalid");
49
- * ```
50
- *
51
- * @see {@link GitHubInfoSchema} which uses this for the `user` field
52
- *
53
- * @public
54
- */
55
- const UsernameSchema = effect.Schema.String.pipe(effect.Schema.pattern(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/, { message: () => "Invalid GitHub username format. Usernames must contain only alphanumeric characters and hyphens, and cannot start or end with a hyphen. Example: \"octocat\" or \"my-user-123\"" }));
56
- /**
57
- * Schema for a GitHub issue or PR number (positive integer).
58
- *
59
- * @remarks
60
- * Built on {@link PositiveInteger}, this schema adds GitHub-specific
61
- * annotations for documentation tooling. Issue and PR numbers in GitHub
62
- * are always positive integers starting from 1.
63
- *
64
- * @example
65
- * ```typescript
66
- * import { Schema } from "effect";
67
- * import { IssueNumberSchema } from "@savvy-web/changesets";
68
- *
69
- * // Succeeds
70
- * const prNum = Schema.decodeUnknownSync(IssueNumberSchema)(42);
71
- *
72
- * // Throws ParseError — zero is not a valid issue number
73
- * Schema.decodeUnknownSync(IssueNumberSchema)(0);
74
- * ```
75
- *
76
- * @see {@link GitHubInfoSchema} which uses this for the `pull` field
77
- *
78
- * @public
79
- */
80
- const IssueNumberSchema = require_primitives.PositiveInteger.annotations({
81
- title: "IssueNumber",
82
- description: "GitHub issue or pull request number"
83
- });
84
- /**
85
- * Schema accepting either a plain URL or a markdown link `[text](url)`.
86
- *
87
- * @remarks
88
- * The `\@changesets/get-github-info` vendor module returns links in two
89
- * possible formats depending on context: a bare URL string or a markdown
90
- * link like `[#42](https://github.com/owner/repo/pull/42)`. This schema
91
- * accepts both, validating that the URL portion is parseable by the
92
- * `URL` constructor.
93
- *
94
- * @example
95
- * ```typescript
96
- * import { Schema } from "effect";
97
- * import { UrlOrMarkdownLinkSchema } from "@savvy-web/changesets";
98
- *
99
- * // Succeeds — plain URL
100
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)(
101
- * "https://github.com/owner/repo/pull/42"
102
- * );
103
- *
104
- * // Succeeds — markdown link
105
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)(
106
- * "[#42](https://github.com/owner/repo/pull/42)"
107
- * );
108
- *
109
- * // Throws ParseError — not a URL or markdown link
110
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)("not-a-url");
111
- * ```
112
- *
113
- * @see {@link GitHubInfoSchema} which uses this for commit, pull, and user links
114
- *
115
- * @public
116
- */
117
- const UrlOrMarkdownLinkSchema = effect.Schema.String.pipe(effect.Schema.filter((value) => {
118
- if (isValidUrl(value)) return true;
119
- const match = require_markdown_link.MARKDOWN_LINK_PATTERN.exec(value);
120
- return match?.[2] ? isValidUrl(match[2]) : false;
121
- }, { message: () => "Value must be a valid URL or a markdown link. Expected a plain URL (e.g., \"https://github.com/owner/repo/pull/42\") or a markdown link (e.g., \"[#42](https://github.com/owner/repo/pull/42)\")" }));
122
- /**
123
- * Schema for a GitHub info response from `\@changesets/get-github-info`.
124
- *
125
- * @remarks
126
- * Represents the structured data returned when querying GitHub for commit
127
- * metadata. The `user` and `pull` fields are optional because not every
128
- * commit is associated with a pull request or a known GitHub user (e.g.,
129
- * bot commits or squash-merged commits without a linked PR).
130
- *
131
- * The `links` object contains pre-formatted markdown or URL strings for
132
- * the commit, pull request, and user profile -- ready for insertion into
133
- * CHANGELOG entries.
134
- *
135
- * @example
136
- * ```typescript
137
- * import { Schema } from "effect";
138
- * import { GitHubInfoSchema } from "@savvy-web/changesets";
139
- * import type { GitHubInfo } from "@savvy-web/changesets";
140
- *
141
- * const info: GitHubInfo = Schema.decodeUnknownSync(GitHubInfoSchema)({
142
- * user: "octocat",
143
- * pull: 42,
144
- * links: {
145
- * commit: "[`a1b2c3d`](https://github.com/owner/repo/commit/a1b2c3d)",
146
- * pull: "[#42](https://github.com/owner/repo/pull/42)",
147
- * user: "[@octocat](https://github.com/octocat)",
148
- * },
149
- * });
150
- * ```
151
- *
152
- * @see {@link GitHubInfo} for the inferred TypeScript type
153
- * @see {@link GitHubService} for the Effect service that produces these values
154
- *
155
- * @public
156
- */
157
- const GitHubInfoSchema = effect.Schema.Struct({
158
- /** GitHub username of the commit author. */
159
- user: effect.Schema.optional(UsernameSchema),
160
- /** Pull request number associated with the commit. */
161
- pull: effect.Schema.optional(IssueNumberSchema),
162
- /** Markdown-formatted links. */
163
- links: effect.Schema.Struct({
164
- /** Link to the commit. */
165
- commit: UrlOrMarkdownLinkSchema,
166
- /** Link to the associated pull request. */
167
- pull: effect.Schema.optional(UrlOrMarkdownLinkSchema),
168
- /** Link to the author's GitHub profile. */
169
- user: effect.Schema.optional(UrlOrMarkdownLinkSchema)
170
- })
171
- });
172
-
173
- //#endregion
174
- exports.GitHubInfoSchema = GitHubInfoSchema;
175
- exports.IssueNumberSchema = IssueNumberSchema;
176
- exports.UrlOrMarkdownLinkSchema = UrlOrMarkdownLinkSchema;
177
- exports.UsernameSchema = UsernameSchema;
@@ -1,174 +0,0 @@
1
- import { PositiveInteger } from "./primitives.js";
2
- import { MARKDOWN_LINK_PATTERN } from "../utils/markdown-link.js";
3
- import { Schema } from "effect";
4
-
5
- //#region ../silk-effects/dist/dev/pkg/changesets/schemas/github.js
6
- /**
7
- * GitHub-related Effect schemas for usernames, issue numbers, and API responses.
8
- *
9
- * @remarks
10
- * These schemas validate data returned by the `\@changesets/get-github-info`
11
- * vendor module and enforce GitHub's naming conventions for usernames and
12
- * issue references.
13
- *
14
- * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
15
- *
16
- */
17
- /**
18
- * Test whether a string is a valid URL.
19
- *
20
- * @internal
21
- */
22
- function isValidUrl(value) {
23
- try {
24
- new URL(value);
25
- return true;
26
- } catch {
27
- return false;
28
- }
29
- }
30
- /**
31
- * Schema for a GitHub username.
32
- *
33
- * @remarks
34
- * Validates against GitHub's username rules: alphanumeric characters and
35
- * hyphens only, cannot start or end with a hyphen. Does not enforce the
36
- * 39-character maximum length since GitHub may change that limit.
37
- *
38
- * @example
39
- * ```typescript
40
- * import { Schema } from "effect";
41
- * import { UsernameSchema } from "@savvy-web/changesets";
42
- *
43
- * // Succeeds
44
- * Schema.decodeUnknownSync(UsernameSchema)("octocat");
45
- * Schema.decodeUnknownSync(UsernameSchema)("my-user-123");
46
- *
47
- * // Throws ParseError — starts with hyphen
48
- * Schema.decodeUnknownSync(UsernameSchema)("-invalid");
49
- * ```
50
- *
51
- * @see {@link GitHubInfoSchema} which uses this for the `user` field
52
- *
53
- * @public
54
- */
55
- const UsernameSchema = Schema.String.pipe(Schema.pattern(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/, { message: () => "Invalid GitHub username format. Usernames must contain only alphanumeric characters and hyphens, and cannot start or end with a hyphen. Example: \"octocat\" or \"my-user-123\"" }));
56
- /**
57
- * Schema for a GitHub issue or PR number (positive integer).
58
- *
59
- * @remarks
60
- * Built on {@link PositiveInteger}, this schema adds GitHub-specific
61
- * annotations for documentation tooling. Issue and PR numbers in GitHub
62
- * are always positive integers starting from 1.
63
- *
64
- * @example
65
- * ```typescript
66
- * import { Schema } from "effect";
67
- * import { IssueNumberSchema } from "@savvy-web/changesets";
68
- *
69
- * // Succeeds
70
- * const prNum = Schema.decodeUnknownSync(IssueNumberSchema)(42);
71
- *
72
- * // Throws ParseError — zero is not a valid issue number
73
- * Schema.decodeUnknownSync(IssueNumberSchema)(0);
74
- * ```
75
- *
76
- * @see {@link GitHubInfoSchema} which uses this for the `pull` field
77
- *
78
- * @public
79
- */
80
- const IssueNumberSchema = PositiveInteger.annotations({
81
- title: "IssueNumber",
82
- description: "GitHub issue or pull request number"
83
- });
84
- /**
85
- * Schema accepting either a plain URL or a markdown link `[text](url)`.
86
- *
87
- * @remarks
88
- * The `\@changesets/get-github-info` vendor module returns links in two
89
- * possible formats depending on context: a bare URL string or a markdown
90
- * link like `[#42](https://github.com/owner/repo/pull/42)`. This schema
91
- * accepts both, validating that the URL portion is parseable by the
92
- * `URL` constructor.
93
- *
94
- * @example
95
- * ```typescript
96
- * import { Schema } from "effect";
97
- * import { UrlOrMarkdownLinkSchema } from "@savvy-web/changesets";
98
- *
99
- * // Succeeds — plain URL
100
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)(
101
- * "https://github.com/owner/repo/pull/42"
102
- * );
103
- *
104
- * // Succeeds — markdown link
105
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)(
106
- * "[#42](https://github.com/owner/repo/pull/42)"
107
- * );
108
- *
109
- * // Throws ParseError — not a URL or markdown link
110
- * Schema.decodeUnknownSync(UrlOrMarkdownLinkSchema)("not-a-url");
111
- * ```
112
- *
113
- * @see {@link GitHubInfoSchema} which uses this for commit, pull, and user links
114
- *
115
- * @public
116
- */
117
- const UrlOrMarkdownLinkSchema = Schema.String.pipe(Schema.filter((value) => {
118
- if (isValidUrl(value)) return true;
119
- const match = MARKDOWN_LINK_PATTERN.exec(value);
120
- return match?.[2] ? isValidUrl(match[2]) : false;
121
- }, { message: () => "Value must be a valid URL or a markdown link. Expected a plain URL (e.g., \"https://github.com/owner/repo/pull/42\") or a markdown link (e.g., \"[#42](https://github.com/owner/repo/pull/42)\")" }));
122
- /**
123
- * Schema for a GitHub info response from `\@changesets/get-github-info`.
124
- *
125
- * @remarks
126
- * Represents the structured data returned when querying GitHub for commit
127
- * metadata. The `user` and `pull` fields are optional because not every
128
- * commit is associated with a pull request or a known GitHub user (e.g.,
129
- * bot commits or squash-merged commits without a linked PR).
130
- *
131
- * The `links` object contains pre-formatted markdown or URL strings for
132
- * the commit, pull request, and user profile -- ready for insertion into
133
- * CHANGELOG entries.
134
- *
135
- * @example
136
- * ```typescript
137
- * import { Schema } from "effect";
138
- * import { GitHubInfoSchema } from "@savvy-web/changesets";
139
- * import type { GitHubInfo } from "@savvy-web/changesets";
140
- *
141
- * const info: GitHubInfo = Schema.decodeUnknownSync(GitHubInfoSchema)({
142
- * user: "octocat",
143
- * pull: 42,
144
- * links: {
145
- * commit: "[`a1b2c3d`](https://github.com/owner/repo/commit/a1b2c3d)",
146
- * pull: "[#42](https://github.com/owner/repo/pull/42)",
147
- * user: "[@octocat](https://github.com/octocat)",
148
- * },
149
- * });
150
- * ```
151
- *
152
- * @see {@link GitHubInfo} for the inferred TypeScript type
153
- * @see {@link GitHubService} for the Effect service that produces these values
154
- *
155
- * @public
156
- */
157
- const GitHubInfoSchema = Schema.Struct({
158
- /** GitHub username of the commit author. */
159
- user: Schema.optional(UsernameSchema),
160
- /** Pull request number associated with the commit. */
161
- pull: Schema.optional(IssueNumberSchema),
162
- /** Markdown-formatted links. */
163
- links: Schema.Struct({
164
- /** Link to the commit. */
165
- commit: UrlOrMarkdownLinkSchema,
166
- /** Link to the associated pull request. */
167
- pull: Schema.optional(UrlOrMarkdownLinkSchema),
168
- /** Link to the author's GitHub profile. */
169
- user: Schema.optional(UrlOrMarkdownLinkSchema)
170
- })
171
- });
172
-
173
- //#endregion
174
- export { GitHubInfoSchema, IssueNumberSchema, UrlOrMarkdownLinkSchema, UsernameSchema };