@ecrindigital/facetpack 0.1.3 → 0.1.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.cjs CHANGED
@@ -245,21 +245,37 @@ function wrapModule(id, code) {
245
245
  }
246
246
 
247
247
  // src/withFacetpack.ts
248
+ var import_module = require("module");
248
249
  var import_path = require("path");
249
- var import_url = require("url");
250
250
  var DEFAULT_SOURCE_EXTS = ["ts", "tsx", "js", "jsx", "mjs", "cjs"];
251
- var __filename2 = import_url.fileURLToPath("file:///Users/alexischangridel/Projects/ecrindigital/facetpack/packages/facetpack/src/withFacetpack.ts");
252
- var __dirname2 = import_path.dirname(__filename2);
251
+ var require2 = import_module.createRequire("file:///Users/alexischangridel/Projects/ecrindigital/facetpack/packages/facetpack/src/withFacetpack.ts");
252
+ function findFallbackTransformer(projectRoot) {
253
+ const projectRequire = import_module.createRequire(import_path.join(projectRoot, "package.json"));
254
+ const transformerPaths = [
255
+ "@expo/metro-config/babel-transformer",
256
+ "@react-native/metro-babel-transformer",
257
+ "metro-react-native-babel-transformer"
258
+ ];
259
+ for (const transformerPath of transformerPaths) {
260
+ try {
261
+ return projectRequire.resolve(transformerPath);
262
+ } catch {}
263
+ }
264
+ return;
265
+ }
253
266
  function withFacetpack(config, options = {}) {
254
267
  const sourceExts = options.sourceExts ?? DEFAULT_SOURCE_EXTS;
255
- const transformerPath = import_path.join(__dirname2, "transformer.js");
268
+ const transformerPath = require2.resolve("@ecrindigital/facetpack/transformer");
256
269
  const useMinifier = options.minifier !== false;
257
- const minifierPath = useMinifier ? import_path.join(__dirname2, "minifier.js") : config.transformer?.minifierPath;
270
+ const minifierPath = useMinifier ? require2.resolve("@ecrindigital/facetpack/minifier") : config.transformer?.minifierPath;
258
271
  const minifierConfig = typeof options.minifier === "object" ? options.minifier : {};
259
272
  const useTreeShake = options.treeShake !== false;
260
273
  const existingSerializer = config.serializer?.customSerializer;
261
274
  const customSerializer = useTreeShake ? createFacetpackSerializer(existingSerializer, { treeShake: true }) : existingSerializer;
262
- storeTransformerOptions(options);
275
+ const projectRoot = config.projectRoot || process.cwd();
276
+ const originalTransformerPath = config.transformer?.babelTransformerPath;
277
+ const fallbackTransformerPath = originalTransformerPath || findFallbackTransformer(projectRoot);
278
+ storeTransformerOptions(options, fallbackTransformerPath);
263
279
  return {
264
280
  ...config,
265
281
  transformer: {
@@ -316,8 +332,11 @@ function withFacetpack(config, options = {}) {
316
332
  }
317
333
  };
318
334
  }
319
- function storeTransformerOptions(options) {
335
+ function storeTransformerOptions(options, fallbackTransformerPath) {
320
336
  process.env.FACETPACK_OPTIONS = JSON.stringify(options);
337
+ if (fallbackTransformerPath) {
338
+ process.env.FACETPACK_FALLBACK_TRANSFORMER = fallbackTransformerPath;
339
+ }
321
340
  }
322
341
  function getStoredOptions() {
323
342
  try {
@@ -382,16 +401,14 @@ function getFallbackTransformer() {
382
401
  if (fallbackTransformer) {
383
402
  return fallbackTransformer;
384
403
  }
385
- const transformerPaths = [
386
- "@expo/metro-config/babel-transformer",
387
- "@react-native/metro-babel-transformer",
388
- "metro-react-native-babel-transformer"
389
- ];
390
- for (const transformerPath of transformerPaths) {
404
+ const fallbackPath = process.env.FACETPACK_FALLBACK_TRANSFORMER;
405
+ if (fallbackPath) {
391
406
  try {
392
- fallbackTransformer = require(transformerPath);
407
+ fallbackTransformer = require(fallbackPath);
393
408
  return fallbackTransformer;
394
- } catch {}
409
+ } catch (e) {
410
+ console.warn(`[Facetpack] Failed to load fallback transformer from ${fallbackPath}:`, e);
411
+ }
395
412
  }
396
413
  fallbackTransformer = {
397
414
  transform: ({ src }) => ({ code: src, map: null })
package/dist/index.js CHANGED
@@ -258,16 +258,14 @@ function getFallbackTransformer() {
258
258
  if (fallbackTransformer) {
259
259
  return fallbackTransformer;
260
260
  }
261
- const transformerPaths = [
262
- "@expo/metro-config/babel-transformer",
263
- "@react-native/metro-babel-transformer",
264
- "metro-react-native-babel-transformer"
265
- ];
266
- for (const transformerPath of transformerPaths) {
261
+ const fallbackPath = process.env.FACETPACK_FALLBACK_TRANSFORMER;
262
+ if (fallbackPath) {
267
263
  try {
268
- fallbackTransformer = __require(transformerPath);
264
+ fallbackTransformer = __require(fallbackPath);
269
265
  return fallbackTransformer;
270
- } catch {}
266
+ } catch (e) {
267
+ console.warn(`[Facetpack] Failed to load fallback transformer from ${fallbackPath}:`, e);
268
+ }
271
269
  }
272
270
  fallbackTransformer = {
273
271
  transform: ({ src }) => ({ code: src, map: null })
@@ -409,21 +407,37 @@ var minifier_default = minify;
409
407
 
410
408
  // src/withFacetpack.ts
411
409
  import { resolveSync } from "@ecrindigital/facetpack-native";
412
- import { dirname, join } from "path";
413
- import { fileURLToPath } from "url";
410
+ import { createRequire as createRequire2 } from "module";
411
+ import { join } from "path";
414
412
  var DEFAULT_SOURCE_EXTS = ["ts", "tsx", "js", "jsx", "mjs", "cjs"];
415
- var __filename2 = fileURLToPath(import.meta.url);
416
- var __dirname2 = dirname(__filename2);
413
+ var require2 = createRequire2(import.meta.url);
414
+ function findFallbackTransformer(projectRoot) {
415
+ const projectRequire = createRequire2(join(projectRoot, "package.json"));
416
+ const transformerPaths = [
417
+ "@expo/metro-config/babel-transformer",
418
+ "@react-native/metro-babel-transformer",
419
+ "metro-react-native-babel-transformer"
420
+ ];
421
+ for (const transformerPath of transformerPaths) {
422
+ try {
423
+ return projectRequire.resolve(transformerPath);
424
+ } catch {}
425
+ }
426
+ return;
427
+ }
417
428
  function withFacetpack(config, options = {}) {
418
429
  const sourceExts = options.sourceExts ?? DEFAULT_SOURCE_EXTS;
419
- const transformerPath = join(__dirname2, "transformer.js");
430
+ const transformerPath = require2.resolve("@ecrindigital/facetpack/transformer");
420
431
  const useMinifier = options.minifier !== false;
421
- const minifierPath = useMinifier ? join(__dirname2, "minifier.js") : config.transformer?.minifierPath;
432
+ const minifierPath = useMinifier ? require2.resolve("@ecrindigital/facetpack/minifier") : config.transformer?.minifierPath;
422
433
  const minifierConfig = typeof options.minifier === "object" ? options.minifier : {};
423
434
  const useTreeShake = options.treeShake !== false;
424
435
  const existingSerializer = config.serializer?.customSerializer;
425
436
  const customSerializer = useTreeShake ? createFacetpackSerializer(existingSerializer, { treeShake: true }) : existingSerializer;
426
- storeTransformerOptions(options);
437
+ const projectRoot = config.projectRoot || process.cwd();
438
+ const originalTransformerPath = config.transformer?.babelTransformerPath;
439
+ const fallbackTransformerPath = originalTransformerPath || findFallbackTransformer(projectRoot);
440
+ storeTransformerOptions(options, fallbackTransformerPath);
427
441
  return {
428
442
  ...config,
429
443
  transformer: {
@@ -480,8 +494,11 @@ function withFacetpack(config, options = {}) {
480
494
  }
481
495
  };
482
496
  }
483
- function storeTransformerOptions(options) {
497
+ function storeTransformerOptions(options, fallbackTransformerPath) {
484
498
  process.env.FACETPACK_OPTIONS = JSON.stringify(options);
499
+ if (fallbackTransformerPath) {
500
+ process.env.FACETPACK_FALLBACK_TRANSFORMER = fallbackTransformerPath;
501
+ }
485
502
  }
486
503
  function getStoredOptions() {
487
504
  try {
@@ -100,16 +100,14 @@ function getFallbackTransformer() {
100
100
  if (fallbackTransformer) {
101
101
  return fallbackTransformer;
102
102
  }
103
- const transformerPaths = [
104
- "@expo/metro-config/babel-transformer",
105
- "@react-native/metro-babel-transformer",
106
- "metro-react-native-babel-transformer"
107
- ];
108
- for (const transformerPath of transformerPaths) {
103
+ const fallbackPath = process.env.FACETPACK_FALLBACK_TRANSFORMER;
104
+ if (fallbackPath) {
109
105
  try {
110
- fallbackTransformer = require(transformerPath);
106
+ fallbackTransformer = require(fallbackPath);
111
107
  return fallbackTransformer;
112
- } catch {}
108
+ } catch (e) {
109
+ console.warn(`[Facetpack] Failed to load fallback transformer from ${fallbackPath}:`, e);
110
+ }
113
111
  }
114
112
  fallbackTransformer = {
115
113
  transform: ({ src }) => ({ code: src, map: null })
@@ -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;AA0FjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAErE;AAoBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA6DlE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB;sBAI1C,eAAe,GAAG,eAAe;EA4BtD"}
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;AAsFjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAErE;AAoBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA6DlE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB;sBAI1C,eAAe,GAAG,eAAe;EA4BtD"}
@@ -92,16 +92,14 @@ function getFallbackTransformer() {
92
92
  if (fallbackTransformer) {
93
93
  return fallbackTransformer;
94
94
  }
95
- const transformerPaths = [
96
- "@expo/metro-config/babel-transformer",
97
- "@react-native/metro-babel-transformer",
98
- "metro-react-native-babel-transformer"
99
- ];
100
- for (const transformerPath of transformerPaths) {
95
+ const fallbackPath = process.env.FACETPACK_FALLBACK_TRANSFORMER;
96
+ if (fallbackPath) {
101
97
  try {
102
- fallbackTransformer = __require(transformerPath);
98
+ fallbackTransformer = __require(fallbackPath);
103
99
  return fallbackTransformer;
104
- } catch {}
100
+ } catch (e) {
101
+ console.warn(`[Facetpack] Failed to load fallback transformer from ${fallbackPath}:`, e);
102
+ }
105
103
  }
106
104
  fallbackTransformer = {
107
105
  transform: ({ src }) => ({ code: src, map: null })
@@ -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;AAY5E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,gBAAqB,GAC7B,WAAW,CA4Fb;AAMD,wBAAgB,gBAAgB,IAAI,gBAAgB,CASnD"}
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;AA8B5E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,gBAAqB,GAC7B,WAAW,CAgGb;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",
3
+ "version": "0.1.5",
4
4
  "description": "High-performance Metro transformer powered by OXC",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",