@ecrindigital/facetpack 0.1.6 → 0.1.7
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/__tests__/integration-chillz.test.d.ts +2 -0
- package/dist/__tests__/integration-chillz.test.d.ts.map +1 -0
- package/dist/__tests__/metro-simulation.test.d.ts +2 -0
- package/dist/__tests__/metro-simulation.test.d.ts.map +1 -0
- package/dist/index.cjs +32 -6
- package/dist/index.js +33 -7
- package/dist/transformer.cjs +24 -3
- package/dist/transformer.d.ts.map +1 -1
- package/dist/transformer.js +24 -3
- package/dist/withFacetpack.d.ts.map +1 -1
- package/package.json +7 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-chillz.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/integration-chillz.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metro-simulation.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/metro-simulation.test.ts"],"names":[],"mappings":""}
|
package/dist/index.cjs
CHANGED
|
@@ -248,7 +248,11 @@ function wrapModule(id, code) {
|
|
|
248
248
|
var import_module = require("module");
|
|
249
249
|
var import_path = require("path");
|
|
250
250
|
var DEFAULT_SOURCE_EXTS = ["ts", "tsx", "js", "jsx", "mjs", "cjs"];
|
|
251
|
-
|
|
251
|
+
function getPackageDir() {
|
|
252
|
+
const projectRequire = import_module.createRequire(import_path.join(process.cwd(), "package.json"));
|
|
253
|
+
const packageJsonPath = projectRequire.resolve("@ecrindigital/facetpack/package.json");
|
|
254
|
+
return import_path.dirname(packageJsonPath);
|
|
255
|
+
}
|
|
252
256
|
function findFallbackTransformer(projectRoot) {
|
|
253
257
|
const projectRequire = import_module.createRequire(import_path.join(projectRoot, "package.json"));
|
|
254
258
|
const transformerPaths = [
|
|
@@ -265,9 +269,10 @@ function findFallbackTransformer(projectRoot) {
|
|
|
265
269
|
}
|
|
266
270
|
function withFacetpack(config, options = {}) {
|
|
267
271
|
const sourceExts = options.sourceExts ?? DEFAULT_SOURCE_EXTS;
|
|
268
|
-
const
|
|
272
|
+
const packageDir = getPackageDir();
|
|
273
|
+
const transformerPath = import_path.join(packageDir, "dist", "transformer.js");
|
|
269
274
|
const useMinifier = options.minifier !== false;
|
|
270
|
-
const minifierPath = useMinifier ?
|
|
275
|
+
const minifierPath = useMinifier ? import_path.join(packageDir, "dist", "minifier.js") : config.transformer?.minifierPath;
|
|
271
276
|
const minifierConfig = typeof options.minifier === "object" ? options.minifier : {};
|
|
272
277
|
const useTreeShake = options.treeShake !== false;
|
|
273
278
|
const existingSerializer = config.serializer?.customSerializer;
|
|
@@ -435,10 +440,31 @@ function getOptions() {
|
|
|
435
440
|
function isNodeModules(filename) {
|
|
436
441
|
return filename.includes("node_modules");
|
|
437
442
|
}
|
|
438
|
-
|
|
443
|
+
var BABEL_REQUIRED_PATTERNS = [
|
|
444
|
+
/'worklet'/,
|
|
445
|
+
/"worklet"/,
|
|
446
|
+
/useAnimatedStyle/,
|
|
447
|
+
/useAnimatedProps/,
|
|
448
|
+
/useDerivedValue/,
|
|
449
|
+
/useAnimatedReaction/,
|
|
450
|
+
/useAnimatedScrollHandler/,
|
|
451
|
+
/useAnimatedGestureHandler/,
|
|
452
|
+
/runOnUI/,
|
|
453
|
+
/runOnJS/
|
|
454
|
+
];
|
|
455
|
+
function requiresBabelTransform(src) {
|
|
456
|
+
return BABEL_REQUIRED_PATTERNS.some((pattern) => pattern.test(src));
|
|
457
|
+
}
|
|
458
|
+
function shouldTransform(filename, src, options) {
|
|
439
459
|
if (isNodeModules(filename)) {
|
|
440
460
|
return false;
|
|
441
461
|
}
|
|
462
|
+
if (requiresBabelTransform(src)) {
|
|
463
|
+
if (process.env.FACETPACK_DEBUG) {
|
|
464
|
+
console.log(`[Facetpack] Babel required for worklets: ${filename}`);
|
|
465
|
+
}
|
|
466
|
+
return false;
|
|
467
|
+
}
|
|
442
468
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
443
469
|
if (!ext)
|
|
444
470
|
return false;
|
|
@@ -450,7 +476,7 @@ function transform(params) {
|
|
|
450
476
|
if (process.env.FACETPACK_DEBUG) {
|
|
451
477
|
console.log(`[Facetpack] Processing: ${filename}`);
|
|
452
478
|
}
|
|
453
|
-
if (!shouldTransform(filename, opts)) {
|
|
479
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
454
480
|
if (process.env.FACETPACK_DEBUG) {
|
|
455
481
|
console.log(`[Facetpack] Fallback: ${filename}`);
|
|
456
482
|
}
|
|
@@ -501,7 +527,7 @@ function createTransformer(options = {}) {
|
|
|
501
527
|
return {
|
|
502
528
|
transform(params) {
|
|
503
529
|
const { filename, src, options: metroOptions } = params;
|
|
504
|
-
if (!shouldTransform(filename, opts)) {
|
|
530
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
505
531
|
return getFallbackTransformer().transform(params);
|
|
506
532
|
}
|
|
507
533
|
const isClassic = opts.jsxRuntime === "classic";
|
package/dist/index.js
CHANGED
|
@@ -292,10 +292,31 @@ function getOptions() {
|
|
|
292
292
|
function isNodeModules(filename) {
|
|
293
293
|
return filename.includes("node_modules");
|
|
294
294
|
}
|
|
295
|
-
|
|
295
|
+
var BABEL_REQUIRED_PATTERNS = [
|
|
296
|
+
/'worklet'/,
|
|
297
|
+
/"worklet"/,
|
|
298
|
+
/useAnimatedStyle/,
|
|
299
|
+
/useAnimatedProps/,
|
|
300
|
+
/useDerivedValue/,
|
|
301
|
+
/useAnimatedReaction/,
|
|
302
|
+
/useAnimatedScrollHandler/,
|
|
303
|
+
/useAnimatedGestureHandler/,
|
|
304
|
+
/runOnUI/,
|
|
305
|
+
/runOnJS/
|
|
306
|
+
];
|
|
307
|
+
function requiresBabelTransform(src) {
|
|
308
|
+
return BABEL_REQUIRED_PATTERNS.some((pattern) => pattern.test(src));
|
|
309
|
+
}
|
|
310
|
+
function shouldTransform(filename, src, options) {
|
|
296
311
|
if (isNodeModules(filename)) {
|
|
297
312
|
return false;
|
|
298
313
|
}
|
|
314
|
+
if (requiresBabelTransform(src)) {
|
|
315
|
+
if (process.env.FACETPACK_DEBUG) {
|
|
316
|
+
console.log(`[Facetpack] Babel required for worklets: ${filename}`);
|
|
317
|
+
}
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
299
320
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
300
321
|
if (!ext)
|
|
301
322
|
return false;
|
|
@@ -307,7 +328,7 @@ function transform(params) {
|
|
|
307
328
|
if (process.env.FACETPACK_DEBUG) {
|
|
308
329
|
console.log(`[Facetpack] Processing: ${filename}`);
|
|
309
330
|
}
|
|
310
|
-
if (!shouldTransform(filename, opts)) {
|
|
331
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
311
332
|
if (process.env.FACETPACK_DEBUG) {
|
|
312
333
|
console.log(`[Facetpack] Fallback: ${filename}`);
|
|
313
334
|
}
|
|
@@ -358,7 +379,7 @@ function createTransformer(options = {}) {
|
|
|
358
379
|
return {
|
|
359
380
|
transform(params) {
|
|
360
381
|
const { filename, src, options: metroOptions } = params;
|
|
361
|
-
if (!shouldTransform(filename, opts)) {
|
|
382
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
362
383
|
return getFallbackTransformer().transform(params);
|
|
363
384
|
}
|
|
364
385
|
const isClassic = opts.jsxRuntime === "classic";
|
|
@@ -419,9 +440,13 @@ var minifier_default = minify;
|
|
|
419
440
|
// src/withFacetpack.ts
|
|
420
441
|
import { resolveSync } from "@ecrindigital/facetpack-native";
|
|
421
442
|
import { createRequire as createRequire2 } from "module";
|
|
422
|
-
import { join } from "path";
|
|
443
|
+
import { join, dirname } from "path";
|
|
423
444
|
var DEFAULT_SOURCE_EXTS = ["ts", "tsx", "js", "jsx", "mjs", "cjs"];
|
|
424
|
-
|
|
445
|
+
function getPackageDir() {
|
|
446
|
+
const projectRequire = createRequire2(join(process.cwd(), "package.json"));
|
|
447
|
+
const packageJsonPath = projectRequire.resolve("@ecrindigital/facetpack/package.json");
|
|
448
|
+
return dirname(packageJsonPath);
|
|
449
|
+
}
|
|
425
450
|
function findFallbackTransformer(projectRoot) {
|
|
426
451
|
const projectRequire = createRequire2(join(projectRoot, "package.json"));
|
|
427
452
|
const transformerPaths = [
|
|
@@ -438,9 +463,10 @@ function findFallbackTransformer(projectRoot) {
|
|
|
438
463
|
}
|
|
439
464
|
function withFacetpack(config, options = {}) {
|
|
440
465
|
const sourceExts = options.sourceExts ?? DEFAULT_SOURCE_EXTS;
|
|
441
|
-
const
|
|
466
|
+
const packageDir = getPackageDir();
|
|
467
|
+
const transformerPath = join(packageDir, "dist", "transformer.js");
|
|
442
468
|
const useMinifier = options.minifier !== false;
|
|
443
|
-
const minifierPath = useMinifier ?
|
|
469
|
+
const minifierPath = useMinifier ? join(packageDir, "dist", "minifier.js") : config.transformer?.minifierPath;
|
|
444
470
|
const minifierConfig = typeof options.minifier === "object" ? options.minifier : {};
|
|
445
471
|
const useTreeShake = options.treeShake !== false;
|
|
446
472
|
const existingSerializer = config.serializer?.customSerializer;
|
package/dist/transformer.cjs
CHANGED
|
@@ -134,10 +134,31 @@ function getOptions() {
|
|
|
134
134
|
function isNodeModules(filename) {
|
|
135
135
|
return filename.includes("node_modules");
|
|
136
136
|
}
|
|
137
|
-
|
|
137
|
+
var BABEL_REQUIRED_PATTERNS = [
|
|
138
|
+
/'worklet'/,
|
|
139
|
+
/"worklet"/,
|
|
140
|
+
/useAnimatedStyle/,
|
|
141
|
+
/useAnimatedProps/,
|
|
142
|
+
/useDerivedValue/,
|
|
143
|
+
/useAnimatedReaction/,
|
|
144
|
+
/useAnimatedScrollHandler/,
|
|
145
|
+
/useAnimatedGestureHandler/,
|
|
146
|
+
/runOnUI/,
|
|
147
|
+
/runOnJS/
|
|
148
|
+
];
|
|
149
|
+
function requiresBabelTransform(src) {
|
|
150
|
+
return BABEL_REQUIRED_PATTERNS.some((pattern) => pattern.test(src));
|
|
151
|
+
}
|
|
152
|
+
function shouldTransform(filename, src, options) {
|
|
138
153
|
if (isNodeModules(filename)) {
|
|
139
154
|
return false;
|
|
140
155
|
}
|
|
156
|
+
if (requiresBabelTransform(src)) {
|
|
157
|
+
if (process.env.FACETPACK_DEBUG) {
|
|
158
|
+
console.log(`[Facetpack] Babel required for worklets: ${filename}`);
|
|
159
|
+
}
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
141
162
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
142
163
|
if (!ext)
|
|
143
164
|
return false;
|
|
@@ -149,7 +170,7 @@ function transform(params) {
|
|
|
149
170
|
if (process.env.FACETPACK_DEBUG) {
|
|
150
171
|
console.log(`[Facetpack] Processing: ${filename}`);
|
|
151
172
|
}
|
|
152
|
-
if (!shouldTransform(filename, opts)) {
|
|
173
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
153
174
|
if (process.env.FACETPACK_DEBUG) {
|
|
154
175
|
console.log(`[Facetpack] Fallback: ${filename}`);
|
|
155
176
|
}
|
|
@@ -200,7 +221,7 @@ function createTransformer(options = {}) {
|
|
|
200
221
|
return {
|
|
201
222
|
transform(params) {
|
|
202
223
|
const { filename, src, options: metroOptions } = params;
|
|
203
|
-
if (!shouldTransform(filename, opts)) {
|
|
224
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
204
225
|
return getFallbackTransformer().transform(params);
|
|
205
226
|
}
|
|
206
227
|
const isClassic = opts.jsxRuntime === "classic";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAuFjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAErE;
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAuFjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAErE;AAwDD,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAgElE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB;sBAI1C,eAAe,GAAG,eAAe;EA4BtD"}
|
package/dist/transformer.js
CHANGED
|
@@ -126,10 +126,31 @@ function getOptions() {
|
|
|
126
126
|
function isNodeModules(filename) {
|
|
127
127
|
return filename.includes("node_modules");
|
|
128
128
|
}
|
|
129
|
-
|
|
129
|
+
var BABEL_REQUIRED_PATTERNS = [
|
|
130
|
+
/'worklet'/,
|
|
131
|
+
/"worklet"/,
|
|
132
|
+
/useAnimatedStyle/,
|
|
133
|
+
/useAnimatedProps/,
|
|
134
|
+
/useDerivedValue/,
|
|
135
|
+
/useAnimatedReaction/,
|
|
136
|
+
/useAnimatedScrollHandler/,
|
|
137
|
+
/useAnimatedGestureHandler/,
|
|
138
|
+
/runOnUI/,
|
|
139
|
+
/runOnJS/
|
|
140
|
+
];
|
|
141
|
+
function requiresBabelTransform(src) {
|
|
142
|
+
return BABEL_REQUIRED_PATTERNS.some((pattern) => pattern.test(src));
|
|
143
|
+
}
|
|
144
|
+
function shouldTransform(filename, src, options) {
|
|
130
145
|
if (isNodeModules(filename)) {
|
|
131
146
|
return false;
|
|
132
147
|
}
|
|
148
|
+
if (requiresBabelTransform(src)) {
|
|
149
|
+
if (process.env.FACETPACK_DEBUG) {
|
|
150
|
+
console.log(`[Facetpack] Babel required for worklets: ${filename}`);
|
|
151
|
+
}
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
133
154
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
134
155
|
if (!ext)
|
|
135
156
|
return false;
|
|
@@ -141,7 +162,7 @@ function transform(params) {
|
|
|
141
162
|
if (process.env.FACETPACK_DEBUG) {
|
|
142
163
|
console.log(`[Facetpack] Processing: ${filename}`);
|
|
143
164
|
}
|
|
144
|
-
if (!shouldTransform(filename, opts)) {
|
|
165
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
145
166
|
if (process.env.FACETPACK_DEBUG) {
|
|
146
167
|
console.log(`[Facetpack] Fallback: ${filename}`);
|
|
147
168
|
}
|
|
@@ -192,7 +213,7 @@ function createTransformer(options = {}) {
|
|
|
192
213
|
return {
|
|
193
214
|
transform(params) {
|
|
194
215
|
const { filename, src, options: metroOptions } = params;
|
|
195
|
-
if (!shouldTransform(filename, opts)) {
|
|
216
|
+
if (!shouldTransform(filename, src, opts)) {
|
|
196
217
|
return getFallbackTransformer().transform(params);
|
|
197
218
|
}
|
|
198
219
|
const isClassic = opts.jsxRuntime === "classic";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withFacetpack.d.ts","sourceRoot":"","sources":["../src/withFacetpack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAkB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"withFacetpack.d.ts","sourceRoot":"","sources":["../src/withFacetpack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAkB,MAAM,SAAS,CAAA;AAkC5E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,gBAAqB,GAC7B,WAAW,CAiGb;AASD,wBAAgB,gBAAgB,IAAI,gBAAgB,CASnD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecrindigital/facetpack",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "High-performance Metro transformer powered by OXC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,10 +25,12 @@
|
|
|
25
25
|
"types": "./dist/serializer.d.ts",
|
|
26
26
|
"import": "./dist/serializer.js",
|
|
27
27
|
"require": "./dist/serializer.cjs"
|
|
28
|
-
}
|
|
28
|
+
},
|
|
29
|
+
"./package.json": "./package.json"
|
|
29
30
|
},
|
|
30
31
|
"files": [
|
|
31
|
-
"dist"
|
|
32
|
+
"dist",
|
|
33
|
+
"package.json"
|
|
32
34
|
],
|
|
33
35
|
"author": {
|
|
34
36
|
"name": "Ecrin Digital",
|
|
@@ -76,7 +78,8 @@
|
|
|
76
78
|
"dev": "bun build ./src/index.ts --outdir ./dist --target node --watch",
|
|
77
79
|
"typecheck": "tsc --noEmit",
|
|
78
80
|
"test": "bun test",
|
|
79
|
-
"clean": "rm -rf dist"
|
|
81
|
+
"clean": "rm -rf dist",
|
|
82
|
+
"prepublishOnly": "bun run build"
|
|
80
83
|
},
|
|
81
84
|
"engines": {
|
|
82
85
|
"node": ">=18"
|