@savvy-web/silk 2.0.0 → 2.1.1
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 +109 -61
- package/changesets-changelog.d.cts +1 -1
- package/changesets-changelog.d.ts +1 -1
- package/changesets-changelog.js +54099 -1
- package/changesets-markdownlint.cjs +109 -61
- package/changesets-markdownlint.d.cts +1 -1
- package/changesets-markdownlint.d.ts +1 -1
- package/changesets-markdownlint.js +54099 -1
- package/package.json +5 -4
- 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 -352
- package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +0 -348
- 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 -77
- package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.js +0 -77
- 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,47 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.cjs');
|
|
2
|
-
const require_version_blocks = require('../../utils/version-blocks.cjs');
|
|
3
|
-
|
|
4
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js
|
|
5
|
-
/**
|
|
6
|
-
* Check if a node is a heading at one of the given depths.
|
|
7
|
-
*
|
|
8
|
-
* @param node - The AST node to check
|
|
9
|
-
* @param depths - Allowed heading depths
|
|
10
|
-
* @returns `true` if the node is a heading at one of the specified depths
|
|
11
|
-
*
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
function isHeadingAtDepth(node, depths) {
|
|
15
|
-
return node.type === "heading" && depths.includes(node.depth);
|
|
16
|
-
}
|
|
17
|
-
const NormalizeFormatPlugin = () => {
|
|
18
|
-
return (tree) => {
|
|
19
|
-
const blocks = require_version_blocks.getVersionBlocks(tree);
|
|
20
|
-
const indicesToRemove = /* @__PURE__ */ new Set();
|
|
21
|
-
for (const block of blocks) for (let i = block.startIndex; i < block.endIndex; i++) {
|
|
22
|
-
const node = tree.children[i];
|
|
23
|
-
if (node.type === "list" && node.children.length === 0) {
|
|
24
|
-
indicesToRemove.add(i);
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
if (!isHeadingAtDepth(node, [3])) continue;
|
|
28
|
-
let hasContent = false;
|
|
29
|
-
for (let j = i + 1; j < block.endIndex; j++) {
|
|
30
|
-
const next = tree.children[j];
|
|
31
|
-
if (next.type === "paragraph" && require_index.toString(next).trim() === "") {
|
|
32
|
-
indicesToRemove.add(j);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (isHeadingAtDepth(next, [2, 3])) break;
|
|
36
|
-
hasContent = true;
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
if (!hasContent) indicesToRemove.add(i);
|
|
40
|
-
}
|
|
41
|
-
const sorted = [...indicesToRemove].sort((a, b) => b - a);
|
|
42
|
-
for (const idx of sorted) tree.children.splice(idx, 1);
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
exports.NormalizeFormatPlugin = NormalizeFormatPlugin;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { toString } from "../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js";
|
|
2
|
-
import { getVersionBlocks } from "../../utils/version-blocks.js";
|
|
3
|
-
|
|
4
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js
|
|
5
|
-
/**
|
|
6
|
-
* Check if a node is a heading at one of the given depths.
|
|
7
|
-
*
|
|
8
|
-
* @param node - The AST node to check
|
|
9
|
-
* @param depths - Allowed heading depths
|
|
10
|
-
* @returns `true` if the node is a heading at one of the specified depths
|
|
11
|
-
*
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
function isHeadingAtDepth(node, depths) {
|
|
15
|
-
return node.type === "heading" && depths.includes(node.depth);
|
|
16
|
-
}
|
|
17
|
-
const NormalizeFormatPlugin = () => {
|
|
18
|
-
return (tree) => {
|
|
19
|
-
const blocks = getVersionBlocks(tree);
|
|
20
|
-
const indicesToRemove = /* @__PURE__ */ new Set();
|
|
21
|
-
for (const block of blocks) for (let i = block.startIndex; i < block.endIndex; i++) {
|
|
22
|
-
const node = tree.children[i];
|
|
23
|
-
if (node.type === "list" && node.children.length === 0) {
|
|
24
|
-
indicesToRemove.add(i);
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
if (!isHeadingAtDepth(node, [3])) continue;
|
|
28
|
-
let hasContent = false;
|
|
29
|
-
for (let j = i + 1; j < block.endIndex; j++) {
|
|
30
|
-
const next = tree.children[j];
|
|
31
|
-
if (next.type === "paragraph" && toString(next).trim() === "") {
|
|
32
|
-
indicesToRemove.add(j);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (isHeadingAtDepth(next, [2, 3])) break;
|
|
36
|
-
hasContent = true;
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
if (!hasContent) indicesToRemove.add(i);
|
|
40
|
-
}
|
|
41
|
-
const sorted = [...indicesToRemove].sort((a, b) => b - a);
|
|
42
|
-
for (const idx of sorted) tree.children.splice(idx, 1);
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
export { NormalizeFormatPlugin };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../categories/index.cjs');
|
|
2
|
-
const require_version_blocks = require('../../utils/version-blocks.cjs');
|
|
3
|
-
|
|
4
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js
|
|
5
|
-
/**
|
|
6
|
-
* Default priority for unrecognized headings (sorts after all known categories).
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
const UNKNOWN_PRIORITY = 999;
|
|
11
|
-
const ReorderSectionsPlugin = () => {
|
|
12
|
-
return (tree) => {
|
|
13
|
-
const blocks = require_version_blocks.getVersionBlocks(tree);
|
|
14
|
-
for (let b = blocks.length - 1; b >= 0; b--) {
|
|
15
|
-
const block = blocks[b];
|
|
16
|
-
const sections = require_version_blocks.getBlockSections(tree, block);
|
|
17
|
-
if (sections.length <= 1) continue;
|
|
18
|
-
const preamble = [];
|
|
19
|
-
for (let i = block.startIndex; i < block.endIndex; i++) if (i < sections[0].headingIndex) preamble.push(tree.children[i]);
|
|
20
|
-
else break;
|
|
21
|
-
const sorted = [...sections].sort((a, b) => {
|
|
22
|
-
return (require_index.fromHeading(require_version_blocks.getHeadingText(a.heading))?.priority ?? UNKNOWN_PRIORITY) - (require_index.fromHeading(require_version_blocks.getHeadingText(b.heading))?.priority ?? UNKNOWN_PRIORITY);
|
|
23
|
-
});
|
|
24
|
-
if (sorted.every((s, i) => s.headingIndex === sections[i].headingIndex)) continue;
|
|
25
|
-
const newChildren = [...preamble];
|
|
26
|
-
for (const section of sorted) newChildren.push(section.heading, ...section.contentNodes);
|
|
27
|
-
const blockLength = block.endIndex - block.startIndex;
|
|
28
|
-
tree.children.splice(block.startIndex, blockLength, ...newChildren);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
exports.ReorderSectionsPlugin = ReorderSectionsPlugin;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { fromHeading } from "../../categories/index.js";
|
|
2
|
-
import { getBlockSections, getHeadingText, getVersionBlocks } from "../../utils/version-blocks.js";
|
|
3
|
-
|
|
4
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js
|
|
5
|
-
/**
|
|
6
|
-
* Default priority for unrecognized headings (sorts after all known categories).
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
const UNKNOWN_PRIORITY = 999;
|
|
11
|
-
const ReorderSectionsPlugin = () => {
|
|
12
|
-
return (tree) => {
|
|
13
|
-
const blocks = getVersionBlocks(tree);
|
|
14
|
-
for (let b = blocks.length - 1; b >= 0; b--) {
|
|
15
|
-
const block = blocks[b];
|
|
16
|
-
const sections = getBlockSections(tree, block);
|
|
17
|
-
if (sections.length <= 1) continue;
|
|
18
|
-
const preamble = [];
|
|
19
|
-
for (let i = block.startIndex; i < block.endIndex; i++) if (i < sections[0].headingIndex) preamble.push(tree.children[i]);
|
|
20
|
-
else break;
|
|
21
|
-
const sorted = [...sections].sort((a, b) => {
|
|
22
|
-
return (fromHeading(getHeadingText(a.heading))?.priority ?? UNKNOWN_PRIORITY) - (fromHeading(getHeadingText(b.heading))?.priority ?? UNKNOWN_PRIORITY);
|
|
23
|
-
});
|
|
24
|
-
if (sorted.every((s, i) => s.headingIndex === sections[i].headingIndex)) continue;
|
|
25
|
-
const newChildren = [...preamble];
|
|
26
|
-
for (const section of sorted) newChildren.push(section.heading, ...section.contentNodes);
|
|
27
|
-
const blockLength = block.endIndex - block.startIndex;
|
|
28
|
-
tree.children.splice(block.startIndex, blockLength, ...newChildren);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
export { ReorderSectionsPlugin };
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
const require_content_structure = require('./rules/content-structure.cjs');
|
|
2
|
-
const require_dependency_table_format = require('./rules/dependency-table-format.cjs');
|
|
3
|
-
const require_heading_hierarchy = require('./rules/heading-hierarchy.cjs');
|
|
4
|
-
const require_required_sections = require('./rules/required-sections.cjs');
|
|
5
|
-
const require_uncategorized_content = require('./rules/uncategorized-content.cjs');
|
|
6
|
-
const require_aggregate_dependency_tables = require('./plugins/aggregate-dependency-tables.cjs');
|
|
7
|
-
const require_contributor_footnotes = require('./plugins/contributor-footnotes.cjs');
|
|
8
|
-
const require_deduplicate_items = require('./plugins/deduplicate-items.cjs');
|
|
9
|
-
const require_issue_link_refs = require('./plugins/issue-link-refs.cjs');
|
|
10
|
-
const require_merge_sections = require('./plugins/merge-sections.cjs');
|
|
11
|
-
const require_normalize_format = require('./plugins/normalize-format.cjs');
|
|
12
|
-
const require_reorder_sections = require('./plugins/reorder-sections.cjs');
|
|
13
|
-
|
|
14
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/presets.js
|
|
15
|
-
/**
|
|
16
|
-
* Remark preset collections for changeset lint rules and transform plugins.
|
|
17
|
-
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* Presets bundle related remark plugins into ordered arrays for convenient
|
|
20
|
-
* consumption. Each preset is a `readonly` tuple so that TypeScript can
|
|
21
|
-
* narrow element types. Iterate and `.use()` each entry with `unified()`.
|
|
22
|
-
*
|
|
23
|
-
* @see {@link SilkChangesetPreset} for lint rules
|
|
24
|
-
* @see {@link SilkChangesetTransformPreset} for transform plugins
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Preset combining all changeset lint rules for convenient consumption.
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* Includes the following rules in order:
|
|
31
|
-
*
|
|
32
|
-
* 1. {@link HeadingHierarchyRule} (CSH001) -- no h1, no depth skips
|
|
33
|
-
* 2. {@link RequiredSectionsRule} (CSH002) -- h2 headings must match a known category
|
|
34
|
-
* 3. {@link ContentStructureRule} (CSH003) -- non-empty sections, code fence languages, non-empty list items
|
|
35
|
-
* 4. {@link UncategorizedContentRule} (CSH004) -- no content before the first h2 heading
|
|
36
|
-
* 5. {@link DependencyTableFormatRule} (CSH005) -- dependency table column/value validation
|
|
37
|
-
*
|
|
38
|
-
* Rule execution order is not significant for lint rules; all rules run
|
|
39
|
-
* independently over the same AST and report warnings to the virtual file.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* import { SilkChangesetPreset } from "\@savvy-web/changesets/remark";
|
|
44
|
-
* import remarkParse from "remark-parse";
|
|
45
|
-
* import { unified } from "unified";
|
|
46
|
-
* import { read } from "to-vfile";
|
|
47
|
-
*
|
|
48
|
-
* const processor = unified().use(remarkParse);
|
|
49
|
-
* for (const rule of SilkChangesetPreset) {
|
|
50
|
-
* processor.use(rule);
|
|
51
|
-
* }
|
|
52
|
-
*
|
|
53
|
-
* const file = await read("changeset.md");
|
|
54
|
-
* const result = await processor.process(file);
|
|
55
|
-
* console.log(result.messages); // lint warnings
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* @see {@link SilkChangesetTransformPreset} for the corresponding transform preset
|
|
59
|
-
*
|
|
60
|
-
* @public
|
|
61
|
-
*/
|
|
62
|
-
const SilkChangesetPreset = [
|
|
63
|
-
require_heading_hierarchy.HeadingHierarchyRule,
|
|
64
|
-
require_required_sections.RequiredSectionsRule,
|
|
65
|
-
require_content_structure.ContentStructureRule,
|
|
66
|
-
require_uncategorized_content.UncategorizedContentRule,
|
|
67
|
-
require_dependency_table_format.DependencyTableFormatRule
|
|
68
|
-
];
|
|
69
|
-
/**
|
|
70
|
-
* Ordered array of all transform plugins in the correct execution order.
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* Plugin ordering is significant -- each plugin may depend on the output of
|
|
74
|
-
* earlier plugins in the pipeline:
|
|
75
|
-
*
|
|
76
|
-
* 1. {@link AggregateDependencyTablesPlugin} -- merge duplicate dependency sections (must run first so downstream plugins see a single Dependencies section)
|
|
77
|
-
* 2. {@link MergeSectionsPlugin} -- merge duplicate h3 headings (must run before reorder so that priority is computed on consolidated sections)
|
|
78
|
-
* 3. {@link ReorderSectionsPlugin} -- sort sections by category priority (Breaking Changes first, Other last)
|
|
79
|
-
* 4. {@link DeduplicateItemsPlugin} -- remove duplicate list items within each section
|
|
80
|
-
* 5. {@link ContributorFootnotesPlugin} -- extract inline `Thanks \@user!` attributions and aggregate them into a summary paragraph per version block
|
|
81
|
-
* 6. {@link IssueLinkRefsPlugin} -- convert inline `[#N](url)` links to reference-style `[#N]` with definitions at the end of each version block
|
|
82
|
-
* 7. {@link NormalizeFormatPlugin} -- final cleanup removing empty sections and empty lists
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```typescript
|
|
86
|
-
* import { SilkChangesetTransformPreset } from "\@savvy-web/changesets/remark";
|
|
87
|
-
* import remarkGfm from "remark-gfm";
|
|
88
|
-
* import remarkParse from "remark-parse";
|
|
89
|
-
* import remarkStringify from "remark-stringify";
|
|
90
|
-
* import { unified } from "unified";
|
|
91
|
-
* import { read } from "to-vfile";
|
|
92
|
-
*
|
|
93
|
-
* const processor = unified().use(remarkParse).use(remarkGfm);
|
|
94
|
-
* for (const plugin of SilkChangesetTransformPreset) {
|
|
95
|
-
* processor.use(plugin);
|
|
96
|
-
* }
|
|
97
|
-
* processor.use(remarkStringify);
|
|
98
|
-
*
|
|
99
|
-
* const file = await read("CHANGELOG.md");
|
|
100
|
-
* const result = await processor.process(file);
|
|
101
|
-
* console.log(String(result));
|
|
102
|
-
* ```
|
|
103
|
-
*
|
|
104
|
-
* @see {@link SilkChangesetPreset} for the corresponding lint preset
|
|
105
|
-
*
|
|
106
|
-
* @public
|
|
107
|
-
*/
|
|
108
|
-
const SilkChangesetTransformPreset = [
|
|
109
|
-
require_aggregate_dependency_tables.AggregateDependencyTablesPlugin,
|
|
110
|
-
require_merge_sections.MergeSectionsPlugin,
|
|
111
|
-
require_reorder_sections.ReorderSectionsPlugin,
|
|
112
|
-
require_deduplicate_items.DeduplicateItemsPlugin,
|
|
113
|
-
require_contributor_footnotes.ContributorFootnotesPlugin,
|
|
114
|
-
require_issue_link_refs.IssueLinkRefsPlugin,
|
|
115
|
-
require_normalize_format.NormalizeFormatPlugin
|
|
116
|
-
];
|
|
117
|
-
|
|
118
|
-
//#endregion
|
|
119
|
-
exports.SilkChangesetPreset = SilkChangesetPreset;
|
|
120
|
-
exports.SilkChangesetTransformPreset = SilkChangesetTransformPreset;
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { ContentStructureRule } from "./rules/content-structure.js";
|
|
2
|
-
import { DependencyTableFormatRule } from "./rules/dependency-table-format.js";
|
|
3
|
-
import { HeadingHierarchyRule } from "./rules/heading-hierarchy.js";
|
|
4
|
-
import { RequiredSectionsRule } from "./rules/required-sections.js";
|
|
5
|
-
import { UncategorizedContentRule } from "./rules/uncategorized-content.js";
|
|
6
|
-
import { AggregateDependencyTablesPlugin } from "./plugins/aggregate-dependency-tables.js";
|
|
7
|
-
import { ContributorFootnotesPlugin } from "./plugins/contributor-footnotes.js";
|
|
8
|
-
import { DeduplicateItemsPlugin } from "./plugins/deduplicate-items.js";
|
|
9
|
-
import { IssueLinkRefsPlugin } from "./plugins/issue-link-refs.js";
|
|
10
|
-
import { MergeSectionsPlugin } from "./plugins/merge-sections.js";
|
|
11
|
-
import { NormalizeFormatPlugin } from "./plugins/normalize-format.js";
|
|
12
|
-
import { ReorderSectionsPlugin } from "./plugins/reorder-sections.js";
|
|
13
|
-
|
|
14
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/presets.js
|
|
15
|
-
/**
|
|
16
|
-
* Remark preset collections for changeset lint rules and transform plugins.
|
|
17
|
-
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* Presets bundle related remark plugins into ordered arrays for convenient
|
|
20
|
-
* consumption. Each preset is a `readonly` tuple so that TypeScript can
|
|
21
|
-
* narrow element types. Iterate and `.use()` each entry with `unified()`.
|
|
22
|
-
*
|
|
23
|
-
* @see {@link SilkChangesetPreset} for lint rules
|
|
24
|
-
* @see {@link SilkChangesetTransformPreset} for transform plugins
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Preset combining all changeset lint rules for convenient consumption.
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* Includes the following rules in order:
|
|
31
|
-
*
|
|
32
|
-
* 1. {@link HeadingHierarchyRule} (CSH001) -- no h1, no depth skips
|
|
33
|
-
* 2. {@link RequiredSectionsRule} (CSH002) -- h2 headings must match a known category
|
|
34
|
-
* 3. {@link ContentStructureRule} (CSH003) -- non-empty sections, code fence languages, non-empty list items
|
|
35
|
-
* 4. {@link UncategorizedContentRule} (CSH004) -- no content before the first h2 heading
|
|
36
|
-
* 5. {@link DependencyTableFormatRule} (CSH005) -- dependency table column/value validation
|
|
37
|
-
*
|
|
38
|
-
* Rule execution order is not significant for lint rules; all rules run
|
|
39
|
-
* independently over the same AST and report warnings to the virtual file.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* import { SilkChangesetPreset } from "\@savvy-web/changesets/remark";
|
|
44
|
-
* import remarkParse from "remark-parse";
|
|
45
|
-
* import { unified } from "unified";
|
|
46
|
-
* import { read } from "to-vfile";
|
|
47
|
-
*
|
|
48
|
-
* const processor = unified().use(remarkParse);
|
|
49
|
-
* for (const rule of SilkChangesetPreset) {
|
|
50
|
-
* processor.use(rule);
|
|
51
|
-
* }
|
|
52
|
-
*
|
|
53
|
-
* const file = await read("changeset.md");
|
|
54
|
-
* const result = await processor.process(file);
|
|
55
|
-
* console.log(result.messages); // lint warnings
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* @see {@link SilkChangesetTransformPreset} for the corresponding transform preset
|
|
59
|
-
*
|
|
60
|
-
* @public
|
|
61
|
-
*/
|
|
62
|
-
const SilkChangesetPreset = [
|
|
63
|
-
HeadingHierarchyRule,
|
|
64
|
-
RequiredSectionsRule,
|
|
65
|
-
ContentStructureRule,
|
|
66
|
-
UncategorizedContentRule,
|
|
67
|
-
DependencyTableFormatRule
|
|
68
|
-
];
|
|
69
|
-
/**
|
|
70
|
-
* Ordered array of all transform plugins in the correct execution order.
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* Plugin ordering is significant -- each plugin may depend on the output of
|
|
74
|
-
* earlier plugins in the pipeline:
|
|
75
|
-
*
|
|
76
|
-
* 1. {@link AggregateDependencyTablesPlugin} -- merge duplicate dependency sections (must run first so downstream plugins see a single Dependencies section)
|
|
77
|
-
* 2. {@link MergeSectionsPlugin} -- merge duplicate h3 headings (must run before reorder so that priority is computed on consolidated sections)
|
|
78
|
-
* 3. {@link ReorderSectionsPlugin} -- sort sections by category priority (Breaking Changes first, Other last)
|
|
79
|
-
* 4. {@link DeduplicateItemsPlugin} -- remove duplicate list items within each section
|
|
80
|
-
* 5. {@link ContributorFootnotesPlugin} -- extract inline `Thanks \@user!` attributions and aggregate them into a summary paragraph per version block
|
|
81
|
-
* 6. {@link IssueLinkRefsPlugin} -- convert inline `[#N](url)` links to reference-style `[#N]` with definitions at the end of each version block
|
|
82
|
-
* 7. {@link NormalizeFormatPlugin} -- final cleanup removing empty sections and empty lists
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```typescript
|
|
86
|
-
* import { SilkChangesetTransformPreset } from "\@savvy-web/changesets/remark";
|
|
87
|
-
* import remarkGfm from "remark-gfm";
|
|
88
|
-
* import remarkParse from "remark-parse";
|
|
89
|
-
* import remarkStringify from "remark-stringify";
|
|
90
|
-
* import { unified } from "unified";
|
|
91
|
-
* import { read } from "to-vfile";
|
|
92
|
-
*
|
|
93
|
-
* const processor = unified().use(remarkParse).use(remarkGfm);
|
|
94
|
-
* for (const plugin of SilkChangesetTransformPreset) {
|
|
95
|
-
* processor.use(plugin);
|
|
96
|
-
* }
|
|
97
|
-
* processor.use(remarkStringify);
|
|
98
|
-
*
|
|
99
|
-
* const file = await read("CHANGELOG.md");
|
|
100
|
-
* const result = await processor.process(file);
|
|
101
|
-
* console.log(String(result));
|
|
102
|
-
* ```
|
|
103
|
-
*
|
|
104
|
-
* @see {@link SilkChangesetPreset} for the corresponding lint preset
|
|
105
|
-
*
|
|
106
|
-
* @public
|
|
107
|
-
*/
|
|
108
|
-
const SilkChangesetTransformPreset = [
|
|
109
|
-
AggregateDependencyTablesPlugin,
|
|
110
|
-
MergeSectionsPlugin,
|
|
111
|
-
ReorderSectionsPlugin,
|
|
112
|
-
DeduplicateItemsPlugin,
|
|
113
|
-
ContributorFootnotesPlugin,
|
|
114
|
-
IssueLinkRefsPlugin,
|
|
115
|
-
NormalizeFormatPlugin
|
|
116
|
-
];
|
|
117
|
-
|
|
118
|
-
//#endregion
|
|
119
|
-
export { SilkChangesetPreset, SilkChangesetTransformPreset };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.cjs');
|
|
2
|
-
const require_index$1 = require('../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.cjs');
|
|
3
|
-
const require_constants = require('../../constants.cjs');
|
|
4
|
-
const require_index$2 = require('../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.cjs');
|
|
5
|
-
|
|
6
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js
|
|
7
|
-
const ContentStructureRule = require_index$2.lintRule("remark-lint:changeset-content-structure", (tree, file) => {
|
|
8
|
-
require_index.visit(tree, "heading", (node, index, parent) => {
|
|
9
|
-
if (node.depth !== 2 || parent == null || index == null) return;
|
|
10
|
-
const next = parent.children[index + 1];
|
|
11
|
-
if (!next || next.type === "heading" && next.depth === 2) file.message(`Empty section: heading has no content before the next section or end of file. Add a list of changes (e.g., "- Added feature X") under this heading, or remove the empty heading. See: ${require_constants.RULE_DOCS.CSH003}`, node);
|
|
12
|
-
});
|
|
13
|
-
require_index.visit(tree, "code", (node) => {
|
|
14
|
-
if (!node.lang) file.message(`Code block is missing a language identifier. Add a language after the opening fence (e.g., \`\`\`ts, \`\`\`json, \`\`\`bash). See: ${require_constants.RULE_DOCS.CSH003}`, node);
|
|
15
|
-
});
|
|
16
|
-
require_index.visit(tree, "listItem", (node) => {
|
|
17
|
-
if (!require_index$1.toString(node).trim()) file.message(`Empty list item. Each list item must contain descriptive text (e.g., "- Fixed login timeout issue"). See: ${require_constants.RULE_DOCS.CSH003}`, node);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
exports.ContentStructureRule = ContentStructureRule;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { visit } from "../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js";
|
|
2
|
-
import { toString } from "../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js";
|
|
3
|
-
import { RULE_DOCS } from "../../constants.js";
|
|
4
|
-
import { lintRule } from "../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.js";
|
|
5
|
-
|
|
6
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js
|
|
7
|
-
const ContentStructureRule = lintRule("remark-lint:changeset-content-structure", (tree, file) => {
|
|
8
|
-
visit(tree, "heading", (node, index, parent) => {
|
|
9
|
-
if (node.depth !== 2 || parent == null || index == null) return;
|
|
10
|
-
const next = parent.children[index + 1];
|
|
11
|
-
if (!next || next.type === "heading" && next.depth === 2) file.message(`Empty section: heading has no content before the next section or end of file. Add a list of changes (e.g., "- Added feature X") under this heading, or remove the empty heading. See: ${RULE_DOCS.CSH003}`, node);
|
|
12
|
-
});
|
|
13
|
-
visit(tree, "code", (node) => {
|
|
14
|
-
if (!node.lang) file.message(`Code block is missing a language identifier. Add a language after the opening fence (e.g., \`\`\`ts, \`\`\`json, \`\`\`bash). See: ${RULE_DOCS.CSH003}`, node);
|
|
15
|
-
});
|
|
16
|
-
visit(tree, "listItem", (node) => {
|
|
17
|
-
if (!toString(node).trim()) file.message(`Empty list item. Each list item must contain descriptive text (e.g., "- Fixed login timeout issue"). See: ${RULE_DOCS.CSH003}`, node);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { ContentStructureRule };
|
package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.cjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.cjs');
|
|
2
|
-
const require_index$1 = require('../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.cjs');
|
|
3
|
-
const require_dependency_table = require('../../utils/dependency-table.cjs');
|
|
4
|
-
const require_constants = require('../../constants.cjs');
|
|
5
|
-
const require_index$2 = require('../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.cjs');
|
|
6
|
-
|
|
7
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js
|
|
8
|
-
/** @internal */
|
|
9
|
-
const EM_DASH = "—";
|
|
10
|
-
const DependencyTableFormatRule = require_index$2.lintRule("remark-lint:changeset-dependency-table-format", (tree, file) => {
|
|
11
|
-
require_index.visit(tree, "heading", (node, index) => {
|
|
12
|
-
if (node.depth !== 2) return;
|
|
13
|
-
if (require_index$1.toString(node).toLowerCase() !== "dependencies") return;
|
|
14
|
-
if (index === void 0) return;
|
|
15
|
-
const content = [];
|
|
16
|
-
for (let i = index + 1; i < tree.children.length; i++) {
|
|
17
|
-
const child = tree.children[i];
|
|
18
|
-
if (child.type === "heading") break;
|
|
19
|
-
content.push(child);
|
|
20
|
-
}
|
|
21
|
-
const tables = content.filter((n) => n.type === "table");
|
|
22
|
-
if (tables.length === 0) {
|
|
23
|
-
file.message(`Dependencies section must contain a table, not a list or paragraph. See: ${require_constants.RULE_DOCS.CSH005}`, node);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const table = tables[0];
|
|
27
|
-
try {
|
|
28
|
-
const rows = require_dependency_table.parseDependencyTable(table);
|
|
29
|
-
for (const row of rows) {
|
|
30
|
-
if (row.action === "added" && row.from !== EM_DASH) file.message(`'from' must be '\u2014' when action is 'added' (got '${row.from}'). See: ${require_constants.RULE_DOCS.CSH005}`, table);
|
|
31
|
-
if (row.action === "removed" && row.to !== EM_DASH) file.message(`'to' must be '\u2014' when action is 'removed' (got '${row.to}'). See: ${require_constants.RULE_DOCS.CSH005}`, table);
|
|
32
|
-
}
|
|
33
|
-
} catch (error) {
|
|
34
|
-
file.message(`${error instanceof Error ? error.message : String(error)}. See: ${require_constants.RULE_DOCS.CSH005}`, table);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
exports.DependencyTableFormatRule = DependencyTableFormatRule;
|
package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { visit } from "../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js";
|
|
2
|
-
import { toString } from "../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js";
|
|
3
|
-
import { parseDependencyTable } from "../../utils/dependency-table.js";
|
|
4
|
-
import { RULE_DOCS } from "../../constants.js";
|
|
5
|
-
import { lintRule } from "../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.js";
|
|
6
|
-
|
|
7
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js
|
|
8
|
-
/** @internal */
|
|
9
|
-
const EM_DASH = "—";
|
|
10
|
-
const DependencyTableFormatRule = lintRule("remark-lint:changeset-dependency-table-format", (tree, file) => {
|
|
11
|
-
visit(tree, "heading", (node, index) => {
|
|
12
|
-
if (node.depth !== 2) return;
|
|
13
|
-
if (toString(node).toLowerCase() !== "dependencies") return;
|
|
14
|
-
if (index === void 0) return;
|
|
15
|
-
const content = [];
|
|
16
|
-
for (let i = index + 1; i < tree.children.length; i++) {
|
|
17
|
-
const child = tree.children[i];
|
|
18
|
-
if (child.type === "heading") break;
|
|
19
|
-
content.push(child);
|
|
20
|
-
}
|
|
21
|
-
const tables = content.filter((n) => n.type === "table");
|
|
22
|
-
if (tables.length === 0) {
|
|
23
|
-
file.message(`Dependencies section must contain a table, not a list or paragraph. See: ${RULE_DOCS.CSH005}`, node);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const table = tables[0];
|
|
27
|
-
try {
|
|
28
|
-
const rows = parseDependencyTable(table);
|
|
29
|
-
for (const row of rows) {
|
|
30
|
-
if (row.action === "added" && row.from !== EM_DASH) file.message(`'from' must be '\u2014' when action is 'added' (got '${row.from}'). See: ${RULE_DOCS.CSH005}`, table);
|
|
31
|
-
if (row.action === "removed" && row.to !== EM_DASH) file.message(`'to' must be '\u2014' when action is 'removed' (got '${row.to}'). See: ${RULE_DOCS.CSH005}`, table);
|
|
32
|
-
}
|
|
33
|
-
} catch (error) {
|
|
34
|
-
file.message(`${error instanceof Error ? error.message : String(error)}. See: ${RULE_DOCS.CSH005}`, table);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
export { DependencyTableFormatRule };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.cjs');
|
|
2
|
-
const require_constants = require('../../constants.cjs');
|
|
3
|
-
const require_index$1 = require('../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.cjs');
|
|
4
|
-
|
|
5
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js
|
|
6
|
-
const HeadingHierarchyRule = require_index$1.lintRule("remark-lint:changeset-heading-hierarchy", (tree, file) => {
|
|
7
|
-
let prevDepth = 0;
|
|
8
|
-
require_index.visit(tree, "heading", (node) => {
|
|
9
|
-
if (node.depth === 1) {
|
|
10
|
-
file.message(`h1 headings are not allowed in changeset files. Use h2 (##) for top-level sections like "## Features" or "## Bug Fixes". h1 is reserved for the version title generated by the changelog formatter. See: ${require_constants.RULE_DOCS.CSH001}`, node);
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
if (prevDepth > 0 && node.depth > prevDepth + 1) file.message(`Heading level skipped: expected h${prevDepth + 1} or lower, found h${node.depth}. Headings must increase sequentially (h2 → h3 → h4). Add the missing intermediate level or reduce this heading's depth. See: ${require_constants.RULE_DOCS.CSH001}`, node);
|
|
14
|
-
prevDepth = node.depth;
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.HeadingHierarchyRule = HeadingHierarchyRule;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { visit } from "../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js";
|
|
2
|
-
import { RULE_DOCS } from "../../constants.js";
|
|
3
|
-
import { lintRule } from "../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.js";
|
|
4
|
-
|
|
5
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js
|
|
6
|
-
const HeadingHierarchyRule = lintRule("remark-lint:changeset-heading-hierarchy", (tree, file) => {
|
|
7
|
-
let prevDepth = 0;
|
|
8
|
-
visit(tree, "heading", (node) => {
|
|
9
|
-
if (node.depth === 1) {
|
|
10
|
-
file.message(`h1 headings are not allowed in changeset files. Use h2 (##) for top-level sections like "## Features" or "## Bug Fixes". h1 is reserved for the version title generated by the changelog formatter. See: ${RULE_DOCS.CSH001}`, node);
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
if (prevDepth > 0 && node.depth > prevDepth + 1) file.message(`Heading level skipped: expected h${prevDepth + 1} or lower, found h${node.depth}. Headings must increase sequentially (h2 → h3 → h4). Add the missing intermediate level or reduce this heading's depth. See: ${RULE_DOCS.CSH001}`, node);
|
|
14
|
-
prevDepth = node.depth;
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { HeadingHierarchyRule };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const require_index = require('../../categories/index.cjs');
|
|
2
|
-
const require_index$1 = require('../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.cjs');
|
|
3
|
-
const require_index$2 = require('../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.cjs');
|
|
4
|
-
const require_constants = require('../../constants.cjs');
|
|
5
|
-
const require_index$3 = require('../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.cjs');
|
|
6
|
-
|
|
7
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js
|
|
8
|
-
const RequiredSectionsRule = require_index$3.lintRule("remark-lint:changeset-required-sections", (tree, file) => {
|
|
9
|
-
require_index$1.visit(tree, "heading", (node) => {
|
|
10
|
-
if (node.depth !== 2) return;
|
|
11
|
-
const text = require_index$2.toString(node);
|
|
12
|
-
if (!require_index.isValidHeading(text)) file.message(`Unknown section "${text}". Valid h2 headings are: ${require_index.allHeadings().join(", ")}. Heading comparison is case-insensitive. See: ${require_constants.RULE_DOCS.CSH002}`, node);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
exports.RequiredSectionsRule = RequiredSectionsRule;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { allHeadings, isValidHeading } from "../../categories/index.js";
|
|
2
|
-
import { visit } from "../../../../../../../../node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js";
|
|
3
|
-
import { toString } from "../../../../../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js";
|
|
4
|
-
import { RULE_DOCS } from "../../constants.js";
|
|
5
|
-
import { lintRule } from "../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.js";
|
|
6
|
-
|
|
7
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js
|
|
8
|
-
const RequiredSectionsRule = lintRule("remark-lint:changeset-required-sections", (tree, file) => {
|
|
9
|
-
visit(tree, "heading", (node) => {
|
|
10
|
-
if (node.depth !== 2) return;
|
|
11
|
-
const text = toString(node);
|
|
12
|
-
if (!isValidHeading(text)) file.message(`Unknown section "${text}". Valid h2 headings are: ${allHeadings().join(", ")}. Heading comparison is case-insensitive. See: ${RULE_DOCS.CSH002}`, node);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { RequiredSectionsRule };
|
package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
const require_constants = require('../../constants.cjs');
|
|
2
|
-
const require_index = require('../../../../../../../../node_modules/.pnpm/unified-lint-rule@3.0.1/node_modules/unified-lint-rule/lib/index.cjs');
|
|
3
|
-
|
|
4
|
-
//#region ../silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js
|
|
5
|
-
/**
|
|
6
|
-
* Node types to ignore when detecting uncategorized content (e.g., HTML comments).
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
const IGNORED_TYPES = /* @__PURE__ */ new Set(["html"]);
|
|
11
|
-
/**
|
|
12
|
-
* Determine whether a node is substantive content (not a heading or ignored type).
|
|
13
|
-
*
|
|
14
|
-
* @param node - The AST node to check
|
|
15
|
-
* @returns `true` if the node is content that should be under a heading
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
function isContentNode(node) {
|
|
20
|
-
if (node.type === "heading") return false;
|
|
21
|
-
return !IGNORED_TYPES.has(node.type);
|
|
22
|
-
}
|
|
23
|
-
const UncategorizedContentRule = require_index.lintRule("remark-lint:changeset-uncategorized-content", (tree, file) => {
|
|
24
|
-
for (const node of tree.children) {
|
|
25
|
-
if (node.type === "heading" && node.depth === 2) break;
|
|
26
|
-
if (isContentNode(node)) file.message(`Content must be placed under a category heading (## heading). Move this content under an appropriate section like "## Features" or "## Bug Fixes". If it doesn't fit an existing category, use "## Other". See: ${require_constants.RULE_DOCS.CSH004}`, node);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
exports.UncategorizedContentRule = UncategorizedContentRule;
|