formatferry 0.1.3 → 1.0.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/dist/commands/auth.d.ts +17 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +102 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/batch.d.ts +10 -0
- package/dist/commands/batch.d.ts.map +1 -0
- package/dist/commands/batch.js +92 -0
- package/dist/commands/batch.js.map +1 -0
- package/dist/commands/convert.d.ts +26 -0
- package/dist/commands/convert.d.ts.map +1 -0
- package/dist/commands/convert.js +198 -0
- package/dist/commands/convert.js.map +1 -0
- package/dist/config-store.d.ts +27 -0
- package/dist/config-store.d.ts.map +1 -0
- package/dist/config-store.js +58 -0
- package/dist/config-store.js.map +1 -0
- package/dist/entitlement.d.ts +11 -0
- package/dist/entitlement.d.ts.map +1 -0
- package/dist/entitlement.js +91 -0
- package/dist/entitlement.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -0
- package/dist/packages/cli/src/commands/auth.d.ts +17 -0
- package/dist/packages/cli/src/commands/auth.d.ts.map +1 -0
- package/dist/packages/cli/src/commands/auth.js +102 -0
- package/dist/packages/cli/src/commands/auth.js.map +1 -0
- package/dist/packages/cli/src/commands/batch.d.ts +10 -0
- package/dist/packages/cli/src/commands/batch.d.ts.map +1 -0
- package/dist/packages/cli/src/commands/batch.js +92 -0
- package/dist/packages/cli/src/commands/batch.js.map +1 -0
- package/dist/packages/cli/src/commands/convert.d.ts +26 -0
- package/dist/packages/cli/src/commands/convert.d.ts.map +1 -0
- package/dist/packages/cli/src/commands/convert.js +198 -0
- package/dist/packages/cli/src/commands/convert.js.map +1 -0
- package/dist/packages/cli/src/config-store.d.ts +27 -0
- package/dist/packages/cli/src/config-store.d.ts.map +1 -0
- package/dist/packages/cli/src/config-store.js +58 -0
- package/dist/packages/cli/src/config-store.js.map +1 -0
- package/dist/packages/cli/src/entitlement.d.ts +11 -0
- package/dist/packages/cli/src/entitlement.d.ts.map +1 -0
- package/dist/packages/cli/src/entitlement.js +91 -0
- package/dist/packages/cli/src/entitlement.js.map +1 -0
- package/dist/packages/cli/src/index.d.ts +2 -0
- package/dist/packages/cli/src/index.d.ts.map +1 -0
- package/dist/packages/cli/src/index.js +28 -0
- package/dist/packages/cli/src/index.js.map +1 -0
- package/dist/packages/cli/src/shim.d.ts +2 -0
- package/dist/packages/cli/src/shim.d.ts.map +1 -0
- package/dist/packages/cli/src/shim.js +21 -0
- package/dist/packages/cli/src/shim.js.map +1 -0
- package/dist/shim.d.ts +2 -0
- package/dist/shim.d.ts.map +1 -0
- package/dist/shim.js +21 -0
- package/dist/shim.js.map +1 -0
- package/dist/src/shared/adapters/docx-adapter.d.ts +85 -0
- package/dist/src/shared/adapters/docx-adapter.d.ts.map +1 -0
- package/dist/src/shared/adapters/docx-adapter.js +164 -0
- package/dist/src/shared/adapters/docx-adapter.js.map +1 -0
- package/dist/src/shared/adapters/pdf-adapter.d.ts +94 -0
- package/dist/src/shared/adapters/pdf-adapter.d.ts.map +1 -0
- package/dist/src/shared/adapters/pdf-adapter.js +322 -0
- package/dist/src/shared/adapters/pdf-adapter.js.map +1 -0
- package/dist/src/shared/adapters/spreadsheet-adapter.d.ts +98 -0
- package/dist/src/shared/adapters/spreadsheet-adapter.d.ts.map +1 -0
- package/dist/src/shared/adapters/spreadsheet-adapter.js +424 -0
- package/dist/src/shared/adapters/spreadsheet-adapter.js.map +1 -0
- package/dist/src/shared/atlassian-detector.d.ts +6 -0
- package/dist/src/shared/atlassian-detector.d.ts.map +1 -0
- package/dist/src/shared/atlassian-detector.js +23 -0
- package/dist/src/shared/atlassian-detector.js.map +1 -0
- package/dist/src/shared/conversion-engine.d.ts +114 -0
- package/dist/src/shared/conversion-engine.d.ts.map +1 -0
- package/dist/src/shared/conversion-engine.js +790 -0
- package/dist/src/shared/conversion-engine.js.map +1 -0
- package/dist/src/shared/entitlement-service.d.ts +42 -0
- package/dist/src/shared/entitlement-service.d.ts.map +1 -0
- package/dist/src/shared/entitlement-service.js +38 -0
- package/dist/src/shared/entitlement-service.js.map +1 -0
- package/dist/src/shared/input-sanitizer.d.ts +93 -0
- package/dist/src/shared/input-sanitizer.d.ts.map +1 -0
- package/dist/src/shared/input-sanitizer.js +527 -0
- package/dist/src/shared/input-sanitizer.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import TurndownService from 'turndown';
|
|
2
|
+
/**
|
|
3
|
+
* Supported markdown output formats
|
|
4
|
+
*/
|
|
5
|
+
export type MarkdownFormat = 'github' | 'commonmark' | 'custom' | 'discord' | 'reddit' | 'rmarkdown';
|
|
6
|
+
export interface ConversionOptions {
|
|
7
|
+
format: MarkdownFormat;
|
|
8
|
+
preserveTables: boolean;
|
|
9
|
+
preserveLists: boolean;
|
|
10
|
+
customRules: CustomRule[];
|
|
11
|
+
}
|
|
12
|
+
export interface CustomRule {
|
|
13
|
+
name: string;
|
|
14
|
+
filter: TurndownService.Filter;
|
|
15
|
+
replacement: (content: string, node?: HTMLElement) => string;
|
|
16
|
+
}
|
|
17
|
+
export interface ConversionResult {
|
|
18
|
+
markdown: string;
|
|
19
|
+
warnings: string[];
|
|
20
|
+
metadata: ConversionMetadata;
|
|
21
|
+
}
|
|
22
|
+
export interface ConversionMetadata {
|
|
23
|
+
originalLength: number;
|
|
24
|
+
convertedLength: number;
|
|
25
|
+
processingTime: number;
|
|
26
|
+
formatUsed: string;
|
|
27
|
+
rulesApplied: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface ValidationResult {
|
|
30
|
+
isValid: boolean;
|
|
31
|
+
errors: string[];
|
|
32
|
+
warnings: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare class ConversionEngine {
|
|
35
|
+
private githubService;
|
|
36
|
+
private commonmarkService;
|
|
37
|
+
private customService;
|
|
38
|
+
private discordService;
|
|
39
|
+
private redditService;
|
|
40
|
+
private rmarkdownService;
|
|
41
|
+
constructor();
|
|
42
|
+
private initializeServices;
|
|
43
|
+
/**
|
|
44
|
+
* Create Discord-optimized Turndown service
|
|
45
|
+
* - Underline support (__text__)
|
|
46
|
+
* - Heading limit (H1-H3 only)
|
|
47
|
+
* - Tables converted to code blocks
|
|
48
|
+
* - Images converted to links
|
|
49
|
+
*/
|
|
50
|
+
private createDiscordService;
|
|
51
|
+
/**
|
|
52
|
+
* Apply format-specific post-processing for Unicode characters
|
|
53
|
+
* Handles checkboxes, superscript, and subscript Unicode characters
|
|
54
|
+
*/
|
|
55
|
+
private applyFormatPostProcessing;
|
|
56
|
+
/**
|
|
57
|
+
* Normalize checkbox patterns for GitHub task list syntax
|
|
58
|
+
* Converts Unicode checkboxes to [x] and [ ]
|
|
59
|
+
*/
|
|
60
|
+
private normalizeGitHubCheckboxes;
|
|
61
|
+
/**
|
|
62
|
+
* Normalize checkbox patterns in markdown output for Discord
|
|
63
|
+
* Converts [x], [ ], and other checkbox patterns to emoji
|
|
64
|
+
*/
|
|
65
|
+
private normalizeDiscordCheckboxes;
|
|
66
|
+
/**
|
|
67
|
+
* Normalize Unicode for Reddit format
|
|
68
|
+
* Converts Unicode superscript to ^text syntax
|
|
69
|
+
*/
|
|
70
|
+
private normalizeRedditUnicode;
|
|
71
|
+
/**
|
|
72
|
+
* Normalize Unicode for R Markdown format
|
|
73
|
+
* Converts Unicode superscript/subscript to Pandoc syntax
|
|
74
|
+
*/
|
|
75
|
+
private normalizeRMarkdownUnicode;
|
|
76
|
+
/**
|
|
77
|
+
* Create Reddit-optimized Turndown service
|
|
78
|
+
* - Superscript support (^text or ^(text with spaces))
|
|
79
|
+
* - Subscript to bracketed text
|
|
80
|
+
* - Fenced code blocks (new Reddit)
|
|
81
|
+
*/
|
|
82
|
+
private createRedditService;
|
|
83
|
+
/**
|
|
84
|
+
* Create R Markdown-optimized Turndown service
|
|
85
|
+
* - Pandoc superscript (^text^)
|
|
86
|
+
* - Pandoc subscript (~text~)
|
|
87
|
+
* - Math expression preservation
|
|
88
|
+
*/
|
|
89
|
+
private createRMarkdownService;
|
|
90
|
+
/**
|
|
91
|
+
* Convert HTML table to plain text for Discord code blocks
|
|
92
|
+
*/
|
|
93
|
+
private tableToPlainText;
|
|
94
|
+
private addGoogleDocsRules;
|
|
95
|
+
private addTableRules;
|
|
96
|
+
private addListRules;
|
|
97
|
+
private processListItem;
|
|
98
|
+
private processNestedList;
|
|
99
|
+
/**
|
|
100
|
+
* Add PDF page marker rules to convert data-page-marker divs to Markdown comments
|
|
101
|
+
* This preserves page boundaries from PDF documents (Req 3.5)
|
|
102
|
+
*/
|
|
103
|
+
private addPdfPageMarkerRules;
|
|
104
|
+
convert(html: string, options?: ConversionOptions): Promise<ConversionResult>;
|
|
105
|
+
sanitize(html: string): string;
|
|
106
|
+
validateInput(input: string): ValidationResult;
|
|
107
|
+
getAvailableFormats(): Array<{
|
|
108
|
+
value: string;
|
|
109
|
+
label: string;
|
|
110
|
+
description: string;
|
|
111
|
+
}>;
|
|
112
|
+
createCustomRule(name: string, selector: TurndownService.Filter, replacement: (content: string) => string): CustomRule;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=conversion-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion-engine.d.ts","sourceRoot":"","sources":["../../../../../src/shared/conversion-engine.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AAGvC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,MAAM,CAAC;CAC9D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,gBAAgB,CAAmB;;IAM3C,OAAO,CAAC,kBAAkB;IAsD1B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA6D5B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAejC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IASjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAsBjC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkE3B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAgF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,kBAAkB;IA4K1B,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAqBzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAcvB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAKpC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyE7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO9B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAiC9C,mBAAmB,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBnF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,UAAU;CAOvH"}
|