emdash-emit 0.1.8 → 0.1.10
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 +132 -28
- package/dist/bin/emit.d.ts.map +1 -1
- package/dist/bin/emit.js +6 -0
- package/dist/bin/emit.js.map +1 -1
- package/dist/cli/commands/conflicts.d.ts +4 -0
- package/dist/cli/commands/conflicts.d.ts.map +1 -0
- package/dist/cli/commands/conflicts.js +153 -0
- package/dist/cli/commands/conflicts.js.map +1 -0
- package/dist/cli/commands/delete.d.ts +4 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +89 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +4 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +82 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +52 -22
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +67 -13
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/pull.d.ts +5 -0
- package/dist/cli/commands/pull.d.ts.map +1 -1
- package/dist/cli/commands/pull.js +119 -39
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +38 -1
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/status.d.ts +19 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +87 -5
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/context.d.ts +38 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +129 -16
- package/dist/cli/context.js.map +1 -1
- package/dist/client/auth.d.ts +1 -0
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js +1 -0
- package/dist/client/auth.js.map +1 -1
- package/dist/client/http.d.ts.map +1 -1
- package/dist/client/http.js +27 -10
- package/dist/client/http.js.map +1 -1
- package/dist/db/cache.d.ts +3 -0
- package/dist/db/cache.d.ts.map +1 -1
- package/dist/db/cache.js +39 -0
- package/dist/db/cache.js.map +1 -1
- package/dist/mcp/context.d.ts +8 -0
- package/dist/mcp/context.d.ts.map +1 -1
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +91 -15
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-errors.d.ts +16 -0
- package/dist/mcp/tool-errors.d.ts.map +1 -0
- package/dist/mcp/tool-errors.js +137 -0
- package/dist/mcp/tool-errors.js.map +1 -0
- package/dist/mcp/tools/profile.d.ts +9 -2
- package/dist/mcp/tools/profile.d.ts.map +1 -1
- package/dist/mcp/tools/profile.js +53 -36
- package/dist/mcp/tools/profile.js.map +1 -1
- package/dist/mcp/tools/sync-conflicts.d.ts +4 -0
- package/dist/mcp/tools/sync-conflicts.d.ts.map +1 -0
- package/dist/mcp/tools/sync-conflicts.js +100 -0
- package/dist/mcp/tools/sync-conflicts.js.map +1 -0
- package/dist/mcp/tools/sync-delete.d.ts +4 -0
- package/dist/mcp/tools/sync-delete.d.ts.map +1 -0
- package/dist/mcp/tools/sync-delete.js +77 -0
- package/dist/mcp/tools/sync-delete.js.map +1 -0
- package/dist/mcp/tools/sync-diff.d.ts.map +1 -1
- package/dist/mcp/tools/sync-diff.js +22 -8
- package/dist/mcp/tools/sync-diff.js.map +1 -1
- package/dist/mcp/tools/sync-doctor.d.ts +4 -0
- package/dist/mcp/tools/sync-doctor.d.ts.map +1 -0
- package/dist/mcp/tools/sync-doctor.js +57 -0
- package/dist/mcp/tools/sync-doctor.js.map +1 -0
- package/dist/mcp/tools/sync-new.d.ts.map +1 -1
- package/dist/mcp/tools/sync-new.js +49 -23
- package/dist/mcp/tools/sync-new.js.map +1 -1
- package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
- package/dist/mcp/tools/sync-pull.js +132 -73
- package/dist/mcp/tools/sync-pull.js.map +1 -1
- package/dist/mcp/tools/sync-push.d.ts.map +1 -1
- package/dist/mcp/tools/sync-push.js +39 -33
- package/dist/mcp/tools/sync-push.js.map +1 -1
- package/dist/mcp/tools/sync-status.d.ts.map +1 -1
- package/dist/mcp/tools/sync-status.js +103 -11
- package/dist/mcp/tools/sync-status.js.map +1 -1
- package/dist/sync/conflicts.d.ts +89 -0
- package/dist/sync/conflicts.d.ts.map +1 -0
- package/dist/sync/conflicts.js +374 -0
- package/dist/sync/conflicts.js.map +1 -0
- package/dist/sync/delete.d.ts +58 -0
- package/dist/sync/delete.d.ts.map +1 -0
- package/dist/sync/delete.js +221 -0
- package/dist/sync/delete.js.map +1 -0
- package/dist/sync/diff.d.ts.map +1 -1
- package/dist/sync/diff.js +6 -3
- package/dist/sync/diff.js.map +1 -1
- package/dist/sync/doctor.d.ts +31 -0
- package/dist/sync/doctor.d.ts.map +1 -0
- package/dist/sync/doctor.js +224 -0
- package/dist/sync/doctor.js.map +1 -0
- package/dist/sync/media.d.ts +22 -0
- package/dist/sync/media.d.ts.map +1 -1
- package/dist/sync/media.js +342 -94
- package/dist/sync/media.js.map +1 -1
- package/dist/sync/new.d.ts +31 -0
- package/dist/sync/new.d.ts.map +1 -1
- package/dist/sync/new.js +139 -2
- package/dist/sync/new.js.map +1 -1
- package/dist/sync/orchestrator.d.ts +6 -0
- package/dist/sync/orchestrator.d.ts.map +1 -1
- package/dist/sync/orchestrator.js +54 -27
- package/dist/sync/orchestrator.js.map +1 -1
- package/dist/sync/preflight.d.ts.map +1 -1
- package/dist/sync/preflight.js +29 -3
- package/dist/sync/preflight.js.map +1 -1
- package/dist/sync/pull.d.ts +51 -0
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +289 -58
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/push.d.ts +12 -0
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +69 -24
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/status.d.ts +21 -1
- package/dist/sync/status.d.ts.map +1 -1
- package/dist/sync/status.js +66 -6
- package/dist/sync/status.js.map +1 -1
- package/dist/sync/taxonomies.d.ts +14 -5
- package/dist/sync/taxonomies.d.ts.map +1 -1
- package/dist/sync/taxonomies.js +142 -9
- package/dist/sync/taxonomies.js.map +1 -1
- package/dist/utils/config.d.ts +23 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +41 -4
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +51 -2
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +234 -9
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/profile.d.ts +3 -3
- package/dist/utils/profile.d.ts.map +1 -1
- package/dist/utils/profile.js +105 -8
- package/dist/utils/profile.js.map +1 -1
- package/package.json +1 -1
package/dist/sync/taxonomies.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
import fs from 'node:fs';
|
|
23
23
|
import path from 'node:path';
|
|
24
24
|
import yaml from 'js-yaml';
|
|
25
|
-
import { sanitizeTitleForFilename } from '../utils/frontmatter.js';
|
|
25
|
+
import { formatYamlScalar, sanitizeTitleForFilename, } from '../utils/frontmatter.js';
|
|
26
26
|
import { ApiError } from '../client/error.js';
|
|
27
27
|
import { createAuthedFetch } from '../client/http.js';
|
|
28
28
|
import { unwrapEnvelope } from '../client/api.js';
|
|
@@ -201,12 +201,46 @@ export function loadLocalTaxonomyMaps(workspaceRoot) {
|
|
|
201
201
|
const toMaps = (items) => {
|
|
202
202
|
const slugToId = {};
|
|
203
203
|
const idToSlug = {};
|
|
204
|
-
|
|
204
|
+
const sorted = sortDeterministically(items);
|
|
205
|
+
// 1. Register canonical slugs first
|
|
206
|
+
for (const item of sorted) {
|
|
205
207
|
idToSlug[item.id] = item.slug;
|
|
206
208
|
if (!slugToId[item.slug]) {
|
|
207
209
|
slugToId[item.slug] = item.id;
|
|
208
210
|
}
|
|
209
211
|
}
|
|
212
|
+
// 2. Collect candidate aliases (decoded percent-encoded slug and human-readable name)
|
|
213
|
+
// Only register an alias if it does not collide with any canonical slug and maps uniquely to 1 term ID.
|
|
214
|
+
const aliasToIds = new Map();
|
|
215
|
+
const recordAliasCandidate = (alias, id) => {
|
|
216
|
+
if (!alias || !alias.trim())
|
|
217
|
+
return;
|
|
218
|
+
const trimmed = alias.trim();
|
|
219
|
+
let set = aliasToIds.get(trimmed);
|
|
220
|
+
if (!set) {
|
|
221
|
+
set = new Set();
|
|
222
|
+
aliasToIds.set(trimmed, set);
|
|
223
|
+
}
|
|
224
|
+
set.add(id);
|
|
225
|
+
};
|
|
226
|
+
for (const item of sorted) {
|
|
227
|
+
recordAliasCandidate(item.name, item.id);
|
|
228
|
+
if (item.slug.includes('%')) {
|
|
229
|
+
try {
|
|
230
|
+
const decoded = decodeURIComponent(item.slug);
|
|
231
|
+
recordAliasCandidate(decoded, item.id);
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
// Ignore malformed percent-encoding (URIError)
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
for (const [alias, ids] of aliasToIds.entries()) {
|
|
239
|
+
if (!slugToId[alias] && ids.size === 1) {
|
|
240
|
+
const [uniqueId] = ids;
|
|
241
|
+
slugToId[alias] = uniqueId;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
210
244
|
return { slugToId, idToSlug };
|
|
211
245
|
};
|
|
212
246
|
const catMap = toMaps(catItems);
|
|
@@ -223,13 +257,38 @@ export function loadLocalTaxonomyMaps(workspaceRoot) {
|
|
|
223
257
|
};
|
|
224
258
|
}
|
|
225
259
|
/**
|
|
226
|
-
* Loads local taxonomy candidate names (slugs) from categories/ and tags/ directories.
|
|
260
|
+
* Loads local taxonomy candidate names (slugs and slug-to-name mapping) from categories/ and tags/ directories.
|
|
261
|
+
* Single source of truth for taxonomy candidate resolution across pull, push, and diff.
|
|
227
262
|
*/
|
|
228
263
|
export function loadLocalTaxonomyCandidates(workspaceRoot) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
264
|
+
try {
|
|
265
|
+
const summary = getLocalTaxonomiesSummary(workspaceRoot);
|
|
266
|
+
const catMap = {};
|
|
267
|
+
for (const c of summary.categories) {
|
|
268
|
+
if (c.name && c.slug)
|
|
269
|
+
catMap[c.slug] = c.name;
|
|
270
|
+
}
|
|
271
|
+
const tagMap = {};
|
|
272
|
+
for (const t of summary.tags) {
|
|
273
|
+
if (t.name && t.slug)
|
|
274
|
+
tagMap[t.slug] = t.name;
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
categories: Array.from(new Set(summary.categories.map((c) => c.slug))),
|
|
278
|
+
tags: Array.from(new Set(summary.tags.map((t) => t.slug))),
|
|
279
|
+
slugToName: {
|
|
280
|
+
category: catMap,
|
|
281
|
+
tag: tagMap,
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
return {
|
|
287
|
+
categories: [],
|
|
288
|
+
tags: [],
|
|
289
|
+
slugToName: { category: {}, tag: {} },
|
|
290
|
+
};
|
|
291
|
+
}
|
|
233
292
|
}
|
|
234
293
|
/**
|
|
235
294
|
* Reads local categories/ and tags/ YAML definitions and returns structured summary.
|
|
@@ -278,9 +337,10 @@ export function formatTaxonomiesHint(summary, options) {
|
|
|
278
337
|
const maxCategories = options?.maxCategories ?? DEFAULT_MAX_CATEGORIES;
|
|
279
338
|
const maxTags = options?.maxTags ?? DEFAULT_MAX_TAGS;
|
|
280
339
|
const formatItem = (item) => {
|
|
340
|
+
const formattedSlug = formatYamlScalar(item.slug);
|
|
281
341
|
return item.slug.toLowerCase() === item.name.toLowerCase()
|
|
282
|
-
?
|
|
283
|
-
: `${
|
|
342
|
+
? formattedSlug
|
|
343
|
+
: `${formattedSlug} (${item.name})`;
|
|
284
344
|
};
|
|
285
345
|
const sections = [];
|
|
286
346
|
if (summary.categories.length > 0 && maxCategories > 0) {
|
|
@@ -299,4 +359,77 @@ export function formatTaxonomiesHint(summary, options) {
|
|
|
299
359
|
}
|
|
300
360
|
return sections.join('\n\n');
|
|
301
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Calculates Levenshtein distance between two strings using dynamic programming.
|
|
364
|
+
*/
|
|
365
|
+
export function levenshteinDistance(a, b) {
|
|
366
|
+
const m = a.length;
|
|
367
|
+
const n = b.length;
|
|
368
|
+
if (m === 0)
|
|
369
|
+
return n;
|
|
370
|
+
if (n === 0)
|
|
371
|
+
return m;
|
|
372
|
+
let prevRow = new Array(n + 1);
|
|
373
|
+
let currRow = new Array(n + 1);
|
|
374
|
+
for (let j = 0; j <= n; j++) {
|
|
375
|
+
prevRow[j] = j;
|
|
376
|
+
}
|
|
377
|
+
for (let i = 1; i <= m; i++) {
|
|
378
|
+
currRow[0] = i;
|
|
379
|
+
const aChar = a.charCodeAt(i - 1);
|
|
380
|
+
for (let j = 1; j <= n; j++) {
|
|
381
|
+
const bChar = b.charCodeAt(j - 1);
|
|
382
|
+
const cost = aChar === bChar ? 0 : 1;
|
|
383
|
+
currRow[j] = Math.min(currRow[j - 1] + 1, // insertion
|
|
384
|
+
prevRow[j] + 1, // deletion
|
|
385
|
+
prevRow[j - 1] + cost);
|
|
386
|
+
}
|
|
387
|
+
const temp = prevRow;
|
|
388
|
+
prevRow = currRow;
|
|
389
|
+
currRow = temp;
|
|
390
|
+
}
|
|
391
|
+
return prevRow[n];
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Searches local taxonomy items for the closest candidates to an unrecognized input term,
|
|
395
|
+
* prioritizing exact prefixes, substrings, and edit distance.
|
|
396
|
+
* Returns formatted suggestions (e.g. `未分類 -> "%e6%9c%aa%e5%88%86%e9%a1%9e"` or `"diary"`).
|
|
397
|
+
*/
|
|
398
|
+
export function findClosestTaxonomySuggestions(input, items, maxSuggestions = 3) {
|
|
399
|
+
const lowerInput = input.trim().toLowerCase();
|
|
400
|
+
const scored = items.map((item) => {
|
|
401
|
+
const rawName = (item.name || '').trim();
|
|
402
|
+
const lowerName = rawName.toLowerCase();
|
|
403
|
+
const lowerSlug = item.slug.toLowerCase();
|
|
404
|
+
let bestDist = Math.min(levenshteinDistance(lowerInput, lowerSlug), lowerName ? levenshteinDistance(lowerInput, lowerName) : Infinity);
|
|
405
|
+
// Boost if prefix or substring match
|
|
406
|
+
if (lowerName.startsWith(lowerInput) || lowerSlug.startsWith(lowerInput)) {
|
|
407
|
+
bestDist -= 3;
|
|
408
|
+
}
|
|
409
|
+
else if (lowerName.includes(lowerInput) || lowerSlug.includes(lowerInput)) {
|
|
410
|
+
bestDist -= 1.5;
|
|
411
|
+
}
|
|
412
|
+
let display;
|
|
413
|
+
if (rawName && lowerName !== lowerSlug) {
|
|
414
|
+
display = `${rawName} -> ${formatYamlScalar(item.slug)}`;
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
display = formatYamlScalar(item.slug);
|
|
418
|
+
}
|
|
419
|
+
return { display, dist: bestDist };
|
|
420
|
+
});
|
|
421
|
+
scored.sort((a, b) => a.dist - b.dist);
|
|
422
|
+
// Deduplicate displays while maintaining top ranking
|
|
423
|
+
const uniqueDisplays = [];
|
|
424
|
+
const seen = new Set();
|
|
425
|
+
for (const s of scored) {
|
|
426
|
+
if (!seen.has(s.display)) {
|
|
427
|
+
seen.add(s.display);
|
|
428
|
+
uniqueDisplays.push(s.display);
|
|
429
|
+
if (uniqueDisplays.length >= maxSuggestions)
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
return uniqueDisplays;
|
|
434
|
+
}
|
|
302
435
|
//# sourceMappingURL=taxonomies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taxonomies.js","sourceRoot":"","sources":["../../src/sync/taxonomies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taxonomies.js","sourceRoot":"","sources":["../../src/sync/taxonomies.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export interface EmitConfig {
|
|
2
|
+
/** Origin written in `.emit/config.json`, or DEFAULT_ORIGIN when unset. Never mixed with env. */
|
|
2
3
|
origin: string;
|
|
3
4
|
defaultCollection: string;
|
|
4
5
|
defaultLocale: string;
|
|
@@ -6,11 +7,33 @@ export interface EmitConfig {
|
|
|
6
7
|
postsSyncLimit?: number;
|
|
7
8
|
mediaSyncLimit?: number;
|
|
8
9
|
concurrency?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Package version that initialized this workspace.
|
|
12
|
+
*/
|
|
13
|
+
createdWithVersion?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Package version of the most recent successful pull or push operation.
|
|
16
|
+
*/
|
|
17
|
+
lastSyncedVersion?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Runtime-only view of `EMDASH_ORIGIN`, kept separate from `origin` so diagnostics can state
|
|
20
|
+
* which source a value came from. Never persisted by `initWorkspace`.
|
|
21
|
+
*/
|
|
22
|
+
envOrigin?: string;
|
|
9
23
|
}
|
|
24
|
+
export declare const DEFAULT_ORIGIN = "https://example.com";
|
|
25
|
+
/**
|
|
26
|
+
* Returns the trimmed `EMDASH_ORIGIN` override, or undefined when unset.
|
|
27
|
+
*/
|
|
28
|
+
export declare function getEnvOrigin(): string | undefined;
|
|
10
29
|
/**
|
|
11
30
|
* Initializes a new .emit workspace directory with default config.
|
|
12
31
|
*/
|
|
13
32
|
export declare function initWorkspace(workspaceRoot: string, initialConfig?: Partial<EmitConfig>): void;
|
|
33
|
+
/**
|
|
34
|
+
* Updates `lastSyncedVersion` in `.emit/config.json` after a successful sync operation.
|
|
35
|
+
*/
|
|
36
|
+
export declare function updateConfigSyncedVersion(workspaceRoot: string, version?: string): void;
|
|
14
37
|
/**
|
|
15
38
|
* Loads the EmitConfig from the active workspace.
|
|
16
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,UAAU;IACzB,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAGjD;AAWD;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAqB9F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBvF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,CA6B7D"}
|
package/dist/utils/config.js
CHANGED
|
@@ -22,8 +22,17 @@
|
|
|
22
22
|
import fs from 'node:fs';
|
|
23
23
|
import path from 'node:path';
|
|
24
24
|
import { getWorkspacePaths, requireWorkspaceRoot } from './workspace.js';
|
|
25
|
+
import { getPackageVersion } from './version.js';
|
|
26
|
+
export const DEFAULT_ORIGIN = 'https://example.com';
|
|
27
|
+
/**
|
|
28
|
+
* Returns the trimmed `EMDASH_ORIGIN` override, or undefined when unset.
|
|
29
|
+
*/
|
|
30
|
+
export function getEnvOrigin() {
|
|
31
|
+
const value = process.env.EMDASH_ORIGIN?.trim();
|
|
32
|
+
return value ? value : undefined;
|
|
33
|
+
}
|
|
25
34
|
const DEFAULT_CONFIG = {
|
|
26
|
-
origin:
|
|
35
|
+
origin: DEFAULT_ORIGIN,
|
|
27
36
|
defaultCollection: 'posts',
|
|
28
37
|
defaultLocale: 'ja',
|
|
29
38
|
postsSyncLimit: 100,
|
|
@@ -42,38 +51,66 @@ export function initWorkspace(workspaceRoot, initialConfig) {
|
|
|
42
51
|
const postsPublishedDir = path.join(paths.postsDir, 'published');
|
|
43
52
|
fs.mkdirSync(postsDraftDir, { recursive: true });
|
|
44
53
|
fs.mkdirSync(postsPublishedDir, { recursive: true });
|
|
54
|
+
const currentVersion = getPackageVersion();
|
|
45
55
|
const config = {
|
|
46
56
|
...DEFAULT_CONFIG,
|
|
57
|
+
createdWithVersion: currentVersion,
|
|
58
|
+
lastSyncedVersion: currentVersion,
|
|
47
59
|
...initialConfig,
|
|
48
60
|
};
|
|
49
61
|
fs.writeFileSync(paths.configPath, JSON.stringify(config, null, 2), 'utf8');
|
|
50
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Updates `lastSyncedVersion` in `.emit/config.json` after a successful sync operation.
|
|
65
|
+
*/
|
|
66
|
+
export function updateConfigSyncedVersion(workspaceRoot, version) {
|
|
67
|
+
try {
|
|
68
|
+
const paths = getWorkspacePaths(workspaceRoot);
|
|
69
|
+
if (!fs.existsSync(paths.configPath))
|
|
70
|
+
return;
|
|
71
|
+
const raw = fs.readFileSync(paths.configPath, 'utf8');
|
|
72
|
+
const parsed = JSON.parse(raw);
|
|
73
|
+
const currentVersion = version || getPackageVersion();
|
|
74
|
+
parsed.lastSyncedVersion = currentVersion;
|
|
75
|
+
if (!parsed.createdWithVersion) {
|
|
76
|
+
parsed.createdWithVersion = currentVersion;
|
|
77
|
+
}
|
|
78
|
+
fs.writeFileSync(paths.configPath, JSON.stringify(parsed, null, 2), 'utf8');
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// Non-fatal if config update fails
|
|
82
|
+
}
|
|
83
|
+
}
|
|
51
84
|
/**
|
|
52
85
|
* Loads the EmitConfig from the active workspace.
|
|
53
86
|
*/
|
|
54
87
|
export function loadConfig(workspaceRoot) {
|
|
55
88
|
const root = workspaceRoot || requireWorkspaceRoot();
|
|
56
89
|
const paths = getWorkspacePaths(root);
|
|
90
|
+
const envOrigin = getEnvOrigin();
|
|
57
91
|
if (!fs.existsSync(paths.configPath)) {
|
|
58
92
|
return {
|
|
59
93
|
...DEFAULT_CONFIG,
|
|
60
|
-
|
|
94
|
+
envOrigin,
|
|
61
95
|
};
|
|
62
96
|
}
|
|
63
97
|
try {
|
|
64
98
|
const raw = fs.readFileSync(paths.configPath, 'utf8');
|
|
65
99
|
const parsed = JSON.parse(raw);
|
|
66
100
|
return {
|
|
67
|
-
origin:
|
|
101
|
+
origin: parsed.origin || DEFAULT_CONFIG.origin,
|
|
68
102
|
defaultCollection: parsed.defaultCollection || DEFAULT_CONFIG.defaultCollection,
|
|
69
103
|
defaultLocale: parsed.defaultLocale || DEFAULT_CONFIG.defaultLocale,
|
|
70
104
|
postsSyncLimit: parsed.postsSyncLimit || DEFAULT_CONFIG.postsSyncLimit,
|
|
71
105
|
mediaSyncLimit: parsed.mediaSyncLimit || DEFAULT_CONFIG.mediaSyncLimit,
|
|
72
106
|
concurrency: parsed.concurrency || DEFAULT_CONFIG.concurrency,
|
|
107
|
+
createdWithVersion: parsed.createdWithVersion,
|
|
108
|
+
lastSyncedVersion: parsed.lastSyncedVersion,
|
|
109
|
+
envOrigin,
|
|
73
110
|
};
|
|
74
111
|
}
|
|
75
112
|
catch {
|
|
76
|
-
return DEFAULT_CONFIG;
|
|
113
|
+
return { ...DEFAULT_CONFIG, envOrigin };
|
|
77
114
|
}
|
|
78
115
|
}
|
|
79
116
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,17 +90,66 @@ export interface TaxonomyCandidates {
|
|
|
90
90
|
categories?: string[];
|
|
91
91
|
tags?: string[];
|
|
92
92
|
bylines?: string[];
|
|
93
|
-
|
|
93
|
+
slugToName?: {
|
|
94
|
+
category?: Record<string, string>;
|
|
95
|
+
tag?: Record<string, string>;
|
|
96
|
+
[key: string]: Record<string, string> | undefined;
|
|
97
|
+
};
|
|
98
|
+
[key: string]: string[] | {
|
|
99
|
+
[k: string]: Record<string, string> | undefined;
|
|
100
|
+
} | undefined;
|
|
94
101
|
}
|
|
95
102
|
export interface ParsedMarkdown {
|
|
96
103
|
frontmatter: Frontmatter;
|
|
97
104
|
body: string;
|
|
98
105
|
rawYaml: string;
|
|
99
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Error thrown when frontmatter parsing or schema validation fails.
|
|
109
|
+
* Captures the file path, error line if available, and actionable hints for repair.
|
|
110
|
+
*/
|
|
111
|
+
export declare class FrontmatterParseError extends Error {
|
|
112
|
+
readonly code = "FRONTMATTER_PARSE_ERROR";
|
|
113
|
+
readonly filePath?: string;
|
|
114
|
+
readonly reason: string;
|
|
115
|
+
readonly suggestion: string;
|
|
116
|
+
readonly line?: number;
|
|
117
|
+
constructor(options: {
|
|
118
|
+
message: string;
|
|
119
|
+
filePath?: string;
|
|
120
|
+
reason: string;
|
|
121
|
+
suggestion?: string;
|
|
122
|
+
line?: number;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
100
125
|
/**
|
|
101
126
|
* Parses markdown text into validated frontmatter and body.
|
|
102
127
|
*/
|
|
103
|
-
export declare function parseMarkdown(content: string): ParsedMarkdown;
|
|
128
|
+
export declare function parseMarkdown(content: string, filePath?: string): ParsedMarkdown;
|
|
129
|
+
/**
|
|
130
|
+
* Formats a parseMarkdown error (js-yaml YAMLException or ZodError) into a concise 1-line summary.
|
|
131
|
+
* Prevents ZodError's multi-line JSON array `.message` from truncating to `"["`.
|
|
132
|
+
*/
|
|
133
|
+
export declare function formatFrontmatterParseError(err: unknown): string;
|
|
134
|
+
/**
|
|
135
|
+
* Formats a scalar string for YAML frontmatter.
|
|
136
|
+
* Keeps safe plain scalars (ASCII/CJK slugs, standard ULIDs) unquoted to preserve
|
|
137
|
+
* baseline hash compatibility, while quoting %-prefixed strings, numbers, dates,
|
|
138
|
+
* reserved literals, and strings containing special YAML characters via JSON.stringify.
|
|
139
|
+
*/
|
|
140
|
+
export declare function formatYamlScalar(value: string): string;
|
|
141
|
+
/**
|
|
142
|
+
* Attempts lenient regex-based syntax repair on raw Markdown whose frontmatter fails js-yaml parsing.
|
|
143
|
+
* Restricted strictly to:
|
|
144
|
+
* 1. Quoting unquoted scalars starting with "%" or containing special characters on array elements (`- %...`) or slug lines (`slug: %...`).
|
|
145
|
+
* Preserves any trailing comments (e.g. `slug: %... # comment` or `- %... # comment`) so values are not polluted.
|
|
146
|
+
* 2. Fixing minor indentation on taxonomy/byline sequence element lines (`- <item>`) strictly within taxonomy/byline blocks.
|
|
147
|
+
*
|
|
148
|
+
* Guaranteed NEVER to alter the Markdown body, change keys/values, or mutate newline formats (CRLF/LF).
|
|
149
|
+
* Returns the repaired Markdown string, or null if lenient repair could not produce valid frontmatter
|
|
150
|
+
* or if values/meaning were altered.
|
|
151
|
+
*/
|
|
152
|
+
export declare function lenientRepairMarkdownFrontmatter(content: string): string | null;
|
|
104
153
|
/**
|
|
105
154
|
* Formats a frontmatter object into clean YAML with helpful candidate comments.
|
|
106
155
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3F;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EASA;CACF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAsDhF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBhE;AAcD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2H/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAmEhG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,GAC9B,MAAM,CAIR;AAED,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|