@tamagui/metro-plugin 1.89.20 → 1.89.22

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/cjs/index.js CHANGED
@@ -31,11 +31,17 @@ function withTamagui(metroConfig, optionsIn) {
31
31
  ...optionsIn,
32
32
  ...(0, import_static.loadTamaguiBuildConfigSync)(optionsIn)
33
33
  }, extractor = (0, import_static.createExtractor)();
34
- return options.disable || extractor.loadTamagui(options), options.disableCSSInterop || (metroConfig = (0, import_metro.withCssInterop)(metroConfig, {
34
+ options.disable || extractor.loadTamagui(options), options.disableCSSInterop ? metroConfig.resolver = {
35
+ ...metroConfig.resolver,
36
+ sourceExts: [...metroConfig.resolver.sourceExts, "css"]
37
+ } : metroConfig = (0, import_metro.withCssInterop)(metroConfig, {
35
38
  ignorePropertyWarningRegex: ["^--"]
36
39
  // grouping: ['^group(/.*)?'],
37
- })), metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
40
+ });
41
+ const ogTransformPath = metroConfig.transformerPath;
42
+ return metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
38
43
  ...metroConfig.transformer,
44
+ ogTransformPath,
39
45
  tamagui: {
40
46
  ...options,
41
47
  disableInitialBuild: !0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO,4BACP,eAGO;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,OAAG,0CAA2B,SAAS;AAAA,EACzC,GAGM,gBAAY,+BAAgB;AAGlC,SAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,sBACX,kBAAc,6BAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC,IASH,YAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO,4BACP,eAGO;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,OAAG,0CAA2B,SAAS;AAAA,EACzC,GAGM,gBAAY,+BAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,oBAOX,YAAY,WAAW;AAAA,IACrB,GAAG,YAAY;AAAA,IACf,YAAY,CAAC,GAAG,YAAY,SAAS,YAAY,KAAK;AAAA,EACxD,IATA,kBAAc,6BAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC;AASH,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -32,11 +32,17 @@ function withTamagui(metroConfig, optionsIn) {
32
32
  ...optionsIn,
33
33
  ...(0, import_static.loadTamaguiBuildConfigSync)(optionsIn)
34
34
  }, extractor = (0, import_static.createExtractor)();
35
- return options.disable || extractor.loadTamagui(options), options.disableCSSInterop || (metroConfig = (0, import_metro.withCssInterop)(metroConfig, {
35
+ options.disable || extractor.loadTamagui(options), options.disableCSSInterop ? metroConfig.resolver = {
36
+ ...metroConfig.resolver,
37
+ sourceExts: [...metroConfig.resolver.sourceExts, "css"]
38
+ } : metroConfig = (0, import_metro.withCssInterop)(metroConfig, {
36
39
  ignorePropertyWarningRegex: ["^--"]
37
40
  // grouping: ['^group(/.*)?'],
38
- })), metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
41
+ });
42
+ const ogTransformPath = metroConfig.transformerPath;
43
+ return metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
39
44
  ...metroConfig.transformer,
45
+ ogTransformPath,
40
46
  tamagui: {
41
47
  ...options,
42
48
  disableInitialBuild: !0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO,4BACP,eAGO;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,OAAG,0CAA2B,SAAS;AAAA,EACzC,GAGM,gBAAY,+BAAgB;AAGlC,SAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,sBACX,kBAAc,6BAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC,IASH,YAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO,4BACP,eAGO;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,OAAG,0CAA2B,SAAS;AAAA,EACzC,GAGM,gBAAY,+BAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,oBAOX,YAAY,WAAW;AAAA,IACrB,GAAG,YAAY;AAAA,IACf,YAAY,CAAC,GAAG,YAAY,SAAS,YAAY,KAAK;AAAA,EACxD,IATA,kBAAc,6BAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC;AASH,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -25,20 +25,16 @@ __export(transformer_exports, {
25
25
  transform: () => transform
26
26
  });
27
27
  module.exports = __toCommonJS(transformer_exports);
28
- var import_metro_transform_worker = __toESM(require("metro-transform-worker")), import_path = require("path"), import_promises = require("fs/promises"), import_static = require("@tamagui/static");
28
+ var import_fs_extra = require("fs-extra"), import_metro_transform_worker = __toESM(require("metro-transform-worker")), import_path = require("path"), import_static = require("@tamagui/static");
29
29
  const extractor = (0, import_static.createExtractor)();
30
30
  async function transform(config, projectRoot, filename, data, options) {
31
- const transformer = config.transformerPath ? require(config.transformerPath).transform : import_metro_transform_worker.default.transform;
32
- if (config.tamagui.disable || options.platform !== "web" || filename.includes("node_modules"))
31
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : import_metro_transform_worker.default.transform;
32
+ if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
33
33
  return transformer(config, projectRoot, filename, data, options);
34
- if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
35
- const tmpDir = (0, import_path.join)(projectRoot, ".tamagui", "css");
36
- try {
37
- await (0, import_promises.mkdir)(tmpDir, {
38
- recursive: !0
39
- });
40
- } catch {
41
- }
34
+ if (
35
+ // could by a styled() call:
36
+ filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".jsx")
37
+ ) {
42
38
  const sourcePath = (0, import_path.join)(projectRoot, filename), source = `${data}`, out = await (0, import_static.extractToClassNames)({
43
39
  extractor,
44
40
  options: {
@@ -51,16 +47,16 @@ async function transform(config, projectRoot, filename, data, options) {
51
47
  sourcePath
52
48
  });
53
49
  if (out?.styles) {
54
- const outStylePath = (0, import_path.join)(
50
+ const tmpDir = (0, import_path.join)(projectRoot, ".tamagui", "css"), outStylePath = (0, import_path.join)(
55
51
  tmpDir,
56
52
  `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"
57
53
  );
58
- return console.info(" \u{1F95A}", outStylePath), await (0, import_promises.writeFile)(outStylePath, out.styles, "utf-8"), transformer(
54
+ return process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), await (0, import_fs_extra.outputFile)(outStylePath, out.styles, "utf-8"), transformer(
59
55
  config,
60
56
  projectRoot,
61
57
  filename,
62
58
  Buffer.from(`${out.js}
63
- require("${outStylePath}")`),
59
+ require("${outStylePath}")`, "utf-8"),
64
60
  options
65
61
  );
66
62
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,oCAAmB,4CACnB,cAAqB,iBACrB,kBAAiC,wBAGjC,gBAAqD;AAOrD,MAAM,gBAAY,+BAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,cAAc,OAAO,kBACvB,QAAQ,OAAO,eAAe,EAAE,YAChC,8BAAAA,QAAO;AAEX,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE,MAAI,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,GAAG;AAC1D,UAAM,aAAS,kBAAK,aAAa,YAAY,KAAK;AAClD,QAAI;AACF,gBAAM,uBAAM,QAAQ;AAAA,QAClB,WAAW;AAAA,MACb,CAAC;AAAA,IACH,QAAQ;AAAA,IAAC;AAET,UAAM,iBAAa,kBAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,UAAM,mCAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,KAAK,QAAQ;AACf,YAAM,mBAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,qBAAQ,KAAK,cAAO,YAAY,GAChC,UAAM,2BAAU,cAAc,IAAI,QAAQ,OAAO,GAC1C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,IAAI;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2B,qBAM3B,gCAAmB,4CACnB,cAAqB,iBAGrB,gBAAqD;AAOrD,MAAM,gBAAY,+BAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAC7C,cAAc,SAAS,QAAQ,MAAM,EAAE,YAAY,8BAAAA,QAAO;AAEhE,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,QAAQ,SAAS,WACjB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE;AAAA;AAAA,IAEE,SAAS,SAAS,KAAK,KACvB,SAAS,SAAS,MAAM,KACxB,SAAS,SAAS,MAAM;AAAA,IACxB;AACA,UAAM,iBAAa,kBAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,UAAM,mCAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,KAAK,QAAQ;AACf,YAAM,aAAS,kBAAK,aAAa,YAAY,KAAK,GAC5C,mBAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,aAAI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAEpD,UAAM,4BAAW,cAAc,IAAI,QAAQ,OAAO,GAE3C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,MAAM,OAAO;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
5
5
  "names": ["worker"]
6
6
  }
@@ -26,20 +26,17 @@ __export(transformer_exports, {
26
26
  transform: () => transform
27
27
  });
28
28
  module.exports = __toCommonJS(transformer_exports);
29
- var import_metro_transform_worker = __toESM(require("metro-transform-worker")), import_path = require("path"), import_promises = require("fs/promises"), import_static = require("@tamagui/static");
29
+ var import_fs_extra = require("fs-extra"), import_metro_transform_worker = __toESM(require("metro-transform-worker")), import_path = require("path"), import_static = require("@tamagui/static");
30
30
  const extractor = (0, import_static.createExtractor)();
31
31
  async function transform(config, projectRoot, filename, data, options) {
32
- const transformer = config.transformerPath ? require(config.transformerPath).transform : import_metro_transform_worker.default.transform;
33
- if (config.tamagui.disable || options.platform !== "web" || filename.includes("node_modules"))
32
+ var _a;
33
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : import_metro_transform_worker.default.transform;
34
+ if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
34
35
  return transformer(config, projectRoot, filename, data, options);
35
- if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
36
- const tmpDir = (0, import_path.join)(projectRoot, ".tamagui", "css");
37
- try {
38
- await (0, import_promises.mkdir)(tmpDir, {
39
- recursive: !0
40
- });
41
- } catch {
42
- }
36
+ if (
37
+ // could by a styled() call:
38
+ filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".jsx")
39
+ ) {
43
40
  const sourcePath = (0, import_path.join)(projectRoot, filename), source = `${data}`, out = await (0, import_static.extractToClassNames)({
44
41
  extractor,
45
42
  options: {
@@ -52,16 +49,16 @@ async function transform(config, projectRoot, filename, data, options) {
52
49
  sourcePath
53
50
  });
54
51
  if (out != null && out.styles) {
55
- const outStylePath = (0, import_path.join)(
52
+ const tmpDir = (0, import_path.join)(projectRoot, ".tamagui", "css"), outStylePath = (0, import_path.join)(
56
53
  tmpDir,
57
54
  `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"
58
55
  );
59
- return console.info(" \u{1F95A}", outStylePath), await (0, import_promises.writeFile)(outStylePath, out.styles, "utf-8"), transformer(
56
+ return (_a = process.env.DEBUG) != null && _a.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), await (0, import_fs_extra.outputFile)(outStylePath, out.styles, "utf-8"), transformer(
60
57
  config,
61
58
  projectRoot,
62
59
  filename,
63
60
  Buffer.from(`${out.js}
64
- require("${outStylePath}")`),
61
+ require("${outStylePath}")`, "utf-8"),
65
62
  options
66
63
  );
67
64
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,oCAAmB,4CACnB,cAAqB,iBACrB,kBAAiC,wBAGjC,gBAAqD;AAOrD,MAAM,gBAAY,+BAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,cAAc,OAAO,kBACvB,QAAQ,OAAO,eAAe,EAAE,YAChC,8BAAAA,QAAO;AAEX,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE,MAAI,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,GAAG;AAC1D,UAAM,aAAS,kBAAK,aAAa,YAAY,KAAK;AAClD,QAAI;AACF,gBAAM,uBAAM,QAAQ;AAAA,QAClB,WAAW;AAAA,MACb,CAAC;AAAA,IACH,QAAQ;AAAA,IAAC;AAET,UAAM,iBAAa,kBAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,UAAM,mCAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,mBAAK,QAAQ;AACf,YAAM,mBAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,qBAAQ,KAAK,cAAO,YAAY,GAChC,UAAM,2BAAU,cAAc,IAAI,QAAQ,OAAO,GAC1C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,IAAI;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2B,qBAM3B,gCAAmB,4CACnB,cAAqB,iBAGrB,gBAAqD;AAOrD,MAAM,gBAAY,+BAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAzB9B;AA0BE,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAC7C,cAAc,SAAS,QAAQ,MAAM,EAAE,YAAY,8BAAAA,QAAO;AAEhE,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,QAAQ,SAAS,WACjB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE;AAAA;AAAA,IAEE,SAAS,SAAS,KAAK,KACvB,SAAS,SAAS,MAAM,KACxB,SAAS,SAAS,MAAM;AAAA,IACxB;AACA,UAAM,iBAAa,kBAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,UAAM,mCAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,mBAAK,QAAQ;AACf,YAAM,aAAS,kBAAK,aAAa,YAAY,KAAK,GAC5C,mBAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,cAAI,aAAQ,IAAI,UAAZ,WAAmB,SAAS,cAC9B,QAAQ,KAAK,yBAAyB,YAAY,GAEpD,UAAM,4BAAW,cAAc,IAAI,QAAQ,OAAO,GAE3C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,MAAM,OAAO;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
5
5
  "names": ["worker"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -10,11 +10,17 @@ function withTamagui(metroConfig, optionsIn) {
10
10
  ...optionsIn,
11
11
  ...loadTamaguiBuildConfigSync(optionsIn)
12
12
  }, extractor = createExtractor();
13
- return options.disable || extractor.loadTamagui(options), options.disableCSSInterop || (metroConfig = withCssInterop(metroConfig, {
13
+ options.disable || extractor.loadTamagui(options), options.disableCSSInterop ? metroConfig.resolver = {
14
+ ...metroConfig.resolver,
15
+ sourceExts: [...metroConfig.resolver.sourceExts, "css"]
16
+ } : metroConfig = withCssInterop(metroConfig, {
14
17
  ignorePropertyWarningRegex: ["^--"]
15
18
  // grouping: ['^group(/.*)?'],
16
- })), metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
19
+ });
20
+ const ogTransformPath = metroConfig.transformerPath;
21
+ return metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
17
22
  ...metroConfig.transformer,
23
+ ogTransformPath,
18
24
  tamagui: {
19
25
  ...options,
20
26
  disableInitialBuild: !0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,GAAG,2BAA2B,SAAS;AAAA,EACzC,GAGM,YAAY,gBAAgB;AAGlC,SAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,sBACX,cAAc,eAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC,IASH,YAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,GAAG,2BAA2B,SAAS;AAAA,EACzC,GAGM,YAAY,gBAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,oBAOX,YAAY,WAAW;AAAA,IACrB,GAAG,YAAY;AAAA,IACf,YAAY,CAAC,GAAG,YAAY,SAAS,YAAY,KAAK;AAAA,EACxD,IATA,cAAc,eAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC;AASH,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -6,11 +6,18 @@ function withTamagui(metroConfig, optionsIn) {
6
6
  ...loadTamaguiBuildConfigSync(optionsIn)
7
7
  },
8
8
  extractor = createExtractor();
9
- return options.disable || extractor.loadTamagui(options), options.disableCSSInterop || (metroConfig = withCssInterop(metroConfig, {
9
+ options.disable || extractor.loadTamagui(options), options.disableCSSInterop ? metroConfig.resolver = {
10
+ ...metroConfig.resolver,
11
+ sourceExts: [...metroConfig.resolver.sourceExts, "css"]
12
+ } : metroConfig = withCssInterop(metroConfig, {
10
13
  ignorePropertyWarningRegex: ["^--"]
11
14
  // grouping: ['^group(/.*)?'],
12
- })), metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
15
+ });
16
+
17
+ const ogTransformPath = metroConfig.transformerPath;
18
+ return metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
13
19
  ...metroConfig.transformer,
20
+ ogTransformPath,
14
21
  tamagui: {
15
22
  ...options,
16
23
  disableInitialBuild: !0
@@ -10,11 +10,17 @@ function withTamagui(metroConfig, optionsIn) {
10
10
  ...optionsIn,
11
11
  ...loadTamaguiBuildConfigSync(optionsIn)
12
12
  }, extractor = createExtractor();
13
- return options.disable || extractor.loadTamagui(options), options.disableCSSInterop || (metroConfig = withCssInterop(metroConfig, {
13
+ options.disable || extractor.loadTamagui(options), options.disableCSSInterop ? metroConfig.resolver = {
14
+ ...metroConfig.resolver,
15
+ sourceExts: [...metroConfig.resolver.sourceExts, "css"]
16
+ } : metroConfig = withCssInterop(metroConfig, {
14
17
  ignorePropertyWarningRegex: ["^--"]
15
18
  // grouping: ['^group(/.*)?'],
16
- })), metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
19
+ });
20
+ const ogTransformPath = metroConfig.transformerPath;
21
+ return metroConfig.transformerPath = require.resolve("./transformer"), metroConfig.transformer = {
17
22
  ...metroConfig.transformer,
23
+ ogTransformPath,
18
24
  tamagui: {
19
25
  ...options,
20
26
  disableInitialBuild: !0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,GAAG,2BAA2B,SAAS;AAAA,EACzC,GAGM,YAAY,gBAAgB;AAGlC,SAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,sBACX,cAAc,eAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC,IASH,YAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,YACd,aACA,WAGA;AACA,QAAM,UAAU;AAAA,IACd,GAAG;AAAA,IACH,GAAG,2BAA2B,SAAS;AAAA,EACzC,GAGM,YAAY,gBAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAG/B,QAAQ,oBAOX,YAAY,WAAW;AAAA,IACrB,GAAG,YAAY;AAAA,IACf,YAAY,CAAC,GAAG,YAAY,SAAS,YAAY,KAAK;AAAA,EACxD,IATA,cAAc,eAAe,aAAa;AAAA,IACxC,4BAA4B,CAAC,KAAK;AAAA;AAAA,EAEpC,CAAC;AASH,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,20 +1,16 @@
1
+ import { outputFile } from "fs-extra";
1
2
  import worker from "metro-transform-worker";
2
3
  import { join } from "path";
3
- import { writeFile, mkdir } from "fs/promises";
4
4
  import { createExtractor, extractToClassNames } from "@tamagui/static";
5
5
  const extractor = createExtractor();
6
6
  async function transform(config, projectRoot, filename, data, options) {
7
- const transformer = config.transformerPath ? require(config.transformerPath).transform : worker.transform;
8
- if (config.tamagui.disable || options.platform !== "web" || filename.includes("node_modules"))
7
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : worker.transform;
8
+ if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
9
9
  return transformer(config, projectRoot, filename, data, options);
10
- if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
11
- const tmpDir = join(projectRoot, ".tamagui", "css");
12
- try {
13
- await mkdir(tmpDir, {
14
- recursive: !0
15
- });
16
- } catch {
17
- }
10
+ if (
11
+ // could by a styled() call:
12
+ filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".jsx")
13
+ ) {
18
14
  const sourcePath = join(projectRoot, filename), source = `${data}`, out = await extractToClassNames({
19
15
  extractor,
20
16
  options: {
@@ -27,16 +23,16 @@ async function transform(config, projectRoot, filename, data, options) {
27
23
  sourcePath
28
24
  });
29
25
  if (out?.styles) {
30
- const outStylePath = join(
26
+ const tmpDir = join(projectRoot, ".tamagui", "css"), outStylePath = join(
31
27
  tmpDir,
32
28
  `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"
33
29
  );
34
- return console.info(" \u{1F95A}", outStylePath), await writeFile(outStylePath, out.styles, "utf-8"), transformer(
30
+ return process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), await outputFile(outStylePath, out.styles, "utf-8"), transformer(
35
31
  config,
36
32
  projectRoot,
37
33
  filename,
38
34
  Buffer.from(`${out.js}
39
- require("${outStylePath}")`),
35
+ require("${outStylePath}")`, "utf-8"),
40
36
  options
41
37
  );
42
38
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": "AAKA,OAAO,YAAY;AACnB,SAAS,YAAY;AACrB,SAAS,WAAW,aAAa;AAGjC,SAAS,iBAAiB,2BAA2B;AAOrD,MAAM,YAAY,gBAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,cAAc,OAAO,kBACvB,QAAQ,OAAO,eAAe,EAAE,YAChC,OAAO;AAEX,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE,MAAI,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,GAAG;AAC1D,UAAM,SAAS,KAAK,aAAa,YAAY,KAAK;AAClD,QAAI;AACF,YAAM,MAAM,QAAQ;AAAA,QAClB,WAAW;AAAA,MACb,CAAC;AAAA,IACH,QAAQ;AAAA,IAAC;AAET,UAAM,aAAa,KAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,MAAM,oBAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,KAAK,QAAQ;AACf,YAAM,eAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,qBAAQ,KAAK,cAAO,YAAY,GAChC,MAAM,UAAU,cAAc,IAAI,QAAQ,OAAO,GAC1C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,IAAI;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
4
+ "mappings": "AAAA,SAAS,kBAAkB;AAM3B,OAAO,YAAY;AACnB,SAAS,YAAY;AAGrB,SAAS,iBAAiB,2BAA2B;AAOrD,MAAM,YAAY,gBAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAC7C,cAAc,SAAS,QAAQ,MAAM,EAAE,YAAY,OAAO;AAEhE,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,QAAQ,SAAS,WACjB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE;AAAA;AAAA,IAEE,SAAS,SAAS,KAAK,KACvB,SAAS,SAAS,MAAM,KACxB,SAAS,SAAS,MAAM;AAAA,IACxB;AACA,UAAM,aAAa,KAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,MAAM,oBAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,KAAK,QAAQ;AACf,YAAM,SAAS,KAAK,aAAa,YAAY,KAAK,GAC5C,eAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,aAAI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAEpD,MAAM,WAAW,cAAc,IAAI,QAAQ,OAAO,GAE3C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,MAAM,OAAO;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
5
5
  "names": []
6
6
  }
@@ -1,18 +1,15 @@
1
+ import { outputFile } from "fs-extra";
1
2
  import worker from "metro-transform-worker";
2
3
  import { join } from "path";
3
- import { writeFile, mkdir } from "fs/promises";
4
4
  import { createExtractor, extractToClassNames } from "@tamagui/static";
5
5
  const extractor = createExtractor();
6
6
  async function transform(config, projectRoot, filename, data, options) {
7
- const transformer = config.transformerPath ? require(config.transformerPath).transform : worker.transform;
8
- if (config.tamagui.disable || options.platform !== "web" || filename.includes("node_modules")) return transformer(config, projectRoot, filename, data, options);
9
- if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
10
- const tmpDir = join(projectRoot, ".tamagui", "css");
11
- try {
12
- await mkdir(tmpDir, {
13
- recursive: !0
14
- });
15
- } catch {}
7
+ const ogPath = config.ogTransformPath || config.transformerPath,
8
+ transformer = ogPath ? require(ogPath).transform : worker.transform;
9
+ if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules")) return transformer(config, projectRoot, filename, data, options);
10
+ if (
11
+ // could by a styled() call:
12
+ filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
16
13
  const sourcePath = join(projectRoot, filename),
17
14
  source = `${data}`,
18
15
  out = await extractToClassNames({
@@ -27,9 +24,10 @@ async function transform(config, projectRoot, filename, data, options) {
27
24
  sourcePath
28
25
  });
29
26
  if (out?.styles) {
30
- const outStylePath = join(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css");
31
- return console.info(" \u{1F95A}", outStylePath), await writeFile(outStylePath, out.styles, "utf-8"), transformer(config, projectRoot, filename, Buffer.from(`${out.js}
32
- require("${outStylePath}")`), options);
27
+ const tmpDir = join(projectRoot, ".tamagui", "css"),
28
+ outStylePath = join(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css");
29
+ return process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), await outputFile(outStylePath, out.styles, "utf-8"), transformer(config, projectRoot, filename, Buffer.from(`${out.js}
30
+ require("${outStylePath}")`, "utf-8"), options);
33
31
  }
34
32
  }
35
33
  return transformer(config, projectRoot, filename, data, options);
@@ -1,20 +1,17 @@
1
+ import { outputFile } from "fs-extra";
1
2
  import worker from "metro-transform-worker";
2
3
  import { join } from "path";
3
- import { writeFile, mkdir } from "fs/promises";
4
4
  import { createExtractor, extractToClassNames } from "@tamagui/static";
5
5
  const extractor = createExtractor();
6
6
  async function transform(config, projectRoot, filename, data, options) {
7
- const transformer = config.transformerPath ? require(config.transformerPath).transform : worker.transform;
8
- if (config.tamagui.disable || options.platform !== "web" || filename.includes("node_modules"))
7
+ var _a;
8
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : worker.transform;
9
+ if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
9
10
  return transformer(config, projectRoot, filename, data, options);
10
- if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
11
- const tmpDir = join(projectRoot, ".tamagui", "css");
12
- try {
13
- await mkdir(tmpDir, {
14
- recursive: !0
15
- });
16
- } catch {
17
- }
11
+ if (
12
+ // could by a styled() call:
13
+ filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".jsx")
14
+ ) {
18
15
  const sourcePath = join(projectRoot, filename), source = `${data}`, out = await extractToClassNames({
19
16
  extractor,
20
17
  options: {
@@ -27,16 +24,16 @@ async function transform(config, projectRoot, filename, data, options) {
27
24
  sourcePath
28
25
  });
29
26
  if (out != null && out.styles) {
30
- const outStylePath = join(
27
+ const tmpDir = join(projectRoot, ".tamagui", "css"), outStylePath = join(
31
28
  tmpDir,
32
29
  `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"
33
30
  );
34
- return console.info(" \u{1F95A}", outStylePath), await writeFile(outStylePath, out.styles, "utf-8"), transformer(
31
+ return (_a = process.env.DEBUG) != null && _a.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), await outputFile(outStylePath, out.styles, "utf-8"), transformer(
35
32
  config,
36
33
  projectRoot,
37
34
  filename,
38
35
  Buffer.from(`${out.js}
39
- require("${outStylePath}")`),
36
+ require("${outStylePath}")`, "utf-8"),
40
37
  options
41
38
  );
42
39
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": "AAKA,OAAO,YAAY;AACnB,SAAS,YAAY;AACrB,SAAS,WAAW,aAAa;AAGjC,SAAS,iBAAiB,2BAA2B;AAOrD,MAAM,YAAY,gBAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAC5B,QAAM,cAAc,OAAO,kBACvB,QAAQ,OAAO,eAAe,EAAE,YAChC,OAAO;AAEX,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE,MAAI,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,GAAG;AAC1D,UAAM,SAAS,KAAK,aAAa,YAAY,KAAK;AAClD,QAAI;AACF,YAAM,MAAM,QAAQ;AAAA,QAClB,WAAW;AAAA,MACb,CAAC;AAAA,IACH,QAAQ;AAAA,IAAC;AAET,UAAM,aAAa,KAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,MAAM,oBAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,mBAAK,QAAQ;AACf,YAAM,eAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,qBAAQ,KAAK,cAAO,YAAY,GAChC,MAAM,UAAU,cAAc,IAAI,QAAQ,OAAO,GAC1C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,IAAI;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
4
+ "mappings": "AAAA,SAAS,kBAAkB;AAM3B,OAAO,YAAY;AACnB,SAAS,YAAY;AAGrB,SAAS,iBAAiB,2BAA2B;AAOrD,MAAM,YAAY,gBAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SAC4B;AAzB9B;AA0BE,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAC7C,cAAc,SAAS,QAAQ,MAAM,EAAE,YAAY,OAAO;AAEhE,MACE,OAAO,QAAQ,WACf,QAAQ,aAAa,SACrB,QAAQ,SAAS,WACjB,SAAS,SAAS,cAAc;AAEhC,WAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AAGjE;AAAA;AAAA,IAEE,SAAS,SAAS,KAAK,KACvB,SAAS,SAAS,MAAM,KACxB,SAAS,SAAS,MAAM;AAAA,IACxB;AACA,UAAM,aAAa,KAAK,aAAa,QAAQ,GAGvC,SAAS,GAAG,IAAI,IAChB,MAAM,MAAM,oBAAoB;AAAA,MACpC;AAAA,MACA,SAAS;AAAA;AAAA,QAEP,UAAU;AAAA,QACV,GAAG,OAAO;AAAA,MACZ;AAAA,MACA,kBAAkB,OAAO,WAAW,kBAAkB,IAClD,YACA,OAAO,WAAW,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAGD,QAAI,mBAAK,QAAQ;AACf,YAAM,SAAS,KAAK,aAAa,YAAY,KAAK,GAC5C,eAAe;AAAA,QACnB;AAAA,QACA,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI;AAAA,MAChD;AACA,cAAI,aAAQ,IAAI,UAAZ,WAAmB,SAAS,cAC9B,QAAQ,KAAK,yBAAyB,YAAY,GAEpD,MAAM,WAAW,cAAc,IAAI,QAAQ,OAAO,GAE3C;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,WAAc,YAAY,MAAM,OAAO;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,YAAY,QAAQ,aAAa,UAAU,MAAM,OAAO;AACjE;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/metro-plugin",
3
- "version": "1.89.20",
3
+ "version": "1.89.22",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -23,12 +23,13 @@
23
23
  "clean:build": "tamagui-build clean:build"
24
24
  },
25
25
  "dependencies": {
26
- "@tamagui/static": "1.89.20",
26
+ "@tamagui/static": "1.89.22",
27
+ "fs-extra": "^11.2.0",
27
28
  "metro-config": "^0.80.4",
28
29
  "metro-transform-worker": "^0.80.4",
29
30
  "react-native-css-interop": "~0.0.21"
30
31
  },
31
32
  "devDependencies": {
32
- "@tamagui/build": "1.89.20"
33
+ "@tamagui/build": "1.89.22"
33
34
  }
34
35
  }
package/src/index.ts CHANGED
@@ -32,17 +32,19 @@ export function withTamagui(
32
32
  ignorePropertyWarningRegex: ['^--'],
33
33
  // grouping: ['^group(/.*)?'],
34
34
  })
35
+ } else {
36
+ // done in css interop
37
+ metroConfig.resolver = {
38
+ ...metroConfig.resolver,
39
+ sourceExts: [...metroConfig.resolver.sourceExts, 'css'],
40
+ }
35
41
  }
36
42
 
37
- // done in css interop
38
- // metroConfig.resolver = {
39
- // ...metroConfig.resolver,
40
- // sourceExts: [...metroConfig.resolver.sourceExts, 'css'],
41
- // }
42
-
43
+ const ogTransformPath = metroConfig.transformerPath
43
44
  metroConfig.transformerPath = require.resolve('./transformer')
44
45
  metroConfig.transformer = {
45
46
  ...metroConfig.transformer,
47
+ ogTransformPath,
46
48
  tamagui: {
47
49
  ...options,
48
50
  disableInitialBuild: true,
@@ -1,3 +1,4 @@
1
+ import { outputFile } from 'fs-extra'
1
2
  import type {
2
3
  JsTransformerConfig,
3
4
  JsTransformOptions,
@@ -5,7 +6,6 @@ import type {
5
6
  } from 'metro-transform-worker'
6
7
  import worker from 'metro-transform-worker'
7
8
  import { join } from 'path'
8
- import { writeFile, mkdir } from 'fs/promises'
9
9
 
10
10
  import type { TamaguiOptions } from '@tamagui/static'
11
11
  import { createExtractor, extractToClassNames } from '@tamagui/static'
@@ -24,26 +24,24 @@ export async function transform(
24
24
  data: Buffer,
25
25
  options: JsTransformOptions
26
26
  ): Promise<TransformResponse> {
27
- const transformer = config.transformerPath
28
- ? require(config.transformerPath).transform
29
- : worker.transform
27
+ const ogPath = config['ogTransformPath'] || config.transformerPath
28
+ const transformer = ogPath ? require(ogPath).transform : worker.transform
30
29
 
31
30
  if (
32
31
  config.tamagui.disable ||
33
32
  options.platform !== 'web' ||
33
+ options.type === 'asset' ||
34
34
  filename.includes('node_modules')
35
35
  ) {
36
36
  return transformer(config, projectRoot, filename, data, options)
37
37
  }
38
38
 
39
- if (filename.endsWith('.tsx') || filename.endsWith('.jsx')) {
40
- const tmpDir = join(projectRoot, '.tamagui', 'css')
41
- try {
42
- await mkdir(tmpDir, {
43
- recursive: true,
44
- })
45
- } catch {}
46
-
39
+ if (
40
+ // could by a styled() call:
41
+ filename.endsWith('.ts') ||
42
+ filename.endsWith('.tsx') ||
43
+ filename.endsWith('.jsx')
44
+ ) {
47
45
  const sourcePath = join(projectRoot, filename)
48
46
 
49
47
  // extract css
@@ -64,17 +62,21 @@ export async function transform(
64
62
 
65
63
  // just write it out to our tmp dir and require it for metro to do the rest of the css work
66
64
  if (out?.styles) {
65
+ const tmpDir = join(projectRoot, '.tamagui', 'css')
67
66
  const outStylePath = join(
68
67
  tmpDir,
69
68
  `${filename}`.replace(/[^a-zA-Z0-9]/gi, '') + '.css'
70
69
  )
71
- console.info(' 🥚', outStylePath)
72
- await writeFile(outStylePath, out.styles, 'utf-8')
70
+ if (process.env.DEBUG?.includes('tamagui')) {
71
+ console.info(' Outputting CSS file:', outStylePath)
72
+ }
73
+ await outputFile(outStylePath, out.styles, 'utf-8')
74
+
73
75
  return transformer(
74
76
  config,
75
77
  projectRoot,
76
78
  filename,
77
- Buffer.from(`${out.js}\nrequire("${outStylePath}")`),
79
+ Buffer.from(`${out.js}\nrequire("${outStylePath}")`, 'utf-8'),
78
80
  options
79
81
  )
80
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,gCAAgC,CAAA;AAEvC,wBAAgB,WAAW,CACzB,WAAW,EAAE,6BAA6B,EAC1C,SAAS,CAAC,EAAE,cAAc,GAAG;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,iCAsCF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,gCAAgC,CAAA;AAEvC,wBAAgB,WAAW,CACzB,WAAW,EAAE,6BAA6B,EAC1C,SAAS,CAAC,EAAE,cAAc,GAAG;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,iCAwCF"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAK/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrD,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;CACxB;AAID,wBAAsB,SAAS,CAC7B,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA0D5B"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrD,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;CACxB;AAID,wBAAsB,SAAS,CAC7B,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA4D5B"}