@savvy-web/silk 2.0.0 → 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 (155) hide show
  1. package/README.md +7 -5
  2. package/changesets-changelog.cjs +10 -4
  3. package/changesets-changelog.js +54057 -1
  4. package/changesets-markdownlint.cjs +10 -4
  5. package/changesets-markdownlint.js +54057 -1
  6. package/package.json +5 -4
  7. package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
  8. package/_virtual/_rolldown/runtime.cjs +0 -45
  9. package/_virtual/_rolldown/runtime.js +0 -45
  10. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.cjs +0 -15
  11. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.js +0 -14
  12. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.cjs +0 -247
  13. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.js +0 -247
  14. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.cjs +0 -134
  15. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.js +0 -134
  16. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.cjs +0 -163
  17. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.js +0 -163
  18. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.cjs +0 -170
  19. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.js +0 -170
  20. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.cjs +0 -134
  21. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.js +0 -134
  22. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.cjs +0 -317
  23. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.js +0 -299
  24. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.cjs +0 -65
  25. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.js +0 -65
  26. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.cjs +0 -114
  27. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.js +0 -113
  28. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.cjs +0 -118
  29. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.js +0 -118
  30. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.cjs +0 -122
  31. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.js +0 -122
  32. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.cjs +0 -97
  33. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.js +0 -97
  34. package/packages/silk-effects/dist/dev/pkg/changesets/constants.cjs +0 -43
  35. package/packages/silk-effects/dist/dev/pkg/changesets/constants.js +0 -42
  36. package/packages/silk-effects/dist/dev/pkg/changesets/errors.cjs +0 -386
  37. package/packages/silk-effects/dist/dev/pkg/changesets/errors.js +0 -371
  38. package/packages/silk-effects/dist/dev/pkg/changesets/index.cjs +0 -300
  39. package/packages/silk-effects/dist/dev/pkg/changesets/index.js +0 -179
  40. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.cjs +0 -34
  41. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.js +0 -29
  42. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.cjs +0 -98
  43. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js +0 -98
  44. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.cjs +0 -170
  45. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js +0 -170
  46. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.cjs +0 -61
  47. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.js +0 -61
  48. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.cjs +0 -54
  49. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.js +0 -54
  50. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.cjs +0 -54
  51. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.js +0 -54
  52. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.cjs +0 -31
  53. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.js +0 -30
  54. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.cjs +0 -47
  55. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.js +0 -47
  56. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.cjs +0 -123
  57. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.js +0 -123
  58. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.cjs +0 -32
  59. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.js +0 -32
  60. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.cjs +0 -59
  61. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.js +0 -59
  62. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.cjs +0 -61
  63. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.js +0 -61
  64. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.cjs +0 -43
  65. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.js +0 -43
  66. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.cjs +0 -47
  67. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js +0 -47
  68. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.cjs +0 -34
  69. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js +0 -34
  70. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.cjs +0 -120
  71. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.js +0 -119
  72. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.cjs +0 -22
  73. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js +0 -22
  74. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.cjs +0 -40
  75. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js +0 -40
  76. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.cjs +0 -19
  77. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js +0 -19
  78. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.cjs +0 -17
  79. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js +0 -17
  80. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs +0 -31
  81. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js +0 -31
  82. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.cjs +0 -148
  83. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.js +0 -145
  84. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.cjs +0 -203
  85. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js +0 -198
  86. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.cjs +0 -69
  87. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.js +0 -68
  88. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.cjs +0 -177
  89. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.js +0 -174
  90. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.cjs +0 -183
  91. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.js +0 -181
  92. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.cjs +0 -129
  93. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.js +0 -127
  94. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.cjs +0 -72
  95. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.js +0 -71
  96. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.cjs +0 -62
  97. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js +0 -56
  98. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.cjs +0 -154
  99. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.js +0 -150
  100. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.cjs +0 -300
  101. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.js +0 -294
  102. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.cjs +0 -50
  103. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.js +0 -49
  104. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.cjs +0 -489
  105. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.js +0 -481
  106. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.cjs +0 -375
  107. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.js +0 -371
  108. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.cjs +0 -160
  109. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.js +0 -157
  110. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.cjs +0 -68
  111. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.js +0 -66
  112. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.cjs +0 -87
  113. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.js +0 -85
  114. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.cjs +0 -352
  115. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +0 -348
  116. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.cjs +0 -81
  117. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.js +0 -80
  118. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.cjs +0 -111
  119. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.js +0 -111
  120. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.cjs +0 -351
  121. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.js +0 -347
  122. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.cjs +0 -51
  123. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.js +0 -51
  124. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.cjs +0 -102
  125. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js +0 -101
  126. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.cjs +0 -178
  127. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.js +0 -175
  128. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.cjs +0 -51
  129. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.js +0 -50
  130. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.cjs +0 -59
  131. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.js +0 -57
  132. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.cjs +0 -50
  133. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.js +0 -50
  134. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.cjs +0 -81
  135. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.js +0 -79
  136. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.cjs +0 -94
  137. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.js +0 -94
  138. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.cjs +0 -47
  139. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.js +0 -46
  140. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.cjs +0 -110
  141. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.js +0 -108
  142. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.cjs +0 -336
  143. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.js +0 -336
  144. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.cjs +0 -77
  145. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.js +0 -77
  146. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.cjs +0 -21
  147. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js +0 -21
  148. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.cjs +0 -101
  149. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js +0 -99
  150. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.cjs +0 -81
  151. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.js +0 -80
  152. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.cjs +0 -109
  153. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js +0 -108
  154. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.cjs +0 -238
  155. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.js +0 -236
