@iwonz/ywtc 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +47 -45
- package/dist/adapters/confluence.js +19 -4
- package/dist/adapters/confluence.js.map +1 -1
- package/dist/adapters/yandex.d.ts +7 -8
- package/dist/adapters/yandex.js +68 -22
- package/dist/adapters/yandex.js.map +1 -1
- package/dist/cli-arguments.d.ts +3 -2
- package/dist/cli-arguments.js +42 -37
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli.js +19 -142
- package/dist/cli.js.map +1 -1
- package/dist/clients/yandex-wiki.js +2 -6
- package/dist/clients/yandex-wiki.js.map +1 -1
- package/dist/consistency.d.ts +1 -1
- package/dist/consistency.js +6 -1
- package/dist/consistency.js.map +1 -1
- package/dist/content-model.d.ts +1 -0
- package/dist/content-model.js +118 -37
- package/dist/content-model.js.map +1 -1
- package/dist/conversion.d.ts +2 -0
- package/dist/conversion.js +42 -17
- package/dist/conversion.js.map +1 -1
- package/dist/domain.d.ts +22 -2
- package/dist/domain.js +10 -0
- package/dist/domain.js.map +1 -1
- package/dist/exclusive-lease.d.ts +14 -0
- package/dist/exclusive-lease.js +87 -0
- package/dist/exclusive-lease.js.map +1 -0
- package/dist/filesystem-export.d.ts +2 -0
- package/dist/filesystem-export.js +188 -167
- package/dist/filesystem-export.js.map +1 -1
- package/dist/graph.js +4 -4
- package/dist/graph.js.map +1 -1
- package/dist/http.js +1 -1
- package/dist/http.js.map +1 -1
- package/dist/interactive-config.js +55 -3
- package/dist/interactive-config.js.map +1 -1
- package/dist/interactive-init.d.ts +3 -3
- package/dist/interactive-init.js +7 -5
- package/dist/interactive-init.js.map +1 -1
- package/dist/interactive-migrate.d.ts +23 -0
- package/dist/interactive-migrate.js +578 -0
- package/dist/interactive-migrate.js.map +1 -0
- package/dist/issues.d.ts +1 -1
- package/dist/migration-command.d.ts +19 -0
- package/dist/migration-command.js +160 -0
- package/dist/migration-command.js.map +1 -0
- package/dist/migrator.js +439 -311
- package/dist/migrator.js.map +1 -1
- package/dist/report-catalog.d.ts +4 -0
- package/dist/report-catalog.js +4 -0
- package/dist/report-catalog.js.map +1 -1
- package/dist/report-contract.d.ts +6 -0
- package/dist/report-contract.js.map +1 -1
- package/dist/report-ui/index.html +19 -25
- package/dist/report.js +33 -22
- package/dist/report.js.map +1 -1
- package/dist/state.d.ts +16 -0
- package/dist/state.js +58 -32
- package/dist/state.js.map +1 -1
- package/dist/{init-prompts.d.ts → wizard-prompts.d.ts} +2 -2
- package/dist/{init-prompts.js → wizard-prompts.js} +3 -3
- package/dist/wizard-prompts.js.map +1 -0
- package/package.json +3 -7
- package/dist/init-prompts.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yandex-wiki.js","sourceRoot":"","sources":["../../src/clients/yandex-wiki.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yandex-wiki.js","sourceRoot":"","sources":["../../src/clients/yandex-wiki.ts"],"names":[],"mappings":"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"}
|
package/dist/consistency.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DestinationAdapter, type DestinationPage } from './domain.js';
|
|
2
2
|
export declare class ConfirmedDestinationMissingError extends Error {
|
|
3
3
|
readonly page: DestinationPage;
|
|
4
4
|
constructor(page: DestinationPage, options?: ErrorOptions);
|
package/dist/consistency.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DestinationOwnershipConflictError } from './domain.js';
|
|
1
2
|
import { HttpRequestError } from './http.js';
|
|
2
3
|
const CONSISTENCY_DELAYS_MS = [500, 1_000, 2_000, 4_000, 8_000];
|
|
3
4
|
export class ConfirmedDestinationMissingError extends Error {
|
|
@@ -19,7 +20,11 @@ export async function verifyConfirmedDestinationPage(adapter, page, options = {}
|
|
|
19
20
|
let lastError;
|
|
20
21
|
for (let attempt = 0; attempt <= CONSISTENCY_DELAYS_MS.length; attempt += 1) {
|
|
21
22
|
try {
|
|
22
|
-
|
|
23
|
+
const verified = await adapter.verifyPage(page);
|
|
24
|
+
if (verified.id !== page.id) {
|
|
25
|
+
throw new DestinationOwnershipConflictError('immutable-id-mismatch', [page.id, verified.id], `Destination returned immutable page ID ${verified.id} while verifying mapped ID ${page.id}`);
|
|
26
|
+
}
|
|
27
|
+
return verified;
|
|
23
28
|
}
|
|
24
29
|
catch (error) {
|
|
25
30
|
if (!isNotFoundError(error))
|
package/dist/consistency.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consistency.js","sourceRoot":"","sources":["../src/consistency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consistency.js","sourceRoot":"","sources":["../src/consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iCAAiC,EAAgD,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAE3C,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAEzE,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACpC;IAArB,YAAqB,IAAqB,EAAE,OAAsB;QAChE,KAAK,CAAC,yCAAyC,IAAI,CAAC,EAAE,iDAAiD,EAAE,OAAO,CAAC,CAAC;QAD/F,SAAI,GAAJ,IAAI,CAAiB;QAExC,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,gBAAgB;QACtC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG;QACtB,CAAC,CAAC,yDAAyD,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7H,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAA2B,EAC3B,IAAqB,EACrB,UAAmC,EAAE;IAErC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IAC7C,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,iCAAiC,CACzC,uBAAuB,EACvB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EACtB,0CAA0C,QAAQ,CAAC,EAAE,8BAA8B,IAAI,CAAC,EAAE,EAAE,CAC7F,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACzC,SAAS,GAAG,KAAK,CAAC;YAClB,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,gCAAgC,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;AACvE,CAAC"}
|
package/dist/content-model.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare function semanticContentFingerprint(body: string, provider: Sourc
|
|
|
17
17
|
export interface ContentVerificationResult {
|
|
18
18
|
status: 'complete' | 'partial' | 'failed';
|
|
19
19
|
differences: string[];
|
|
20
|
+
adaptations: string[];
|
|
20
21
|
}
|
|
21
22
|
export declare function verifyDestinationContent(expectedBody: string, actualBody: string | undefined, provider: SourcePage['provider'], page: SourcePage): ContentVerificationResult;
|
|
22
23
|
export declare function assertDestinationContent(expectedBody: string, actualBody: string | undefined, provider: SourcePage['provider'], page: SourcePage): ContentVerificationResult;
|
package/dist/content-model.js
CHANGED
|
@@ -17,6 +17,23 @@ const linkifier = new LinkifyIt();
|
|
|
17
17
|
function sha256(value) {
|
|
18
18
|
return createHash('sha256').update(value).digest('hex');
|
|
19
19
|
}
|
|
20
|
+
function transformationNotices(input) {
|
|
21
|
+
const make = (kind, message) => ({
|
|
22
|
+
code: `${kind}:${sha256(message).slice(0, 12)}`,
|
|
23
|
+
kind,
|
|
24
|
+
message,
|
|
25
|
+
verification: kind === 'normalization'
|
|
26
|
+
? 'semantic-content-equivalence'
|
|
27
|
+
: kind === 'adaptation'
|
|
28
|
+
? 'payload-preserved'
|
|
29
|
+
: 'full-representation-unverified',
|
|
30
|
+
});
|
|
31
|
+
return [
|
|
32
|
+
...(input.normalizations ?? []).map((message) => make('normalization', message)),
|
|
33
|
+
...(input.adaptations ?? []).map((message) => make('adaptation', message)),
|
|
34
|
+
...(input.degradations ?? []).map((message) => make('degradation', message)),
|
|
35
|
+
];
|
|
36
|
+
}
|
|
20
37
|
function escapeHtml(value) {
|
|
21
38
|
return String(value ?? '').replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('"', '"');
|
|
22
39
|
}
|
|
@@ -210,7 +227,7 @@ const confluenceLayoutCellCounts = new Map([
|
|
|
210
227
|
['three_equal', 3],
|
|
211
228
|
['three_with_sidebars', 3],
|
|
212
229
|
]);
|
|
213
|
-
function storageToSemanticHtml(storage, warnings) {
|
|
230
|
+
function storageToSemanticHtml(storage, warnings, adaptations = []) {
|
|
214
231
|
const $ = load(`<main data-ywtc-root>${storage}</main>`, { xmlMode: false }, false);
|
|
215
232
|
$('script, iframe, object, embed, form').each((_index, element) => {
|
|
216
233
|
warnings.push(`Active or embedded element <${element.tagName}> was replaced by a safe fallback`);
|
|
@@ -219,7 +236,7 @@ function storageToSemanticHtml(storage, warnings) {
|
|
|
219
236
|
$('ac\\:layout').toArray().reverse().forEach((element) => {
|
|
220
237
|
const layout = $(element);
|
|
221
238
|
if (layout.parents('ac\\:layout').length > 0)
|
|
222
|
-
|
|
239
|
+
adaptations.push('Nested Confluence layout was preserved as readable nested sections');
|
|
223
240
|
const sections = layout.children('ac\\:layout-section').toArray().map((section) => {
|
|
224
241
|
const item = $(section);
|
|
225
242
|
const requestedType = item.attr('ac:type') ?? 'unsupported';
|
|
@@ -227,7 +244,7 @@ function storageToSemanticHtml(storage, warnings) {
|
|
|
227
244
|
const cells = item.children('ac\\:layout-cell').toArray();
|
|
228
245
|
const sectionType = expectedCells === cells.length ? requestedType : 'unsupported';
|
|
229
246
|
if (sectionType === 'unsupported') {
|
|
230
|
-
|
|
247
|
+
adaptations.push(`Confluence layout section "${requestedType}" with ${cells.length} cells was preserved with equivalent cell content and adaptive widths`);
|
|
231
248
|
}
|
|
232
249
|
const body = cells.map((cell) => `<div class="ywtc-layout-cell">${$(cell).html() ?? ''}</div>`).join('');
|
|
233
250
|
return `<section class="ywtc-layout-section ywtc-layout-${escapeHtml(sectionType)} ywtc-layout-columns-${cells.length}" data-ywtc-layout-type="${escapeHtml(sectionType)}">${body}</section>`;
|
|
@@ -277,7 +294,11 @@ function storageToSemanticHtml(storage, warnings) {
|
|
|
277
294
|
const attachment = image.children('ri\\:attachment').attr('ri:filename');
|
|
278
295
|
const external = image.children('ri\\:url').attr('ri:value');
|
|
279
296
|
const source = attachment ? `attachment:${attachment}` : external;
|
|
280
|
-
|
|
297
|
+
const dimensions = [
|
|
298
|
+
image.attr('ac:width') ? ` width="${escapeHtml(image.attr('ac:width'))}"` : '',
|
|
299
|
+
image.attr('ac:height') ? ` height="${escapeHtml(image.attr('ac:height'))}"` : '',
|
|
300
|
+
].join('');
|
|
301
|
+
image.replaceWith(source ? `<img src="${escapeHtml(source)}" alt="${escapeHtml(image.attr('ac:alt') ?? attachment ?? '')}"${dimensions}>` : '<span>[image]</span>');
|
|
281
302
|
});
|
|
282
303
|
$('ac\\:link').each((_index, element) => {
|
|
283
304
|
const link = $(element);
|
|
@@ -422,7 +443,7 @@ function yfmToHtml(content, warnings, normalizations = []) {
|
|
|
422
443
|
}
|
|
423
444
|
function metrics(html) {
|
|
424
445
|
const $ = load(html, null, false);
|
|
425
|
-
return { links: $('a').length, images: $('img').length, tables: $('table').length, codeBlocks: $('pre').length };
|
|
446
|
+
return { links: $('a').length, images: $('img').length, tables: $('table').length, codeBlocks: $('pre').length, preservedExternalReferences: 0 };
|
|
426
447
|
}
|
|
427
448
|
function normalizedNodesFromHtml(html, provider) {
|
|
428
449
|
const $ = load(`<main data-ywtc-nodes>${html}</main>`, null, false);
|
|
@@ -469,8 +490,9 @@ function semanticallyEmptyHtml(html) {
|
|
|
469
490
|
export function normalizePageContent(page) {
|
|
470
491
|
const warnings = [];
|
|
471
492
|
const normalizations = [];
|
|
493
|
+
const adaptations = [];
|
|
472
494
|
const tree = page.rawFormat === 'yfm' ? extractTreeDirectives(page.rawContent) : { content: page.rawContent, directives: [] };
|
|
473
|
-
const html = page.rawFormat === 'yfm' ? yfmToHtml(tree.content, warnings, normalizations) : storageToSemanticHtml(page.rawContent, warnings);
|
|
495
|
+
const html = page.rawFormat === 'yfm' ? yfmToHtml(tree.content, warnings, normalizations) : storageToSemanticHtml(page.rawContent, warnings, adaptations);
|
|
474
496
|
const references = extractPageReferences(page.rawContent, page.rawFormat).map((reference, index) => ({
|
|
475
497
|
token: `ref-${index}`,
|
|
476
498
|
kind: reference.kind,
|
|
@@ -498,6 +520,8 @@ export function normalizePageContent(page) {
|
|
|
498
520
|
references,
|
|
499
521
|
warnings,
|
|
500
522
|
normalizations,
|
|
523
|
+
adaptations,
|
|
524
|
+
notices: transformationNotices({ normalizations, adaptations, degradations: warnings }),
|
|
501
525
|
degraded: warnings.length > 0,
|
|
502
526
|
semanticallyEmpty: tree.directives.length === 0 && semanticallyEmptyHtml(html),
|
|
503
527
|
metrics: metrics(html),
|
|
@@ -533,10 +557,11 @@ export function appendGridSnapshots(document, resources) {
|
|
|
533
557
|
htmlNode.value = `${htmlNode.value ?? ''}${html}`;
|
|
534
558
|
else
|
|
535
559
|
document.root.children?.push({ type: 'html', value: html });
|
|
560
|
+
const adaptations = [...document.adaptations, ...grids.map((resource) => `Dynamic table "${resource.name}" was converted to a static table`)];
|
|
536
561
|
return {
|
|
537
562
|
...document,
|
|
538
|
-
|
|
539
|
-
|
|
563
|
+
adaptations,
|
|
564
|
+
notices: transformationNotices({ normalizations: document.normalizations, adaptations, degradations: document.warnings }),
|
|
540
565
|
semanticallyEmpty: false,
|
|
541
566
|
metrics: { ...document.metrics, tables: document.metrics.tables + grids.length },
|
|
542
567
|
};
|
|
@@ -568,7 +593,7 @@ function linearizeLayoutsForMarkdown(html) {
|
|
|
568
593
|
return { html: $.html(), layouts };
|
|
569
594
|
}
|
|
570
595
|
async function semanticHtmlToYfm(html) {
|
|
571
|
-
const
|
|
596
|
+
const adaptations = new Set();
|
|
572
597
|
let tokenSequence = 0;
|
|
573
598
|
const convert = async (fragment) => {
|
|
574
599
|
const $ = load(fragment, null, false);
|
|
@@ -584,7 +609,7 @@ async function semanticHtmlToYfm(html) {
|
|
|
584
609
|
const sectionItem = $(section);
|
|
585
610
|
const sectionType = sectionItem.attr('data-ywtc-layout-type') ?? 'unsupported';
|
|
586
611
|
if (['two_left_sidebar', 'two_right_sidebar', 'three_with_sidebars', 'unsupported'].includes(sectionType)) {
|
|
587
|
-
|
|
612
|
+
adaptations.add(`Confluence ${sectionType} layout widths were converted to equal YFM columns`);
|
|
588
613
|
}
|
|
589
614
|
const blocks = [];
|
|
590
615
|
for (const cell of sectionItem.children('.ywtc-layout-cell').toArray()) {
|
|
@@ -640,7 +665,7 @@ async function semanticHtmlToYfm(html) {
|
|
|
640
665
|
markdown = markdown.replaceAll(token, rendered);
|
|
641
666
|
return markdown.trim();
|
|
642
667
|
};
|
|
643
|
-
return { body: `${await convert(html)}\n`,
|
|
668
|
+
return { body: `${await convert(html)}\n`, adaptations: [...adaptations] };
|
|
644
669
|
}
|
|
645
670
|
async function sanitizeHtml(html) {
|
|
646
671
|
const parsed = load(html, null, false);
|
|
@@ -704,6 +729,19 @@ function markdownFence(value) {
|
|
|
704
729
|
}
|
|
705
730
|
export function rawContentFallback(page, provider, reason) {
|
|
706
731
|
const warning = `Preferred rendering failed; complete raw source is shown instead: ${reason}`;
|
|
732
|
+
if (!page.rawContent.trim()) {
|
|
733
|
+
const normalizations = ['Preserved an intentionally empty source page'];
|
|
734
|
+
return {
|
|
735
|
+
body: provider === 'confluence' ? '<p></p>' : '',
|
|
736
|
+
warnings: [],
|
|
737
|
+
normalizations,
|
|
738
|
+
adaptations: [],
|
|
739
|
+
notices: transformationNotices({ normalizations }),
|
|
740
|
+
degraded: false,
|
|
741
|
+
representedReferences: page.references.length,
|
|
742
|
+
preservedExternalReferences: 0,
|
|
743
|
+
};
|
|
744
|
+
}
|
|
707
745
|
if (provider === 'confluence') {
|
|
708
746
|
const raw = page.rawContent
|
|
709
747
|
? `<pre><code>${escapeHtml(page.rawContent)}</code></pre>`
|
|
@@ -712,8 +750,11 @@ export function rawContentFallback(page, provider, reason) {
|
|
|
712
750
|
body: `<p><strong>Source content fallback</strong> · <a href="${escapeHtml(page.url)}">original page</a></p>${raw}`,
|
|
713
751
|
warnings: [warning],
|
|
714
752
|
normalizations: [],
|
|
753
|
+
adaptations: [],
|
|
754
|
+
notices: transformationNotices({ degradations: [warning] }),
|
|
715
755
|
degraded: true,
|
|
716
756
|
representedReferences: page.references.length,
|
|
757
|
+
preservedExternalReferences: 0,
|
|
717
758
|
};
|
|
718
759
|
}
|
|
719
760
|
const raw = page.rawContent
|
|
@@ -723,8 +764,11 @@ export function rawContentFallback(page, provider, reason) {
|
|
|
723
764
|
body: `**Source content fallback** · [original page](${page.url})\n\n${raw}\n`,
|
|
724
765
|
warnings: [warning],
|
|
725
766
|
normalizations: [],
|
|
767
|
+
adaptations: [],
|
|
768
|
+
notices: transformationNotices({ degradations: [warning] }),
|
|
726
769
|
degraded: true,
|
|
727
770
|
representedReferences: page.references.length,
|
|
771
|
+
preservedExternalReferences: 0,
|
|
728
772
|
};
|
|
729
773
|
}
|
|
730
774
|
export function emptyRendererFallbackReason(document) {
|
|
@@ -790,6 +834,12 @@ function semanticContent(body, provider) {
|
|
|
790
834
|
links: $('a[href]').toArray().map((element) => `${$(element).attr('href') ?? ''}|${semanticText($(element).text())}`).sort(),
|
|
791
835
|
images: $('img').toArray().map((element) => $(element).attr('src') ?? '').sort(),
|
|
792
836
|
imageLabels: $('img').toArray().map((element) => $(element).attr('alt') ?? '').sort(),
|
|
837
|
+
imageAttributes: $('img').toArray().map((element) => [
|
|
838
|
+
$(element).attr('src') ?? '',
|
|
839
|
+
$(element).attr('alt') ?? '',
|
|
840
|
+
$(element).attr('width') ?? '',
|
|
841
|
+
$(element).attr('height') ?? '',
|
|
842
|
+
].join('|')).sort(),
|
|
793
843
|
anchors: $('[id],a[name]').toArray().map((element) => $(element).attr('id') ?? $(element).attr('name') ?? '').filter(Boolean).sort(),
|
|
794
844
|
structure: {
|
|
795
845
|
lists: $('ul,ol').length,
|
|
@@ -810,6 +860,7 @@ function semanticContentIsEmpty(content) {
|
|
|
810
860
|
&& content.code.length === 0
|
|
811
861
|
&& content.links.length === 0
|
|
812
862
|
&& content.images.length === 0
|
|
863
|
+
&& content.imageAttributes.length === 0
|
|
813
864
|
&& content.anchors.length === 0
|
|
814
865
|
&& content.macros.length === 0
|
|
815
866
|
&& content.layouts.length === 0
|
|
@@ -820,20 +871,20 @@ export function semanticContentFingerprint(body, provider) {
|
|
|
820
871
|
}
|
|
821
872
|
export function verifyDestinationContent(expectedBody, actualBody, provider, page) {
|
|
822
873
|
if (actualBody === undefined)
|
|
823
|
-
return { status: 'failed', differences: [`Verification could not read destination content for ${page.title}`] };
|
|
874
|
+
return { status: 'failed', differences: [`Verification could not read destination content for ${page.title}`], adaptations: [] };
|
|
824
875
|
if (isLegacyTransferPlaceholder(actualBody, provider, page)) {
|
|
825
|
-
return { status: 'failed', differences: [`Verification found a transfer placeholder instead of source content for ${page.title}`] };
|
|
876
|
+
return { status: 'failed', differences: [`Verification found a transfer placeholder instead of source content for ${page.title}`], adaptations: [] };
|
|
826
877
|
}
|
|
827
878
|
const expected = semanticContent(expectedBody, provider);
|
|
828
879
|
const actual = semanticContent(actualBody, provider);
|
|
829
880
|
const expectedEmpty = semanticContentIsEmpty(expected);
|
|
830
881
|
const actualEmpty = semanticContentIsEmpty(actual);
|
|
831
882
|
if (expectedEmpty && actualEmpty)
|
|
832
|
-
return { status: 'complete', differences: [] };
|
|
883
|
+
return { status: 'complete', differences: [], adaptations: [] };
|
|
833
884
|
if (!expectedEmpty && actualEmpty)
|
|
834
|
-
return { status: 'failed', differences: [`Verification found empty destination content for ${page.title}`] };
|
|
885
|
+
return { status: 'failed', differences: [`Verification found empty destination content for ${page.title}`], adaptations: [] };
|
|
835
886
|
if (expectedEmpty && !actualEmpty) {
|
|
836
|
-
return { status: 'failed', differences: [`Verification found unexpected destination content for semantically empty source page ${page.title}`] };
|
|
887
|
+
return { status: 'failed', differences: [`Verification found unexpected destination content for semantically empty source page ${page.title}`], adaptations: [] };
|
|
837
888
|
}
|
|
838
889
|
const differs = (key) => JSON.stringify(expected[key]) !== JSON.stringify(actual[key]);
|
|
839
890
|
const missingData = ['text', 'tableCells', 'code', 'links', 'images', 'anchors', 'macros'].filter(differs);
|
|
@@ -841,16 +892,20 @@ export function verifyDestinationContent(expectedBody, actualBody, provider, pag
|
|
|
841
892
|
return {
|
|
842
893
|
status: 'failed',
|
|
843
894
|
differences: [`Verification found destination content that differs from the rendered source for ${page.title}: ${missingData.join(', ')}`],
|
|
895
|
+
adaptations: [],
|
|
844
896
|
};
|
|
845
897
|
}
|
|
846
|
-
const
|
|
847
|
-
if (
|
|
898
|
+
const missingStructure = ['headings', 'listItems', 'imageLabels', 'imageAttributes', 'structure'].filter(differs);
|
|
899
|
+
if (missingStructure.length > 0) {
|
|
848
900
|
return {
|
|
849
901
|
status: 'partial',
|
|
850
|
-
differences: [`Destination
|
|
902
|
+
differences: [`Destination lost or could not verify meaningful structure for ${page.title}: ${missingStructure.join(', ')}`],
|
|
903
|
+
adaptations: [],
|
|
851
904
|
};
|
|
852
905
|
}
|
|
853
|
-
|
|
906
|
+
if (differs('layouts'))
|
|
907
|
+
return { status: 'complete', differences: [], adaptations: [`Destination adapted visual layout geometry for ${page.title} while preserving its payload`] };
|
|
908
|
+
return { status: 'complete', differences: [], adaptations: [] };
|
|
854
909
|
}
|
|
855
910
|
export function assertDestinationContent(expectedBody, actualBody, provider, page) {
|
|
856
911
|
const result = verifyDestinationContent(expectedBody, actualBody, provider, page);
|
|
@@ -904,6 +959,13 @@ function rewritePortableHtml(html, context) {
|
|
|
904
959
|
});
|
|
905
960
|
return $.html();
|
|
906
961
|
}
|
|
962
|
+
function preservedExternalImageCount(document, context) {
|
|
963
|
+
const $ = load(htmlFromDocument(document), null, false);
|
|
964
|
+
return $('img[src]').toArray().filter((element) => {
|
|
965
|
+
const source = $(element).attr('src') ?? '';
|
|
966
|
+
return /^https?:\/\//i.test(source) && !resourceBinding(source, context);
|
|
967
|
+
}).length;
|
|
968
|
+
}
|
|
907
969
|
function treeDirectiveNodes(document) {
|
|
908
970
|
return document.root.children?.filter((node) => node.type === 'tree-directive') ?? [];
|
|
909
971
|
}
|
|
@@ -944,19 +1006,20 @@ function renderTreeHtml(context, directive) {
|
|
|
944
1006
|
}
|
|
945
1007
|
export async function renderMarkdown(document, context) {
|
|
946
1008
|
if (document.semanticallyEmpty) {
|
|
947
|
-
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
1009
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations: [...document.adaptations], notices: [...document.notices], degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: 0 };
|
|
948
1010
|
}
|
|
949
1011
|
const portable = rewritePortableHtml(htmlFromDocument(document), context);
|
|
950
1012
|
const linearized = linearizeLayoutsForMarkdown(portable);
|
|
951
1013
|
const tree = treeDirectiveNodes(document).map((node) => renderTreeMarkdown(context, node.tree ?? {})).filter(Boolean).join('\n\n');
|
|
952
1014
|
const content = await htmlToMarkdown(linearized.html);
|
|
953
1015
|
const body = tree ? `${content.trimEnd()}\n\n${tree}\n` : content;
|
|
954
|
-
const
|
|
955
|
-
|
|
1016
|
+
const layoutAdaptations = linearized.layouts > 0 ? [`${linearized.layouts} column layout${linearized.layouts === 1 ? ' was' : 's were'} linearized for portable Markdown`] : [];
|
|
1017
|
+
const adaptations = [...document.adaptations, ...layoutAdaptations];
|
|
1018
|
+
return { body, warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations, notices: transformationNotices({ normalizations: document.normalizations, adaptations, degradations: document.warnings }), degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: preservedExternalImageCount(document, context) };
|
|
956
1019
|
}
|
|
957
1020
|
export async function renderStaticHtml(document, context) {
|
|
958
1021
|
if (document.semanticallyEmpty) {
|
|
959
|
-
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
1022
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations: [...document.adaptations], notices: [...document.notices], degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: 0 };
|
|
960
1023
|
}
|
|
961
1024
|
const rewritten = rewritePortableHtml(htmlFromDocument(document), context);
|
|
962
1025
|
const content = await sanitizeHtml(rewritten);
|
|
@@ -970,12 +1033,13 @@ export async function renderStaticHtml(document, context) {
|
|
|
970
1033
|
visit(child);
|
|
971
1034
|
};
|
|
972
1035
|
visit(document.root);
|
|
973
|
-
const
|
|
974
|
-
|
|
1036
|
+
const layoutAdaptations = unsupportedLayouts.map((cells) => `Unsupported ${cells}-cell layout was stacked in static HTML without losing cell content`);
|
|
1037
|
+
const adaptations = [...document.adaptations, ...layoutAdaptations];
|
|
1038
|
+
return { body, warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations, notices: transformationNotices({ normalizations: document.normalizations, adaptations, degradations: document.warnings }), degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: preservedExternalImageCount(document, context) };
|
|
975
1039
|
}
|
|
976
1040
|
export async function renderYfm(document, context) {
|
|
977
1041
|
if (document.semanticallyEmpty) {
|
|
978
|
-
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
1042
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations: [...document.adaptations], notices: [...document.notices], degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: 0 };
|
|
979
1043
|
}
|
|
980
1044
|
if (document.rawFormat === 'yfm') {
|
|
981
1045
|
let body = document.raw;
|
|
@@ -1015,28 +1079,39 @@ export async function renderYfm(document, context) {
|
|
|
1015
1079
|
body = `${body.trimEnd()}\n\n${(await htmlToMarkdown(gridHtml)).trimStart()}`;
|
|
1016
1080
|
return {
|
|
1017
1081
|
body,
|
|
1018
|
-
warnings: [...
|
|
1019
|
-
normalizations: [...
|
|
1020
|
-
|
|
1082
|
+
warnings: [...resourceWarnings],
|
|
1083
|
+
normalizations: [...document.normalizations],
|
|
1084
|
+
adaptations: [...document.adaptations],
|
|
1085
|
+
notices: transformationNotices({ normalizations: document.normalizations, adaptations: document.adaptations, degradations: [...resourceWarnings] }),
|
|
1086
|
+
degraded: resourceWarnings.size > 0,
|
|
1021
1087
|
representedReferences: document.references.length,
|
|
1088
|
+
preservedExternalReferences: preservedExternalImageCount(document, context),
|
|
1022
1089
|
};
|
|
1023
1090
|
}
|
|
1024
1091
|
const converted = await semanticHtmlToYfm(rewritePortableHtml(htmlFromDocument(document), context));
|
|
1025
1092
|
return {
|
|
1026
1093
|
body: converted.body,
|
|
1027
|
-
warnings: [...document.warnings
|
|
1028
|
-
normalizations: [...
|
|
1029
|
-
|
|
1094
|
+
warnings: [...document.warnings],
|
|
1095
|
+
normalizations: [...document.normalizations, 'Converted supported Confluence Storage Format constructs to native YFM equivalents'],
|
|
1096
|
+
adaptations: [...document.adaptations, ...converted.adaptations],
|
|
1097
|
+
notices: transformationNotices({ normalizations: [...document.normalizations, 'Converted supported Confluence Storage Format constructs to native YFM equivalents'], adaptations: [...document.adaptations, ...converted.adaptations], degradations: document.warnings }),
|
|
1098
|
+
degraded: document.degraded,
|
|
1030
1099
|
representedReferences: document.references.length,
|
|
1100
|
+
preservedExternalReferences: preservedExternalImageCount(document, context),
|
|
1031
1101
|
};
|
|
1032
1102
|
}
|
|
1033
1103
|
export async function renderConfluenceStorage(document, page, context, spaceKey) {
|
|
1034
1104
|
if (document.semanticallyEmpty) {
|
|
1035
|
-
return { body: '<p></p>', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
1105
|
+
return { body: '<p></p>', warnings: [...document.warnings], normalizations: [...document.normalizations], adaptations: [...document.adaptations], notices: [...document.notices], degraded: document.degraded, representedReferences: document.references.length, preservedExternalReferences: 0 };
|
|
1036
1106
|
}
|
|
1037
1107
|
if (document.rawFormat === 'confluence-storage') {
|
|
1038
1108
|
const $ = load(`<main data-root>${document.raw}</main>`, { xmlMode: true }, false);
|
|
1039
|
-
const warnings = [
|
|
1109
|
+
const warnings = [];
|
|
1110
|
+
$('script, iframe, object, embed, form').each((_index, element) => {
|
|
1111
|
+
const raw = $.html(element);
|
|
1112
|
+
warnings.push(`Active or embedded element <${element.tagName}> was preserved as inert source text`);
|
|
1113
|
+
$(element).replaceWith(`<pre><code>${escapeHtml(raw)}</code></pre>`);
|
|
1114
|
+
});
|
|
1040
1115
|
$('ac\\:image').each((_index, element) => {
|
|
1041
1116
|
const image = $(element);
|
|
1042
1117
|
const attachment = image.children('ri\\:attachment');
|
|
@@ -1111,9 +1186,12 @@ export async function renderConfluenceStorage(document, page, context, spaceKey)
|
|
|
1111
1186
|
return {
|
|
1112
1187
|
body: $('main[data-root]').html() ?? '<p></p>',
|
|
1113
1188
|
warnings,
|
|
1114
|
-
normalizations: [...
|
|
1115
|
-
|
|
1189
|
+
normalizations: [...document.normalizations],
|
|
1190
|
+
adaptations: [...document.adaptations],
|
|
1191
|
+
notices: transformationNotices({ normalizations: document.normalizations, adaptations: document.adaptations, degradations: warnings }),
|
|
1192
|
+
degraded: warnings.length > 0,
|
|
1116
1193
|
representedReferences: document.references.length,
|
|
1194
|
+
preservedExternalReferences: preservedExternalImageCount(document, context),
|
|
1117
1195
|
};
|
|
1118
1196
|
}
|
|
1119
1197
|
const pagesBySlug = new Map();
|
|
@@ -1183,8 +1261,11 @@ export async function renderConfluenceStorage(document, page, context, spaceKey)
|
|
|
1183
1261
|
body: `${normalizedStorage('main[data-root]').html() ?? '<p></p>'}${treeStorage}${gridStorage}`,
|
|
1184
1262
|
warnings: [...document.warnings, ...conversionWarnings],
|
|
1185
1263
|
normalizations,
|
|
1264
|
+
adaptations: [...document.adaptations, ...converted.adaptations],
|
|
1265
|
+
notices: transformationNotices({ normalizations, adaptations: [...document.adaptations, ...converted.adaptations], degradations: [...document.warnings, ...conversionWarnings] }),
|
|
1186
1266
|
degraded: document.degraded || conversionWarnings.length > 0,
|
|
1187
1267
|
representedReferences: document.references.length,
|
|
1268
|
+
preservedExternalReferences: converted.stats.preservedExternalReferences,
|
|
1188
1269
|
};
|
|
1189
1270
|
}
|
|
1190
1271
|
export function resolveYandexReferenceSlug(page, href) {
|