@stylexswc/rs-compiler 0.15.4 → 0.15.5
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/index.d.ts +43 -111
- package/dist/index.js +161 -614
- package/dist/transform.d.ts +83 -0
- package/dist/transform.js +581 -0
- package/package.json +40 -25
package/dist/index.js
CHANGED
|
@@ -1,630 +1,177 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
let nativeBinding = null
|
|
8
|
-
const loadErrors = []
|
|
9
|
-
|
|
10
|
-
const isMusl = () => {
|
|
11
|
-
let musl = false
|
|
12
|
-
if (process.platform === 'linux') {
|
|
13
|
-
musl = isMuslFromFilesystem()
|
|
14
|
-
if (musl === null) {
|
|
15
|
-
musl = isMuslFromReport()
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
7
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.PropertyValidationMode = exports.SourceMaps = void 0;
|
|
40
|
+
exports.normalizeRsOptions = normalizeRsOptions;
|
|
41
|
+
exports.shouldTransformFile = shouldTransformFile;
|
|
42
|
+
exports.transform = transform;
|
|
43
|
+
const picomatch_1 = __importDefault(require("picomatch"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const transform_1 = __importDefault(require("../dist/transform"));
|
|
46
|
+
// const enums are erased by TypeScript — provide runtime values
|
|
47
|
+
// so ESM consumers can import them.
|
|
48
|
+
exports.SourceMaps = Object.freeze({
|
|
49
|
+
True: 'True',
|
|
50
|
+
False: 'False',
|
|
51
|
+
Inline: 'Inline',
|
|
52
|
+
});
|
|
53
|
+
exports.PropertyValidationMode = Object.freeze({
|
|
54
|
+
Throw: 'throw',
|
|
55
|
+
Warn: 'warn',
|
|
56
|
+
Silent: 'silent',
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Default values for StyleX options.
|
|
60
|
+
* Every field that has a sensible default is listed here.
|
|
61
|
+
*/
|
|
62
|
+
const defaultOptions = {
|
|
63
|
+
dev: false,
|
|
64
|
+
test: false,
|
|
65
|
+
debug: false,
|
|
66
|
+
enableFontSizePxToRem: false,
|
|
67
|
+
runtimeInjection: false,
|
|
68
|
+
treeshakeCompensation: false,
|
|
69
|
+
enableInlinedConditionalMerge: true,
|
|
70
|
+
enableLogicalStylesPolyfill: false,
|
|
71
|
+
enableMinifiedKeys: true,
|
|
72
|
+
enableLegacyValueFlipping: false,
|
|
73
|
+
enableLTRRTLComments: false,
|
|
74
|
+
legacyDisableLayers: false,
|
|
75
|
+
useRealFileForSource: true,
|
|
76
|
+
enableMediaQueryOrder: true,
|
|
77
|
+
enableDebugClassNames: false,
|
|
78
|
+
propertyValidationMode: 'silent',
|
|
79
|
+
styleResolution: 'property-specificity',
|
|
80
|
+
importSources: ['stylex', '@stylexjs/stylex'],
|
|
81
|
+
};
|
|
82
|
+
// ── normalizeRsOptions ──────────────────────────────────────────────
|
|
83
|
+
/** Strip keys whose value is `undefined` so they don't clobber defaults. */
|
|
84
|
+
function definedEntries(obj) {
|
|
85
|
+
return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
|
|
32
86
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
|
87
|
+
/**
|
|
88
|
+
* Normalize StyleX compiler options by applying defaults and merging
|
|
89
|
+
* user-provided values. Uses a spread/defaults pattern: defaults are
|
|
90
|
+
* applied first, then user-provided values overlay them
|
|
91
|
+
* (undefined keys skipped).
|
|
92
|
+
*/
|
|
93
|
+
function normalizeRsOptions(options) {
|
|
94
|
+
if (options == null) {
|
|
95
|
+
throw new TypeError('Options must be an object, received null/undefined');
|
|
49
96
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
97
|
+
// Non-object input (string, number, etc.) — treat as empty options
|
|
98
|
+
const inputOptions = typeof options === 'object' ? options : {};
|
|
99
|
+
const definedOptions = definedEntries(inputOptions);
|
|
100
|
+
// Spread defaults then user values (undefined keys already stripped)
|
|
101
|
+
const result = {
|
|
102
|
+
...defaultOptions,
|
|
103
|
+
...definedOptions,
|
|
104
|
+
include: definedOptions.include ?? [],
|
|
105
|
+
exclude: definedOptions.exclude ?? [],
|
|
106
|
+
swcPlugins: definedOptions.swcPlugins ?? [],
|
|
107
|
+
};
|
|
108
|
+
return result;
|
|
61
109
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
return require('./rs-compiler.android-arm64.node')
|
|
74
|
-
} catch (e) {
|
|
75
|
-
loadErrors.push(e)
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
const binding = require('@stylexswc/rs-compiler-android-arm64')
|
|
79
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-android-arm64/package.json').version
|
|
80
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.android-arm-eabi.node')
|
|
90
|
-
} catch (e) {
|
|
91
|
-
loadErrors.push(e)
|
|
92
|
-
}
|
|
93
|
-
try {
|
|
94
|
-
const binding = require('@stylexswc/rs-compiler-android-arm-eabi')
|
|
95
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-android-arm-eabi/package.json').version
|
|
96
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.win32-x64-gnu.node')
|
|
111
|
-
} catch (e) {
|
|
112
|
-
loadErrors.push(e)
|
|
113
|
-
}
|
|
114
|
-
try {
|
|
115
|
-
const binding = require('@stylexswc/rs-compiler-win32-x64-gnu')
|
|
116
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-win32-x64-gnu/package.json').version
|
|
117
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.win32-x64-msvc.node')
|
|
127
|
-
} catch (e) {
|
|
128
|
-
loadErrors.push(e)
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
const binding = require('@stylexswc/rs-compiler-win32-x64-msvc')
|
|
132
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-win32-x64-msvc/package.json').version
|
|
133
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.win32-ia32-msvc.node')
|
|
144
|
-
} catch (e) {
|
|
145
|
-
loadErrors.push(e)
|
|
146
|
-
}
|
|
147
|
-
try {
|
|
148
|
-
const binding = require('@stylexswc/rs-compiler-win32-ia32-msvc')
|
|
149
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-win32-ia32-msvc/package.json').version
|
|
150
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.win32-arm64-msvc.node')
|
|
160
|
-
} catch (e) {
|
|
161
|
-
loadErrors.push(e)
|
|
162
|
-
}
|
|
163
|
-
try {
|
|
164
|
-
const binding = require('@stylexswc/rs-compiler-win32-arm64-msvc')
|
|
165
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-win32-arm64-msvc/package.json').version
|
|
166
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.darwin-universal.node')
|
|
179
|
-
} catch (e) {
|
|
180
|
-
loadErrors.push(e)
|
|
181
|
-
}
|
|
182
|
-
try {
|
|
183
|
-
const binding = require('@stylexswc/rs-compiler-darwin-universal')
|
|
184
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-darwin-universal/package.json').version
|
|
185
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.darwin-x64.node')
|
|
195
|
-
} catch (e) {
|
|
196
|
-
loadErrors.push(e)
|
|
197
|
-
}
|
|
198
|
-
try {
|
|
199
|
-
const binding = require('@stylexswc/rs-compiler-darwin-x64')
|
|
200
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-darwin-x64/package.json').version
|
|
201
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.darwin-arm64.node')
|
|
211
|
-
} catch (e) {
|
|
212
|
-
loadErrors.push(e)
|
|
213
|
-
}
|
|
214
|
-
try {
|
|
215
|
-
const binding = require('@stylexswc/rs-compiler-darwin-arm64')
|
|
216
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-darwin-arm64/package.json').version
|
|
217
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.freebsd-x64.node')
|
|
231
|
-
} catch (e) {
|
|
232
|
-
loadErrors.push(e)
|
|
233
|
-
}
|
|
234
|
-
try {
|
|
235
|
-
const binding = require('@stylexswc/rs-compiler-freebsd-x64')
|
|
236
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-freebsd-x64/package.json').version
|
|
237
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.freebsd-arm64.node')
|
|
247
|
-
} catch (e) {
|
|
248
|
-
loadErrors.push(e)
|
|
249
|
-
}
|
|
250
|
-
try {
|
|
251
|
-
const binding = require('@stylexswc/rs-compiler-freebsd-arm64')
|
|
252
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-freebsd-arm64/package.json').version
|
|
253
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.linux-x64-musl.node')
|
|
268
|
-
} catch (e) {
|
|
269
|
-
loadErrors.push(e)
|
|
270
|
-
}
|
|
271
|
-
try {
|
|
272
|
-
const binding = require('@stylexswc/rs-compiler-linux-x64-musl')
|
|
273
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-x64-musl/package.json').version
|
|
274
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
276
|
-
}
|
|
277
|
-
return binding
|
|
278
|
-
} catch (e) {
|
|
279
|
-
loadErrors.push(e)
|
|
280
|
-
}
|
|
281
|
-
} else {
|
|
282
|
-
try {
|
|
283
|
-
return require('./rs-compiler.linux-x64-gnu.node')
|
|
284
|
-
} catch (e) {
|
|
285
|
-
loadErrors.push(e)
|
|
286
|
-
}
|
|
287
|
-
try {
|
|
288
|
-
const binding = require('@stylexswc/rs-compiler-linux-x64-gnu')
|
|
289
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-x64-gnu/package.json').version
|
|
290
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
292
|
-
}
|
|
293
|
-
return binding
|
|
294
|
-
} catch (e) {
|
|
295
|
-
loadErrors.push(e)
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
} else if (process.arch === 'arm64') {
|
|
299
|
-
if (isMusl()) {
|
|
300
|
-
try {
|
|
301
|
-
return require('./rs-compiler.linux-arm64-musl.node')
|
|
302
|
-
} catch (e) {
|
|
303
|
-
loadErrors.push(e)
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
const binding = require('@stylexswc/rs-compiler-linux-arm64-musl')
|
|
307
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-arm64-musl/package.json').version
|
|
308
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
310
|
-
}
|
|
311
|
-
return binding
|
|
312
|
-
} catch (e) {
|
|
313
|
-
loadErrors.push(e)
|
|
314
|
-
}
|
|
315
|
-
} else {
|
|
316
|
-
try {
|
|
317
|
-
return require('./rs-compiler.linux-arm64-gnu.node')
|
|
318
|
-
} catch (e) {
|
|
319
|
-
loadErrors.push(e)
|
|
320
|
-
}
|
|
321
|
-
try {
|
|
322
|
-
const binding = require('@stylexswc/rs-compiler-linux-arm64-gnu')
|
|
323
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-arm64-gnu/package.json').version
|
|
324
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
326
|
-
}
|
|
327
|
-
return binding
|
|
328
|
-
} catch (e) {
|
|
329
|
-
loadErrors.push(e)
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
} else if (process.arch === 'arm') {
|
|
333
|
-
if (isMusl()) {
|
|
334
|
-
try {
|
|
335
|
-
return require('./rs-compiler.linux-arm-musleabihf.node')
|
|
336
|
-
} catch (e) {
|
|
337
|
-
loadErrors.push(e)
|
|
338
|
-
}
|
|
339
|
-
try {
|
|
340
|
-
const binding = require('@stylexswc/rs-compiler-linux-arm-musleabihf')
|
|
341
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-arm-musleabihf/package.json').version
|
|
342
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
344
|
-
}
|
|
345
|
-
return binding
|
|
346
|
-
} catch (e) {
|
|
347
|
-
loadErrors.push(e)
|
|
348
|
-
}
|
|
349
|
-
} else {
|
|
350
|
-
try {
|
|
351
|
-
return require('./rs-compiler.linux-arm-gnueabihf.node')
|
|
352
|
-
} catch (e) {
|
|
353
|
-
loadErrors.push(e)
|
|
354
|
-
}
|
|
355
|
-
try {
|
|
356
|
-
const binding = require('@stylexswc/rs-compiler-linux-arm-gnueabihf')
|
|
357
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-arm-gnueabihf/package.json').version
|
|
358
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
360
|
-
}
|
|
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('./rs-compiler.linux-loong64-musl.node')
|
|
370
|
-
} catch (e) {
|
|
371
|
-
loadErrors.push(e)
|
|
372
|
-
}
|
|
373
|
-
try {
|
|
374
|
-
const binding = require('@stylexswc/rs-compiler-linux-loong64-musl')
|
|
375
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-loong64-musl/package.json').version
|
|
376
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
378
|
-
}
|
|
379
|
-
return binding
|
|
380
|
-
} catch (e) {
|
|
381
|
-
loadErrors.push(e)
|
|
382
|
-
}
|
|
383
|
-
} else {
|
|
384
|
-
try {
|
|
385
|
-
return require('./rs-compiler.linux-loong64-gnu.node')
|
|
386
|
-
} catch (e) {
|
|
387
|
-
loadErrors.push(e)
|
|
388
|
-
}
|
|
389
|
-
try {
|
|
390
|
-
const binding = require('@stylexswc/rs-compiler-linux-loong64-gnu')
|
|
391
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-loong64-gnu/package.json').version
|
|
392
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
394
|
-
}
|
|
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('./rs-compiler.linux-riscv64-musl.node')
|
|
404
|
-
} catch (e) {
|
|
405
|
-
loadErrors.push(e)
|
|
406
|
-
}
|
|
407
|
-
try {
|
|
408
|
-
const binding = require('@stylexswc/rs-compiler-linux-riscv64-musl')
|
|
409
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-riscv64-musl/package.json').version
|
|
410
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
412
|
-
}
|
|
413
|
-
return binding
|
|
414
|
-
} catch (e) {
|
|
415
|
-
loadErrors.push(e)
|
|
416
|
-
}
|
|
417
|
-
} else {
|
|
418
|
-
try {
|
|
419
|
-
return require('./rs-compiler.linux-riscv64-gnu.node')
|
|
420
|
-
} catch (e) {
|
|
421
|
-
loadErrors.push(e)
|
|
422
|
-
}
|
|
423
|
-
try {
|
|
424
|
-
const binding = require('@stylexswc/rs-compiler-linux-riscv64-gnu')
|
|
425
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-riscv64-gnu/package.json').version
|
|
426
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
428
|
-
}
|
|
429
|
-
return binding
|
|
430
|
-
} catch (e) {
|
|
431
|
-
loadErrors.push(e)
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
} else if (process.arch === 'ppc64') {
|
|
435
|
-
try {
|
|
436
|
-
return require('./rs-compiler.linux-ppc64-gnu.node')
|
|
437
|
-
} catch (e) {
|
|
438
|
-
loadErrors.push(e)
|
|
439
|
-
}
|
|
440
|
-
try {
|
|
441
|
-
const binding = require('@stylexswc/rs-compiler-linux-ppc64-gnu')
|
|
442
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-ppc64-gnu/package.json').version
|
|
443
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
445
|
-
}
|
|
446
|
-
return binding
|
|
447
|
-
} catch (e) {
|
|
448
|
-
loadErrors.push(e)
|
|
449
|
-
}
|
|
450
|
-
} else if (process.arch === 's390x') {
|
|
451
|
-
try {
|
|
452
|
-
return require('./rs-compiler.linux-s390x-gnu.node')
|
|
453
|
-
} catch (e) {
|
|
454
|
-
loadErrors.push(e)
|
|
455
|
-
}
|
|
456
|
-
try {
|
|
457
|
-
const binding = require('@stylexswc/rs-compiler-linux-s390x-gnu')
|
|
458
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-linux-s390x-gnu/package.json').version
|
|
459
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
110
|
+
// ── shouldTransformFile ─────────────────────────────────────────────
|
|
111
|
+
/**
|
|
112
|
+
* Determine whether a file should be transformed based on include/exclude
|
|
113
|
+
* patterns (glob strings or RegExp).
|
|
114
|
+
*/
|
|
115
|
+
function shouldTransformFile(filePath, include, exclude) {
|
|
116
|
+
const relativePath = path.relative(process.cwd(), filePath).split(path.sep).join('/');
|
|
117
|
+
if (include && include.length > 0) {
|
|
118
|
+
if (!include.some(p => matchPattern(relativePath, p))) {
|
|
119
|
+
return false;
|
|
461
120
|
}
|
|
462
|
-
return binding
|
|
463
|
-
} catch (e) {
|
|
464
|
-
loadErrors.push(e)
|
|
465
|
-
}
|
|
466
|
-
} else {
|
|
467
|
-
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
468
121
|
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
return require('./rs-compiler.openharmony-arm64.node')
|
|
473
|
-
} catch (e) {
|
|
474
|
-
loadErrors.push(e)
|
|
475
|
-
}
|
|
476
|
-
try {
|
|
477
|
-
const binding = require('@stylexswc/rs-compiler-openharmony-arm64')
|
|
478
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-openharmony-arm64/package.json').version
|
|
479
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.openharmony-x64.node')
|
|
489
|
-
} catch (e) {
|
|
490
|
-
loadErrors.push(e)
|
|
491
|
-
}
|
|
492
|
-
try {
|
|
493
|
-
const binding = require('@stylexswc/rs-compiler-openharmony-x64')
|
|
494
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-openharmony-x64/package.json').version
|
|
495
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 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('./rs-compiler.openharmony-arm.node')
|
|
505
|
-
} catch (e) {
|
|
506
|
-
loadErrors.push(e)
|
|
507
|
-
}
|
|
508
|
-
try {
|
|
509
|
-
const binding = require('@stylexswc/rs-compiler-openharmony-arm')
|
|
510
|
-
const bindingPackageVersion = require('@stylexswc/rs-compiler-openharmony-arm/package.json').version
|
|
511
|
-
if (bindingPackageVersion !== '0.15.4' && 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.15.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
122
|
+
if (exclude && exclude.length > 0) {
|
|
123
|
+
if (exclude.some(p => matchPattern(relativePath, p))) {
|
|
124
|
+
return false;
|
|
513
125
|
}
|
|
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
126
|
}
|
|
521
|
-
|
|
522
|
-
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
523
|
-
}
|
|
127
|
+
return true;
|
|
524
128
|
}
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
try {
|
|
532
|
-
wasiBinding = require('./rs-compiler.wasi.cjs')
|
|
533
|
-
nativeBinding = wasiBinding
|
|
534
|
-
} catch (err) {
|
|
535
|
-
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
536
|
-
wasiBindingError = err
|
|
129
|
+
/** Match a file path against a single pattern (glob string or RegExp). */
|
|
130
|
+
function matchPattern(filePath, pattern) {
|
|
131
|
+
if (pattern instanceof RegExp) {
|
|
132
|
+
// Reset lastIndex to avoid nondeterministic results with /g or /y flags
|
|
133
|
+
pattern.lastIndex = 0;
|
|
134
|
+
return pattern.test(filePath);
|
|
537
135
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
try {
|
|
541
|
-
wasiBinding = require('@stylexswc/rs-compiler-wasm32-wasi')
|
|
542
|
-
nativeBinding = wasiBinding
|
|
543
|
-
} catch (err) {
|
|
544
|
-
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
545
|
-
if (!wasiBindingError) {
|
|
546
|
-
wasiBindingError = err
|
|
547
|
-
} else {
|
|
548
|
-
wasiBindingError.cause = err
|
|
549
|
-
}
|
|
550
|
-
loadErrors.push(err)
|
|
551
|
-
}
|
|
136
|
+
if (typeof pattern !== 'string' || pattern === '') {
|
|
137
|
+
return false;
|
|
552
138
|
}
|
|
553
|
-
|
|
554
|
-
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
555
|
-
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
556
|
-
error.cause = wasiBindingError
|
|
557
|
-
throw error
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
if (!nativeBinding) {
|
|
562
|
-
if (loadErrors.length > 0) {
|
|
563
|
-
throw new Error(
|
|
564
|
-
`Cannot find native binding. ` +
|
|
565
|
-
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
566
|
-
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
567
|
-
{
|
|
568
|
-
cause: loadErrors.reduce((err, cur) => {
|
|
569
|
-
cur.cause = err
|
|
570
|
-
return cur
|
|
571
|
-
}),
|
|
572
|
-
},
|
|
573
|
-
)
|
|
574
|
-
}
|
|
575
|
-
throw new Error(`Failed to load native binding`)
|
|
139
|
+
return picomatch_1.default.isMatch(filePath, pattern, { dot: true });
|
|
576
140
|
}
|
|
577
|
-
|
|
578
|
-
module.exports = nativeBinding
|
|
579
|
-
module.exports.normalizeRsOptions = nativeBinding.normalizeRsOptions
|
|
580
|
-
module.exports.PropertyValidationMode = nativeBinding.PropertyValidationMode
|
|
581
|
-
module.exports.shouldTransformFile = nativeBinding.shouldTransformFile
|
|
582
|
-
module.exports.SourceMaps = nativeBinding.SourceMaps
|
|
583
|
-
|
|
584
|
-
// === SWC Plugin Wrapper (injected by scripts/inject-swc-plugins.mjs) ===
|
|
585
|
-
|
|
586
|
-
const nativeTransform = nativeBinding.transform;
|
|
587
|
-
|
|
141
|
+
// ── transform ───────────────────────────────────────────────────────
|
|
588
142
|
/**
|
|
589
|
-
*
|
|
590
|
-
*
|
|
143
|
+
* Transform source code with StyleX. When `options.swcPlugins` is set,
|
|
144
|
+
* SWC plugins are applied first, then the native StyleX transform runs.
|
|
591
145
|
*/
|
|
592
|
-
function
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
throw error;
|
|
146
|
+
function transform(filename, code, options) {
|
|
147
|
+
// Apply include/exclude filter before transforming
|
|
148
|
+
if (!shouldTransformFile(filename, options.include, options.exclude)) {
|
|
149
|
+
return {
|
|
150
|
+
code,
|
|
151
|
+
metadata: { stylex: [] },
|
|
152
|
+
map: undefined,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
let transformedCode = code;
|
|
156
|
+
if (options.swcPlugins?.length) {
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
158
|
+
const swc = require('@swc/core');
|
|
159
|
+
const result = swc.transformSync(transformedCode, {
|
|
160
|
+
filename,
|
|
161
|
+
sourceMaps: options.sourceMap === 'Inline'
|
|
162
|
+
? 'inline'
|
|
163
|
+
: options.sourceMap === 'False'
|
|
164
|
+
? false
|
|
165
|
+
: options.sourceMap !== undefined,
|
|
166
|
+
jsc: {
|
|
167
|
+
parser: { syntax: 'typescript', tsx: true },
|
|
168
|
+
target: 'es2022',
|
|
169
|
+
experimental: { plugins: options.swcPlugins },
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
transformedCode = result.code;
|
|
620
173
|
}
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
return nativeTransform(filename, transformedCode, stylexOptions);
|
|
174
|
+
// Strip TS-only fields before passing to native transform
|
|
175
|
+
const { swcPlugins: _swcPlugins, include: _include, exclude: _exclude, ...nativeOptions } = options;
|
|
176
|
+
return transform_1.default.transform(filename, transformedCode, nativeOptions);
|
|
626
177
|
}
|
|
627
|
-
|
|
628
|
-
// === End SWC Plugin Wrapper ===
|
|
629
|
-
|
|
630
|
-
module.exports.transform = transformWithPlugins;
|