html-to-markdown-node 2.5.6 → 2.6.1
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 +6 -3
- package/package.json +7 -7
- package/html-to-markdown-node.linux-x64-gnu.node +0 -0
- package/index.d.ts +0 -231
- package/index.js +0 -586
package/README.md
CHANGED
|
@@ -7,9 +7,12 @@ Built on the shared Rust engine that powers the Python wheels, Ruby gem, WebAsse
|
|
|
7
7
|
High-performance HTML to Markdown conversion using native Rust code compiled to platform-specific binaries.
|
|
8
8
|
|
|
9
9
|
[](https://crates.io/crates/html-to-markdown-rs)
|
|
10
|
-
[](https://www.npmjs.com/package/html-to-markdown-node)
|
|
11
|
+
[](https://www.npmjs.com/package/html-to-markdown-wasm)
|
|
12
|
+
[](https://www.npmjs.com/package/html-to-markdown)
|
|
13
|
+
[](https://pypi.org/project/html-to-markdown/)
|
|
14
|
+
[](https://packagist.org/packages/goldziher/html-to-markdown)
|
|
15
|
+
[](https://rubygems.org/gems/html-to-markdown)
|
|
13
16
|
[](https://github.com/Goldziher/html-to-markdown/blob/main/LICENSE)
|
|
14
17
|
|
|
15
18
|
## Performance
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "html-to-markdown-node",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.1",
|
|
4
4
|
"description": "High-performance HTML to Markdown converter - Node.js native bindings",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -46,15 +46,15 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@napi-rs/cli": "^3.
|
|
50
|
-
"@types/node": "^24.
|
|
51
|
-
"tinybench": "^5.0
|
|
49
|
+
"@napi-rs/cli": "^3.4.1",
|
|
50
|
+
"@types/node": "^24.10.0",
|
|
51
|
+
"tinybench": "^5.1.0",
|
|
52
52
|
"tsx": "^4.20.6",
|
|
53
|
-
"vitest": "^
|
|
53
|
+
"vitest": "^4.0.7"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@emnapi/runtime": "1.
|
|
57
|
-
"@octokit/core": "7.0.
|
|
56
|
+
"@emnapi/runtime": "1.7.0",
|
|
57
|
+
"@octokit/core": "7.0.6",
|
|
58
58
|
"typanion": "3.14.0",
|
|
59
59
|
"up": "^1.0.2"
|
|
60
60
|
},
|
|
Binary file
|
package/index.d.ts
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/* auto-generated by NAPI-RS */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
/**
|
|
4
|
-
* Convert HTML to Markdown
|
|
5
|
-
*
|
|
6
|
-
* # Arguments
|
|
7
|
-
*
|
|
8
|
-
* * `html` - The HTML string to convert
|
|
9
|
-
* * `options` - Optional conversion options
|
|
10
|
-
*
|
|
11
|
-
* # Example
|
|
12
|
-
*
|
|
13
|
-
* ```javascript
|
|
14
|
-
* const { convert } = require('html-to-markdown');
|
|
15
|
-
*
|
|
16
|
-
* const html = '<h1>Hello World</h1>';
|
|
17
|
-
* const markdown = convert(html);
|
|
18
|
-
* console.log(markdown); // # Hello World
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare function convert(html: string, options?: JsConversionOptions | undefined | null): string
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Convert HTML to Markdown while collecting inline images
|
|
25
|
-
*
|
|
26
|
-
* # Arguments
|
|
27
|
-
*
|
|
28
|
-
* * `html` - The HTML string to convert
|
|
29
|
-
* * `options` - Optional conversion options
|
|
30
|
-
* * `image_config` - Configuration for inline image extraction
|
|
31
|
-
*
|
|
32
|
-
* # Example
|
|
33
|
-
*
|
|
34
|
-
* ```javascript
|
|
35
|
-
* const { convertWithInlineImages } = require('html-to-markdown');
|
|
36
|
-
*
|
|
37
|
-
* const html = '<img src="data:image/png;base64,..." alt="test">';
|
|
38
|
-
* const result = convertWithInlineImages(html, null, {
|
|
39
|
-
* maxDecodedSizeBytes: 1024 * 1024,
|
|
40
|
-
* inferDimensions: true
|
|
41
|
-
* });
|
|
42
|
-
* console.log(result.markdown);
|
|
43
|
-
* console.log(result.inlineImages.length);
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export declare function convertWithInlineImages(html: string, options?: JsConversionOptions | undefined | null, imageConfig?: JsInlineImageConfig | undefined | null): JsHtmlExtraction
|
|
47
|
-
|
|
48
|
-
/** Code block style */
|
|
49
|
-
export declare const enum JsCodeBlockStyle {
|
|
50
|
-
/** Indented code blocks (4 spaces) - CommonMark default */
|
|
51
|
-
Indented = 'Indented',
|
|
52
|
-
/** Fenced code blocks with backticks (```) */
|
|
53
|
-
Backticks = 'Backticks',
|
|
54
|
-
/** Fenced code blocks with tildes (~~~) */
|
|
55
|
-
Tildes = 'Tildes'
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/** Main conversion options */
|
|
59
|
-
export interface JsConversionOptions {
|
|
60
|
-
/** Heading style */
|
|
61
|
-
headingStyle?: JsHeadingStyle
|
|
62
|
-
/** List indentation type */
|
|
63
|
-
listIndentType?: JsListIndentType
|
|
64
|
-
/** List indentation width (spaces) */
|
|
65
|
-
listIndentWidth?: number
|
|
66
|
-
/** Bullet characters for unordered lists */
|
|
67
|
-
bullets?: string
|
|
68
|
-
/** Symbol for strong/emphasis (* or _) */
|
|
69
|
-
strongEmSymbol?: string
|
|
70
|
-
/** Escape asterisks in text */
|
|
71
|
-
escapeAsterisks?: boolean
|
|
72
|
-
/** Escape underscores in text */
|
|
73
|
-
escapeUnderscores?: boolean
|
|
74
|
-
/** Escape misc markdown characters */
|
|
75
|
-
escapeMisc?: boolean
|
|
76
|
-
/** Escape all ASCII punctuation */
|
|
77
|
-
escapeAscii?: boolean
|
|
78
|
-
/** Default code language */
|
|
79
|
-
codeLanguage?: string
|
|
80
|
-
/** Use autolinks for bare URLs */
|
|
81
|
-
autolinks?: boolean
|
|
82
|
-
/** Add default title if none exists */
|
|
83
|
-
defaultTitle?: boolean
|
|
84
|
-
/** Use <br> in tables instead of spaces */
|
|
85
|
-
brInTables?: boolean
|
|
86
|
-
/** Enable spatial table reconstruction in hOCR documents */
|
|
87
|
-
hocrSpatialTables?: boolean
|
|
88
|
-
/** Highlight style for <mark> elements */
|
|
89
|
-
highlightStyle?: JsHighlightStyle
|
|
90
|
-
/** Extract metadata from HTML */
|
|
91
|
-
extractMetadata?: boolean
|
|
92
|
-
/** Whitespace handling mode */
|
|
93
|
-
whitespaceMode?: JsWhitespaceMode
|
|
94
|
-
/** Strip newlines from HTML before processing */
|
|
95
|
-
stripNewlines?: boolean
|
|
96
|
-
/** Enable text wrapping */
|
|
97
|
-
wrap?: boolean
|
|
98
|
-
/** Text wrap width */
|
|
99
|
-
wrapWidth?: number
|
|
100
|
-
/** Treat block elements as inline */
|
|
101
|
-
convertAsInline?: boolean
|
|
102
|
-
/** Subscript symbol */
|
|
103
|
-
subSymbol?: string
|
|
104
|
-
/** Superscript symbol */
|
|
105
|
-
supSymbol?: string
|
|
106
|
-
/** Newline style */
|
|
107
|
-
newlineStyle?: JsNewlineStyle
|
|
108
|
-
/** Code block style */
|
|
109
|
-
codeBlockStyle?: JsCodeBlockStyle
|
|
110
|
-
/** Elements where images should remain as markdown */
|
|
111
|
-
keepInlineImagesIn?: Array<string>
|
|
112
|
-
/** Preprocessing options */
|
|
113
|
-
preprocessing?: JsPreprocessingOptions
|
|
114
|
-
/** Source encoding (informational) */
|
|
115
|
-
encoding?: string
|
|
116
|
-
/** Enable debug mode with diagnostic warnings */
|
|
117
|
-
debug?: boolean
|
|
118
|
-
/** List of HTML tags to strip */
|
|
119
|
-
stripTags?: Array<string>
|
|
120
|
-
/** List of HTML tags to preserve as-is in the output */
|
|
121
|
-
preserveTags?: Array<string>
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/** Heading style options */
|
|
125
|
-
export declare const enum JsHeadingStyle {
|
|
126
|
-
/** Underlined style (=== for h1, --- for h2) */
|
|
127
|
-
Underlined = 'Underlined',
|
|
128
|
-
/** ATX style (# for h1, ## for h2, etc.) */
|
|
129
|
-
Atx = 'Atx',
|
|
130
|
-
/** ATX closed style (# title #) */
|
|
131
|
-
AtxClosed = 'AtxClosed'
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/** Highlight style for `<mark>` elements */
|
|
135
|
-
export declare const enum JsHighlightStyle {
|
|
136
|
-
/** ==text== */
|
|
137
|
-
DoubleEqual = 'DoubleEqual',
|
|
138
|
-
/** <mark>text</mark> */
|
|
139
|
-
Html = 'Html',
|
|
140
|
-
/** **text** */
|
|
141
|
-
Bold = 'Bold',
|
|
142
|
-
/** Plain text (no formatting) */
|
|
143
|
-
None = 'None'
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/** Result of HTML extraction with inline images */
|
|
147
|
-
export interface JsHtmlExtraction {
|
|
148
|
-
/** Converted markdown */
|
|
149
|
-
markdown: string
|
|
150
|
-
/** Extracted inline images */
|
|
151
|
-
inlineImages: Array<JsInlineImage>
|
|
152
|
-
/** Warnings encountered during extraction */
|
|
153
|
-
warnings: Array<JsInlineImageWarning>
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/** Inline image data */
|
|
157
|
-
export interface JsInlineImage {
|
|
158
|
-
/** Raw image data */
|
|
159
|
-
data: Buffer
|
|
160
|
-
/** Image format (png, jpeg, gif, etc.) */
|
|
161
|
-
format: string
|
|
162
|
-
/** Generated or provided filename */
|
|
163
|
-
filename?: string
|
|
164
|
-
/** Alt text / description */
|
|
165
|
-
description?: string
|
|
166
|
-
/** Image dimensions (width, height) if available */
|
|
167
|
-
dimensions?: Array<number>
|
|
168
|
-
/** Source type (img_data_uri or svg_element) */
|
|
169
|
-
source: string
|
|
170
|
-
/** HTML attributes from the source element */
|
|
171
|
-
attributes: Record<string, string>
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/** Inline image configuration */
|
|
175
|
-
export interface JsInlineImageConfig {
|
|
176
|
-
/** Maximum decoded size in bytes (default: 5MB) */
|
|
177
|
-
maxDecodedSizeBytes?: bigint
|
|
178
|
-
/** Filename prefix for generated filenames */
|
|
179
|
-
filenamePrefix?: string
|
|
180
|
-
/** Capture inline SVG elements (default: true) */
|
|
181
|
-
captureSvg?: boolean
|
|
182
|
-
/** Infer image dimensions (default: false) */
|
|
183
|
-
inferDimensions?: boolean
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/** Warning about inline image processing */
|
|
187
|
-
export interface JsInlineImageWarning {
|
|
188
|
-
/** Index of the image that caused the warning */
|
|
189
|
-
index: number
|
|
190
|
-
/** Warning message */
|
|
191
|
-
message: string
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/** List indentation type */
|
|
195
|
-
export declare const enum JsListIndentType {
|
|
196
|
-
Spaces = 'Spaces',
|
|
197
|
-
Tabs = 'Tabs'
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/** Newline style */
|
|
201
|
-
export declare const enum JsNewlineStyle {
|
|
202
|
-
/** Two spaces at end of line */
|
|
203
|
-
Spaces = 'Spaces',
|
|
204
|
-
/** Backslash at end of line */
|
|
205
|
-
Backslash = 'Backslash'
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/** HTML preprocessing options */
|
|
209
|
-
export interface JsPreprocessingOptions {
|
|
210
|
-
/** Enable preprocessing */
|
|
211
|
-
enabled?: boolean
|
|
212
|
-
/** Preprocessing preset */
|
|
213
|
-
preset?: JsPreprocessingPreset
|
|
214
|
-
/** Remove navigation elements */
|
|
215
|
-
removeNavigation?: boolean
|
|
216
|
-
/** Remove form elements */
|
|
217
|
-
removeForms?: boolean
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
/** Preprocessing preset levels */
|
|
221
|
-
export declare const enum JsPreprocessingPreset {
|
|
222
|
-
Minimal = 'Minimal',
|
|
223
|
-
Standard = 'Standard',
|
|
224
|
-
Aggressive = 'Aggressive'
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/** Whitespace handling mode */
|
|
228
|
-
export declare const enum JsWhitespaceMode {
|
|
229
|
-
Normalized = 'Normalized',
|
|
230
|
-
Strict = 'Strict'
|
|
231
|
-
}
|
package/index.js
DELETED
|
@@ -1,586 +0,0 @@
|
|
|
1
|
-
// prettier-ignore
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
/* auto-generated by NAPI-RS */
|
|
5
|
-
|
|
6
|
-
const { createRequire } = require('node:module')
|
|
7
|
-
require = createRequire(__filename)
|
|
8
|
-
|
|
9
|
-
const { readFileSync } = require('node:fs')
|
|
10
|
-
let nativeBinding = null
|
|
11
|
-
const loadErrors = []
|
|
12
|
-
|
|
13
|
-
const isMusl = () => {
|
|
14
|
-
let musl = false
|
|
15
|
-
if (process.platform === 'linux') {
|
|
16
|
-
musl = isMuslFromFilesystem()
|
|
17
|
-
if (musl === null) {
|
|
18
|
-
musl = isMuslFromReport()
|
|
19
|
-
}
|
|
20
|
-
if (musl === null) {
|
|
21
|
-
musl = isMuslFromChildProcess()
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return musl
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
28
|
-
|
|
29
|
-
const isMuslFromFilesystem = () => {
|
|
30
|
-
try {
|
|
31
|
-
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
32
|
-
} catch {
|
|
33
|
-
return null
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const isMuslFromReport = () => {
|
|
38
|
-
let report = null
|
|
39
|
-
if (typeof process.report?.getReport === 'function') {
|
|
40
|
-
process.report.excludeNetwork = true
|
|
41
|
-
report = process.report.getReport()
|
|
42
|
-
}
|
|
43
|
-
if (!report) {
|
|
44
|
-
return null
|
|
45
|
-
}
|
|
46
|
-
if (report.header && report.header.glibcVersionRuntime) {
|
|
47
|
-
return false
|
|
48
|
-
}
|
|
49
|
-
if (Array.isArray(report.sharedObjects)) {
|
|
50
|
-
if (report.sharedObjects.some(isFileMusl)) {
|
|
51
|
-
return true
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return false
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const isMuslFromChildProcess = () => {
|
|
58
|
-
try {
|
|
59
|
-
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
60
|
-
} catch (e) {
|
|
61
|
-
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
62
|
-
return false
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function requireNative() {
|
|
67
|
-
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
|
|
68
|
-
try {
|
|
69
|
-
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
|
|
70
|
-
} catch (err) {
|
|
71
|
-
loadErrors.push(err)
|
|
72
|
-
}
|
|
73
|
-
} else if (process.platform === 'android') {
|
|
74
|
-
if (process.arch === 'arm64') {
|
|
75
|
-
try {
|
|
76
|
-
return require('./html-to-markdown-node.android-arm64.node')
|
|
77
|
-
} catch (e) {
|
|
78
|
-
loadErrors.push(e)
|
|
79
|
-
}
|
|
80
|
-
try {
|
|
81
|
-
const binding = require('html-to-markdown-node-android-arm64')
|
|
82
|
-
const bindingPackageVersion = require('html-to-markdown-node-android-arm64/package.json').version
|
|
83
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
84
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
85
|
-
}
|
|
86
|
-
return binding
|
|
87
|
-
} catch (e) {
|
|
88
|
-
loadErrors.push(e)
|
|
89
|
-
}
|
|
90
|
-
} else if (process.arch === 'arm') {
|
|
91
|
-
try {
|
|
92
|
-
return require('./html-to-markdown-node.android-arm-eabi.node')
|
|
93
|
-
} catch (e) {
|
|
94
|
-
loadErrors.push(e)
|
|
95
|
-
}
|
|
96
|
-
try {
|
|
97
|
-
const binding = require('html-to-markdown-node-android-arm-eabi')
|
|
98
|
-
const bindingPackageVersion = require('html-to-markdown-node-android-arm-eabi/package.json').version
|
|
99
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
100
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
101
|
-
}
|
|
102
|
-
return binding
|
|
103
|
-
} catch (e) {
|
|
104
|
-
loadErrors.push(e)
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
|
|
108
|
-
}
|
|
109
|
-
} else if (process.platform === 'win32') {
|
|
110
|
-
if (process.arch === 'x64') {
|
|
111
|
-
if (process.report?.getReport?.()?.header?.osName?.startsWith?.('MINGW')) {
|
|
112
|
-
try {
|
|
113
|
-
return require('./html-to-markdown-node.win32-x64-gnu.node')
|
|
114
|
-
} catch (e) {
|
|
115
|
-
loadErrors.push(e)
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const binding = require('html-to-markdown-node-win32-x64-gnu')
|
|
119
|
-
const bindingPackageVersion = require('html-to-markdown-node-win32-x64-gnu/package.json').version
|
|
120
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
121
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
122
|
-
}
|
|
123
|
-
return binding
|
|
124
|
-
} catch (e) {
|
|
125
|
-
loadErrors.push(e)
|
|
126
|
-
}
|
|
127
|
-
} else {
|
|
128
|
-
try {
|
|
129
|
-
return require('./html-to-markdown-node.win32-x64-msvc.node')
|
|
130
|
-
} catch (e) {
|
|
131
|
-
loadErrors.push(e)
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
const binding = require('html-to-markdown-node-win32-x64-msvc')
|
|
135
|
-
const bindingPackageVersion = require('html-to-markdown-node-win32-x64-msvc/package.json').version
|
|
136
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
137
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
138
|
-
}
|
|
139
|
-
return binding
|
|
140
|
-
} catch (e) {
|
|
141
|
-
loadErrors.push(e)
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
} else if (process.arch === 'ia32') {
|
|
145
|
-
try {
|
|
146
|
-
return require('./html-to-markdown-node.win32-ia32-msvc.node')
|
|
147
|
-
} catch (e) {
|
|
148
|
-
loadErrors.push(e)
|
|
149
|
-
}
|
|
150
|
-
try {
|
|
151
|
-
const binding = require('html-to-markdown-node-win32-ia32-msvc')
|
|
152
|
-
const bindingPackageVersion = require('html-to-markdown-node-win32-ia32-msvc/package.json').version
|
|
153
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
154
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
155
|
-
}
|
|
156
|
-
return binding
|
|
157
|
-
} catch (e) {
|
|
158
|
-
loadErrors.push(e)
|
|
159
|
-
}
|
|
160
|
-
} else if (process.arch === 'arm64') {
|
|
161
|
-
try {
|
|
162
|
-
return require('./html-to-markdown-node.win32-arm64-msvc.node')
|
|
163
|
-
} catch (e) {
|
|
164
|
-
loadErrors.push(e)
|
|
165
|
-
}
|
|
166
|
-
try {
|
|
167
|
-
const binding = require('html-to-markdown-node-win32-arm64-msvc')
|
|
168
|
-
const bindingPackageVersion = require('html-to-markdown-node-win32-arm64-msvc/package.json').version
|
|
169
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
170
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
171
|
-
}
|
|
172
|
-
return binding
|
|
173
|
-
} catch (e) {
|
|
174
|
-
loadErrors.push(e)
|
|
175
|
-
}
|
|
176
|
-
} else {
|
|
177
|
-
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
|
|
178
|
-
}
|
|
179
|
-
} else if (process.platform === 'darwin') {
|
|
180
|
-
try {
|
|
181
|
-
return require('./html-to-markdown-node.darwin-universal.node')
|
|
182
|
-
} catch (e) {
|
|
183
|
-
loadErrors.push(e)
|
|
184
|
-
}
|
|
185
|
-
try {
|
|
186
|
-
const binding = require('html-to-markdown-node-darwin-universal')
|
|
187
|
-
const bindingPackageVersion = require('html-to-markdown-node-darwin-universal/package.json').version
|
|
188
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
189
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
190
|
-
}
|
|
191
|
-
return binding
|
|
192
|
-
} catch (e) {
|
|
193
|
-
loadErrors.push(e)
|
|
194
|
-
}
|
|
195
|
-
if (process.arch === 'x64') {
|
|
196
|
-
try {
|
|
197
|
-
return require('./html-to-markdown-node.darwin-x64.node')
|
|
198
|
-
} catch (e) {
|
|
199
|
-
loadErrors.push(e)
|
|
200
|
-
}
|
|
201
|
-
try {
|
|
202
|
-
const binding = require('html-to-markdown-node-darwin-x64')
|
|
203
|
-
const bindingPackageVersion = require('html-to-markdown-node-darwin-x64/package.json').version
|
|
204
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
205
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
206
|
-
}
|
|
207
|
-
return binding
|
|
208
|
-
} catch (e) {
|
|
209
|
-
loadErrors.push(e)
|
|
210
|
-
}
|
|
211
|
-
} else if (process.arch === 'arm64') {
|
|
212
|
-
try {
|
|
213
|
-
return require('./html-to-markdown-node.darwin-arm64.node')
|
|
214
|
-
} catch (e) {
|
|
215
|
-
loadErrors.push(e)
|
|
216
|
-
}
|
|
217
|
-
try {
|
|
218
|
-
const binding = require('html-to-markdown-node-darwin-arm64')
|
|
219
|
-
const bindingPackageVersion = require('html-to-markdown-node-darwin-arm64/package.json').version
|
|
220
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
221
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
222
|
-
}
|
|
223
|
-
return binding
|
|
224
|
-
} catch (e) {
|
|
225
|
-
loadErrors.push(e)
|
|
226
|
-
}
|
|
227
|
-
} else {
|
|
228
|
-
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
|
|
229
|
-
}
|
|
230
|
-
} else if (process.platform === 'freebsd') {
|
|
231
|
-
if (process.arch === 'x64') {
|
|
232
|
-
try {
|
|
233
|
-
return require('./html-to-markdown-node.freebsd-x64.node')
|
|
234
|
-
} catch (e) {
|
|
235
|
-
loadErrors.push(e)
|
|
236
|
-
}
|
|
237
|
-
try {
|
|
238
|
-
const binding = require('html-to-markdown-node-freebsd-x64')
|
|
239
|
-
const bindingPackageVersion = require('html-to-markdown-node-freebsd-x64/package.json').version
|
|
240
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
241
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
242
|
-
}
|
|
243
|
-
return binding
|
|
244
|
-
} catch (e) {
|
|
245
|
-
loadErrors.push(e)
|
|
246
|
-
}
|
|
247
|
-
} else if (process.arch === 'arm64') {
|
|
248
|
-
try {
|
|
249
|
-
return require('./html-to-markdown-node.freebsd-arm64.node')
|
|
250
|
-
} catch (e) {
|
|
251
|
-
loadErrors.push(e)
|
|
252
|
-
}
|
|
253
|
-
try {
|
|
254
|
-
const binding = require('html-to-markdown-node-freebsd-arm64')
|
|
255
|
-
const bindingPackageVersion = require('html-to-markdown-node-freebsd-arm64/package.json').version
|
|
256
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
257
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
258
|
-
}
|
|
259
|
-
return binding
|
|
260
|
-
} catch (e) {
|
|
261
|
-
loadErrors.push(e)
|
|
262
|
-
}
|
|
263
|
-
} else {
|
|
264
|
-
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
|
|
265
|
-
}
|
|
266
|
-
} else if (process.platform === 'linux') {
|
|
267
|
-
if (process.arch === 'x64') {
|
|
268
|
-
if (isMusl()) {
|
|
269
|
-
try {
|
|
270
|
-
return require('./html-to-markdown-node.linux-x64-musl.node')
|
|
271
|
-
} catch (e) {
|
|
272
|
-
loadErrors.push(e)
|
|
273
|
-
}
|
|
274
|
-
try {
|
|
275
|
-
const binding = require('html-to-markdown-node-linux-x64-musl')
|
|
276
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-x64-musl/package.json').version
|
|
277
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
278
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
279
|
-
}
|
|
280
|
-
return binding
|
|
281
|
-
} catch (e) {
|
|
282
|
-
loadErrors.push(e)
|
|
283
|
-
}
|
|
284
|
-
} else {
|
|
285
|
-
try {
|
|
286
|
-
return require('./html-to-markdown-node.linux-x64-gnu.node')
|
|
287
|
-
} catch (e) {
|
|
288
|
-
loadErrors.push(e)
|
|
289
|
-
}
|
|
290
|
-
try {
|
|
291
|
-
const binding = require('html-to-markdown-node-linux-x64-gnu')
|
|
292
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-x64-gnu/package.json').version
|
|
293
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
294
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
295
|
-
}
|
|
296
|
-
return binding
|
|
297
|
-
} catch (e) {
|
|
298
|
-
loadErrors.push(e)
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
} else if (process.arch === 'arm64') {
|
|
302
|
-
if (isMusl()) {
|
|
303
|
-
try {
|
|
304
|
-
return require('./html-to-markdown-node.linux-arm64-musl.node')
|
|
305
|
-
} catch (e) {
|
|
306
|
-
loadErrors.push(e)
|
|
307
|
-
}
|
|
308
|
-
try {
|
|
309
|
-
const binding = require('html-to-markdown-node-linux-arm64-musl')
|
|
310
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-arm64-musl/package.json').version
|
|
311
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
312
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
313
|
-
}
|
|
314
|
-
return binding
|
|
315
|
-
} catch (e) {
|
|
316
|
-
loadErrors.push(e)
|
|
317
|
-
}
|
|
318
|
-
} else {
|
|
319
|
-
try {
|
|
320
|
-
return require('./html-to-markdown-node.linux-arm64-gnu.node')
|
|
321
|
-
} catch (e) {
|
|
322
|
-
loadErrors.push(e)
|
|
323
|
-
}
|
|
324
|
-
try {
|
|
325
|
-
const binding = require('html-to-markdown-node-linux-arm64-gnu')
|
|
326
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-arm64-gnu/package.json').version
|
|
327
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
328
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
329
|
-
}
|
|
330
|
-
return binding
|
|
331
|
-
} catch (e) {
|
|
332
|
-
loadErrors.push(e)
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
} else if (process.arch === 'arm') {
|
|
336
|
-
if (isMusl()) {
|
|
337
|
-
try {
|
|
338
|
-
return require('./html-to-markdown-node.linux-arm-musleabihf.node')
|
|
339
|
-
} catch (e) {
|
|
340
|
-
loadErrors.push(e)
|
|
341
|
-
}
|
|
342
|
-
try {
|
|
343
|
-
const binding = require('html-to-markdown-node-linux-arm-musleabihf')
|
|
344
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-arm-musleabihf/package.json').version
|
|
345
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
346
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
347
|
-
}
|
|
348
|
-
return binding
|
|
349
|
-
} catch (e) {
|
|
350
|
-
loadErrors.push(e)
|
|
351
|
-
}
|
|
352
|
-
} else {
|
|
353
|
-
try {
|
|
354
|
-
return require('./html-to-markdown-node.linux-arm-gnueabihf.node')
|
|
355
|
-
} catch (e) {
|
|
356
|
-
loadErrors.push(e)
|
|
357
|
-
}
|
|
358
|
-
try {
|
|
359
|
-
const binding = require('html-to-markdown-node-linux-arm-gnueabihf')
|
|
360
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-arm-gnueabihf/package.json').version
|
|
361
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
362
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
363
|
-
}
|
|
364
|
-
return binding
|
|
365
|
-
} catch (e) {
|
|
366
|
-
loadErrors.push(e)
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
} else if (process.arch === 'loong64') {
|
|
370
|
-
if (isMusl()) {
|
|
371
|
-
try {
|
|
372
|
-
return require('./html-to-markdown-node.linux-loong64-musl.node')
|
|
373
|
-
} catch (e) {
|
|
374
|
-
loadErrors.push(e)
|
|
375
|
-
}
|
|
376
|
-
try {
|
|
377
|
-
const binding = require('html-to-markdown-node-linux-loong64-musl')
|
|
378
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-loong64-musl/package.json').version
|
|
379
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
380
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
381
|
-
}
|
|
382
|
-
return binding
|
|
383
|
-
} catch (e) {
|
|
384
|
-
loadErrors.push(e)
|
|
385
|
-
}
|
|
386
|
-
} else {
|
|
387
|
-
try {
|
|
388
|
-
return require('./html-to-markdown-node.linux-loong64-gnu.node')
|
|
389
|
-
} catch (e) {
|
|
390
|
-
loadErrors.push(e)
|
|
391
|
-
}
|
|
392
|
-
try {
|
|
393
|
-
const binding = require('html-to-markdown-node-linux-loong64-gnu')
|
|
394
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-loong64-gnu/package.json').version
|
|
395
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
396
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
397
|
-
}
|
|
398
|
-
return binding
|
|
399
|
-
} catch (e) {
|
|
400
|
-
loadErrors.push(e)
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
} else if (process.arch === 'riscv64') {
|
|
404
|
-
if (isMusl()) {
|
|
405
|
-
try {
|
|
406
|
-
return require('./html-to-markdown-node.linux-riscv64-musl.node')
|
|
407
|
-
} catch (e) {
|
|
408
|
-
loadErrors.push(e)
|
|
409
|
-
}
|
|
410
|
-
try {
|
|
411
|
-
const binding = require('html-to-markdown-node-linux-riscv64-musl')
|
|
412
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-riscv64-musl/package.json').version
|
|
413
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
414
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
415
|
-
}
|
|
416
|
-
return binding
|
|
417
|
-
} catch (e) {
|
|
418
|
-
loadErrors.push(e)
|
|
419
|
-
}
|
|
420
|
-
} else {
|
|
421
|
-
try {
|
|
422
|
-
return require('./html-to-markdown-node.linux-riscv64-gnu.node')
|
|
423
|
-
} catch (e) {
|
|
424
|
-
loadErrors.push(e)
|
|
425
|
-
}
|
|
426
|
-
try {
|
|
427
|
-
const binding = require('html-to-markdown-node-linux-riscv64-gnu')
|
|
428
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-riscv64-gnu/package.json').version
|
|
429
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
430
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
431
|
-
}
|
|
432
|
-
return binding
|
|
433
|
-
} catch (e) {
|
|
434
|
-
loadErrors.push(e)
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
} else if (process.arch === 'ppc64') {
|
|
438
|
-
try {
|
|
439
|
-
return require('./html-to-markdown-node.linux-ppc64-gnu.node')
|
|
440
|
-
} catch (e) {
|
|
441
|
-
loadErrors.push(e)
|
|
442
|
-
}
|
|
443
|
-
try {
|
|
444
|
-
const binding = require('html-to-markdown-node-linux-ppc64-gnu')
|
|
445
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-ppc64-gnu/package.json').version
|
|
446
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
447
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
448
|
-
}
|
|
449
|
-
return binding
|
|
450
|
-
} catch (e) {
|
|
451
|
-
loadErrors.push(e)
|
|
452
|
-
}
|
|
453
|
-
} else if (process.arch === 's390x') {
|
|
454
|
-
try {
|
|
455
|
-
return require('./html-to-markdown-node.linux-s390x-gnu.node')
|
|
456
|
-
} catch (e) {
|
|
457
|
-
loadErrors.push(e)
|
|
458
|
-
}
|
|
459
|
-
try {
|
|
460
|
-
const binding = require('html-to-markdown-node-linux-s390x-gnu')
|
|
461
|
-
const bindingPackageVersion = require('html-to-markdown-node-linux-s390x-gnu/package.json').version
|
|
462
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
463
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
464
|
-
}
|
|
465
|
-
return binding
|
|
466
|
-
} catch (e) {
|
|
467
|
-
loadErrors.push(e)
|
|
468
|
-
}
|
|
469
|
-
} else {
|
|
470
|
-
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
471
|
-
}
|
|
472
|
-
} else if (process.platform === 'openharmony') {
|
|
473
|
-
if (process.arch === 'arm64') {
|
|
474
|
-
try {
|
|
475
|
-
return require('./html-to-markdown-node.openharmony-arm64.node')
|
|
476
|
-
} catch (e) {
|
|
477
|
-
loadErrors.push(e)
|
|
478
|
-
}
|
|
479
|
-
try {
|
|
480
|
-
const binding = require('html-to-markdown-node-openharmony-arm64')
|
|
481
|
-
const bindingPackageVersion = require('html-to-markdown-node-openharmony-arm64/package.json').version
|
|
482
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
483
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
484
|
-
}
|
|
485
|
-
return binding
|
|
486
|
-
} catch (e) {
|
|
487
|
-
loadErrors.push(e)
|
|
488
|
-
}
|
|
489
|
-
} else if (process.arch === 'x64') {
|
|
490
|
-
try {
|
|
491
|
-
return require('./html-to-markdown-node.openharmony-x64.node')
|
|
492
|
-
} catch (e) {
|
|
493
|
-
loadErrors.push(e)
|
|
494
|
-
}
|
|
495
|
-
try {
|
|
496
|
-
const binding = require('html-to-markdown-node-openharmony-x64')
|
|
497
|
-
const bindingPackageVersion = require('html-to-markdown-node-openharmony-x64/package.json').version
|
|
498
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
499
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
500
|
-
}
|
|
501
|
-
return binding
|
|
502
|
-
} catch (e) {
|
|
503
|
-
loadErrors.push(e)
|
|
504
|
-
}
|
|
505
|
-
} else if (process.arch === 'arm') {
|
|
506
|
-
try {
|
|
507
|
-
return require('./html-to-markdown-node.openharmony-arm.node')
|
|
508
|
-
} catch (e) {
|
|
509
|
-
loadErrors.push(e)
|
|
510
|
-
}
|
|
511
|
-
try {
|
|
512
|
-
const binding = require('html-to-markdown-node-openharmony-arm')
|
|
513
|
-
const bindingPackageVersion = require('html-to-markdown-node-openharmony-arm/package.json').version
|
|
514
|
-
if (bindingPackageVersion !== '2.5.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
515
|
-
throw new Error(`Native binding package version mismatch, expected 2.5.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
516
|
-
}
|
|
517
|
-
return binding
|
|
518
|
-
} catch (e) {
|
|
519
|
-
loadErrors.push(e)
|
|
520
|
-
}
|
|
521
|
-
} else {
|
|
522
|
-
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
|
|
523
|
-
}
|
|
524
|
-
} else {
|
|
525
|
-
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
nativeBinding = requireNative()
|
|
530
|
-
|
|
531
|
-
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
532
|
-
let wasiBinding = null
|
|
533
|
-
let wasiBindingError = null
|
|
534
|
-
try {
|
|
535
|
-
wasiBinding = require('./html-to-markdown-node.wasi.cjs')
|
|
536
|
-
nativeBinding = wasiBinding
|
|
537
|
-
} catch (err) {
|
|
538
|
-
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
539
|
-
wasiBindingError = err
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
if (!nativeBinding) {
|
|
543
|
-
try {
|
|
544
|
-
wasiBinding = require('html-to-markdown-node-wasm32-wasi')
|
|
545
|
-
nativeBinding = wasiBinding
|
|
546
|
-
} catch (err) {
|
|
547
|
-
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
548
|
-
wasiBindingError.cause = err
|
|
549
|
-
loadErrors.push(err)
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
554
|
-
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
555
|
-
error.cause = wasiBindingError
|
|
556
|
-
throw error
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
if (!nativeBinding) {
|
|
561
|
-
if (loadErrors.length > 0) {
|
|
562
|
-
throw new Error(
|
|
563
|
-
`Cannot find native binding. ` +
|
|
564
|
-
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
565
|
-
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
566
|
-
{
|
|
567
|
-
cause: loadErrors.reduce((err, cur) => {
|
|
568
|
-
cur.cause = err
|
|
569
|
-
return cur
|
|
570
|
-
}),
|
|
571
|
-
},
|
|
572
|
-
)
|
|
573
|
-
}
|
|
574
|
-
throw new Error(`Failed to load native binding`)
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
module.exports = nativeBinding
|
|
578
|
-
module.exports.convert = nativeBinding.convert
|
|
579
|
-
module.exports.convertWithInlineImages = nativeBinding.convertWithInlineImages
|
|
580
|
-
module.exports.JsCodeBlockStyle = nativeBinding.JsCodeBlockStyle
|
|
581
|
-
module.exports.JsHeadingStyle = nativeBinding.JsHeadingStyle
|
|
582
|
-
module.exports.JsHighlightStyle = nativeBinding.JsHighlightStyle
|
|
583
|
-
module.exports.JsListIndentType = nativeBinding.JsListIndentType
|
|
584
|
-
module.exports.JsNewlineStyle = nativeBinding.JsNewlineStyle
|
|
585
|
-
module.exports.JsPreprocessingPreset = nativeBinding.JsPreprocessingPreset
|
|
586
|
-
module.exports.JsWhitespaceMode = nativeBinding.JsWhitespaceMode
|