@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.
- package/README.md +7 -5
- package/changesets-changelog.cjs +39298 -96760
- package/changesets-changelog.d.cts +24 -14
- package/changesets-changelog.d.ts +24 -14
- package/changesets-changelog.js +54057 -1
- package/changesets-markdownlint.cjs +39295 -96757
- package/changesets-markdownlint.d.cts +24 -14
- package/changesets-markdownlint.d.ts +24 -14
- package/changesets-markdownlint.js +54057 -1
- package/package.json +6 -5
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
- package/_virtual/_rolldown/runtime.cjs +0 -45
- package/_virtual/_rolldown/runtime.js +0 -45
- package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.cjs +0 -15
- package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.js +0 -14
- package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.cjs +0 -247
- package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.js +0 -247
- package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.cjs +0 -134
- package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.js +0 -134
- package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.cjs +0 -163
- package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.js +0 -163
- package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.cjs +0 -170
- package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.js +0 -170
- package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.cjs +0 -134
- package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.js +0 -134
- package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.cjs +0 -317
- package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.js +0 -299
- package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.cjs +0 -65
- package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.js +0 -65
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.cjs +0 -114
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.js +0 -113
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.cjs +0 -118
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.js +0 -118
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.cjs +0 -122
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.js +0 -122
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.cjs +0 -97
- package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.js +0 -97
- package/packages/silk-effects/dist/dev/pkg/changesets/constants.cjs +0 -43
- package/packages/silk-effects/dist/dev/pkg/changesets/constants.js +0 -42
- package/packages/silk-effects/dist/dev/pkg/changesets/errors.cjs +0 -386
- package/packages/silk-effects/dist/dev/pkg/changesets/errors.js +0 -371
- package/packages/silk-effects/dist/dev/pkg/changesets/index.cjs +0 -300
- package/packages/silk-effects/dist/dev/pkg/changesets/index.js +0 -179
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.cjs +0 -34
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.js +0 -29
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.cjs +0 -98
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js +0 -98
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.cjs +0 -170
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js +0 -170
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.cjs +0 -61
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.js +0 -61
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.cjs +0 -54
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.js +0 -54
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.cjs +0 -54
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.js +0 -54
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.cjs +0 -31
- package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.js +0 -30
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.cjs +0 -47
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.js +0 -47
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.cjs +0 -123
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.js +0 -123
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.cjs +0 -32
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.js +0 -32
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.cjs +0 -59
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.js +0 -59
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.cjs +0 -61
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.js +0 -61
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.cjs +0 -43
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.js +0 -43
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.cjs +0 -47
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js +0 -47
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.cjs +0 -34
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js +0 -34
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.cjs +0 -120
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.js +0 -119
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.cjs +0 -22
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js +0 -22
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.cjs +0 -40
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js +0 -40
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.cjs +0 -19
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js +0 -19
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.cjs +0 -17
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js +0 -17
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs +0 -31
- package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js +0 -31
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.cjs +0 -148
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.js +0 -145
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.cjs +0 -203
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js +0 -198
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.cjs +0 -69
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.js +0 -68
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.cjs +0 -177
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.js +0 -174
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.cjs +0 -183
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.js +0 -181
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.cjs +0 -129
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.js +0 -127
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.cjs +0 -72
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.js +0 -71
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.cjs +0 -62
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js +0 -56
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.cjs +0 -154
- package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.js +0 -150
- package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.cjs +0 -300
- package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.js +0 -294
- package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.cjs +0 -50
- package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.js +0 -49
- package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.cjs +0 -489
- package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.js +0 -481
- package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.cjs +0 -375
- package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.js +0 -371
- package/packages/silk-effects/dist/dev/pkg/changesets/services/github.cjs +0 -160
- package/packages/silk-effects/dist/dev/pkg/changesets/services/github.js +0 -157
- package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.cjs +0 -68
- package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.js +0 -66
- package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.cjs +0 -87
- package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.js +0 -85
- package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.cjs +0 -338
- package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +0 -334
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.cjs +0 -81
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.js +0 -80
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.cjs +0 -111
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.js +0 -111
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.cjs +0 -351
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.js +0 -347
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.cjs +0 -51
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.js +0 -51
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.cjs +0 -102
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js +0 -101
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.cjs +0 -178
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.js +0 -175
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.cjs +0 -51
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.js +0 -50
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.cjs +0 -59
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.js +0 -57
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.cjs +0 -50
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.js +0 -50
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.cjs +0 -81
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.js +0 -79
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.cjs +0 -94
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.js +0 -94
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.cjs +0 -47
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.js +0 -46
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.cjs +0 -110
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.js +0 -108
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.cjs +0 -336
- package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.js +0 -336
- package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.cjs +0 -55
- package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.js +0 -55
- package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.cjs +0 -21
- package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js +0 -21
- package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.cjs +0 -101
- package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js +0 -99
- package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.cjs +0 -81
- package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.js +0 -80
- package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.cjs +0 -109
- package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js +0 -108
- package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.cjs +0 -238
- package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.js +0 -236
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
const require_errors = require('../errors.cjs');
|
|
2
|
-
const require_changesets_get_github_info_esm = require('../../../../../../../node_modules/.pnpm/@changesets_get-github-info@0.8.0/node_modules/@changesets/get-github-info/dist/changesets-get-github-info.esm.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 `getInfo()` call in `Effect.tryPromise`,
|
|
13
|
-
* mapping failures to {@link GitHubApiError}.
|
|
14
|
-
*
|
|
15
|
-
* The {@link GitHubCommitInfo} type is the only item from this module
|
|
16
|
-
* that is part of the public API (re-exported from the package root).
|
|
17
|
-
*
|
|
18
|
-
* @see {@link GitHubService} for the Effect service layer that uses
|
|
19
|
-
* this function
|
|
20
|
-
*
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Fetch GitHub info for a commit, wrapped in Effect.
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Calls the upstream `getInfo()` from `\@changesets/get-github-info`
|
|
28
|
-
* within `Effect.tryPromise`. Any thrown error is caught and mapped
|
|
29
|
-
* to a {@link GitHubApiError} with the operation set to `"getInfo"`.
|
|
30
|
-
*
|
|
31
|
-
* Requires a `GITHUB_TOKEN` environment variable to be set for
|
|
32
|
-
* authenticated API access (the upstream library reads it directly).
|
|
33
|
-
*
|
|
34
|
-
* @param params - The commit hash and repo in `owner/repo` format
|
|
35
|
-
* @returns An Effect that resolves to {@link GitHubCommitInfo} or fails
|
|
36
|
-
* with {@link GitHubApiError}
|
|
37
|
-
*
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
function getGitHubInfo(params) {
|
|
41
|
-
return effect.Effect.tryPromise({
|
|
42
|
-
try: () => require_changesets_get_github_info_esm.getInfo({
|
|
43
|
-
commit: params.commit,
|
|
44
|
-
repo: params.repo
|
|
45
|
-
}),
|
|
46
|
-
/* v8 ignore next 5 -- error mapping tested via GitHubService test layer */
|
|
47
|
-
catch: (error) => new require_errors.GitHubApiError({
|
|
48
|
-
operation: "getInfo",
|
|
49
|
-
reason: error instanceof Error ? error.message : String(error)
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
exports.getGitHubInfo = getGitHubInfo;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { GitHubApiError } from "../errors.js";
|
|
2
|
-
import { getInfo } from "../../../../../../../node_modules/.pnpm/@changesets_get-github-info@0.8.0/node_modules/@changesets/get-github-info/dist/changesets-get-github-info.esm.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 `getInfo()` call in `Effect.tryPromise`,
|
|
13
|
-
* mapping failures to {@link GitHubApiError}.
|
|
14
|
-
*
|
|
15
|
-
* The {@link GitHubCommitInfo} type is the only item from this module
|
|
16
|
-
* that is part of the public API (re-exported from the package root).
|
|
17
|
-
*
|
|
18
|
-
* @see {@link GitHubService} for the Effect service layer that uses
|
|
19
|
-
* this function
|
|
20
|
-
*
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Fetch GitHub info for a commit, wrapped in Effect.
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Calls the upstream `getInfo()` from `\@changesets/get-github-info`
|
|
28
|
-
* within `Effect.tryPromise`. Any thrown error is caught and mapped
|
|
29
|
-
* to a {@link GitHubApiError} with the operation set to `"getInfo"`.
|
|
30
|
-
*
|
|
31
|
-
* Requires a `GITHUB_TOKEN` environment variable to be set for
|
|
32
|
-
* authenticated API access (the upstream library reads it directly).
|
|
33
|
-
*
|
|
34
|
-
* @param params - The commit hash and repo in `owner/repo` format
|
|
35
|
-
* @returns An Effect that resolves to {@link GitHubCommitInfo} or fails
|
|
36
|
-
* with {@link GitHubApiError}
|
|
37
|
-
*
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
function getGitHubInfo(params) {
|
|
41
|
-
return Effect.tryPromise({
|
|
42
|
-
try: () => getInfo({
|
|
43
|
-
commit: params.commit,
|
|
44
|
-
repo: params.repo
|
|
45
|
-
}),
|
|
46
|
-
/* v8 ignore next 5 -- error mapping tested via GitHubService test layer */
|
|
47
|
-
catch: (error) => new GitHubApiError({
|
|
48
|
-
operation: "getInfo",
|
|
49
|
-
reason: error instanceof Error ? error.message : String(error)
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
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@3.1.1` 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@3.1.1` 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;
|