fastyaml-rs 0.1.5 → 0.1.6
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/index.d.ts +129 -83
- package/index.js +531 -196
- package/package.json +6 -14
- package/.prettierignore +0 -7
- package/.prettierrc.json +0 -10
- package/fastyaml-rs.darwin-arm64.node +0 -0
- package/fastyaml-rs.darwin-x64.node +0 -0
- package/fastyaml-rs.linux-arm64-gnu.node +0 -0
- package/fastyaml-rs.linux-x64-gnu.node +0 -0
- package/fastyaml-rs.linux-x64-musl.node +0 -0
- package/fastyaml-rs.win32-arm64-msvc.node +0 -0
- package/fastyaml-rs.win32-x64-msvc.node +0 -0
package/index.d.ts
CHANGED
|
@@ -1,126 +1,172 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* This module provides high-performance YAML parsing and serialization
|
|
5
|
-
* with 5-10x speedup over pure JavaScript implementations.
|
|
6
|
-
*
|
|
7
|
-
* @module @fast-yaml/core
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Options for YAML serialization.
|
|
12
|
-
*/
|
|
1
|
+
/* auto-generated by NAPI-RS */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/** Options for YAML serialization. */
|
|
13
4
|
export interface DumpOptions {
|
|
5
|
+
/** If true, sort object keys alphabetically (default: false) */
|
|
6
|
+
sortKeys?: boolean
|
|
14
7
|
/**
|
|
15
|
-
*
|
|
16
|
-
|
|
17
|
-
sortKeys?: boolean;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Allow unicode characters (default: true)
|
|
21
|
-
* Note: yaml-rust2 always outputs unicode; this is accepted for API compatibility
|
|
8
|
+
* Allow unicode characters (default: true).
|
|
9
|
+
* Note: yaml-rust2 always outputs unicode; this is accepted for API compatibility.
|
|
22
10
|
*/
|
|
23
|
-
allowUnicode?: boolean
|
|
11
|
+
allowUnicode?: boolean
|
|
24
12
|
}
|
|
25
13
|
|
|
26
14
|
/**
|
|
27
|
-
*
|
|
28
|
-
* Equivalent to js-yaml's `safeLoad()`.
|
|
15
|
+
* Serialize a JavaScript object to a YAML string.
|
|
29
16
|
*
|
|
30
|
-
*
|
|
31
|
-
* @returns Parsed JavaScript object
|
|
32
|
-
* @throws {Error} If YAML is invalid or exceeds 100MB limit
|
|
17
|
+
* This is equivalent to js-yaml's `safeDump()` and `PyYAML`'s `safe_dump()`.
|
|
33
18
|
*
|
|
34
|
-
*
|
|
35
|
-
* ```typescript
|
|
36
|
-
* import { safeLoad } from '@fast-yaml/core';
|
|
19
|
+
* # Arguments
|
|
37
20
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
21
|
+
* * `data` - A JavaScript object to serialize (Object, Array, string, number, boolean, null)
|
|
22
|
+
* * `options` - Optional serialization options
|
|
23
|
+
*
|
|
24
|
+
* # Returns
|
|
25
|
+
*
|
|
26
|
+
* A YAML string representation of the object
|
|
27
|
+
*
|
|
28
|
+
* # Errors
|
|
29
|
+
*
|
|
30
|
+
* Throws an error if the object contains non-serializable types.
|
|
31
|
+
*
|
|
32
|
+
* # Example
|
|
33
|
+
*
|
|
34
|
+
* ```javascript
|
|
35
|
+
* const { safeDump } = require('@fast-yaml/core');
|
|
36
|
+
*
|
|
37
|
+
* const yaml = safeDump({ name: 'test', value: 123 });
|
|
38
|
+
* console.log(yaml); // 'name: test
|
|
39
|
+
value: 123
|
|
40
|
+
'
|
|
40
41
|
* ```
|
|
41
42
|
*/
|
|
42
|
-
export function
|
|
43
|
+
export declare function safeDump(data: unknown, options?: DumpOptions | undefined | null): NapiResult<string>
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
|
-
*
|
|
46
|
-
* Equivalent to js-yaml's `safeLoadAll()`.
|
|
46
|
+
* Serialize multiple JavaScript objects to a YAML string with document separators.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
* @returns Array of parsed JavaScript objects
|
|
50
|
-
* @throws {Error} If YAML is invalid or exceeds 100MB limit
|
|
48
|
+
* This is equivalent to js-yaml's `safeDumpAll()` and `PyYAML`'s `safe_dump_all()`.
|
|
51
49
|
*
|
|
52
|
-
*
|
|
53
|
-
* ```typescript
|
|
54
|
-
* import { safeLoadAll } from '@fast-yaml/core';
|
|
50
|
+
* # Arguments
|
|
55
51
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
52
|
+
* * `documents` - An array of JavaScript objects to serialize
|
|
53
|
+
* * `options` - Optional serialization options
|
|
54
|
+
*
|
|
55
|
+
* # Returns
|
|
56
|
+
*
|
|
57
|
+
* A YAML string with multiple documents separated by "---"
|
|
58
|
+
*
|
|
59
|
+
* # Errors
|
|
60
|
+
*
|
|
61
|
+
* Throws an error if:
|
|
62
|
+
* - Any object cannot be serialized
|
|
63
|
+
* - Total output size exceeds 100MB limit
|
|
64
|
+
*
|
|
65
|
+
* # Security
|
|
66
|
+
*
|
|
67
|
+
* Maximum output size is limited to 100MB to prevent memory exhaustion.
|
|
68
|
+
*
|
|
69
|
+
* # Example
|
|
70
|
+
*
|
|
71
|
+
* ```javascript
|
|
72
|
+
* const { safeDumpAll } = require('@fast-yaml/core');
|
|
73
|
+
*
|
|
74
|
+
* const yaml = safeDumpAll([{ a: 1 }, { b: 2 }]);
|
|
75
|
+
* console.log(yaml); // '---
|
|
76
|
+
a: 1
|
|
77
|
+
---
|
|
78
|
+
b: 2
|
|
79
|
+
'
|
|
58
80
|
* ```
|
|
59
81
|
*/
|
|
60
|
-
export function
|
|
82
|
+
export declare function safeDumpAll(documents: Array<unknown>, options?: DumpOptions | undefined | null): NapiResult<string>
|
|
61
83
|
|
|
62
84
|
/**
|
|
63
|
-
*
|
|
64
|
-
* Equivalent to js-yaml's `safeDump()`.
|
|
85
|
+
* Parse a YAML string and return a JavaScript object.
|
|
65
86
|
*
|
|
66
|
-
*
|
|
67
|
-
* @param options - Serialization options
|
|
68
|
-
* @returns YAML string representation
|
|
69
|
-
* @throws {TypeError} If object contains non-serializable types
|
|
87
|
+
* This is equivalent to js-yaml's `safeLoad()` and `PyYAML`'s `safe_load()`.
|
|
70
88
|
*
|
|
71
|
-
*
|
|
72
|
-
* ```typescript
|
|
73
|
-
* import { safeDump } from '@fast-yaml/core';
|
|
89
|
+
* # Arguments
|
|
74
90
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
91
|
+
* * `yaml_str` - A YAML document as a string
|
|
92
|
+
*
|
|
93
|
+
* # Returns
|
|
94
|
+
*
|
|
95
|
+
* The parsed YAML document as JavaScript objects (Object, Array, string, number, boolean, null)
|
|
96
|
+
*
|
|
97
|
+
* # Errors
|
|
98
|
+
*
|
|
99
|
+
* Throws an error if:
|
|
100
|
+
* - The YAML is invalid
|
|
101
|
+
* - Input exceeds size limit (100MB)
|
|
102
|
+
*
|
|
103
|
+
* # Security
|
|
104
|
+
*
|
|
105
|
+
* Maximum input size is limited to 100MB to prevent denial-of-service attacks.
|
|
106
|
+
*
|
|
107
|
+
* # Example
|
|
108
|
+
*
|
|
109
|
+
* ```javascript
|
|
110
|
+
* const { safeLoad } = require('@fast-yaml/core');
|
|
111
|
+
*
|
|
112
|
+
* const data = safeLoad('name: test
|
|
113
|
+
value: 123');
|
|
114
|
+
* console.log(data); // { name: 'test', value: 123 }
|
|
77
115
|
* ```
|
|
78
116
|
*/
|
|
79
|
-
export function
|
|
117
|
+
export declare function safeLoad(yamlStr: string): NapiResult<unknown>
|
|
80
118
|
|
|
81
119
|
/**
|
|
82
|
-
*
|
|
83
|
-
* Equivalent to js-yaml's `safeDumpAll()`.
|
|
120
|
+
* Parse a YAML string containing multiple documents.
|
|
84
121
|
*
|
|
85
|
-
*
|
|
86
|
-
* @param options - Serialization options
|
|
87
|
-
* @returns YAML string with '---' separators
|
|
88
|
-
* @throws {TypeError} If any object cannot be serialized
|
|
89
|
-
* @throws {Error} If output exceeds 100MB limit
|
|
122
|
+
* This is equivalent to js-yaml's `safeLoadAll()` and `PyYAML`'s `safe_load_all()`.
|
|
90
123
|
*
|
|
91
|
-
*
|
|
92
|
-
* ```typescript
|
|
93
|
-
* import { safeDumpAll } from '@fast-yaml/core';
|
|
124
|
+
* # Arguments
|
|
94
125
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
126
|
+
* * `yaml_str` - A YAML string potentially containing multiple documents
|
|
127
|
+
*
|
|
128
|
+
* # Returns
|
|
129
|
+
*
|
|
130
|
+
* An array of parsed JavaScript objects
|
|
131
|
+
*
|
|
132
|
+
* # Errors
|
|
133
|
+
*
|
|
134
|
+
* Throws an error if:
|
|
135
|
+
* - The YAML is invalid
|
|
136
|
+
* - Input exceeds size limit (100MB)
|
|
137
|
+
*
|
|
138
|
+
* # Security
|
|
139
|
+
*
|
|
140
|
+
* Maximum input size is limited to 100MB to prevent denial-of-service attacks.
|
|
141
|
+
*
|
|
142
|
+
* # Example
|
|
143
|
+
*
|
|
144
|
+
* ```javascript
|
|
145
|
+
* const { safeLoadAll } = require('@fast-yaml/core');
|
|
146
|
+
*
|
|
147
|
+
* const docs = safeLoadAll('---
|
|
148
|
+
foo: 1
|
|
149
|
+
---
|
|
150
|
+
bar: 2');
|
|
151
|
+
* console.log(docs); // [{ foo: 1 }, { bar: 2 }]
|
|
97
152
|
* ```
|
|
98
153
|
*/
|
|
99
|
-
export function
|
|
154
|
+
export declare function safeLoadAll(yamlStr: string): NapiResult<Array<unknown>>
|
|
100
155
|
|
|
101
156
|
/**
|
|
102
157
|
* Get the library version.
|
|
103
158
|
*
|
|
104
|
-
*
|
|
159
|
+
* Returns the version string of the fast-yaml-nodejs crate.
|
|
105
160
|
*
|
|
106
|
-
*
|
|
107
|
-
* ```typescript
|
|
108
|
-
* import { version } from '@fast-yaml/core';
|
|
161
|
+
* # Examples
|
|
109
162
|
*
|
|
163
|
+
* ```javascript
|
|
164
|
+
* const { version } = require('@fast-yaml/core');
|
|
110
165
|
* console.log(version()); // "0.1.0"
|
|
111
166
|
* ```
|
|
112
167
|
*/
|
|
113
|
-
export function version(): string
|
|
168
|
+
export declare function version(): string
|
|
114
169
|
|
|
115
170
|
// Aliases for js-yaml compatibility
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
* @deprecated Use safeLoad() instead
|
|
119
|
-
*/
|
|
120
|
-
export { safeLoad as load };
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Alias for safeDump() for js-yaml compatibility.
|
|
124
|
-
* @deprecated Use safeDump() instead
|
|
125
|
-
*/
|
|
126
|
-
export { safeDump as dump };
|
|
171
|
+
export declare const load: typeof safeLoad
|
|
172
|
+
export declare const dump: typeof safeDump
|
package/index.js
CHANGED
|
@@ -1,248 +1,583 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* This placeholder ensures the module can be required during development.
|
|
6
|
-
*/
|
|
1
|
+
// prettier-ignore
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
/* auto-generated by NAPI-RS */
|
|
7
5
|
|
|
8
|
-
const {
|
|
9
|
-
|
|
6
|
+
const { readFileSync } = require('node:fs')
|
|
7
|
+
let nativeBinding = null
|
|
8
|
+
const loadErrors = []
|
|
10
9
|
|
|
11
|
-
const
|
|
10
|
+
const isMusl = () => {
|
|
11
|
+
let musl = false
|
|
12
|
+
if (process.platform === 'linux') {
|
|
13
|
+
musl = isMuslFromFilesystem()
|
|
14
|
+
if (musl === null) {
|
|
15
|
+
musl = isMuslFromReport()
|
|
16
|
+
}
|
|
17
|
+
if (musl === null) {
|
|
18
|
+
musl = isMuslFromChildProcess()
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return musl
|
|
22
|
+
}
|
|
12
23
|
|
|
13
|
-
|
|
14
|
-
let localFileExisted = false;
|
|
15
|
-
let loadError = null;
|
|
24
|
+
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
16
25
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
const isMuslFromFilesystem = () => {
|
|
27
|
+
try {
|
|
28
|
+
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
29
|
+
} catch {
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const isMuslFromReport = () => {
|
|
35
|
+
let report = null
|
|
36
|
+
if (typeof process.report?.getReport === 'function') {
|
|
37
|
+
process.report.excludeNetwork = true
|
|
38
|
+
report = process.report.getReport()
|
|
39
|
+
}
|
|
40
|
+
if (!report) {
|
|
41
|
+
return null
|
|
42
|
+
}
|
|
43
|
+
if (report.header && report.header.glibcVersionRuntime) {
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(report.sharedObjects)) {
|
|
47
|
+
if (report.sharedObjects.some(isFileMusl)) {
|
|
48
|
+
return true
|
|
25
49
|
}
|
|
26
|
-
} else {
|
|
27
|
-
const { glibcVersionRuntime } = process.report.getReport().header;
|
|
28
|
-
return !glibcVersionRuntime;
|
|
29
50
|
}
|
|
51
|
+
return false
|
|
30
52
|
}
|
|
31
53
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
54
|
+
const isMuslFromChildProcess = () => {
|
|
55
|
+
try {
|
|
56
|
+
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
57
|
+
} catch (e) {
|
|
58
|
+
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
59
|
+
return false
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function requireNative() {
|
|
64
|
+
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
|
|
65
|
+
try {
|
|
66
|
+
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
|
|
67
|
+
} catch (err) {
|
|
68
|
+
loadErrors.push(err)
|
|
69
|
+
}
|
|
70
|
+
} else if (process.platform === 'android') {
|
|
71
|
+
if (process.arch === 'arm64') {
|
|
72
|
+
try {
|
|
73
|
+
return require('./fastyaml-rs.android-arm64.node')
|
|
74
|
+
} catch (e) {
|
|
75
|
+
loadErrors.push(e)
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const binding = require('fastyaml-rs-android-arm64')
|
|
79
|
+
const bindingPackageVersion = require('fastyaml-rs-android-arm64/package.json').version
|
|
80
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
81
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
82
|
+
}
|
|
83
|
+
return binding
|
|
84
|
+
} catch (e) {
|
|
85
|
+
loadErrors.push(e)
|
|
86
|
+
}
|
|
87
|
+
} else if (process.arch === 'arm') {
|
|
88
|
+
try {
|
|
89
|
+
return require('./fastyaml-rs.android-arm-eabi.node')
|
|
90
|
+
} catch (e) {
|
|
91
|
+
loadErrors.push(e)
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const binding = require('fastyaml-rs-android-arm-eabi')
|
|
95
|
+
const bindingPackageVersion = require('fastyaml-rs-android-arm-eabi/package.json').version
|
|
96
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
97
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
98
|
+
}
|
|
99
|
+
return binding
|
|
100
|
+
} catch (e) {
|
|
101
|
+
loadErrors.push(e)
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
|
|
105
|
+
}
|
|
106
|
+
} else if (process.platform === 'win32') {
|
|
107
|
+
if (process.arch === 'x64') {
|
|
108
|
+
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
|
|
109
|
+
try {
|
|
110
|
+
return require('./fastyaml-rs.win32-x64-gnu.node')
|
|
111
|
+
} catch (e) {
|
|
112
|
+
loadErrors.push(e)
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const binding = require('fastyaml-rs-win32-x64-gnu')
|
|
116
|
+
const bindingPackageVersion = require('fastyaml-rs-win32-x64-gnu/package.json').version
|
|
117
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
118
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
119
|
+
}
|
|
120
|
+
return binding
|
|
121
|
+
} catch (e) {
|
|
122
|
+
loadErrors.push(e)
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
try {
|
|
126
|
+
return require('./fastyaml-rs.win32-x64-msvc.node')
|
|
127
|
+
} catch (e) {
|
|
128
|
+
loadErrors.push(e)
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const binding = require('fastyaml-rs-win32-x64-msvc')
|
|
132
|
+
const bindingPackageVersion = require('fastyaml-rs-win32-x64-msvc/package.json').version
|
|
133
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
134
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
135
|
+
}
|
|
136
|
+
return binding
|
|
137
|
+
} catch (e) {
|
|
138
|
+
loadErrors.push(e)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} else if (process.arch === 'ia32') {
|
|
142
|
+
try {
|
|
143
|
+
return require('./fastyaml-rs.win32-ia32-msvc.node')
|
|
144
|
+
} catch (e) {
|
|
145
|
+
loadErrors.push(e)
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const binding = require('fastyaml-rs-win32-ia32-msvc')
|
|
149
|
+
const bindingPackageVersion = require('fastyaml-rs-win32-ia32-msvc/package.json').version
|
|
150
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
151
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
152
|
+
}
|
|
153
|
+
return binding
|
|
154
|
+
} catch (e) {
|
|
155
|
+
loadErrors.push(e)
|
|
156
|
+
}
|
|
157
|
+
} else if (process.arch === 'arm64') {
|
|
158
|
+
try {
|
|
159
|
+
return require('./fastyaml-rs.win32-arm64-msvc.node')
|
|
160
|
+
} catch (e) {
|
|
161
|
+
loadErrors.push(e)
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const binding = require('fastyaml-rs-win32-arm64-msvc')
|
|
165
|
+
const bindingPackageVersion = require('fastyaml-rs-win32-arm64-msvc/package.json').version
|
|
166
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
167
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
168
|
+
}
|
|
169
|
+
return binding
|
|
170
|
+
} catch (e) {
|
|
171
|
+
loadErrors.push(e)
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
|
|
175
|
+
}
|
|
176
|
+
} else if (process.platform === 'darwin') {
|
|
177
|
+
try {
|
|
178
|
+
return require('./fastyaml-rs.darwin-universal.node')
|
|
179
|
+
} catch (e) {
|
|
180
|
+
loadErrors.push(e)
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
const binding = require('fastyaml-rs-darwin-universal')
|
|
184
|
+
const bindingPackageVersion = require('fastyaml-rs-darwin-universal/package.json').version
|
|
185
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
186
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
187
|
+
}
|
|
188
|
+
return binding
|
|
189
|
+
} catch (e) {
|
|
190
|
+
loadErrors.push(e)
|
|
191
|
+
}
|
|
192
|
+
if (process.arch === 'x64') {
|
|
193
|
+
try {
|
|
194
|
+
return require('./fastyaml-rs.darwin-x64.node')
|
|
195
|
+
} catch (e) {
|
|
196
|
+
loadErrors.push(e)
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const binding = require('fastyaml-rs-darwin-x64')
|
|
200
|
+
const bindingPackageVersion = require('fastyaml-rs-darwin-x64/package.json').version
|
|
201
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
202
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
203
|
+
}
|
|
204
|
+
return binding
|
|
205
|
+
} catch (e) {
|
|
206
|
+
loadErrors.push(e)
|
|
207
|
+
}
|
|
208
|
+
} else if (process.arch === 'arm64') {
|
|
209
|
+
try {
|
|
210
|
+
return require('./fastyaml-rs.darwin-arm64.node')
|
|
211
|
+
} catch (e) {
|
|
212
|
+
loadErrors.push(e)
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
const binding = require('fastyaml-rs-darwin-arm64')
|
|
216
|
+
const bindingPackageVersion = require('fastyaml-rs-darwin-arm64/package.json').version
|
|
217
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
218
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
219
|
+
}
|
|
220
|
+
return binding
|
|
221
|
+
} catch (e) {
|
|
222
|
+
loadErrors.push(e)
|
|
223
|
+
}
|
|
224
|
+
} else {
|
|
225
|
+
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
|
|
226
|
+
}
|
|
227
|
+
} else if (process.platform === 'freebsd') {
|
|
228
|
+
if (process.arch === 'x64') {
|
|
229
|
+
try {
|
|
230
|
+
return require('./fastyaml-rs.freebsd-x64.node')
|
|
231
|
+
} catch (e) {
|
|
232
|
+
loadErrors.push(e)
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
const binding = require('fastyaml-rs-freebsd-x64')
|
|
236
|
+
const bindingPackageVersion = require('fastyaml-rs-freebsd-x64/package.json').version
|
|
237
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
238
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
239
|
+
}
|
|
240
|
+
return binding
|
|
241
|
+
} catch (e) {
|
|
242
|
+
loadErrors.push(e)
|
|
243
|
+
}
|
|
244
|
+
} else if (process.arch === 'arm64') {
|
|
245
|
+
try {
|
|
246
|
+
return require('./fastyaml-rs.freebsd-arm64.node')
|
|
247
|
+
} catch (e) {
|
|
248
|
+
loadErrors.push(e)
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const binding = require('fastyaml-rs-freebsd-arm64')
|
|
252
|
+
const bindingPackageVersion = require('fastyaml-rs-freebsd-arm64/package.json').version
|
|
253
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
254
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
255
|
+
}
|
|
256
|
+
return binding
|
|
257
|
+
} catch (e) {
|
|
258
|
+
loadErrors.push(e)
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
|
|
262
|
+
}
|
|
263
|
+
} else if (process.platform === 'linux') {
|
|
264
|
+
if (process.arch === 'x64') {
|
|
265
|
+
if (isMusl()) {
|
|
266
|
+
try {
|
|
267
|
+
return require('./fastyaml-rs.linux-x64-musl.node')
|
|
43
268
|
} catch (e) {
|
|
44
|
-
|
|
269
|
+
loadErrors.push(e)
|
|
45
270
|
}
|
|
46
|
-
break;
|
|
47
|
-
case 'arm':
|
|
48
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.android-arm-eabi.node'));
|
|
49
271
|
try {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
272
|
+
const binding = require('fastyaml-rs-linux-x64-musl')
|
|
273
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-x64-musl/package.json').version
|
|
274
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
275
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
54
276
|
}
|
|
277
|
+
return binding
|
|
55
278
|
} catch (e) {
|
|
56
|
-
|
|
279
|
+
loadErrors.push(e)
|
|
57
280
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
break;
|
|
63
|
-
case 'win32':
|
|
64
|
-
switch (arch) {
|
|
65
|
-
case 'x64':
|
|
66
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.win32-x64-msvc.node'));
|
|
67
|
-
try {
|
|
68
|
-
if (localFileExisted) {
|
|
69
|
-
nativeBinding = require('./fast-yaml.win32-x64-msvc.node');
|
|
70
|
-
} else {
|
|
71
|
-
nativeBinding = require('@fast-yaml/win32-x64-msvc');
|
|
72
|
-
}
|
|
281
|
+
} else {
|
|
282
|
+
try {
|
|
283
|
+
return require('./fastyaml-rs.linux-x64-gnu.node')
|
|
73
284
|
} catch (e) {
|
|
74
|
-
|
|
285
|
+
loadErrors.push(e)
|
|
75
286
|
}
|
|
76
|
-
break;
|
|
77
|
-
case 'ia32':
|
|
78
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.win32-ia32-msvc.node'));
|
|
79
287
|
try {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
288
|
+
const binding = require('fastyaml-rs-linux-x64-gnu')
|
|
289
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-x64-gnu/package.json').version
|
|
290
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
291
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
84
292
|
}
|
|
293
|
+
return binding
|
|
85
294
|
} catch (e) {
|
|
86
|
-
|
|
295
|
+
loadErrors.push(e)
|
|
87
296
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
297
|
+
}
|
|
298
|
+
} else if (process.arch === 'arm64') {
|
|
299
|
+
if (isMusl()) {
|
|
91
300
|
try {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
301
|
+
return require('./fastyaml-rs.linux-arm64-musl.node')
|
|
302
|
+
} catch (e) {
|
|
303
|
+
loadErrors.push(e)
|
|
304
|
+
}
|
|
305
|
+
try {
|
|
306
|
+
const binding = require('fastyaml-rs-linux-arm64-musl')
|
|
307
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-arm64-musl/package.json').version
|
|
308
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
309
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
96
310
|
}
|
|
311
|
+
return binding
|
|
97
312
|
} catch (e) {
|
|
98
|
-
|
|
313
|
+
loadErrors.push(e)
|
|
99
314
|
}
|
|
100
|
-
break;
|
|
101
|
-
default:
|
|
102
|
-
throw new Error(`Unsupported architecture on Windows: ${arch}`);
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
case 'darwin':
|
|
106
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.darwin-universal.node'));
|
|
107
|
-
try {
|
|
108
|
-
if (localFileExisted) {
|
|
109
|
-
nativeBinding = require('./fast-yaml.darwin-universal.node');
|
|
110
315
|
} else {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
} else {
|
|
122
|
-
nativeBinding = require('@fast-yaml/darwin-x64');
|
|
316
|
+
try {
|
|
317
|
+
return require('./fastyaml-rs.linux-arm64-gnu.node')
|
|
318
|
+
} catch (e) {
|
|
319
|
+
loadErrors.push(e)
|
|
320
|
+
}
|
|
321
|
+
try {
|
|
322
|
+
const binding = require('fastyaml-rs-linux-arm64-gnu')
|
|
323
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-arm64-gnu/package.json').version
|
|
324
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
325
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
123
326
|
}
|
|
327
|
+
return binding
|
|
124
328
|
} catch (e) {
|
|
125
|
-
|
|
329
|
+
loadErrors.push(e)
|
|
126
330
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
331
|
+
}
|
|
332
|
+
} else if (process.arch === 'arm') {
|
|
333
|
+
if (isMusl()) {
|
|
130
334
|
try {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
335
|
+
return require('./fastyaml-rs.linux-arm-musleabihf.node')
|
|
336
|
+
} catch (e) {
|
|
337
|
+
loadErrors.push(e)
|
|
338
|
+
}
|
|
339
|
+
try {
|
|
340
|
+
const binding = require('fastyaml-rs-linux-arm-musleabihf')
|
|
341
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-arm-musleabihf/package.json').version
|
|
342
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
343
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
135
344
|
}
|
|
345
|
+
return binding
|
|
136
346
|
} catch (e) {
|
|
137
|
-
|
|
347
|
+
loadErrors.push(e)
|
|
138
348
|
}
|
|
139
|
-
break;
|
|
140
|
-
default:
|
|
141
|
-
throw new Error(`Unsupported architecture on macOS: ${arch}`);
|
|
142
|
-
}
|
|
143
|
-
break;
|
|
144
|
-
case 'freebsd':
|
|
145
|
-
if (arch !== 'x64') {
|
|
146
|
-
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`);
|
|
147
|
-
}
|
|
148
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.freebsd-x64.node'));
|
|
149
|
-
try {
|
|
150
|
-
if (localFileExisted) {
|
|
151
|
-
nativeBinding = require('./fast-yaml.freebsd-x64.node');
|
|
152
349
|
} else {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.linux-x64-musl.node'));
|
|
164
|
-
try {
|
|
165
|
-
if (localFileExisted) {
|
|
166
|
-
nativeBinding = require('./fast-yaml.linux-x64-musl.node');
|
|
167
|
-
} else {
|
|
168
|
-
nativeBinding = require('@fast-yaml/linux-x64-musl');
|
|
169
|
-
}
|
|
170
|
-
} catch (e) {
|
|
171
|
-
loadError = e;
|
|
350
|
+
try {
|
|
351
|
+
return require('./fastyaml-rs.linux-arm-gnueabihf.node')
|
|
352
|
+
} catch (e) {
|
|
353
|
+
loadErrors.push(e)
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
const binding = require('fastyaml-rs-linux-arm-gnueabihf')
|
|
357
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-arm-gnueabihf/package.json').version
|
|
358
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
359
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
172
360
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
361
|
+
return binding
|
|
362
|
+
} catch (e) {
|
|
363
|
+
loadErrors.push(e)
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
} else if (process.arch === 'loong64') {
|
|
367
|
+
if (isMusl()) {
|
|
368
|
+
try {
|
|
369
|
+
return require('./fastyaml-rs.linux-loong64-musl.node')
|
|
370
|
+
} catch (e) {
|
|
371
|
+
loadErrors.push(e)
|
|
372
|
+
}
|
|
373
|
+
try {
|
|
374
|
+
const binding = require('fastyaml-rs-linux-loong64-musl')
|
|
375
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-loong64-musl/package.json').version
|
|
376
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
377
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
183
378
|
}
|
|
379
|
+
return binding
|
|
380
|
+
} catch (e) {
|
|
381
|
+
loadErrors.push(e)
|
|
382
|
+
}
|
|
383
|
+
} else {
|
|
384
|
+
try {
|
|
385
|
+
return require('./fastyaml-rs.linux-loong64-gnu.node')
|
|
386
|
+
} catch (e) {
|
|
387
|
+
loadErrors.push(e)
|
|
184
388
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
if (localFileExisted) {
|
|
191
|
-
nativeBinding = require('./fast-yaml.linux-arm64-musl.node');
|
|
192
|
-
} else {
|
|
193
|
-
nativeBinding = require('@fast-yaml/linux-arm64-musl');
|
|
194
|
-
}
|
|
195
|
-
} catch (e) {
|
|
196
|
-
loadError = e;
|
|
389
|
+
try {
|
|
390
|
+
const binding = require('fastyaml-rs-linux-loong64-gnu')
|
|
391
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-loong64-gnu/package.json').version
|
|
392
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
393
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
197
394
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
395
|
+
return binding
|
|
396
|
+
} catch (e) {
|
|
397
|
+
loadErrors.push(e)
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
} else if (process.arch === 'riscv64') {
|
|
401
|
+
if (isMusl()) {
|
|
402
|
+
try {
|
|
403
|
+
return require('./fastyaml-rs.linux-riscv64-musl.node')
|
|
404
|
+
} catch (e) {
|
|
405
|
+
loadErrors.push(e)
|
|
406
|
+
}
|
|
407
|
+
try {
|
|
408
|
+
const binding = require('fastyaml-rs-linux-riscv64-musl')
|
|
409
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-riscv64-musl/package.json').version
|
|
410
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
411
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
208
412
|
}
|
|
413
|
+
return binding
|
|
414
|
+
} catch (e) {
|
|
415
|
+
loadErrors.push(e)
|
|
416
|
+
}
|
|
417
|
+
} else {
|
|
418
|
+
try {
|
|
419
|
+
return require('./fastyaml-rs.linux-riscv64-gnu.node')
|
|
420
|
+
} catch (e) {
|
|
421
|
+
loadErrors.push(e)
|
|
209
422
|
}
|
|
210
|
-
break;
|
|
211
|
-
case 'arm':
|
|
212
|
-
localFileExisted = existsSync(join(__dirname, 'fast-yaml.linux-arm-gnueabihf.node'));
|
|
213
423
|
try {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
424
|
+
const binding = require('fastyaml-rs-linux-riscv64-gnu')
|
|
425
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-riscv64-gnu/package.json').version
|
|
426
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
427
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
218
428
|
}
|
|
429
|
+
return binding
|
|
219
430
|
} catch (e) {
|
|
220
|
-
|
|
431
|
+
loadErrors.push(e)
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
} else if (process.arch === 'ppc64') {
|
|
435
|
+
try {
|
|
436
|
+
return require('./fastyaml-rs.linux-ppc64-gnu.node')
|
|
437
|
+
} catch (e) {
|
|
438
|
+
loadErrors.push(e)
|
|
439
|
+
}
|
|
440
|
+
try {
|
|
441
|
+
const binding = require('fastyaml-rs-linux-ppc64-gnu')
|
|
442
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-ppc64-gnu/package.json').version
|
|
443
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
444
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
221
445
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
446
|
+
return binding
|
|
447
|
+
} catch (e) {
|
|
448
|
+
loadErrors.push(e)
|
|
449
|
+
}
|
|
450
|
+
} else if (process.arch === 's390x') {
|
|
451
|
+
try {
|
|
452
|
+
return require('./fastyaml-rs.linux-s390x-gnu.node')
|
|
453
|
+
} catch (e) {
|
|
454
|
+
loadErrors.push(e)
|
|
455
|
+
}
|
|
456
|
+
try {
|
|
457
|
+
const binding = require('fastyaml-rs-linux-s390x-gnu')
|
|
458
|
+
const bindingPackageVersion = require('fastyaml-rs-linux-s390x-gnu/package.json').version
|
|
459
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
460
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
461
|
+
}
|
|
462
|
+
return binding
|
|
463
|
+
} catch (e) {
|
|
464
|
+
loadErrors.push(e)
|
|
465
|
+
}
|
|
466
|
+
} else {
|
|
467
|
+
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
225
468
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
469
|
+
} else if (process.platform === 'openharmony') {
|
|
470
|
+
if (process.arch === 'arm64') {
|
|
471
|
+
try {
|
|
472
|
+
return require('./fastyaml-rs.openharmony-arm64.node')
|
|
473
|
+
} catch (e) {
|
|
474
|
+
loadErrors.push(e)
|
|
475
|
+
}
|
|
476
|
+
try {
|
|
477
|
+
const binding = require('fastyaml-rs-openharmony-arm64')
|
|
478
|
+
const bindingPackageVersion = require('fastyaml-rs-openharmony-arm64/package.json').version
|
|
479
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
480
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
481
|
+
}
|
|
482
|
+
return binding
|
|
483
|
+
} catch (e) {
|
|
484
|
+
loadErrors.push(e)
|
|
485
|
+
}
|
|
486
|
+
} else if (process.arch === 'x64') {
|
|
487
|
+
try {
|
|
488
|
+
return require('./fastyaml-rs.openharmony-x64.node')
|
|
489
|
+
} catch (e) {
|
|
490
|
+
loadErrors.push(e)
|
|
491
|
+
}
|
|
492
|
+
try {
|
|
493
|
+
const binding = require('fastyaml-rs-openharmony-x64')
|
|
494
|
+
const bindingPackageVersion = require('fastyaml-rs-openharmony-x64/package.json').version
|
|
495
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
496
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
497
|
+
}
|
|
498
|
+
return binding
|
|
499
|
+
} catch (e) {
|
|
500
|
+
loadErrors.push(e)
|
|
501
|
+
}
|
|
502
|
+
} else if (process.arch === 'arm') {
|
|
503
|
+
try {
|
|
504
|
+
return require('./fastyaml-rs.openharmony-arm.node')
|
|
505
|
+
} catch (e) {
|
|
506
|
+
loadErrors.push(e)
|
|
507
|
+
}
|
|
508
|
+
try {
|
|
509
|
+
const binding = require('fastyaml-rs-openharmony-arm')
|
|
510
|
+
const bindingPackageVersion = require('fastyaml-rs-openharmony-arm/package.json').version
|
|
511
|
+
if (bindingPackageVersion !== '0.1.6' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
512
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.6 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
513
|
+
}
|
|
514
|
+
return binding
|
|
515
|
+
} catch (e) {
|
|
516
|
+
loadErrors.push(e)
|
|
517
|
+
}
|
|
518
|
+
} else {
|
|
519
|
+
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
|
|
520
|
+
}
|
|
521
|
+
} else {
|
|
522
|
+
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
523
|
+
}
|
|
229
524
|
}
|
|
230
525
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
526
|
+
nativeBinding = requireNative()
|
|
527
|
+
|
|
528
|
+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
529
|
+
let wasiBinding = null
|
|
530
|
+
let wasiBindingError = null
|
|
531
|
+
try {
|
|
532
|
+
wasiBinding = require('./fastyaml-rs.wasi.cjs')
|
|
533
|
+
nativeBinding = wasiBinding
|
|
534
|
+
} catch (err) {
|
|
535
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
536
|
+
wasiBindingError = err
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
if (!nativeBinding) {
|
|
540
|
+
try {
|
|
541
|
+
wasiBinding = require('fastyaml-rs-wasm32-wasi')
|
|
542
|
+
nativeBinding = wasiBinding
|
|
543
|
+
} catch (err) {
|
|
544
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
545
|
+
wasiBindingError.cause = err
|
|
546
|
+
loadErrors.push(err)
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
551
|
+
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
552
|
+
error.cause = wasiBindingError
|
|
553
|
+
throw error
|
|
234
554
|
}
|
|
235
|
-
throw new Error(`Failed to load native binding`);
|
|
236
555
|
}
|
|
237
556
|
|
|
238
|
-
|
|
557
|
+
if (!nativeBinding) {
|
|
558
|
+
if (loadErrors.length > 0) {
|
|
559
|
+
throw new Error(
|
|
560
|
+
`Cannot find native binding. ` +
|
|
561
|
+
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
562
|
+
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
563
|
+
{
|
|
564
|
+
cause: loadErrors.reduce((err, cur) => {
|
|
565
|
+
cur.cause = err
|
|
566
|
+
return cur
|
|
567
|
+
}),
|
|
568
|
+
},
|
|
569
|
+
)
|
|
570
|
+
}
|
|
571
|
+
throw new Error(`Failed to load native binding`)
|
|
572
|
+
}
|
|
239
573
|
|
|
240
|
-
module.exports
|
|
241
|
-
module.exports.
|
|
242
|
-
module.exports.
|
|
243
|
-
module.exports.
|
|
244
|
-
module.exports.
|
|
574
|
+
module.exports = nativeBinding
|
|
575
|
+
module.exports.safeDump = nativeBinding.safeDump
|
|
576
|
+
module.exports.safeDumpAll = nativeBinding.safeDumpAll
|
|
577
|
+
module.exports.safeLoad = nativeBinding.safeLoad
|
|
578
|
+
module.exports.safeLoadAll = nativeBinding.safeLoadAll
|
|
579
|
+
module.exports.version = nativeBinding.version
|
|
245
580
|
|
|
246
581
|
// Aliases for js-yaml compatibility
|
|
247
|
-
module.exports.load = safeLoad
|
|
248
|
-
module.exports.dump = safeDump
|
|
582
|
+
module.exports.load = nativeBinding.safeLoad
|
|
583
|
+
module.exports.dump = nativeBinding.safeDump
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fastyaml-rs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Fast YAML 1.2.2 parser, linter, and parallel processor for Node.js",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=20"
|
|
24
24
|
},
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
25
|
+
"files": [
|
|
26
|
+
"index.js",
|
|
27
|
+
"index.d.ts"
|
|
28
|
+
],
|
|
28
29
|
"napi": {
|
|
29
30
|
"binaryName": "fastyaml-rs",
|
|
30
31
|
"packageName": "fastyaml-rs",
|
|
@@ -61,14 +62,5 @@
|
|
|
61
62
|
"prettier": "^3.4.2",
|
|
62
63
|
"typescript": "^5.7.2",
|
|
63
64
|
"vitest": "^4.0"
|
|
64
|
-
},
|
|
65
|
-
"optionalDependencies": {
|
|
66
|
-
"fastyaml-rs-linux-x64-gnu": "0.1.5",
|
|
67
|
-
"fastyaml-rs-linux-x64-musl": "0.1.5",
|
|
68
|
-
"fastyaml-rs-darwin-x64": "0.1.5",
|
|
69
|
-
"fastyaml-rs-darwin-arm64": "0.1.5",
|
|
70
|
-
"fastyaml-rs-win32-x64-msvc": "0.1.5",
|
|
71
|
-
"fastyaml-rs-linux-arm64-gnu": "0.1.5",
|
|
72
|
-
"fastyaml-rs-win32-arm64-msvc": "0.1.5"
|
|
73
65
|
}
|
|
74
|
-
}
|
|
66
|
+
}
|
package/.prettierignore
DELETED
package/.prettierrc.json
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|