@savvy-web/silk 1.3.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/README.md +7 -5
  2. package/changesets-changelog.cjs +39298 -96760
  3. package/changesets-changelog.d.cts +24 -14
  4. package/changesets-changelog.d.ts +24 -14
  5. package/changesets-changelog.js +54057 -1
  6. package/changesets-markdownlint.cjs +39295 -96757
  7. package/changesets-markdownlint.d.cts +24 -14
  8. package/changesets-markdownlint.d.ts +24 -14
  9. package/changesets-markdownlint.js +54057 -1
  10. package/package.json +6 -5
  11. package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
  12. package/_virtual/_rolldown/runtime.cjs +0 -45
  13. package/_virtual/_rolldown/runtime.js +0 -45
  14. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.cjs +0 -15
  15. package/packages/silk-effects/dist/dev/pkg/_virtual/_rolldown/runtime.js +0 -14
  16. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.cjs +0 -247
  17. package/packages/silk-effects/dist/dev/pkg/changesets/api/categories.js +0 -247
  18. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.cjs +0 -134
  19. package/packages/silk-effects/dist/dev/pkg/changesets/api/changelog.js +0 -134
  20. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.cjs +0 -163
  21. package/packages/silk-effects/dist/dev/pkg/changesets/api/dependency-table.js +0 -163
  22. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.cjs +0 -170
  23. package/packages/silk-effects/dist/dev/pkg/changesets/api/linter.js +0 -170
  24. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.cjs +0 -134
  25. package/packages/silk-effects/dist/dev/pkg/changesets/api/transformer.js +0 -134
  26. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.cjs +0 -317
  27. package/packages/silk-effects/dist/dev/pkg/changesets/categories/index.js +0 -299
  28. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.cjs +0 -65
  29. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.js +0 -65
  30. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.cjs +0 -114
  31. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/formatting.js +0 -113
  32. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.cjs +0 -118
  33. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getDependencyReleaseLine.js +0 -118
  34. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.cjs +0 -122
  35. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/getReleaseLine.js +0 -122
  36. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.cjs +0 -97
  37. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.js +0 -97
  38. package/packages/silk-effects/dist/dev/pkg/changesets/constants.cjs +0 -43
  39. package/packages/silk-effects/dist/dev/pkg/changesets/constants.js +0 -42
  40. package/packages/silk-effects/dist/dev/pkg/changesets/errors.cjs +0 -386
  41. package/packages/silk-effects/dist/dev/pkg/changesets/errors.js +0 -371
  42. package/packages/silk-effects/dist/dev/pkg/changesets/index.cjs +0 -300
  43. package/packages/silk-effects/dist/dev/pkg/changesets/index.js +0 -179
  44. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.cjs +0 -34
  45. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/index.js +0 -29
  46. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.cjs +0 -98
  47. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js +0 -98
  48. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.cjs +0 -170
  49. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js +0 -170
  50. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.cjs +0 -61
  51. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/heading-hierarchy.js +0 -61
  52. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.cjs +0 -54
  53. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/required-sections.js +0 -54
  54. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.cjs +0 -54
  55. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/uncategorized-content.js +0 -54
  56. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.cjs +0 -31
  57. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/utils.js +0 -30
  58. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.cjs +0 -47
  59. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/aggregate-dependency-tables.js +0 -47
  60. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.cjs +0 -123
  61. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/contributor-footnotes.js +0 -123
  62. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.cjs +0 -32
  63. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/deduplicate-items.js +0 -32
  64. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.cjs +0 -59
  65. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/issue-link-refs.js +0 -59
  66. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.cjs +0 -61
  67. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/maintenance-note.js +0 -61
  68. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.cjs +0 -43
  69. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/merge-sections.js +0 -43
  70. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.cjs +0 -47
  71. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/normalize-format.js +0 -47
  72. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.cjs +0 -34
  73. package/packages/silk-effects/dist/dev/pkg/changesets/remark/plugins/reorder-sections.js +0 -34
  74. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.cjs +0 -120
  75. package/packages/silk-effects/dist/dev/pkg/changesets/remark/presets.js +0 -119
  76. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.cjs +0 -22
  77. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/content-structure.js +0 -22
  78. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.cjs +0 -40
  79. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/dependency-table-format.js +0 -40
  80. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.cjs +0 -19
  81. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/heading-hierarchy.js +0 -19
  82. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.cjs +0 -17
  83. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/required-sections.js +0 -17
  84. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs +0 -31
  85. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js +0 -31
  86. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.cjs +0 -148
  87. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.js +0 -145
  88. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.cjs +0 -203
  89. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js +0 -198
  90. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.cjs +0 -69
  91. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.js +0 -68
  92. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.cjs +0 -177
  93. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.js +0 -174
  94. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.cjs +0 -183
  95. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.js +0 -181
  96. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.cjs +0 -129
  97. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.js +0 -127
  98. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.cjs +0 -72
  99. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.js +0 -71
  100. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.cjs +0 -62
  101. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js +0 -56
  102. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.cjs +0 -154
  103. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.js +0 -150
  104. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.cjs +0 -300
  105. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.js +0 -294
  106. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.cjs +0 -50
  107. package/packages/silk-effects/dist/dev/pkg/changesets/services/changelog.js +0 -49
  108. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.cjs +0 -489
  109. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.js +0 -481
  110. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.cjs +0 -375
  111. package/packages/silk-effects/dist/dev/pkg/changesets/services/deps-regen.js +0 -371
  112. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.cjs +0 -160
  113. package/packages/silk-effects/dist/dev/pkg/changesets/services/github.js +0 -157
  114. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.cjs +0 -68
  115. package/packages/silk-effects/dist/dev/pkg/changesets/services/maintenance-reason.js +0 -66
  116. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.cjs +0 -87
  117. package/packages/silk-effects/dist/dev/pkg/changesets/services/markdown.js +0 -85
  118. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.cjs +0 -338
  119. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +0 -334
  120. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.cjs +0 -81
  121. package/packages/silk-effects/dist/dev/pkg/changesets/utils/commit-parser.js +0 -80
  122. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.cjs +0 -111
  123. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dep-diff.js +0 -111
  124. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.cjs +0 -351
  125. package/packages/silk-effects/dist/dev/pkg/changesets/utils/dependency-table.js +0 -347
  126. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.cjs +0 -51
  127. package/packages/silk-effects/dist/dev/pkg/changesets/utils/git.js +0 -51
  128. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.cjs +0 -102
  129. package/packages/silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js +0 -101
  130. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.cjs +0 -178
  131. package/packages/silk-effects/dist/dev/pkg/changesets/utils/jsonpath.js +0 -175
  132. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.cjs +0 -51
  133. package/packages/silk-effects/dist/dev/pkg/changesets/utils/logger.js +0 -50
  134. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.cjs +0 -59
  135. package/packages/silk-effects/dist/dev/pkg/changesets/utils/markdown-link.js +0 -57
  136. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.cjs +0 -50
  137. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.js +0 -50
  138. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.cjs +0 -81
  139. package/packages/silk-effects/dist/dev/pkg/changesets/utils/remark-pipeline.js +0 -79
  140. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.cjs +0 -94
  141. package/packages/silk-effects/dist/dev/pkg/changesets/utils/section-parser.js +0 -94
  142. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.cjs +0 -47
  143. package/packages/silk-effects/dist/dev/pkg/changesets/utils/strip-frontmatter.js +0 -46
  144. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.cjs +0 -110
  145. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-blocks.js +0 -108
  146. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.cjs +0 -336
  147. package/packages/silk-effects/dist/dev/pkg/changesets/utils/version-files.js +0 -336
  148. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.cjs +0 -55
  149. package/packages/silk-effects/dist/dev/pkg/changesets/vendor/github-info.js +0 -55
  150. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.cjs +0 -21
  151. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js +0 -21
  152. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.cjs +0 -101
  153. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js +0 -99
  154. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.cjs +0 -81
  155. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.js +0 -80
  156. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.cjs +0 -109
  157. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js +0 -108
  158. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.cjs +0 -238
  159. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.js +0 -236
