@commentray/core 0.0.1 → 0.0.4
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/dist/anchors.d.ts +6 -0
- package/dist/anchors.d.ts.map +1 -1
- package/dist/anchors.js +11 -0
- package/dist/anchors.js.map +1 -1
- package/dist/angles-toml.d.ts +18 -0
- package/dist/angles-toml.d.ts.map +1 -0
- package/dist/angles-toml.js +62 -0
- package/dist/angles-toml.js.map +1 -0
- package/dist/angles.d.ts +6 -0
- package/dist/angles.d.ts.map +1 -0
- package/dist/angles.js +14 -0
- package/dist/angles.js.map +1 -0
- package/dist/block-scroll-pickers.d.ts +22 -0
- package/dist/block-scroll-pickers.d.ts.map +1 -0
- package/dist/block-scroll-pickers.js +41 -0
- package/dist/block-scroll-pickers.js.map +1 -0
- package/dist/block-snippet.d.ts +13 -0
- package/dist/block-snippet.d.ts.map +1 -0
- package/dist/block-snippet.js +30 -0
- package/dist/block-snippet.js.map +1 -0
- package/dist/blocks.d.ts +66 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +101 -0
- package/dist/blocks.js.map +1 -0
- package/dist/commentray-index-renames.d.ts +21 -0
- package/dist/commentray-index-renames.d.ts.map +1 -0
- package/dist/commentray-index-renames.js +85 -0
- package/dist/commentray-index-renames.js.map +1 -0
- package/dist/commentray-path-resolution.d.ts +20 -0
- package/dist/commentray-path-resolution.d.ts.map +1 -0
- package/dist/commentray-path-resolution.js +38 -0
- package/dist/commentray-path-resolution.js.map +1 -0
- package/dist/config.d.ts +48 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +72 -6
- package/dist/config.js.map +1 -1
- package/dist/github-url.d.ts +14 -0
- package/dist/github-url.d.ts.map +1 -0
- package/dist/github-url.js +25 -0
- package/dist/github-url.js.map +1 -0
- package/dist/index-normalize.d.ts +10 -0
- package/dist/index-normalize.d.ts.map +1 -0
- package/dist/index-normalize.js +60 -0
- package/dist/index-normalize.js.map +1 -0
- package/dist/index-schema-messages.d.ts +6 -0
- package/dist/index-schema-messages.d.ts.map +1 -0
- package/dist/index-schema-messages.js +26 -0
- package/dist/index-schema-messages.js.map +1 -0
- package/dist/index.d.ts +25 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/marker-ids.d.ts +19 -0
- package/dist/marker-ids.d.ts.map +1 -0
- package/dist/marker-ids.js +38 -0
- package/dist/marker-ids.js.map +1 -0
- package/dist/marker-validation.d.ts +22 -0
- package/dist/marker-validation.d.ts.map +1 -0
- package/dist/marker-validation.js +138 -0
- package/dist/marker-validation.js.map +1 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +84 -29
- package/dist/metadata.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +52 -14
- package/dist/migrate.js.map +1 -1
- package/dist/model.d.ts +24 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +17 -1
- package/dist/model.js.map +1 -1
- package/dist/paths.d.ts +18 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +34 -3
- package/dist/paths.js.map +1 -1
- package/dist/region-marker-convert.d.ts +27 -0
- package/dist/region-marker-convert.d.ts.map +1 -0
- package/dist/region-marker-convert.js +78 -0
- package/dist/region-marker-convert.js.map +1 -0
- package/dist/scm/git-scm-provider.d.ts +7 -1
- package/dist/scm/git-scm-provider.d.ts.map +1 -1
- package/dist/scm/git-scm-provider.js +42 -0
- package/dist/scm/git-scm-provider.js.map +1 -1
- package/dist/scm/scm-provider.d.ts +10 -0
- package/dist/scm/scm-provider.d.ts.map +1 -1
- package/dist/scroll-sync.d.ts +12 -0
- package/dist/scroll-sync.d.ts.map +1 -0
- package/dist/scroll-sync.js +59 -0
- package/dist/scroll-sync.js.map +1 -0
- package/dist/source-markers.d.ts +28 -0
- package/dist/source-markers.d.ts.map +1 -0
- package/dist/source-markers.js +241 -0
- package/dist/source-markers.js.map +1 -0
- package/dist/validate-project.d.ts +15 -1
- package/dist/validate-project.d.ts.map +1 -1
- package/dist/validate-project.js +87 -14
- package/dist/validate-project.js.map +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { assertValidMarkerId, MARKER_ID_BODY } from "./marker-ids.js";
|
|
2
|
+
/**
|
|
3
|
+
* Source delimiters for block anchors:
|
|
4
|
+
*
|
|
5
|
+
* 1. **Region convention** — where editors commonly fold `//#region` /
|
|
6
|
+
* `//#endregion`, `#region` / `#endregion`, `#pragma region`, etc. (aligned
|
|
7
|
+
* with [Region Marker](https://marketplace.visualstudio.com/items?itemName=txava.region-marker)),
|
|
8
|
+
* Commentray uses the region **name** `commentray:<id>`.
|
|
9
|
+
*
|
|
10
|
+
* 2. **Generic comments** — for languages without a shared region idiom, we
|
|
11
|
+
* use ordinary line or block comments and our own `commentray:start id=<id>` /
|
|
12
|
+
* `commentray:end id=<id>` tokens (still parsed by {@link parseCommentrayRegionBoundary}).
|
|
13
|
+
*
|
|
14
|
+
* Legacy pairs that only use (2) remain valid everywhere.
|
|
15
|
+
*/
|
|
16
|
+
const COMMENTRAY_TAG = (id) => `commentray:${id.trim().toLowerCase()}`;
|
|
17
|
+
/** `//#region commentray:<id>` — JS/TS ecosystem & CSS preprocessors that use `//`. */
|
|
18
|
+
const SLASH_REGION_LANGUAGES = new Set([
|
|
19
|
+
"javascript",
|
|
20
|
+
"javascriptreact",
|
|
21
|
+
"typescript",
|
|
22
|
+
"typescriptreact",
|
|
23
|
+
"js",
|
|
24
|
+
"jsx",
|
|
25
|
+
"tsx",
|
|
26
|
+
"mjs",
|
|
27
|
+
"cjs",
|
|
28
|
+
"vue",
|
|
29
|
+
"svelte",
|
|
30
|
+
"astro",
|
|
31
|
+
"scss",
|
|
32
|
+
"less",
|
|
33
|
+
"stylus",
|
|
34
|
+
]);
|
|
35
|
+
/** `#region commentray:<id>` — same shape as Region Marker for these ids. */
|
|
36
|
+
const HASH_REGION_LANGUAGES = new Set([
|
|
37
|
+
"ruby",
|
|
38
|
+
"csharp",
|
|
39
|
+
"coffeescript",
|
|
40
|
+
"powershell",
|
|
41
|
+
"perl",
|
|
42
|
+
"raku",
|
|
43
|
+
"crystal",
|
|
44
|
+
]);
|
|
45
|
+
const PRAGMA_REGION = new Set(["c", "cpp", "cuda-cpp", "objective-c", "objective-cpp"]);
|
|
46
|
+
const VB_REGION = new Set(["vb"]);
|
|
47
|
+
const LUA_REGION = new Set(["lua"]);
|
|
48
|
+
const HTML_FAMILY = new Set(["html", "xml", "handlebars", "vue-html"]);
|
|
49
|
+
const PYTHONIC = new Set(["python", "jupyter"]);
|
|
50
|
+
/** `# …` line comments for generic markers (no `#region` folding convention). */
|
|
51
|
+
const GENERIC_HASH_LANGUAGES = new Set([
|
|
52
|
+
"dockerfile",
|
|
53
|
+
"makefile",
|
|
54
|
+
"cmake",
|
|
55
|
+
"yaml",
|
|
56
|
+
"yml",
|
|
57
|
+
"toml",
|
|
58
|
+
"ini",
|
|
59
|
+
"properties",
|
|
60
|
+
"git-commit",
|
|
61
|
+
"sql",
|
|
62
|
+
"r",
|
|
63
|
+
"shellscript",
|
|
64
|
+
"bash",
|
|
65
|
+
"sh",
|
|
66
|
+
"zsh",
|
|
67
|
+
"fish",
|
|
68
|
+
]);
|
|
69
|
+
function regionConvention(languageId) {
|
|
70
|
+
const id = languageId.toLowerCase();
|
|
71
|
+
if (id === "css")
|
|
72
|
+
return "generic-block-css";
|
|
73
|
+
if (PYTHONIC.has(id))
|
|
74
|
+
return "python";
|
|
75
|
+
if (PRAGMA_REGION.has(id))
|
|
76
|
+
return "pragma";
|
|
77
|
+
if (VB_REGION.has(id))
|
|
78
|
+
return "vb";
|
|
79
|
+
if (HTML_FAMILY.has(id))
|
|
80
|
+
return "html";
|
|
81
|
+
if (LUA_REGION.has(id))
|
|
82
|
+
return "lua";
|
|
83
|
+
if (HASH_REGION_LANGUAGES.has(id))
|
|
84
|
+
return "hash-region";
|
|
85
|
+
if (SLASH_REGION_LANGUAGES.has(id))
|
|
86
|
+
return "slash-region";
|
|
87
|
+
if (GENERIC_HASH_LANGUAGES.has(id))
|
|
88
|
+
return "generic-hash";
|
|
89
|
+
return "generic-line";
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Line comment leader for **generic** `commentray:start` / `end` markers
|
|
93
|
+
* (`// …`, `# …`, etc.). Not used for `#region` family languages.
|
|
94
|
+
*/
|
|
95
|
+
export function lineCommentLeaderForLanguage(languageId) {
|
|
96
|
+
const id = languageId.toLowerCase();
|
|
97
|
+
if (GENERIC_HASH_LANGUAGES.has(id))
|
|
98
|
+
return "# ";
|
|
99
|
+
if (id === "lua")
|
|
100
|
+
return "-- ";
|
|
101
|
+
if (id === "vb")
|
|
102
|
+
return "' ";
|
|
103
|
+
return "// ";
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Insertion fragments for wrapping the selection (apply **end** first, then
|
|
107
|
+
* **start**, so stable offsets). Pass the same indentation string Region Marker
|
|
108
|
+
* uses (leading whitespace of the first selected line).
|
|
109
|
+
*/
|
|
110
|
+
export function commentrayRegionInsertions(languageId, markerId, indent = "") {
|
|
111
|
+
const id = assertValidMarkerId(markerId);
|
|
112
|
+
const tag = COMMENTRAY_TAG(id);
|
|
113
|
+
const ind = indent;
|
|
114
|
+
const conv = regionConvention(languageId);
|
|
115
|
+
switch (conv) {
|
|
116
|
+
case "slash-region":
|
|
117
|
+
return {
|
|
118
|
+
start: `${ind}//#region ${tag}\n`,
|
|
119
|
+
end: `\n${ind}//#endregion ${tag}`,
|
|
120
|
+
};
|
|
121
|
+
case "hash-region":
|
|
122
|
+
return {
|
|
123
|
+
start: `${ind}#region ${tag}\n`,
|
|
124
|
+
end: `\n${ind}#endregion ${tag}`,
|
|
125
|
+
};
|
|
126
|
+
case "pragma":
|
|
127
|
+
return {
|
|
128
|
+
start: `${ind}#pragma region ${tag}\n`,
|
|
129
|
+
end: `\n${ind}#pragma endregion ${tag}`,
|
|
130
|
+
};
|
|
131
|
+
case "vb":
|
|
132
|
+
return {
|
|
133
|
+
start: `${ind}#Region ${tag}\n`,
|
|
134
|
+
end: `\n${ind}#End Region ${tag}`,
|
|
135
|
+
};
|
|
136
|
+
case "html":
|
|
137
|
+
return {
|
|
138
|
+
start: `${ind}<!-- #region ${tag} -->\n`,
|
|
139
|
+
end: `\n${ind}<!-- #endregion ${tag} -->`,
|
|
140
|
+
};
|
|
141
|
+
case "python":
|
|
142
|
+
return {
|
|
143
|
+
start: `${ind}# region ${tag}\n`,
|
|
144
|
+
end: `\n${ind}# endregion ${tag}`,
|
|
145
|
+
};
|
|
146
|
+
case "lua":
|
|
147
|
+
return {
|
|
148
|
+
start: `${ind}--#region ${tag}\n`,
|
|
149
|
+
end: `\n${ind}--#endregion ${tag}`,
|
|
150
|
+
};
|
|
151
|
+
case "generic-block-css":
|
|
152
|
+
return {
|
|
153
|
+
start: `${ind}/* commentray:start id=${id} */\n`,
|
|
154
|
+
end: `\n${ind}/* commentray:end id=${id} */`,
|
|
155
|
+
};
|
|
156
|
+
case "generic-hash":
|
|
157
|
+
case "generic-line": {
|
|
158
|
+
const leader = lineCommentLeaderForLanguage(languageId);
|
|
159
|
+
return {
|
|
160
|
+
start: `${ind}${leader}commentray:start id=${id}\n`,
|
|
161
|
+
end: `\n${ind}${leader}commentray:end id=${id}`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/** Detect a Commentray region, generic marker, or legacy marker line; id is lower-case. */
|
|
167
|
+
export function parseCommentrayRegionBoundary(line) {
|
|
168
|
+
const probe = line.trim();
|
|
169
|
+
const mid = MARKER_ID_BODY;
|
|
170
|
+
const startPatterns = [
|
|
171
|
+
new RegExp(`^//#region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
172
|
+
new RegExp(`^#region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
173
|
+
new RegExp(`^#pragma\\s+region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
174
|
+
new RegExp(`^#Region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
175
|
+
new RegExp(`^#\\s*region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
176
|
+
new RegExp(`^<!--\\s*#region\\s+commentray:(${mid})\\s*-->\\s*$`, "i"),
|
|
177
|
+
new RegExp(`^--#region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
178
|
+
new RegExp(`^/\\*\\s*commentray:start\\s+id=(${mid})\\s*\\*/\\s*$`, "i"),
|
|
179
|
+
new RegExp(`commentray:start\\s+id=(${mid})\\b`, "i"),
|
|
180
|
+
];
|
|
181
|
+
const endPatterns = [
|
|
182
|
+
new RegExp(`^//#endregion\\s+commentray:(${mid})\\s*$`, "i"),
|
|
183
|
+
new RegExp(`^#endregion\\s+commentray:(${mid})\\s*$`, "i"),
|
|
184
|
+
new RegExp(`^#pragma\\s+endregion\\s+commentray:(${mid})\\s*$`, "i"),
|
|
185
|
+
new RegExp(`^#End\\s+Region\\s+commentray:(${mid})\\s*$`, "i"),
|
|
186
|
+
new RegExp(`^#\\s*endregion\\s+commentray:(${mid})\\s*$`, "i"),
|
|
187
|
+
new RegExp(`^<!--\\s*#endregion\\s+commentray:(${mid})\\s*-->\\s*$`, "i"),
|
|
188
|
+
new RegExp(`^--#endregion\\s+commentray:(${mid})\\s*$`, "i"),
|
|
189
|
+
new RegExp(`^/\\*\\s*commentray:end\\s+id=(${mid})\\s*\\*/\\s*$`, "i"),
|
|
190
|
+
new RegExp(`commentray:end\\s+id=(${mid})\\b`, "i"),
|
|
191
|
+
];
|
|
192
|
+
for (const re of startPatterns) {
|
|
193
|
+
const m = re.exec(probe);
|
|
194
|
+
if (m) {
|
|
195
|
+
try {
|
|
196
|
+
return { kind: "start", id: assertValidMarkerId(m[1]) };
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
for (const re of endPatterns) {
|
|
204
|
+
const m = re.exec(probe);
|
|
205
|
+
if (m) {
|
|
206
|
+
try {
|
|
207
|
+
return { kind: "end", id: assertValidMarkerId(m[1]) };
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* 1-based inclusive source lines **between** paired region / generic / legacy marker lines.
|
|
218
|
+
*/
|
|
219
|
+
export function sourceLineRangeForMarkerId(sourceText, markerId) {
|
|
220
|
+
const id = assertValidMarkerId(markerId);
|
|
221
|
+
const lines = sourceText.split("\n");
|
|
222
|
+
let startIdx = -1;
|
|
223
|
+
let endIdx = -1;
|
|
224
|
+
for (let i = 0; i < lines.length; i++) {
|
|
225
|
+
const hit = parseCommentrayRegionBoundary(lines[i]);
|
|
226
|
+
if (hit?.id !== id)
|
|
227
|
+
continue;
|
|
228
|
+
if (hit.kind === "start" && startIdx < 0)
|
|
229
|
+
startIdx = i;
|
|
230
|
+
else if (hit.kind === "end" && startIdx >= 0 && endIdx < 0)
|
|
231
|
+
endIdx = i;
|
|
232
|
+
}
|
|
233
|
+
if (startIdx < 0 || endIdx < 0 || endIdx < startIdx + 2)
|
|
234
|
+
return null;
|
|
235
|
+
const start = startIdx + 2;
|
|
236
|
+
const end = endIdx;
|
|
237
|
+
if (end < start)
|
|
238
|
+
return null;
|
|
239
|
+
return { start, end };
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=source-markers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-markers.js","sourceRoot":"","sources":["../src/source-markers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CommentrayIndex } from "./model.js";
|
|
2
2
|
export type ValidationIssue = {
|
|
3
3
|
level: "error" | "warn";
|
|
4
4
|
message: string;
|
|
@@ -7,5 +7,19 @@ export type ValidationResult = {
|
|
|
7
7
|
issues: ValidationIssue[];
|
|
8
8
|
};
|
|
9
9
|
export declare function validateProject(repoRoot: string): Promise<ValidationResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Reads `index.json`, applies schema migration and snippet/fingerprint normalization,
|
|
12
|
+
* and persists when anything changed. Throws if the file is missing or not valid JSON.
|
|
13
|
+
*/
|
|
14
|
+
export declare function refreshIndexMigrationsOnDisk(repoRoot: string): Promise<{
|
|
15
|
+
index: CommentrayIndex;
|
|
16
|
+
changed: boolean;
|
|
17
|
+
}>;
|
|
10
18
|
export declare function readIndex(repoRoot: string): Promise<CommentrayIndex | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Write the metadata index to the default location under `repoRoot`, creating
|
|
21
|
+
* the `.commentray/metadata/` directory if missing. The file is written with
|
|
22
|
+
* two-space indentation and a trailing newline so diffs are easy to read.
|
|
23
|
+
*/
|
|
24
|
+
export declare function writeIndex(repoRoot: string, index: CommentrayIndex): Promise<void>;
|
|
11
25
|
//# sourceMappingURL=validate-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-project.d.ts","sourceRoot":"","sources":["../src/validate-project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-project.d.ts","sourceRoot":"","sources":["../src/validate-project.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoD,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAOpG,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiEjF;AAiBD;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBvD;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CASjF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF"}
|
package/dist/validate-project.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { loadCommentrayConfig } from "./config.js";
|
|
4
|
+
import { parseGithubRepoWebUrl } from "./github-url.js";
|
|
5
|
+
import { normalizeCommentrayIndex } from "./index-normalize.js";
|
|
4
6
|
import { assertValidIndex } from "./metadata.js";
|
|
7
|
+
import { migrateIndex } from "./migrate.js";
|
|
8
|
+
import { coerceIndexSchemaVersion, CURRENT_SCHEMA_VERSION } from "./model.js";
|
|
5
9
|
import { defaultMetadataIndexPath } from "./paths.js";
|
|
10
|
+
import { validateIndexMarkerSemantics, validateMarkerBoundariesInSource, } from "./marker-validation.js";
|
|
6
11
|
export async function validateProject(repoRoot) {
|
|
7
12
|
const issues = [];
|
|
8
13
|
let config;
|
|
@@ -29,30 +34,87 @@ export async function validateProject(repoRoot) {
|
|
|
29
34
|
});
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
|
-
|
|
37
|
+
let index = null;
|
|
33
38
|
try {
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
index = await readIndex(repoRoot);
|
|
40
|
+
if (index === null) {
|
|
41
|
+
issues.push({ level: "warn", message: `No metadata index at ${defaultMetadataIndexPath()}` });
|
|
42
|
+
}
|
|
36
43
|
}
|
|
37
44
|
catch (err) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
issues.push({
|
|
46
|
+
level: "error",
|
|
47
|
+
message: `Invalid metadata index: ${err instanceof Error ? err.message : String(err)}`,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (index) {
|
|
51
|
+
for (const issue of validateIndexMarkerSemantics(index)) {
|
|
52
|
+
issues.push({ level: issue.level, message: issue.message });
|
|
41
53
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
const seenSources = new Set();
|
|
55
|
+
for (const entry of Object.values(index.byCommentrayPath)) {
|
|
56
|
+
if (seenSources.has(entry.sourcePath))
|
|
57
|
+
continue;
|
|
58
|
+
seenSources.add(entry.sourcePath);
|
|
59
|
+
const abs = path.join(repoRoot, ...entry.sourcePath.split("/"));
|
|
60
|
+
try {
|
|
61
|
+
const text = await fs.readFile(abs, "utf8");
|
|
62
|
+
for (const issue of validateMarkerBoundariesInSource(text, entry.sourcePath)) {
|
|
63
|
+
issues.push({ level: issue.level, message: issue.message });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
issues.push({
|
|
68
|
+
level: "warn",
|
|
69
|
+
message: `Could not read "${entry.sourcePath}" to validate Commentray source markers.`,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
47
72
|
}
|
|
48
73
|
}
|
|
74
|
+
pushRelativeGithubLinkConfigWarnings(config, issues);
|
|
49
75
|
return { issues };
|
|
50
76
|
}
|
|
51
|
-
|
|
77
|
+
function pushRelativeGithubLinkConfigWarnings(config, issues) {
|
|
78
|
+
if (!config.render.relativeGithubBlobLinks)
|
|
79
|
+
return;
|
|
80
|
+
const gh = config.staticSite.githubUrl;
|
|
81
|
+
if (gh && parseGithubRepoWebUrl(gh))
|
|
82
|
+
return;
|
|
83
|
+
issues.push({
|
|
84
|
+
level: "warn",
|
|
85
|
+
message: "render.relative_github_blob_links is true but static_site.github_url is missing or " +
|
|
86
|
+
"not a repository home URL (expected https://github.com/owner/repo). Link rewriting is skipped at build time.",
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Reads `index.json`, applies schema migration and snippet/fingerprint normalization,
|
|
91
|
+
* and persists when anything changed. Throws if the file is missing or not valid JSON.
|
|
92
|
+
*/
|
|
93
|
+
export async function refreshIndexMigrationsOnDisk(repoRoot) {
|
|
52
94
|
const indexPath = path.join(repoRoot, defaultMetadataIndexPath());
|
|
95
|
+
const raw = await fs.readFile(indexPath, "utf8");
|
|
96
|
+
const parsed = JSON.parse(raw);
|
|
97
|
+
const priorSchema = typeof parsed === "object" && parsed !== null
|
|
98
|
+
? coerceIndexSchemaVersion(parsed.schemaVersion)
|
|
99
|
+
: null;
|
|
100
|
+
if (typeof priorSchema === "number" && priorSchema > CURRENT_SCHEMA_VERSION) {
|
|
101
|
+
const metaDir = path.dirname(indexPath);
|
|
102
|
+
const backupName = `index.schema-${String(priorSchema)}-backup-${String(Date.now())}.json`;
|
|
103
|
+
await fs.writeFile(path.join(metaDir, backupName), raw, "utf8");
|
|
104
|
+
}
|
|
105
|
+
const { index: migrated, changed: schemaChanged } = migrateIndex(parsed);
|
|
106
|
+
const { index: normalized, changed: snippetChanged } = normalizeCommentrayIndex(migrated);
|
|
107
|
+
const index = assertValidIndex(normalized);
|
|
108
|
+
const changed = schemaChanged || snippetChanged;
|
|
109
|
+
if (changed) {
|
|
110
|
+
await writeIndex(repoRoot, index);
|
|
111
|
+
}
|
|
112
|
+
return { index, changed };
|
|
113
|
+
}
|
|
114
|
+
export async function readIndex(repoRoot) {
|
|
53
115
|
try {
|
|
54
|
-
const
|
|
55
|
-
return
|
|
116
|
+
const { index } = await refreshIndexMigrationsOnDisk(repoRoot);
|
|
117
|
+
return index;
|
|
56
118
|
}
|
|
57
119
|
catch (err) {
|
|
58
120
|
const code = err.code;
|
|
@@ -61,4 +123,15 @@ export async function readIndex(repoRoot) {
|
|
|
61
123
|
throw err;
|
|
62
124
|
}
|
|
63
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Write the metadata index to the default location under `repoRoot`, creating
|
|
128
|
+
* the `.commentray/metadata/` directory if missing. The file is written with
|
|
129
|
+
* two-space indentation and a trailing newline so diffs are easy to read.
|
|
130
|
+
*/
|
|
131
|
+
export async function writeIndex(repoRoot, index) {
|
|
132
|
+
const indexPath = path.join(repoRoot, defaultMetadataIndexPath());
|
|
133
|
+
await fs.mkdir(path.dirname(indexPath), { recursive: true });
|
|
134
|
+
const serialized = `${JSON.stringify(index, null, 2)}\n`;
|
|
135
|
+
await fs.writeFile(indexPath, serialized, "utf8");
|
|
136
|
+
}
|
|
64
137
|
//# sourceMappingURL=validate-project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-project.js","sourceRoot":"","sources":["../src/validate-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAiC,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-project.js","sourceRoot":"","sources":["../src/validate-project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commentray/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./block-scroll-pickers": {
|
|
19
|
+
"types": "./dist/block-scroll-pickers.d.ts",
|
|
20
|
+
"import": "./dist/block-scroll-pickers.js"
|
|
17
21
|
}
|
|
18
22
|
},
|
|
19
23
|
"files": [
|
|
@@ -28,6 +32,6 @@
|
|
|
28
32
|
"@iarna/toml": "^2.2.5"
|
|
29
33
|
},
|
|
30
34
|
"devDependencies": {
|
|
31
|
-
"@types/node": "^
|
|
35
|
+
"@types/node": "^25.6.0"
|
|
32
36
|
}
|
|
33
37
|
}
|