@@ -1,77 +0,0 @@
1
- const require_errors = require('../errors.cjs');
2
- const require_index = require('../../../../../../../node_modules/.pnpm/@changesets_get-github-info@1.0.0-next.3/node_modules/@changesets/get-github-info/dist/index.cjs');
3
- let effect = require("effect");
4
-
5
- //#region ../silk-effects/dist/dev/pkg/changesets/vendor/github-info.js
6
- /**
7
- * Effect wrapper around `\@changesets/get-github-info`.
8
- *
9
- * @remarks
10
- * Bridges the `\@changesets/get-github-info` package (which returns
11
- * promises) into the Effect ecosystem. The {@link getGitHubInfo}
12
- * function wraps the upstream `getCommitInfo()` call in `Effect.tryPromise`,
13
- * adapting its structured `CommitInfo | undefined` return back to the
14
- * legacy {@link GitHubCommitInfo} shape and mapping failures (including a
15
- * `not found` result) to {@link GitHubApiError}.
16
- *
17
- * The upstream v1 package added a `.env` fallback: it reads
18
- * `GITHUB_TOKEN` from `process.env` directly when no token is otherwise
19
- * configured, so the caller does not need to plumb one through.
20
- *
21
- * The {@link GitHubCommitInfo} type is the only item from this module
22
- * that is part of the public API (re-exported from the package root).
23
- *
24
- * @see {@link GitHubService} for the Effect service layer that uses
25
- * this function
26
- *
27
- * @internal
28
- */
29
- /**
30
- * Fetch GitHub info for a commit, wrapped in Effect.
31
- *
32
- * @remarks
33
- * Calls the upstream `getCommitInfo()` from `\@changesets/get-github-info`
34
- * within `Effect.tryPromise`, adapting its structured `CommitInfo`
35
- * return to the legacy {@link GitHubCommitInfo} shape. An `undefined`
36
- * result (commit or repo not found) is treated as a thrown error so it
37
- * is mapped to the same {@link GitHubApiError} failure channel. Any
38
- * thrown error is caught and mapped to a {@link GitHubApiError} with
39
- * the operation set to `"getCommitInfo"`.
40
- *
41
- * Requires a `GITHUB_TOKEN` environment variable to be set for
42
- * authenticated API access (the upstream library reads it directly).
43
- *
44
- * @param params - The commit hash and repo in `owner/repo` format
45
- * @returns An Effect that resolves to {@link GitHubCommitInfo} or fails
46
- * with {@link GitHubApiError}
47
- *
48
- * @internal
49
- */
50
- function getGitHubInfo(params) {
51
- return effect.Effect.tryPromise({
52
- try: async () => {
53
- const info = await require_index.getCommitInfo({
54
- commit: params.commit,
55
- repo: params.repo
56
- });
57
- if (info === void 0) throw new Error(`commit ${params.commit} not found in ${params.repo}`);
58
- return {
59
- user: info.author?.login ?? null,
60
- pull: info.pull?.number ?? null,
61
- links: {
62
- commit: info.commit.markdownLink,
63
- pull: info.pull?.markdownLink ?? null,
64
- user: info.author?.markdownLink ?? null
65
- }
66
- };
67
- },
68
- /* v8 ignore next 5 -- error mapping tested via GitHubService test layer */
69
- catch: (error) => new require_errors.GitHubApiError({
70
- operation: "getCommitInfo",
71
- reason: error instanceof Error ? error.message : String(error)
72
- })
73
- });
74
- }
75
-
76
- //#endregion
77
- exports.getGitHubInfo = getGitHubInfo;
@@ -1,77 +0,0 @@
1
- import { GitHubApiError } from "../errors.js";
2
- import { getCommitInfo } from "../../../../../../../node_modules/.pnpm/@changesets_get-github-info@1.0.0-next.3/node_modules/@changesets/get-github-info/dist/index.js";
3
- import { Effect } from "effect";
4
-
5
- //#region ../silk-effects/dist/dev/pkg/changesets/vendor/github-info.js
6
- /**
7
- * Effect wrapper around `\@changesets/get-github-info`.
8
- *
9
- * @remarks
10
- * Bridges the `\@changesets/get-github-info` package (which returns
11
- * promises) into the Effect ecosystem. The {@link getGitHubInfo}
12
- * function wraps the upstream `getCommitInfo()` call in `Effect.tryPromise`,
13
- * adapting its structured `CommitInfo | undefined` return back to the
14
- * legacy {@link GitHubCommitInfo} shape and mapping failures (including a
15
- * `not found` result) to {@link GitHubApiError}.
16
- *
17
- * The upstream v1 package added a `.env` fallback: it reads
18
- * `GITHUB_TOKEN` from `process.env` directly when no token is otherwise
19
- * configured, so the caller does not need to plumb one through.
20
- *
21
- * The {@link GitHubCommitInfo} type is the only item from this module
22
- * that is part of the public API (re-exported from the package root).
23
- *
24
- * @see {@link GitHubService} for the Effect service layer that uses
25
- * this function
26
- *
27
- * @internal
28
- */
29
- /**
30
- * Fetch GitHub info for a commit, wrapped in Effect.
31
- *
32
- * @remarks
33
- * Calls the upstream `getCommitInfo()` from `\@changesets/get-github-info`
34
- * within `Effect.tryPromise`, adapting its structured `CommitInfo`
35
- * return to the legacy {@link GitHubCommitInfo} shape. An `undefined`
36
- * result (commit or repo not found) is treated as a thrown error so it
37
- * is mapped to the same {@link GitHubApiError} failure channel. Any
38
- * thrown error is caught and mapped to a {@link GitHubApiError} with
39
- * the operation set to `"getCommitInfo"`.
40
- *
41
- * Requires a `GITHUB_TOKEN` environment variable to be set for
42
- * authenticated API access (the upstream library reads it directly).
43
- *
44
- * @param params - The commit hash and repo in `owner/repo` format
45
- * @returns An Effect that resolves to {@link GitHubCommitInfo} or fails
46
- * with {@link GitHubApiError}
47
- *
48
- * @internal
49
- */
50
- function getGitHubInfo(params) {
51
- return Effect.tryPromise({
52
- try: async () => {
53
- const info = await getCommitInfo({
54
- commit: params.commit,
55
- repo: params.repo
56
- });
57
- if (info === void 0) throw new Error(`commit ${params.commit} not found in ${params.repo}`);
58
- return {
59
- user: info.author?.login ?? null,
60
- pull: info.pull?.number ?? null,
61
- links: {
62
- commit: info.commit.markdownLink,
63
- pull: info.pull?.markdownLink ?? null,
64
- user: info.author?.markdownLink ?? null
65
- }
66
- };
67
- },
68
- /* v8 ignore next 5 -- error mapping tested via GitHubService test layer */
69
- catch: (error) => new GitHubApiError({
70
- operation: "getCommitInfo",
71
- reason: error instanceof Error ? error.message : String(error)
72
- })
73
- });
74
- }
75
-
76
- //#endregion
77
- export { getGitHubInfo };
@@ -1,21 +0,0 @@
1
- let effect = require("effect");
2
-
3
- //#region ../silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js
4
- /**
5
- * Raised when the `.changeset/config.json` file cannot be read or decoded.
6
- *
7
- * @remarks
8
- * Returned by `ChangesetConfigReader.read` when the file is missing,
9
- * contains invalid JSON, or fails Effect Schema validation.
10
- *
11
- * @since 0.1.0
12
- * @public
13
- */
14
- var ChangesetConfigError = class extends effect.Data.TaggedError("ChangesetConfigError") {
15
- get message() {
16
- return `Failed to read changeset config at ${this.path}: ${this.reason}`;
17
- }
18
- };
19
-
20
- //#endregion
21
- exports.ChangesetConfigError = ChangesetConfigError;
@@ -1,21 +0,0 @@
1
- import { Data } from "effect";
2
-
3
- //#region ../silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js
4
- /**
5
- * Raised when the `.changeset/config.json` file cannot be read or decoded.
6
- *
7
- * @remarks
8
- * Returned by `ChangesetConfigReader.read` when the file is missing,
9
- * contains invalid JSON, or fails Effect Schema validation.
10
- *
11
- * @since 0.1.0
12
- * @public
13
- */
14
- var ChangesetConfigError = class extends Data.TaggedError("ChangesetConfigError") {
15
- get message() {
16
- return `Failed to read changeset config at ${this.path}: ${this.reason}`;
17
- }
18
- };
19
-
20
- //#endregion
21
- export { ChangesetConfigError };
@@ -1,101 +0,0 @@
1
- let effect = require("effect");
2
-
3
- //#region ../silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js
4
- /**
5
- * Configuration for how private packages are handled during versioning.
6
- *
7
- * @remarks
8
- * When set to `false`, private packages are completely ignored.
9
- * When set to an object, `tag` and `version` control whether private packages
10
- * receive git tags and version bumps respectively.
11
- *
12
- * @since 0.2.0
13
- */
14
- const PrivatePackagesConfig = effect.Schema.Union(effect.Schema.Struct({
15
- tag: effect.Schema.optional(effect.Schema.Boolean),
16
- version: effect.Schema.optional(effect.Schema.Boolean)
17
- }), effect.Schema.Literal(false));
18
- /**
19
- * Snapshot release configuration for changesets.
20
- *
21
- * @remarks
22
- * Controls how snapshot versions are generated.
23
- * `useCalculatedVersion` prepends the calculated version to the snapshot tag.
24
- * `prereleaseTemplate` is a custom template string for snapshot version format.
25
- *
26
- * @since 0.2.0
27
- */
28
- const SnapshotConfig = effect.Schema.Struct({
29
- useCalculatedVersion: effect.Schema.optional(effect.Schema.Boolean),
30
- prereleaseTemplate: effect.Schema.optional(effect.Schema.String)
31
- });
32
- /**
33
- * Standard changesets configuration matching the `@changesets/config@4.0.0-next.6` spec.
34
- *
35
- * @remarks
36
- * Represents the parsed `.changeset/config.json` file. All fields are optional
37
- * to allow partial configs. Use {@link (SilkChangesetConfigFile:type)} when the Silk changelog
38
- * adapter is detected.
39
- *
40
- * @since 0.1.0
41
- */
42
- /** @public */
43
- const ChangesetConfigFile = effect.Schema.Struct({
44
- changelog: effect.Schema.optional(effect.Schema.Union(effect.Schema.String, effect.Schema.Array(effect.Schema.Unknown), effect.Schema.Literal(false))),
45
- commit: effect.Schema.optional(effect.Schema.Union(effect.Schema.Boolean, effect.Schema.String, effect.Schema.Array(effect.Schema.Unknown))),
46
- fixed: effect.Schema.optional(effect.Schema.Array(effect.Schema.Array(effect.Schema.String))),
47
- linked: effect.Schema.optional(effect.Schema.Array(effect.Schema.Array(effect.Schema.String))),
48
- access: effect.Schema.optional(effect.Schema.Literal("public", "restricted")),
49
- baseBranch: effect.Schema.optional(effect.Schema.String),
50
- updateInternalDependencies: effect.Schema.optional(effect.Schema.Literal("patch", "minor", "major")),
51
- ignore: effect.Schema.optional(effect.Schema.Array(effect.Schema.String)),
52
- privatePackages: effect.Schema.optional(PrivatePackagesConfig),
53
- prettier: effect.Schema.optional(effect.Schema.Boolean),
54
- changedFilePatterns: effect.Schema.optional(effect.Schema.Array(effect.Schema.String)),
55
- bumpVersionsWithWorkspaceProtocolOnly: effect.Schema.optional(effect.Schema.Boolean),
56
- snapshot: effect.Schema.optional(SnapshotConfig)
57
- });
58
- /**
59
- * Extended changeset config for repos using the `@savvy-web/changesets` changelog adapter.
60
- *
61
- * @remarks
62
- * Extends {@link (ChangesetConfigFile:type)} with a `_isSilk` marker flag that is automatically
63
- * set to `true`. Detected by {@link ChangesetConfigReader} when the `changelog` field
64
- * references `@savvy-web/changesets`.
65
- *
66
- * @since 0.1.0
67
- */
68
- /** @public */
69
- const SilkChangesetConfigFile = effect.Schema.extend(ChangesetConfigFile, effect.Schema.Struct({ _isSilk: effect.Schema.optionalWith(effect.Schema.Boolean, { default: () => true }) }));
70
- /**
71
- * Versioning strategy classification for a workspace.
72
- *
73
- * @remarks
74
- * - `"single"` — one publishable package; a single version tag is used.
75
- * - `"fixed-group"` — all publishable packages are in the same changesets fixed group.
76
- * - `"independent"` — multiple publishable packages with independent version bumps.
77
- *
78
- * @since 0.1.0
79
- * @public
80
- */
81
- const VersioningStrategyType = effect.Schema.Literal("single", "fixed-group", "independent");
82
- /**
83
- * Output of the versioning strategy detection, combining the strategy type with group metadata.
84
- *
85
- * @remarks
86
- * Produced by `VersioningStrategy.detect` and consumed by `TagStrategy.determine`
87
- * to decide on the appropriate git-tag format.
88
- *
89
- * @since 0.1.0
90
- * @public
91
- */
92
- const VersioningStrategyResult = effect.Schema.Struct({
93
- type: VersioningStrategyType,
94
- fixedGroups: effect.Schema.Array(effect.Schema.Array(effect.Schema.String)),
95
- publishablePackages: effect.Schema.Array(effect.Schema.String)
96
- });
97
-
98
- //#endregion
99
- exports.ChangesetConfigFile = ChangesetConfigFile;
100
- exports.SilkChangesetConfigFile = SilkChangesetConfigFile;
101
- exports.VersioningStrategyType = VersioningStrategyType;
@@ -1,99 +0,0 @@
1
- import { Schema } from "effect";
2
-
3
- //#region ../silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js
4
- /**
5
- * Configuration for how private packages are handled during versioning.
6
- *
7
- * @remarks
8
- * When set to `false`, private packages are completely ignored.
9
- * When set to an object, `tag` and `version` control whether private packages
10
- * receive git tags and version bumps respectively.
11
- *
12
- * @since 0.2.0
13
- */
14
- const PrivatePackagesConfig = Schema.Union(Schema.Struct({
15
- tag: Schema.optional(Schema.Boolean),
16
- version: Schema.optional(Schema.Boolean)
17
- }), Schema.Literal(false));
18
- /**
19
- * Snapshot release configuration for changesets.
20
- *
21
- * @remarks
22
- * Controls how snapshot versions are generated.
23
- * `useCalculatedVersion` prepends the calculated version to the snapshot tag.
24
- * `prereleaseTemplate` is a custom template string for snapshot version format.
25
- *
26
- * @since 0.2.0
27
- */
28
- const SnapshotConfig = Schema.Struct({
29
- useCalculatedVersion: Schema.optional(Schema.Boolean),
30
- prereleaseTemplate: Schema.optional(Schema.String)
31
- });
32
- /**
33
- * Standard changesets configuration matching the `@changesets/config@4.0.0-next.6` spec.
34
- *
35
- * @remarks
36
- * Represents the parsed `.changeset/config.json` file. All fields are optional
37
- * to allow partial configs. Use {@link (SilkChangesetConfigFile:type)} when the Silk changelog
38
- * adapter is detected.
39
- *
40
- * @since 0.1.0
41
- */
42
- /** @public */
43
- const ChangesetConfigFile = Schema.Struct({
44
- changelog: Schema.optional(Schema.Union(Schema.String, Schema.Array(Schema.Unknown), Schema.Literal(false))),
45
- commit: Schema.optional(Schema.Union(Schema.Boolean, Schema.String, Schema.Array(Schema.Unknown))),
46
- fixed: Schema.optional(Schema.Array(Schema.Array(Schema.String))),
47
- linked: Schema.optional(Schema.Array(Schema.Array(Schema.String))),
48
- access: Schema.optional(Schema.Literal("public", "restricted")),
49
- baseBranch: Schema.optional(Schema.String),
50
- updateInternalDependencies: Schema.optional(Schema.Literal("patch", "minor", "major")),
51
- ignore: Schema.optional(Schema.Array(Schema.String)),
52
- privatePackages: Schema.optional(PrivatePackagesConfig),
53
- prettier: Schema.optional(Schema.Boolean),
54
- changedFilePatterns: Schema.optional(Schema.Array(Schema.String)),
55
- bumpVersionsWithWorkspaceProtocolOnly: Schema.optional(Schema.Boolean),
56
- snapshot: Schema.optional(SnapshotConfig)
57
- });
58
- /**
59
- * Extended changeset config for repos using the `@savvy-web/changesets` changelog adapter.
60
- *
61
- * @remarks
62
- * Extends {@link (ChangesetConfigFile:type)} with a `_isSilk` marker flag that is automatically
63
- * set to `true`. Detected by {@link ChangesetConfigReader} when the `changelog` field
64
- * references `@savvy-web/changesets`.
65
- *
66
- * @since 0.1.0
67
- */
68
- /** @public */
69
- const SilkChangesetConfigFile = Schema.extend(ChangesetConfigFile, Schema.Struct({ _isSilk: Schema.optionalWith(Schema.Boolean, { default: () => true }) }));
70
- /**
71
- * Versioning strategy classification for a workspace.
72
- *
73
- * @remarks
74
- * - `"single"` — one publishable package; a single version tag is used.
75
- * - `"fixed-group"` — all publishable packages are in the same changesets fixed group.
76
- * - `"independent"` — multiple publishable packages with independent version bumps.
77
- *
78
- * @since 0.1.0
79
- * @public
80
- */
81
- const VersioningStrategyType = Schema.Literal("single", "fixed-group", "independent");
82
- /**
83
- * Output of the versioning strategy detection, combining the strategy type with group metadata.
84
- *
85
- * @remarks
86
- * Produced by `VersioningStrategy.detect` and consumed by `TagStrategy.determine`
87
- * to decide on the appropriate git-tag format.
88
- *
89
- * @since 0.1.0
90
- * @public
91
- */
92
- const VersioningStrategyResult = Schema.Struct({
93
- type: VersioningStrategyType,
94
- fixedGroups: Schema.Array(Schema.Array(Schema.String)),
95
- publishablePackages: Schema.Array(Schema.String)
96
- });
97
-
98
- //#endregion
99
- export { ChangesetConfigFile, SilkChangesetConfigFile, VersioningStrategyType };
@@ -1,81 +0,0 @@
1
- const require_ChangesetConfigReader = require('./ChangesetConfigReader.cjs');
2
- let effect = require("effect");
3
-
4
- //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfig.js
5
- /**
6
- * Accessor service over a workspace root's `.changeset/config.json`.
7
- *
8
- * @remarks
9
- * Reads through {@link ChangesetConfigReader} (FileSystem-based) with a per-root cache.
10
- * Every accessor is total (error channel `never`): a missing or unreadable config collapses
11
- * to `mode: "none"` and empty/false defaults.
12
- *
13
- * @since 0.4.0
14
- * @public
15
- */
16
- var ChangesetConfig = class extends effect.Context.Tag("@savvy-web/silk-effects/ChangesetConfig")() {
17
- /**
18
- * The one ignore matcher: exact name match, or `@scope/*` wildcard.
19
- *
20
- * `"@scope/*"` matches `"@scope/anything"` (prefix kept includes the trailing slash),
21
- * but not the bare scope `"@scope"`.
22
- */
23
- static matches(name, pattern) {
24
- if (pattern.endsWith("/*")) {
25
- const prefix = pattern.slice(0, -1);
26
- return name.startsWith(prefix);
27
- }
28
- return name === pattern;
29
- }
30
- };
31
- const isSilk = (cfg) => "_isSilk" in cfg && cfg._isSilk === true;
32
- /**
33
- * Live {@link ChangesetConfig} reading via {@link ChangesetConfigReader}, cached per root.
34
- *
35
- * @remarks
36
- * Requires `ChangesetConfigReader` (which requires `FileSystem`). Provide
37
- * `ChangesetConfigReaderLive` + a platform layer (`NodeContext.layer`).
38
- *
39
- * @since 0.4.0
40
- * @public
41
- */
42
- const ChangesetConfigLive = effect.Layer.effect(ChangesetConfig, effect.Effect.gen(function* () {
43
- const reader = yield* require_ChangesetConfigReader.ChangesetConfigReader;
44
- const cache = /* @__PURE__ */ new Map();
45
- const read = (root) => effect.Effect.gen(function* () {
46
- const hit = cache.get(root);
47
- if (hit !== void 0) return hit;
48
- const result = yield* reader.read(root).pipe(effect.Effect.option);
49
- cache.set(root, result);
50
- return result;
51
- });
52
- return {
53
- mode: (root) => read(root).pipe(effect.Effect.map(effect.Option.match({
54
- onNone: () => "none",
55
- onSome: (cfg) => isSilk(cfg) ? "silk" : "vanilla"
56
- }))),
57
- versionPrivate: (root) => read(root).pipe(effect.Effect.map(effect.Option.match({
58
- onNone: () => false,
59
- onSome: (cfg) => {
60
- const pp = cfg.privatePackages;
61
- return pp !== void 0 && pp !== false && pp.version === true;
62
- }
63
- }))),
64
- ignorePatterns: (root) => read(root).pipe(effect.Effect.map(effect.Option.match({
65
- onNone: () => [],
66
- onSome: (cfg) => cfg.ignore ?? []
67
- }))),
68
- isIgnored: (name, root) => read(root).pipe(effect.Effect.map(effect.Option.match({
69
- onNone: () => false,
70
- onSome: (cfg) => (cfg.ignore ?? []).some((p) => ChangesetConfig.matches(name, p))
71
- }))),
72
- fixed: (root) => read(root).pipe(effect.Effect.map(effect.Option.match({
73
- onNone: () => [],
74
- onSome: (cfg) => cfg.fixed ?? []
75
- })))
76
- };
77
- }));
78
-
79
- //#endregion
80
- exports.ChangesetConfig = ChangesetConfig;
81
- exports.ChangesetConfigLive = ChangesetConfigLive;
@@ -1,80 +0,0 @@
1
- import { ChangesetConfigReader } from "./ChangesetConfigReader.js";
2
- import { Context, Effect, Layer, Option } from "effect";
3
-
4
- //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfig.js
5
- /**
6
- * Accessor service over a workspace root's `.changeset/config.json`.
7
- *
8
- * @remarks
9
- * Reads through {@link ChangesetConfigReader} (FileSystem-based) with a per-root cache.
10
- * Every accessor is total (error channel `never`): a missing or unreadable config collapses
11
- * to `mode: "none"` and empty/false defaults.
12
- *
13
- * @since 0.4.0
14
- * @public
15
- */
16
- var ChangesetConfig = class extends Context.Tag("@savvy-web/silk-effects/ChangesetConfig")() {
17
- /**
18
- * The one ignore matcher: exact name match, or `@scope/*` wildcard.
19
- *
20
- * `"@scope/*"` matches `"@scope/anything"` (prefix kept includes the trailing slash),
21
- * but not the bare scope `"@scope"`.
22
- */
23
- static matches(name, pattern) {
24
- if (pattern.endsWith("/*")) {
25
- const prefix = pattern.slice(0, -1);
26
- return name.startsWith(prefix);
27
- }
28
- return name === pattern;
29
- }
30
- };
31
- const isSilk = (cfg) => "_isSilk" in cfg && cfg._isSilk === true;
32
- /**
33
- * Live {@link ChangesetConfig} reading via {@link ChangesetConfigReader}, cached per root.
34
- *
35
- * @remarks
36
- * Requires `ChangesetConfigReader` (which requires `FileSystem`). Provide
37
- * `ChangesetConfigReaderLive` + a platform layer (`NodeContext.layer`).
38
- *
39
- * @since 0.4.0
40
- * @public
41
- */
42
- const ChangesetConfigLive = Layer.effect(ChangesetConfig, Effect.gen(function* () {
43
- const reader = yield* ChangesetConfigReader;
44
- const cache = /* @__PURE__ */ new Map();
45
- const read = (root) => Effect.gen(function* () {
46
- const hit = cache.get(root);
47
- if (hit !== void 0) return hit;
48
- const result = yield* reader.read(root).pipe(Effect.option);
49
- cache.set(root, result);
50
- return result;
51
- });
52
- return {
53
- mode: (root) => read(root).pipe(Effect.map(Option.match({
54
- onNone: () => "none",
55
- onSome: (cfg) => isSilk(cfg) ? "silk" : "vanilla"
56
- }))),
57
- versionPrivate: (root) => read(root).pipe(Effect.map(Option.match({
58
- onNone: () => false,
59
- onSome: (cfg) => {
60
- const pp = cfg.privatePackages;
61
- return pp !== void 0 && pp !== false && pp.version === true;
62
- }
63
- }))),
64
- ignorePatterns: (root) => read(root).pipe(Effect.map(Option.match({
65
- onNone: () => [],
66
- onSome: (cfg) => cfg.ignore ?? []
67
- }))),
68
- isIgnored: (name, root) => read(root).pipe(Effect.map(Option.match({
69
- onNone: () => false,
70
- onSome: (cfg) => (cfg.ignore ?? []).some((p) => ChangesetConfig.matches(name, p))
71
- }))),
72
- fixed: (root) => read(root).pipe(Effect.map(Option.match({
73
- onNone: () => [],
74
- onSome: (cfg) => cfg.fixed ?? []
75
- })))
76
- };
77
- }));
78
-
79
- //#endregion
80
- export { ChangesetConfig, ChangesetConfigLive };
@@ -1,109 +0,0 @@
1
- const require_ChangesetConfigError = require('../errors/ChangesetConfigError.cjs');
2
- const require_VersioningSchemas = require('../schemas/VersioningSchemas.cjs');
3
- let effect = require("effect");
4
- let _effect_platform = require("@effect/platform");
5
-
6
- //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js
7
- /**
8
- * Substrings that identify a Silk changelog adapter entry in `.changeset/config.json`.
9
- *
10
- * Both the standalone package (`@savvy-web/changesets/changelog`) and the
11
- * consolidated Silk re-export (`@savvy-web/silk/changesets/changelog`) are Silk
12
- * adapters. The `/silk/` segment in the consolidated path breaks the original
13
- * `@savvy-web/changesets` substring, so each form needs its own marker.
14
- */
15
- const SILK_CHANGELOG_MARKERS = ["@savvy-web/changesets", "@savvy-web/silk/changesets"];
16
- function matchesSilkMarker(value) {
17
- return SILK_CHANGELOG_MARKERS.some((marker) => value.includes(marker));
18
- }
19
- function isSilkChangelog(changelog) {
20
- if (typeof changelog === "string") return matchesSilkMarker(changelog);
21
- if (Array.isArray(changelog) && changelog.length > 0) return typeof changelog[0] === "string" && matchesSilkMarker(changelog[0]);
22
- return false;
23
- }
24
- /**
25
- * Service that reads and decodes the `.changeset/config.json` for a given workspace root.
26
- *
27
- * @remarks
28
- * Automatically detects whether the config uses the Silk changelog adapter
29
- * (`@savvy-web/changesets`) and decodes as {@link (SilkChangesetConfigFile:type)} or the
30
- * standard {@link (ChangesetConfigFile:type)} accordingly.
31
- *
32
- * @example
33
- * ```typescript
34
- * const result = await Effect.runPromise(
35
- * Effect.gen(function* () {
36
- * const reader = yield* ChangesetConfigReader;
37
- * return yield* reader.read(process.cwd());
38
- * }).pipe(
39
- * Effect.provide(ChangesetConfigReaderLive),
40
- * Effect.provide(NodeContext.layer),
41
- * )
42
- * );
43
- * ```
44
- *
45
- * @since 0.1.0
46
- * @public
47
- */
48
- var ChangesetConfigReader = class extends effect.Context.Tag("@savvy-web/silk-effects/ChangesetConfigReader")() {};
49
- /**
50
- * Live implementation of {@link ChangesetConfigReader}.
51
- *
52
- * @remarks
53
- * Requires `FileSystem` from `@effect/platform`. Provide `NodeContext.layer` or
54
- * `BunContext.layer` to satisfy this dependency.
55
- *
56
- * @since 0.1.0
57
- * @public
58
- */
59
- const ChangesetConfigReaderLive = effect.Layer.effect(ChangesetConfigReader, effect.Effect.gen(function* () {
60
- const fs = yield* _effect_platform.FileSystem.FileSystem;
61
- const read = (root) => {
62
- const configPath = `${root}/.changeset/config.json`;
63
- return effect.Effect.gen(function* () {
64
- if (!(yield* fs.exists(configPath).pipe(effect.Effect.mapError(
65
- /* v8 ignore next 4 -- error path requires fs.exists to fail */
66
- (cause) => new require_ChangesetConfigError.ChangesetConfigError({
67
- path: configPath,
68
- reason: String(cause)
69
- })
70
- )))) return yield* effect.Effect.fail(new require_ChangesetConfigError.ChangesetConfigError({
71
- path: configPath,
72
- reason: "File not found"
73
- }));
74
- const raw = yield* fs.readFileString(configPath).pipe(effect.Effect.mapError(
75
- /* v8 ignore next 4 -- error path requires fs.readFileString to fail */
76
- (cause) => new require_ChangesetConfigError.ChangesetConfigError({
77
- path: configPath,
78
- reason: String(cause)
79
- })
80
- ));
81
- const parsed = yield* effect.Effect.try({
82
- try: () => JSON.parse(raw),
83
- catch: (cause) => new require_ChangesetConfigError.ChangesetConfigError({
84
- path: configPath,
85
- reason: `Invalid JSON: ${String(cause)}`
86
- })
87
- });
88
- if (isSilkChangelog(parsed.changelog)) return yield* effect.Schema.decodeUnknown(require_VersioningSchemas.SilkChangesetConfigFile)(parsed).pipe(effect.Effect.mapError(
89
- /* v8 ignore next 4 -- error path requires schema decode failure */
90
- (cause) => new require_ChangesetConfigError.ChangesetConfigError({
91
- path: configPath,
92
- reason: `Schema decode failed: ${String(cause)}`
93
- })
94
- ));
95
- return yield* effect.Schema.decodeUnknown(require_VersioningSchemas.ChangesetConfigFile)(parsed).pipe(effect.Effect.mapError(
96
- /* v8 ignore next 4 -- error path requires schema decode failure */
97
- (cause) => new require_ChangesetConfigError.ChangesetConfigError({
98
- path: configPath,
99
- reason: `Schema decode failed: ${String(cause)}`
100
- })
101
- ));
102
- });
103
- };
104
- return { read };
105
- }));
106
-
107
- //#endregion
108
- exports.ChangesetConfigReader = ChangesetConfigReader;
109
- exports.ChangesetConfigReaderLive = ChangesetConfigReaderLive;