@@ -1,179 +0,0 @@
1
- import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
- import { Categories } from "./api/categories.js";
3
- import { ChangesetIOError, ChangesetIOErrorBase, ChangesetValidationError, ChangesetValidationErrorBase, ConfigurationError, ConfigurationErrorBase, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, MarkdownParseError, MarkdownParseErrorBase, ReleasePlanError, ReleasePlanErrorBase, VersionFileError, VersionFileErrorBase } from "./errors.js";
4
- import { JsonPathSchema, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, VersionFileConfigSchema, VersionFilesSchema } from "./schemas/version-files.js";
5
- import { GlobSchema, PackageScopeSchema, PackagesRecordSchema } from "./schemas/package-scope.js";
6
- import { ChangesetOptionsSchema, RepoSchema } from "./schemas/options.js";
7
- import { GitHubLive, GitHubService, GitHubServiceBase, makeGitHubTest } from "./services/github.js";
8
- import { MarkdownLive, MarkdownService, MarkdownServiceBase } from "./services/markdown.js";
9
- import { NonEmptyString, PositiveInteger } from "./schemas/primitives.js";
10
- import { DependencyActionSchema, DependencyTableRowSchema, DependencyTableSchema, DependencyTableTypeSchema, VERSION_RE, VersionOrEmptySchema } from "./schemas/dependency-table.js";
11
- import { serializeDependencyTableToMarkdown } from "./utils/dependency-table.js";
12
- import { GitHubInfoSchema, IssueNumberSchema, UrlOrMarkdownLinkSchema, UsernameSchema } from "./schemas/github.js";
13
- import changelogFunctions from "./changelog/index.js";
14
- import { Changelog } from "./api/changelog.js";
15
- import { DependencyTable } from "./api/dependency-table.js";
16
- import { ContentStructureRule } from "./remark/rules/content-structure.js";
17
- import { DependencyTableFormatRule } from "./remark/rules/dependency-table-format.js";
18
- import { HeadingHierarchyRule } from "./remark/rules/heading-hierarchy.js";
19
- import { RequiredSectionsRule } from "./remark/rules/required-sections.js";
20
- import { UncategorizedContentRule } from "./remark/rules/uncategorized-content.js";
21
- import { ChangesetLinter } from "./api/linter.js";
22
- import { MaintenanceNotePlugin } from "./remark/plugins/maintenance-note.js";
23
- import { AggregateDependencyTablesPlugin } from "./remark/plugins/aggregate-dependency-tables.js";
24
- import { ContributorFootnotesPlugin } from "./remark/plugins/contributor-footnotes.js";
25
- import { DeduplicateItemsPlugin } from "./remark/plugins/deduplicate-items.js";
26
- import { IssueLinkRefsPlugin } from "./remark/plugins/issue-link-refs.js";
27
- import { MergeSectionsPlugin } from "./remark/plugins/merge-sections.js";
28
- import { NormalizeFormatPlugin } from "./remark/plugins/normalize-format.js";
29
- import { ReorderSectionsPlugin } from "./remark/plugins/reorder-sections.js";
30
- import { SilkChangesetPreset, SilkChangesetTransformPreset } from "./remark/presets.js";
31
- import { ChangelogTransformer } from "./api/transformer.js";
32
- import { ClassificationReasonSchema, ClassificationSchema, ConfigInspector, ConfigInspectorBase, ConfigInspectorLive, InspectedConfigSchema, ResolvedPackageScopeSchema, ResolvedVersionFileSchema, makeConfigInspectorTest } from "./services/config-inspector.js";
33
- import { BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerBase, BranchAnalyzerLive, BranchFileEntrySchema, FileStatusSchema, makeBranchAnalyzerTest } from "./services/branch-analyzer.js";
34
- import { ChangelogService, ChangelogServiceBase } from "./services/changelog.js";
35
- import { computeWorkspaceDependencyDiffs } from "./utils/dep-diff.js";
36
- import { gitMergeBase } from "./utils/git.js";
37
- import { listPublishablePackageNames } from "./utils/publishability.js";
38
- import { DepsRegen, DepsRegenBase, DepsRegenDefault, DepsRegenLive, isPureDependencyChangeset } from "./services/deps-regen.js";
39
- import { MaintenanceReasonSchema, MaintenanceTriggerSchema, deriveMaintenanceReason } from "./services/maintenance-reason.js";
40
- import { VersionFiles } from "./utils/version-files.js";
41
- import { ReleasePlanner, ReleasePlannerBase, ReleasePlannerLive, makeReleasePlannerTest } from "./services/release-planner.js";
42
- import { SectionCategorySchema } from "./categories/types.js";
43
- import { CommitHashSchema, VersionTypeSchema } from "./schemas/git.js";
44
- import { ChangesetSchema, ChangesetSummarySchema, DependencyTypeSchema, DependencyUpdateSchema } from "./schemas/changeset.js";
45
- import { AppliedReleaseEntrySchema, AppliedReleaseSchema, BumpTypeSchema, ChangesetPreviewSchema, PendingChangesetSchema, PreviewReleaseSchema, VersionFileUpdateRecordSchema } from "./schemas/release-plan.js";
46
- import { ContentStructureRule as ContentStructureRule$1 } from "./markdownlint/rules/content-structure.js";
47
- import { DependencyTableFormatRule as DependencyTableFormatRule$1 } from "./markdownlint/rules/dependency-table-format.js";
48
- import { HeadingHierarchyRule as HeadingHierarchyRule$1 } from "./markdownlint/rules/heading-hierarchy.js";
49
- import { RequiredSectionsRule as RequiredSectionsRule$1 } from "./markdownlint/rules/required-sections.js";
50
- import { UncategorizedContentRule as UncategorizedContentRule$1 } from "./markdownlint/rules/uncategorized-content.js";
51
- import SilkChangesetsRules from "./markdownlint/index.js";
52
-
53
- //#region ../silk-effects/dist/dev/pkg/changesets/index.js
54
- var changesets_exports = /* @__PURE__ */ __exportAll({
55
- AggregateDependencyTablesPlugin: () => AggregateDependencyTablesPlugin,
56
- AppliedReleaseEntrySchema: () => AppliedReleaseEntrySchema,
57
- AppliedReleaseSchema: () => AppliedReleaseSchema,
58
- BranchAnalysisSchema: () => BranchAnalysisSchema,
59
- BranchAnalyzer: () => BranchAnalyzer,
60
- BranchAnalyzerBase: () => BranchAnalyzerBase,
61
- BranchAnalyzerLive: () => BranchAnalyzerLive,
62
- BranchFileEntrySchema: () => BranchFileEntrySchema,
63
- BumpTypeSchema: () => BumpTypeSchema,
64
- Categories: () => Categories,
65
- Changelog: () => Changelog,
66
- ChangelogService: () => ChangelogService,
67
- ChangelogServiceBase: () => ChangelogServiceBase,
68
- ChangelogTransformer: () => ChangelogTransformer,
69
- ChangesetIOError: () => ChangesetIOError,
70
- ChangesetIOErrorBase: () => ChangesetIOErrorBase,
71
- ChangesetLinter: () => ChangesetLinter,
72
- ChangesetOptionsSchema: () => ChangesetOptionsSchema,
73
- ChangesetPreviewSchema: () => ChangesetPreviewSchema,
74
- ChangesetSchema: () => ChangesetSchema,
75
- ChangesetSummarySchema: () => ChangesetSummarySchema,
76
- ChangesetValidationError: () => ChangesetValidationError,
77
- ChangesetValidationErrorBase: () => ChangesetValidationErrorBase,
78
- ClassificationReasonSchema: () => ClassificationReasonSchema,
79
- ClassificationSchema: () => ClassificationSchema,
80
- CommitHashSchema: () => CommitHashSchema,
81
- ConfigInspector: () => ConfigInspector,
82
- ConfigInspectorBase: () => ConfigInspectorBase,
83
- ConfigInspectorLive: () => ConfigInspectorLive,
84
- ConfigurationError: () => ConfigurationError,
85
- ConfigurationErrorBase: () => ConfigurationErrorBase,
86
- ContentStructureRule: () => ContentStructureRule,
87
- ContributorFootnotesPlugin: () => ContributorFootnotesPlugin,
88
- DeduplicateItemsPlugin: () => DeduplicateItemsPlugin,
89
- DependencyActionSchema: () => DependencyActionSchema,
90
- DependencyTable: () => DependencyTable,
91
- DependencyTableFormatRule: () => DependencyTableFormatRule,
92
- DependencyTableRowSchema: () => DependencyTableRowSchema,
93
- DependencyTableSchema: () => DependencyTableSchema,
94
- DependencyTableTypeSchema: () => DependencyTableTypeSchema,
95
- DependencyTypeSchema: () => DependencyTypeSchema,
96
- DependencyUpdateSchema: () => DependencyUpdateSchema,
97
- DepsRegen: () => DepsRegen,
98
- DepsRegenBase: () => DepsRegenBase,
99
- DepsRegenDefault: () => DepsRegenDefault,
100
- DepsRegenLive: () => DepsRegenLive,
101
- FileStatusSchema: () => FileStatusSchema,
102
- GitError: () => GitError,
103
- GitErrorBase: () => GitErrorBase,
104
- GitHubApiError: () => GitHubApiError,
105
- GitHubApiErrorBase: () => GitHubApiErrorBase,
106
- GitHubInfoSchema: () => GitHubInfoSchema,
107
- GitHubLive: () => GitHubLive,
108
- GitHubService: () => GitHubService,
109
- GitHubServiceBase: () => GitHubServiceBase,
110
- GlobSchema: () => GlobSchema,
111
- HeadingHierarchyRule: () => HeadingHierarchyRule,
112
- InspectedConfigSchema: () => InspectedConfigSchema,
113
- IssueLinkRefsPlugin: () => IssueLinkRefsPlugin,
114
- IssueNumberSchema: () => IssueNumberSchema,
115
- JsonPathSchema: () => JsonPathSchema,
116
- LegacyVersionFileConfigSchema: () => LegacyVersionFileConfigSchema,
117
- LegacyVersionFilesSchema: () => LegacyVersionFilesSchema,
118
- MaintenanceNotePlugin: () => MaintenanceNotePlugin,
119
- MaintenanceReasonSchema: () => MaintenanceReasonSchema,
120
- MaintenanceTriggerSchema: () => MaintenanceTriggerSchema,
121
- MarkdownLive: () => MarkdownLive,
122
- MarkdownParseError: () => MarkdownParseError,
123
- MarkdownParseErrorBase: () => MarkdownParseErrorBase,
124
- MarkdownService: () => MarkdownService,
125
- MarkdownServiceBase: () => MarkdownServiceBase,
126
- MarkdownlintContentStructureRule: () => ContentStructureRule$1,
127
- MarkdownlintDependencyTableFormatRule: () => DependencyTableFormatRule$1,
128
- MarkdownlintHeadingHierarchyRule: () => HeadingHierarchyRule$1,
129
- MarkdownlintRequiredSectionsRule: () => RequiredSectionsRule$1,
130
- MarkdownlintUncategorizedContentRule: () => UncategorizedContentRule$1,
131
- MergeSectionsPlugin: () => MergeSectionsPlugin,
132
- NonEmptyString: () => NonEmptyString,
133
- NormalizeFormatPlugin: () => NormalizeFormatPlugin,
134
- PackageScopeSchema: () => PackageScopeSchema,
135
- PackagesRecordSchema: () => PackagesRecordSchema,
136
- PendingChangesetSchema: () => PendingChangesetSchema,
137
- PositiveInteger: () => PositiveInteger,
138
- PreviewReleaseSchema: () => PreviewReleaseSchema,
139
- ReleasePlanError: () => ReleasePlanError,
140
- ReleasePlanErrorBase: () => ReleasePlanErrorBase,
141
- ReleasePlanner: () => ReleasePlanner,
142
- ReleasePlannerBase: () => ReleasePlannerBase,
143
- ReleasePlannerLive: () => ReleasePlannerLive,
144
- ReorderSectionsPlugin: () => ReorderSectionsPlugin,
145
- RepoSchema: () => RepoSchema,
146
- RequiredSectionsRule: () => RequiredSectionsRule,
147
- ResolvedPackageScopeSchema: () => ResolvedPackageScopeSchema,
148
- ResolvedVersionFileSchema: () => ResolvedVersionFileSchema,
149
- SectionCategorySchema: () => SectionCategorySchema,
150
- SilkChangesetPreset: () => SilkChangesetPreset,
151
- SilkChangesetTransformPreset: () => SilkChangesetTransformPreset,
152
- SilkChangesetsRules: () => SilkChangesetsRules,
153
- UncategorizedContentRule: () => UncategorizedContentRule,
154
- UrlOrMarkdownLinkSchema: () => UrlOrMarkdownLinkSchema,
155
- UsernameSchema: () => UsernameSchema,
156
- VERSION_RE: () => VERSION_RE,
157
- VersionFileConfigSchema: () => VersionFileConfigSchema,
158
- VersionFileError: () => VersionFileError,
159
- VersionFileErrorBase: () => VersionFileErrorBase,
160
- VersionFileUpdateRecordSchema: () => VersionFileUpdateRecordSchema,
161
- VersionFiles: () => VersionFiles,
162
- VersionFilesSchema: () => VersionFilesSchema,
163
- VersionOrEmptySchema: () => VersionOrEmptySchema,
164
- VersionTypeSchema: () => VersionTypeSchema,
165
- changelogFunctions: () => changelogFunctions,
166
- computeWorkspaceDependencyDiffs: () => computeWorkspaceDependencyDiffs,
167
- deriveMaintenanceReason: () => deriveMaintenanceReason,
168
- gitMergeBase: () => gitMergeBase,
169
- isPureDependencyChangeset: () => isPureDependencyChangeset,
170
- listPublishablePackageNames: () => listPublishablePackageNames,
171
- makeBranchAnalyzerTest: () => makeBranchAnalyzerTest,
172
- makeConfigInspectorTest: () => makeConfigInspectorTest,
173
- makeGitHubTest: () => makeGitHubTest,
174
- makeReleasePlannerTest: () => makeReleasePlannerTest,
175
- serializeDependencyTableToMarkdown: () => serializeDependencyTableToMarkdown
176
- });
177
-
178
- //#endregion
179
- export { AggregateDependencyTablesPlugin, AppliedReleaseEntrySchema, AppliedReleaseSchema, BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerBase, BranchAnalyzerLive, BranchFileEntrySchema, BumpTypeSchema, Categories, Changelog, ChangelogService, ChangelogServiceBase, ChangelogTransformer, ChangesetIOError, ChangesetIOErrorBase, ChangesetLinter, ChangesetOptionsSchema, ChangesetPreviewSchema, ChangesetSchema, ChangesetSummarySchema, ChangesetValidationError, ChangesetValidationErrorBase, ClassificationReasonSchema, ClassificationSchema, CommitHashSchema, ConfigInspector, ConfigInspectorBase, ConfigInspectorLive, ConfigurationError, ConfigurationErrorBase, ContentStructureRule, ContributorFootnotesPlugin, DeduplicateItemsPlugin, DependencyActionSchema, DependencyTable, DependencyTableFormatRule, DependencyTableRowSchema, DependencyTableSchema, DependencyTableTypeSchema, DependencyTypeSchema, DependencyUpdateSchema, DepsRegen, DepsRegenBase, DepsRegenDefault, DepsRegenLive, FileStatusSchema, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, GitHubInfoSchema, GitHubLive, GitHubService, GitHubServiceBase, GlobSchema, HeadingHierarchyRule, InspectedConfigSchema, IssueLinkRefsPlugin, IssueNumberSchema, JsonPathSchema, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, MaintenanceNotePlugin, MaintenanceReasonSchema, MaintenanceTriggerSchema, MarkdownLive, MarkdownParseError, MarkdownParseErrorBase, MarkdownService, MarkdownServiceBase, ContentStructureRule$1 as MarkdownlintContentStructureRule, DependencyTableFormatRule$1 as MarkdownlintDependencyTableFormatRule, HeadingHierarchyRule$1 as MarkdownlintHeadingHierarchyRule, RequiredSectionsRule$1 as MarkdownlintRequiredSectionsRule, UncategorizedContentRule$1 as MarkdownlintUncategorizedContentRule, MergeSectionsPlugin, NonEmptyString, NormalizeFormatPlugin, PackageScopeSchema, PackagesRecordSchema, PendingChangesetSchema, PositiveInteger, PreviewReleaseSchema, ReleasePlanError, ReleasePlanErrorBase, ReleasePlanner, ReleasePlannerBase, ReleasePlannerLive, ReorderSectionsPlugin, RepoSchema, RequiredSectionsRule, ResolvedPackageScopeSchema, ResolvedVersionFileSchema, SectionCategorySchema, SilkChangesetPreset, SilkChangesetTransformPreset, SilkChangesetsRules, UncategorizedContentRule, UrlOrMarkdownLinkSchema, UsernameSchema, VERSION_RE, VersionFileConfigSchema, VersionFileError, VersionFileErrorBase, VersionFileUpdateRecordSchema, VersionFiles, VersionFilesSchema, VersionOrEmptySchema, VersionTypeSchema, changelogFunctions, changesets_exports, computeWorkspaceDependencyDiffs, deriveMaintenanceReason, gitMergeBase, isPureDependencyChangeset, listPublishablePackageNames, makeBranchAnalyzerTest, makeConfigInspectorTest, makeGitHubTest, makeReleasePlannerTest, serializeDependencyTableToMarkdown };
@@ -1,34 +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
-
7
- //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/index.js
8
- /**
9
- * All changeset rules as an array for markdownlint-cli2 `customRules` config.
10
- *
11
- * @example
12
- * ```json
13
- * {
14
- * "customRules": ["@savvy-web/changesets/markdownlint"]
15
- * }
16
- * ```
17
- *
18
- * @public
19
- */
20
- const SilkChangesetsRules = [
21
- require_heading_hierarchy.HeadingHierarchyRule,
22
- require_required_sections.RequiredSectionsRule,
23
- require_content_structure.ContentStructureRule,
24
- require_uncategorized_content.UncategorizedContentRule,
25
- require_dependency_table_format.DependencyTableFormatRule
26
- ];
27
-
28
- //#endregion
29
- exports.ContentStructureRule = require_content_structure.ContentStructureRule;
30
- exports.DependencyTableFormatRule = require_dependency_table_format.DependencyTableFormatRule;
31
- exports.HeadingHierarchyRule = require_heading_hierarchy.HeadingHierarchyRule;
32
- exports.RequiredSectionsRule = require_required_sections.RequiredSectionsRule;
33
- exports.UncategorizedContentRule = require_uncategorized_content.UncategorizedContentRule;
34
- exports.default = SilkChangesetsRules;
@@ -1,29 +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
-
7
- //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/index.js
8
- /**
9
- * All changeset rules as an array for markdownlint-cli2 `customRules` config.
10
- *
11
- * @example
12
- * ```json
13
- * {
14
- * "customRules": ["@savvy-web/changesets/markdownlint"]
15
- * }
16
- * ```
17
- *
18
- * @public
19
- */
20
- const SilkChangesetsRules = [
21
- HeadingHierarchyRule,
22
- RequiredSectionsRule,
23
- ContentStructureRule,
24
- UncategorizedContentRule,
25
- DependencyTableFormatRule
26
- ];
27
-
28
- //#endregion
29
- export { ContentStructureRule, DependencyTableFormatRule, HeadingHierarchyRule, RequiredSectionsRule, UncategorizedContentRule, SilkChangesetsRules as default };
@@ -1,98 +0,0 @@
1
- const require_constants = require('../../constants.cjs');
2
- const require_utils = require('./utils.cjs');
3
-
4
- //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js
5
- /**
6
- * Check whether any non-blank tokens exist between two indices in the token stream.
7
- *
8
- * @param tokens - The full micromark token array
9
- * @param currentIdx - Start index (exclusive)
10
- * @param nextIdx - End index (exclusive)
11
- * @returns `true` when at least one non-lineEnding token exists in the range
12
- *
13
- * @internal
14
- */
15
- function hasContentBetween(tokens, currentIdx, nextIdx) {
16
- for (let i = currentIdx + 1; i < nextIdx; i++) {
17
- const token = tokens[i];
18
- if (token.type !== "lineEnding" && token.type !== "lineEndingBlank") return true;
19
- }
20
- return false;
21
- }
22
- /**
23
- * markdownlint rule: `changeset-content-structure` (CSH003).
24
- *
25
- * Validates content quality inside changeset markdown files by inspecting
26
- * micromark tokens for three categories of structural problems:
27
- *
28
- * 1. **Empty sections** -- an `atxHeading` (h2) followed immediately by another
29
- * h2 or the end of the token stream with no intervening content tokens.
30
- * 2. **Code blocks without a language identifier** -- a `codeFenced` token whose
31
- * opening fence child lacks a `codeFencedFenceInfo` token.
32
- * 3. **Empty list items** -- a `listItemPrefix` token with no subsequent
33
- * `content` token before the next prefix or end of list.
34
- *
35
- * @remarks
36
- * This rule mirrors the remark-lint rule `remarkLintContentStructure` but uses
37
- * markdownlint's micromark token API so it can run inside markdownlint-cli2 and
38
- * the VS Code markdownlint extension.
39
- *
40
- * @example
41
- * ```json
42
- * {
43
- * "changeset-content-structure": true
44
- * }
45
- * ```
46
- *
47
- * @see {@link https://github.com/savvy-web/changesets/blob/main/docs/rules/CSH003.md | CSH003 rule documentation}
48
- * @see `src/remark/rules/content-structure.ts` for the corresponding remark-lint rule
49
- *
50
- * @public
51
- */
52
- const ContentStructureRule = {
53
- names: ["changeset-content-structure", "CSH003"],
54
- description: "Sections must have content, code blocks need languages, list items need text",
55
- tags: ["changeset"],
56
- parser: "micromark",
57
- function: function CSH003(params, onError) {
58
- const tokens = params.parsers.micromark.tokens;
59
- const h2Indices = [];
60
- for (let i = 0; i < tokens.length; i++) if (tokens[i].type === "atxHeading" && require_utils.getHeadingLevel(tokens[i]) === 2) h2Indices.push(i);
61
- for (let i = 0; i < h2Indices.length; i++) {
62
- const currentIdx = h2Indices[i];
63
- if (!hasContentBetween(tokens, currentIdx, i + 1 < h2Indices.length ? h2Indices[i + 1] : tokens.length)) onError({
64
- lineNumber: tokens[currentIdx].startLine,
65
- detail: `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}`
66
- });
67
- }
68
- for (const token of tokens) {
69
- if (token.type !== "codeFenced") continue;
70
- if (!(token.children.find((c) => c.type === "codeFencedFence")?.children.some((c) => c.type === "codeFencedFenceInfo") ?? false)) onError({
71
- lineNumber: token.startLine,
72
- detail: `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}`
73
- });
74
- }
75
- for (const token of tokens) {
76
- if (token.type !== "listOrdered" && token.type !== "listUnordered") continue;
77
- const children = token.children;
78
- for (let i = 0; i < children.length; i++) {
79
- if (children[i].type !== "listItemPrefix") continue;
80
- let hasContent = false;
81
- for (let j = i + 1; j < children.length; j++) {
82
- if (children[j].type === "listItemPrefix") break;
83
- if (children[j].type === "content") {
84
- hasContent = true;
85
- break;
86
- }
87
- }
88
- if (!hasContent) onError({
89
- lineNumber: children[i].startLine,
90
- detail: `Empty list item. Each list item must contain descriptive text (e.g., "- Fixed login timeout issue"). See: ${require_constants.RULE_DOCS.CSH003}`
91
- });
92
- }
93
- }
94
- }
95
- };
96
-
97
- //#endregion
98
- exports.ContentStructureRule = ContentStructureRule;
@@ -1,98 +0,0 @@
1
- import { RULE_DOCS } from "../../constants.js";
2
- import { getHeadingLevel } from "./utils.js";
3
-
4
- //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/rules/content-structure.js
5
- /**
6
- * Check whether any non-blank tokens exist between two indices in the token stream.
7
- *
8
- * @param tokens - The full micromark token array
9
- * @param currentIdx - Start index (exclusive)
10
- * @param nextIdx - End index (exclusive)
11
- * @returns `true` when at least one non-lineEnding token exists in the range
12
- *
13
- * @internal
14
- */
15
- function hasContentBetween(tokens, currentIdx, nextIdx) {
16
- for (let i = currentIdx + 1; i < nextIdx; i++) {
17
- const token = tokens[i];
18
- if (token.type !== "lineEnding" && token.type !== "lineEndingBlank") return true;
19
- }
20
- return false;
21
- }
22
- /**
23
- * markdownlint rule: `changeset-content-structure` (CSH003).
24
- *
25
- * Validates content quality inside changeset markdown files by inspecting
26
- * micromark tokens for three categories of structural problems:
27
- *
28
- * 1. **Empty sections** -- an `atxHeading` (h2) followed immediately by another
29
- * h2 or the end of the token stream with no intervening content tokens.
30
- * 2. **Code blocks without a language identifier** -- a `codeFenced` token whose
31
- * opening fence child lacks a `codeFencedFenceInfo` token.
32
- * 3. **Empty list items** -- a `listItemPrefix` token with no subsequent
33
- * `content` token before the next prefix or end of list.
34
- *
35
- * @remarks
36
- * This rule mirrors the remark-lint rule `remarkLintContentStructure` but uses
37
- * markdownlint's micromark token API so it can run inside markdownlint-cli2 and
38
- * the VS Code markdownlint extension.
39
- *
40
- * @example
41
- * ```json
42
- * {
43
- * "changeset-content-structure": true
44
- * }
45
- * ```
46
- *
47
- * @see {@link https://github.com/savvy-web/changesets/blob/main/docs/rules/CSH003.md | CSH003 rule documentation}
48
- * @see `src/remark/rules/content-structure.ts` for the corresponding remark-lint rule
49
- *
50
- * @public
51
- */
52
- const ContentStructureRule = {
53
- names: ["changeset-content-structure", "CSH003"],
54
- description: "Sections must have content, code blocks need languages, list items need text",
55
- tags: ["changeset"],
56
- parser: "micromark",
57
- function: function CSH003(params, onError) {
58
- const tokens = params.parsers.micromark.tokens;
59
- const h2Indices = [];
60
- for (let i = 0; i < tokens.length; i++) if (tokens[i].type === "atxHeading" && getHeadingLevel(tokens[i]) === 2) h2Indices.push(i);
61
- for (let i = 0; i < h2Indices.length; i++) {
62
- const currentIdx = h2Indices[i];
63
- if (!hasContentBetween(tokens, currentIdx, i + 1 < h2Indices.length ? h2Indices[i + 1] : tokens.length)) onError({
64
- lineNumber: tokens[currentIdx].startLine,
65
- detail: `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}`
66
- });
67
- }
68
- for (const token of tokens) {
69
- if (token.type !== "codeFenced") continue;
70
- if (!(token.children.find((c) => c.type === "codeFencedFence")?.children.some((c) => c.type === "codeFencedFenceInfo") ?? false)) onError({
71
- lineNumber: token.startLine,
72
- detail: `Code block is missing a language identifier. Add a language after the opening fence (e.g., \`\`\`ts, \`\`\`json, \`\`\`bash). See: ${RULE_DOCS.CSH003}`
73
- });
74
- }
75
- for (const token of tokens) {
76
- if (token.type !== "listOrdered" && token.type !== "listUnordered") continue;
77
- const children = token.children;
78
- for (let i = 0; i < children.length; i++) {
79
- if (children[i].type !== "listItemPrefix") continue;
80
- let hasContent = false;
81
- for (let j = i + 1; j < children.length; j++) {
82
- if (children[j].type === "listItemPrefix") break;
83
- if (children[j].type === "content") {
84
- hasContent = true;
85
- break;
86
- }
87
- }
88
- if (!hasContent) onError({
89
- lineNumber: children[i].startLine,
90
- detail: `Empty list item. Each list item must contain descriptive text (e.g., "- Fixed login timeout issue"). See: ${RULE_DOCS.CSH003}`
91
- });
92
- }
93
- }
94
- }
95
- };
96
-
97
- //#endregion
98
- export { ContentStructureRule };
@@ -1,170 +0,0 @@
1
- const require_dependency_table = require('../../schemas/dependency-table.cjs');
2
- const require_constants = require('../../constants.cjs');
3
- const require_utils = require('./utils.cjs');
4
-
5
- //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js
6
- const EM_DASH = "—";
7
- const VALID_TYPES = /* @__PURE__ */ new Set([
8
- "dependency",
9
- "devDependency",
10
- "peerDependency",
11
- "optionalDependency",
12
- "workspace",
13
- "config"
14
- ]);
15
- const VALID_ACTIONS = /* @__PURE__ */ new Set([
16
- "added",
17
- "updated",
18
- "removed"
19
- ]);
20
- const EXPECTED_HEADERS = [
21
- "dependency",
22
- "type",
23
- "action",
24
- "from",
25
- "to"
26
- ];
27
- /**
28
- * Extract text from a `tableHeader` or `tableData` cell token.
29
- *
30
- * The cell contains: `tableCellDivider`, whitespace, `tableContent`, whitespace.
31
- * The `tableContent` token has a `.text` property with the cell value.
32
- *
33
- * @param cell - A GFM table cell token (header or data)
34
- * @returns The trimmed text content of the cell, or an empty string
35
- *
36
- * @internal
37
- */
38
- function getCellText(cell) {
39
- const content = cell.children.find((c) => c.type === "tableContent");
40
- return content ? content.text.trim() : "";
41
- }
42
- /**
43
- * Extract all cell texts from a `tableRow` token.
44
- *
45
- * @param row - A GFM `tableRow` token
46
- * @returns An array of trimmed cell text values
47
- *
48
- * @internal
49
- */
50
- function getRowCells(row) {
51
- return row.children.filter((c) => c.type === "tableHeader" || c.type === "tableData").map(getCellText);
52
- }
53
- /**
54
- * The markdownlint `Rule` object for CSH005 (`changeset-dependency-table-format`).
55
- *
56
- * @public
57
- */
58
- const DependencyTableFormatRule = {
59
- names: ["changeset-dependency-table-format", "CSH005"],
60
- description: "Dependencies section must contain a valid dependency table",
61
- tags: ["changeset"],
62
- parser: "micromark",
63
- function: function CSH005(params, onError) {
64
- const tokens = params.parsers.micromark.tokens;
65
- for (let i = 0; i < tokens.length; i++) {
66
- const token = tokens[i];
67
- if (token.type !== "atxHeading") continue;
68
- if (require_utils.getHeadingLevel(token) !== 2) continue;
69
- if (require_utils.getHeadingText(token).toLowerCase() !== "dependencies") continue;
70
- const headingLine = token.startLine;
71
- let tableToken = null;
72
- for (let j = i + 1; j < tokens.length; j++) {
73
- const next = tokens[j];
74
- if (next.type === "lineEnding" || next.type === "lineEndingBlank") continue;
75
- if (next.type === "atxHeading") break;
76
- if (next.type === "table") tableToken = next;
77
- break;
78
- }
79
- if (tableToken === null) {
80
- onError({
81
- lineNumber: headingLine,
82
- detail: `Dependencies section must contain a table, not a list or paragraph. See: ${require_constants.RULE_DOCS.CSH005}`
83
- });
84
- continue;
85
- }
86
- const tableHead = tableToken.children.find((c) => c.type === "tableHead");
87
- if (!tableHead) {
88
- onError({
89
- lineNumber: tableToken.startLine,
90
- detail: `Dependencies table is missing a header row. See: ${require_constants.RULE_DOCS.CSH005}`
91
- });
92
- continue;
93
- }
94
- const headerRow = tableHead.children.find((c) => c.type === "tableRow");
95
- if (!headerRow) {
96
- onError({
97
- lineNumber: tableToken.startLine,
98
- detail: `Dependencies table is missing a header row. See: ${require_constants.RULE_DOCS.CSH005}`
99
- });
100
- continue;
101
- }
102
- const headers = getRowCells(headerRow).map((h) => h.toLowerCase());
103
- if (headers.length !== EXPECTED_HEADERS.length || !headers.every((h, idx) => h === EXPECTED_HEADERS[idx])) {
104
- onError({
105
- lineNumber: headerRow.startLine,
106
- detail: `Dependencies table must have columns: Dependency, Type, Action, From, To. Got: ${headers.join(", ")}. See: ${require_constants.RULE_DOCS.CSH005}`
107
- });
108
- continue;
109
- }
110
- const tableBody = tableToken.children.find((c) => c.type === "tableBody");
111
- if (!tableBody) {
112
- onError({
113
- lineNumber: tableToken.startLine,
114
- detail: `Dependencies table must have at least one data row. See: ${require_constants.RULE_DOCS.CSH005}`
115
- });
116
- continue;
117
- }
118
- const dataRows = tableBody.children.filter((c) => c.type === "tableRow");
119
- if (dataRows.length === 0) {
120
- onError({
121
- lineNumber: tableToken.startLine,
122
- detail: `Dependencies table must have at least one data row. See: ${require_constants.RULE_DOCS.CSH005}`
123
- });
124
- continue;
125
- }
126
- for (const row of dataRows) {
127
- const cells = getRowCells(row);
128
- if (cells.length < 5) {
129
- onError({
130
- lineNumber: row.startLine,
131
- detail: `Dependencies table row has too few columns (expected 5, got ${cells.length}). See: ${require_constants.RULE_DOCS.CSH005}`
132
- });
133
- continue;
134
- }
135
- const [dependency, type, action, from, to] = cells;
136
- if (!dependency) onError({
137
- lineNumber: row.startLine,
138
- detail: `Dependencies table row has an empty 'Dependency' cell. See: ${require_constants.RULE_DOCS.CSH005}`
139
- });
140
- if (!VALID_TYPES.has(type)) onError({
141
- lineNumber: row.startLine,
142
- detail: `Invalid dependency type '${type}'. Valid types are: ${[...VALID_TYPES].join(", ")}. See: ${require_constants.RULE_DOCS.CSH005}`
143
- });
144
- if (!VALID_ACTIONS.has(action)) onError({
145
- lineNumber: row.startLine,
146
- detail: `Invalid dependency action '${action}'. Valid actions are: ${[...VALID_ACTIONS].join(", ")}. See: ${require_constants.RULE_DOCS.CSH005}`
147
- });
148
- if (from && !require_dependency_table.VERSION_RE.test(from)) onError({
149
- lineNumber: row.startLine,
150
- detail: `Invalid 'from' value '${from}'. Must be a semver string or em dash (\u2014). See: ${require_constants.RULE_DOCS.CSH005}`
151
- });
152
- if (to && !require_dependency_table.VERSION_RE.test(to)) onError({
153
- lineNumber: row.startLine,
154
- detail: `Invalid 'to' value '${to}'. Must be a semver string or em dash (\u2014). See: ${require_constants.RULE_DOCS.CSH005}`
155
- });
156
- if (action === "added" && from !== EM_DASH) onError({
157
- lineNumber: row.startLine,
158
- detail: `'from' must be '\u2014' when action is 'added' (got '${from}'). See: ${require_constants.RULE_DOCS.CSH005}`
159
- });
160
- if (action === "removed" && to !== EM_DASH) onError({
161
- lineNumber: row.startLine,
162
- detail: `'to' must be '\u2014' when action is 'removed' (got '${to}'). See: ${require_constants.RULE_DOCS.CSH005}`
163
- });
164
- }
165
- }
166
- }
167
- };
168
-
169
- //#endregion
170
- exports.DependencyTableFormatRule = DependencyTableFormatRule;