@tamagui/metro-plugin 1.138.5 → 1.138.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -27,9 +27,9 @@ __export(index_exports, {
27
27
  module.exports = __toCommonJS(index_exports);
28
28
  var import_static = require("@tamagui/static");
29
29
  function withTamagui(metroConfig, optionsIn) {
30
- const options = {
31
- ...optionsIn,
32
- ...(0, import_static.loadTamaguiBuildConfigSync)(optionsIn)
30
+ const { cssInterop, ...tamaguiOptionsIn } = optionsIn || {}, options = {
31
+ ...tamaguiOptionsIn,
32
+ ...(0, import_static.loadTamaguiBuildConfigSync)(tamaguiOptionsIn)
33
33
  }, extractor = (0, import_static.createExtractor)();
34
34
  options.disable || extractor.loadTamagui(options), metroConfig.resolver = {
35
35
  ...metroConfig.resolver,
@@ -45,7 +45,9 @@ function withTamagui(metroConfig, optionsIn) {
45
45
  tamagui: {
46
46
  ...options,
47
47
  disableInitialBuild: !0
48
- }
48
+ },
49
+ // @ts-ignore - metro-plugin specific option
50
+ tamaguiCssInterop: cssInterop
49
51
  }, metroConfig;
50
52
  }
51
53
  //# sourceMappingURL=index.js.map
@@ -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;AAGA,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,GAIpC,YAAY,WAAW;AAAA,IACrB,GAAI,YAAY;AAAA,IAChB,YAAY,CAAC,GAAI,YAAY,UAAU,cAAc,CAAC,GAAI,KAAK;AAAA,EACjE;AAEA,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,GAAI,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA;AAAA,IAEA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;AAaA,SAAS,YACd,aACA,WACA;AACA,QAAM,EAAE,YAAY,GAAG,iBAAiB,IAAI,aAAa,CAAC,GAEpD,UAAU;AAAA,IACd,GAAG;AAAA,IACH,OAAG,0CAA2B,gBAAgB;AAAA,EAChD,GAGM,gBAAY,+BAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAIpC,YAAY,WAAW;AAAA,IACrB,GAAI,YAAY;AAAA,IAChB,YAAY,CAAC,GAAI,YAAY,UAAU,cAAc,CAAC,GAAI,KAAK;AAAA,EACjE;AAEA,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,GAAI,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA;AAAA,IAEA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA;AAAA,IAEA,mBAAmB;AAAA,EACrB,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -36,9 +36,13 @@ __export(index_exports, {
36
36
  module.exports = __toCommonJS(index_exports);
37
37
  var import_static = require("@tamagui/static");
38
38
  function withTamagui(metroConfig, optionsIn) {
39
- const options = {
40
- ...optionsIn,
41
- ...(0, import_static.loadTamaguiBuildConfigSync)(optionsIn)
39
+ const {
40
+ cssInterop,
41
+ ...tamaguiOptionsIn
42
+ } = optionsIn || {},
43
+ options = {
44
+ ...tamaguiOptionsIn,
45
+ ...(0, import_static.loadTamaguiBuildConfigSync)(tamaguiOptionsIn)
42
46
  },
43
47
  extractor = (0, import_static.createExtractor)();
44
48
  options.disable || extractor.loadTamagui(options), metroConfig.resolver = {
@@ -55,7 +59,9 @@ function withTamagui(metroConfig, optionsIn) {
55
59
  tamagui: {
56
60
  ...options,
57
61
  disableInitialBuild: !0
58
- }
62
+ },
63
+ // @ts-ignore - metro-plugin specific option
64
+ tamaguiCssInterop: cssInterop
59
65
  }, metroConfig;
60
66
  }
61
67
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["index_exports","__export","withTamagui","module","exports","__toCommonJS","import_static","require","metroConfig","optionsIn","options","loadTamaguiBuildConfigSync","extractor","createExtractor","disable","loadTamagui","resolver","sourceExts","ogTransformPath","transformerPath","resolve","transformer","tamagui","disableInitialBuild"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,aAAA;AAAA,IAAAM,aAAA,GAIOC,OAAA;AAGA,SAASL,YACdM,WAAA,EACAC,SAAA,EAGA;EACA,MAAMC,OAAA,GAAU;MACd,GAAGD,SAAA;MACH,OAAGH,aAAA,CAAAK,0BAAA,EAA2BF,SAAS;IACzC;IAGMG,SAAA,OAAYN,aAAA,CAAAO,eAAA,EAAgB;EAG7BH,OAAA,CAAQI,OAAA,IACNF,SAAA,CAAUG,WAAA,CAAYL,OAAO,GAIpCF,WAAA,CAAYQ,QAAA,GAAW;IACrB,GAAIR,WAAA,CAAYQ,QAAA;IAChBC,UAAA,EAAY,CAAC,IAAIT,WAAA,CAAYQ,QAAA,EAAUC,UAAA,IAAc,EAAC,GAAI,KAAK;EACjE;EAEA,MAAMC,eAAA,GAAkBV,WAAA,CAAYW,eAAA;EACpC,OAAAX,WAAA,CAAYW,eAAA,GAAkBZ,OAAA,CAAAa,OAAA,CAAgB,eAAe,GAC7DZ,WAAA,CAAYa,WAAA,GAAc;IACxB,GAAGb,WAAA,CAAYa,WAAA;IACf,IAAIH,eAAA,IAAmB;MACrBA;IACF;IAAA;IAEAI,OAAA,EAAS;MACP,GAAGZ,OAAA;MACHa,mBAAA,EAAqB;IACvB;EACF,GAEOf,WAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["index_exports","__export","withTamagui","module","exports","__toCommonJS","import_static","require","metroConfig","optionsIn","cssInterop","tamaguiOptionsIn","options","loadTamaguiBuildConfigSync","extractor","createExtractor","disable","loadTamagui","resolver","sourceExts","ogTransformPath","transformerPath","resolve","transformer","tamagui","disableInitialBuild","tamaguiCssInterop"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,aAAA;AAAA,IAAAM,aAAA,GAIOC,OAAA;AAaA,SAASL,YACdM,WAAA,EACAC,SAAA,EACA;EACA,MAAM;MAAEC,UAAA;MAAY,GAAGC;IAAiB,IAAIF,SAAA,IAAa,CAAC;IAEpDG,OAAA,GAAU;MACd,GAAGD,gBAAA;MACH,OAAGL,aAAA,CAAAO,0BAAA,EAA2BF,gBAAgB;IAChD;IAGMG,SAAA,OAAYR,aAAA,CAAAS,eAAA,EAAgB;EAG7BH,OAAA,CAAQI,OAAA,IACNF,SAAA,CAAUG,WAAA,CAAYL,OAAO,GAIpCJ,WAAA,CAAYU,QAAA,GAAW;IACrB,GAAIV,WAAA,CAAYU,QAAA;IAChBC,UAAA,EAAY,CAAC,IAAIX,WAAA,CAAYU,QAAA,EAAUC,UAAA,IAAc,EAAC,GAAI,KAAK;EACjE;EAEA,MAAMC,eAAA,GAAkBZ,WAAA,CAAYa,eAAA;EACpC,OAAAb,WAAA,CAAYa,eAAA,GAAkBd,OAAA,CAAAe,OAAA,CAAgB,eAAe,GAC7Dd,WAAA,CAAYe,WAAA,GAAc;IACxB,GAAGf,WAAA,CAAYe,WAAA;IACf,IAAIH,eAAA,IAAmB;MACrBA;IACF;IAAA;IAEAI,OAAA,EAAS;MACP,GAAGZ,OAAA;MACHa,mBAAA,EAAqB;IACvB;IAAA;IAEAC,iBAAA,EAAmBhB;EACrB,GAEOF,WAAA;AACT","ignoreList":[]}
@@ -1,8 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: !0 });
@@ -12,23 +11,16 @@ var __export = (target, all) => {
12
11
  !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
12
  return to;
14
13
  };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
- mod
22
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
15
  var transformer_exports = {};
24
16
  __export(transformer_exports, {
25
17
  transform: () => transform
26
18
  });
27
19
  module.exports = __toCommonJS(transformer_exports);
28
- var import_fs_extra = require("fs-extra"), import_metro_transform_worker = __toESM(require("metro-transform-worker")), import_node_path = require("node:path"), import_static = require("@tamagui/static");
20
+ var import_fs_extra = require("fs-extra"), import_node_path = require("node:path"), import_static = require("@tamagui/static");
29
21
  const extractor = (0, import_static.createExtractor)();
30
22
  async function transform(config, projectRoot, filename, data, options) {
31
- const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : import_metro_transform_worker.default.transform;
23
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : require("metro-transform-worker").transform;
32
24
  if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
33
25
  return transformer(config, projectRoot, filename, data, options);
34
26
  if (
@@ -50,7 +42,7 @@ async function transform(config, projectRoot, filename, data, options) {
50
42
  const tmpDir = (0, import_node_path.join)(projectRoot, ".tamagui", "css"), outStylePath = toPosixPath(
51
43
  (0, import_node_path.join)(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css")
52
44
  );
53
- if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), process.env.TAMAGUI_METRO_INLINE_CSS !== "0") {
45
+ if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), !(config.tamaguiCssInterop ?? process.env.TAMAGUI_METRO_INLINE_CSS === "0")) {
54
46
  const cssInjectionCode = `
55
47
  (function() {
56
48
  if (typeof document !== 'undefined') {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAuC,qBAMvC,gCAAmB,4CACnB,mBAAiC,sBAGjC,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,aAAa,gBAAY,uBAAK,aAAa,QAAQ,CAAC,GAGpD,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,uBAAK,aAAa,YAAY,KAAK,GAC5C,eAAe;AAAA,YACnB,uBAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI,MAAM;AAAA,MACnE;AAKA,UAJI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAGhD,QAAQ,IAAI,6BAA6B,KAAK;AAChD,cAAM,mBAAmB;AAAA;AAAA;AAAA,0BAGP,KAAK,UAAU,IAAI,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EAAK,gBAAgB,IAAI,OAAO;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAEA,YAAM,gBAAgB,UAAM,4BAAW,YAAY;AAEnD,uBAAM,4BAAW,cAAc,IAAI,QAAQ,OAAO,GAE7C,iBAEH,MAAM,IAAI;AAAA,QAAQ,CAAC,QACjB;AAAA,UACE;AAAA,UACA,QAAQ,IAAI,+BACR,CAAC,QAAQ,IAAI,+BACb;AAAA,QACN;AAAA,MACF,GAGK;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;AAEA,SAAS,YAAY,MAAc;AACjC,SAAO,KAAK,MAAM,oBAAG,EAAE,KAAK,uBAAM,GAAG;AACvC;",
5
- "names": ["worker"]
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAuC,qBACvC,mBAAiC,sBAGjC,gBAAqD;AAerD,MAAM,gBAAY,+BAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SACc;AACd,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAE7C,cAAc,SAChB,QAAQ,MAAM,EAAE,YAChB,QAAQ,wBAAwB,EAAE;AAEtC,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,gBAAY,uBAAK,aAAa,QAAQ,CAAC,GAGpD,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,uBAAK,aAAa,YAAY,KAAK,GAC5C,eAAe;AAAA,YACnB,uBAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI,MAAM;AAAA,MACnE;AAQA,UAPI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAMhD,EAFF,OAAO,qBAAqB,QAAQ,IAAI,6BAA6B,MAEjD;AACpB,cAAM,mBAAmB;AAAA;AAAA;AAAA,0BAGP,KAAK,UAAU,IAAI,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EAAK,gBAAgB,IAAI,OAAO;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAEA,YAAM,gBAAgB,UAAM,4BAAW,YAAY;AAEnD,uBAAM,4BAAW,cAAc,IAAI,QAAQ,OAAO,GAE7C,iBAEH,MAAM,IAAI;AAAA,QAAQ,CAAC,QACjB;AAAA,UACE;AAAA,UACA,QAAQ,IAAI,+BACR,CAAC,QAAQ,IAAI,+BACb;AAAA,QACN;AAAA,MACF,GAGK;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;AAEA,SAAS,YAAY,MAAc;AACjC,SAAO,KAAK,MAAM,oBAAG,EAAE,KAAK,uBAAM,GAAG;AACvC;",
5
+ "names": []
6
6
  }
@@ -1,9 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all) __defProp(target, name, {
9
7
  get: all[name],
@@ -17,31 +15,21 @@ var __export = (target, all) => {
17
15
  });
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
32
21
  var transformer_exports = {};
33
22
  __export(transformer_exports, {
34
23
  transform: () => transform
35
24
  });
36
25
  module.exports = __toCommonJS(transformer_exports);
37
26
  var import_fs_extra = require("fs-extra"),
38
- import_metro_transform_worker = __toESM(require("metro-transform-worker")),
39
27
  import_node_path = require("node:path"),
40
28
  import_static = require("@tamagui/static");
41
29
  const extractor = (0, import_static.createExtractor)();
42
30
  async function transform(config, projectRoot, filename, data, options) {
43
31
  const ogPath = config.ogTransformPath || config.transformerPath,
44
- transformer = ogPath ? require(ogPath).transform : import_metro_transform_worker.default.transform;
32
+ transformer = ogPath ? require(ogPath).transform : require("metro-transform-worker").transform;
45
33
  if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules")) return transformer(config, projectRoot, filename, data, options);
46
34
  if (
47
35
  // could by a styled() call:
@@ -62,7 +50,7 @@ async function transform(config, projectRoot, filename, data, options) {
62
50
  if (out?.styles) {
63
51
  const tmpDir = (0, import_node_path.join)(projectRoot, ".tamagui", "css"),
64
52
  outStylePath = toPosixPath((0, import_node_path.join)(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"));
65
- if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), process.env.TAMAGUI_METRO_INLINE_CSS !== "0") {
53
+ if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), !(config.tamaguiCssInterop ?? process.env.TAMAGUI_METRO_INLINE_CSS === "0")) {
66
54
  const cssInjectionCode = `
67
55
  (function() {
68
56
  if (typeof document !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"names":["transformer_exports","__export","transform","module","exports","__toCommonJS","import_fs_extra","require","import_metro_transform_worker","__toESM","import_node_path","import_static","extractor","createExtractor","config","projectRoot","filename","data","options","ogPath","ogTransformPath","transformerPath","transformer","default","tamagui","disable","platform","type","includes","endsWith","sourcePath","toPosixPath","join","source","out","extractToClassNames","shouldPrintDebug","startsWith","styles","tmpDir","outStylePath","replace","process","env","DEBUG","console","info","TAMAGUI_METRO_INLINE_CSS","cssInjectionCode","JSON","stringify","Buffer","from","js","existsAlready","pathExists","outputFile","Promise","res","setTimeout","TAMAGUI_METRO_CSS_EMIT_DELAY","path","split","sep","posix"],"sources":["../../src/transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["transformer_exports","__export","transform","module","exports","__toCommonJS","import_fs_extra","require","import_node_path","import_static","extractor","createExtractor","config","projectRoot","filename","data","options","ogPath","ogTransformPath","transformerPath","transformer","tamagui","disable","platform","type","includes","endsWith","sourcePath","toPosixPath","join","source","out","extractToClassNames","shouldPrintDebug","startsWith","styles","tmpDir","outStylePath","replace","process","env","DEBUG","console","info","tamaguiCssInterop","TAMAGUI_METRO_INLINE_CSS","cssInjectionCode","JSON","stringify","Buffer","from","js","existsAlready","pathExists","outputFile","Promise","res","setTimeout","TAMAGUI_METRO_CSS_EMIT_DELAY","path","split","sep","posix"],"sources":["../../src/transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  loadTamaguiBuildConfigSync
4
4
  } from "@tamagui/static";
5
5
  function withTamagui(metroConfig, optionsIn) {
6
- const options = {
7
- ...optionsIn,
8
- ...loadTamaguiBuildConfigSync(optionsIn)
6
+ const { cssInterop, ...tamaguiOptionsIn } = optionsIn || {}, options = {
7
+ ...tamaguiOptionsIn,
8
+ ...loadTamaguiBuildConfigSync(tamaguiOptionsIn)
9
9
  }, extractor = createExtractor();
10
10
  options.disable || extractor.loadTamagui(options), metroConfig.resolver = {
11
11
  ...metroConfig.resolver,
@@ -21,7 +21,9 @@ function withTamagui(metroConfig, optionsIn) {
21
21
  tamagui: {
22
22
  ...options,
23
23
  disableInitialBuild: !0
24
- }
24
+ },
25
+ // @ts-ignore - metro-plugin specific option
26
+ tamaguiCssInterop: cssInterop
25
27
  }, metroConfig;
26
28
  }
27
29
  export {
@@ -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;AAGA,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,GAIpC,YAAY,WAAW;AAAA,IACrB,GAAI,YAAY;AAAA,IAChB,YAAY,CAAC,GAAI,YAAY,UAAU,cAAc,CAAC,GAAI,KAAK;AAAA,EACjE;AAEA,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,GAAI,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA;AAAA,IAEA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA,EACF,GAEO;AACT;",
4
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAaA,SAAS,YACd,aACA,WACA;AACA,QAAM,EAAE,YAAY,GAAG,iBAAiB,IAAI,aAAa,CAAC,GAEpD,UAAU;AAAA,IACd,GAAG;AAAA,IACH,GAAG,2BAA2B,gBAAgB;AAAA,EAChD,GAGM,YAAY,gBAAgB;AAGlC,EAAK,QAAQ,WACN,UAAU,YAAY,OAAO,GAIpC,YAAY,WAAW;AAAA,IACrB,GAAI,YAAY;AAAA,IAChB,YAAY,CAAC,GAAI,YAAY,UAAU,cAAc,CAAC,GAAI,KAAK;AAAA,EACjE;AAEA,QAAM,kBAAkB,YAAY;AACpC,qBAAY,kBAAkB,gBAAgB,eAAe,GAC7D,YAAY,cAAc;AAAA,IACxB,GAAG,YAAY;AAAA,IACf,GAAI,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA;AAAA,IAEA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,qBAAqB;AAAA,IACvB;AAAA;AAAA,IAEA,mBAAmB;AAAA,EACrB,GAEO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,8 +1,12 @@
1
1
  import { createExtractor, loadTamaguiBuildConfigSync } from "@tamagui/static";
2
2
  function withTamagui(metroConfig, optionsIn) {
3
- const options = {
4
- ...optionsIn,
5
- ...loadTamaguiBuildConfigSync(optionsIn)
3
+ const {
4
+ cssInterop,
5
+ ...tamaguiOptionsIn
6
+ } = optionsIn || {},
7
+ options = {
8
+ ...tamaguiOptionsIn,
9
+ ...loadTamaguiBuildConfigSync(tamaguiOptionsIn)
6
10
  },
7
11
  extractor = createExtractor();
8
12
  options.disable || extractor.loadTamagui(options), metroConfig.resolver = {
@@ -19,7 +23,9 @@ function withTamagui(metroConfig, optionsIn) {
19
23
  tamagui: {
20
24
  ...options,
21
25
  disableInitialBuild: !0
22
- }
26
+ },
27
+ // @ts-ignore - metro-plugin specific option
28
+ tamaguiCssInterop: cssInterop
23
29
  }, metroConfig;
24
30
  }
25
31
  export { withTamagui };
@@ -1 +1 @@
1
- {"version":3,"names":["createExtractor","loadTamaguiBuildConfigSync","withTamagui","metroConfig","optionsIn","options","extractor","disable","loadTamagui","resolver","sourceExts","ogTransformPath","transformerPath","require","resolve","transformer","tamagui","disableInitialBuild"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAA,EACAC,0BAAA,QAEK;AAGA,SAASC,YACdC,WAAA,EACAC,SAAA,EAGA;EACA,MAAMC,OAAA,GAAU;MACd,GAAGD,SAAA;MACH,GAAGH,0BAAA,CAA2BG,SAAS;IACzC;IAGME,SAAA,GAAYN,eAAA,CAAgB;EAG7BK,OAAA,CAAQE,OAAA,IACND,SAAA,CAAUE,WAAA,CAAYH,OAAO,GAIpCF,WAAA,CAAYM,QAAA,GAAW;IACrB,GAAIN,WAAA,CAAYM,QAAA;IAChBC,UAAA,EAAY,CAAC,IAAIP,WAAA,CAAYM,QAAA,EAAUC,UAAA,IAAc,EAAC,GAAI,KAAK;EACjE;EAEA,MAAMC,eAAA,GAAkBR,WAAA,CAAYS,eAAA;EACpC,OAAAT,WAAA,CAAYS,eAAA,GAAkBC,OAAA,CAAAC,OAAA,CAAgB,eAAe,GAC7DX,WAAA,CAAYY,WAAA,GAAc;IACxB,GAAGZ,WAAA,CAAYY,WAAA;IACf,IAAIJ,eAAA,IAAmB;MACrBA;IACF;IAAA;IAEAK,OAAA,EAAS;MACP,GAAGX,OAAA;MACHY,mBAAA,EAAqB;IACvB;EACF,GAEOd,WAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["createExtractor","loadTamaguiBuildConfigSync","withTamagui","metroConfig","optionsIn","cssInterop","tamaguiOptionsIn","options","extractor","disable","loadTamagui","resolver","sourceExts","ogTransformPath","transformerPath","require","resolve","transformer","tamagui","disableInitialBuild","tamaguiCssInterop"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAA,EACAC,0BAAA,QAEK;AAaA,SAASC,YACdC,WAAA,EACAC,SAAA,EACA;EACA,MAAM;MAAEC,UAAA;MAAY,GAAGC;IAAiB,IAAIF,SAAA,IAAa,CAAC;IAEpDG,OAAA,GAAU;MACd,GAAGD,gBAAA;MACH,GAAGL,0BAAA,CAA2BK,gBAAgB;IAChD;IAGME,SAAA,GAAYR,eAAA,CAAgB;EAG7BO,OAAA,CAAQE,OAAA,IACND,SAAA,CAAUE,WAAA,CAAYH,OAAO,GAIpCJ,WAAA,CAAYQ,QAAA,GAAW;IACrB,GAAIR,WAAA,CAAYQ,QAAA;IAChBC,UAAA,EAAY,CAAC,IAAIT,WAAA,CAAYQ,QAAA,EAAUC,UAAA,IAAc,EAAC,GAAI,KAAK;EACjE;EAEA,MAAMC,eAAA,GAAkBV,WAAA,CAAYW,eAAA;EACpC,OAAAX,WAAA,CAAYW,eAAA,GAAkBC,OAAA,CAAAC,OAAA,CAAgB,eAAe,GAC7Db,WAAA,CAAYc,WAAA,GAAc;IACxB,GAAGd,WAAA,CAAYc,WAAA;IACf,IAAIJ,eAAA,IAAmB;MACrBA;IACF;IAAA;IAEAK,OAAA,EAAS;MACP,GAAGX,OAAA;MACHY,mBAAA,EAAqB;IACvB;IAAA;IAEAC,iBAAA,EAAmBf;EACrB,GAEOF,WAAA;AACT","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import { outputFile, pathExists } from "fs-extra";
2
- import worker from "metro-transform-worker";
3
2
  import { join, posix, sep } from "node:path";
4
3
  import { createExtractor, extractToClassNames } from "@tamagui/static";
5
4
  const extractor = createExtractor();
6
5
  async function transform(config, projectRoot, filename, data, options) {
7
- const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : worker.transform;
6
+ const ogPath = config.ogTransformPath || config.transformerPath, transformer = ogPath ? require(ogPath).transform : require("metro-transform-worker").transform;
8
7
  if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules"))
9
8
  return transformer(config, projectRoot, filename, data, options);
10
9
  if (
@@ -26,7 +25,7 @@ async function transform(config, projectRoot, filename, data, options) {
26
25
  const tmpDir = join(projectRoot, ".tamagui", "css"), outStylePath = toPosixPath(
27
26
  join(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css")
28
27
  );
29
- if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), process.env.TAMAGUI_METRO_INLINE_CSS !== "0") {
28
+ if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), !(config.tamaguiCssInterop ?? process.env.TAMAGUI_METRO_INLINE_CSS === "0")) {
30
29
  const cssInjectionCode = `
31
30
  (function() {
32
31
  if (typeof document !== 'undefined') {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformer.ts"],
4
- "mappings": "AAAA,SAAS,YAAY,kBAAkB;AAMvC,OAAO,YAAY;AACnB,SAAS,MAAM,OAAO,WAAW;AAGjC,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,YAAY,KAAK,aAAa,QAAQ,CAAC,GAGpD,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,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI,MAAM;AAAA,MACnE;AAKA,UAJI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAGhD,QAAQ,IAAI,6BAA6B,KAAK;AAChD,cAAM,mBAAmB;AAAA;AAAA;AAAA,0BAGP,KAAK,UAAU,IAAI,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EAAK,gBAAgB,IAAI,OAAO;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAEA,YAAM,gBAAgB,MAAM,WAAW,YAAY;AAEnD,mBAAM,WAAW,cAAc,IAAI,QAAQ,OAAO,GAE7C,iBAEH,MAAM,IAAI;AAAA,QAAQ,CAAC,QACjB;AAAA,UACE;AAAA,UACA,QAAQ,IAAI,+BACR,CAAC,QAAQ,IAAI,+BACb;AAAA,QACN;AAAA,MACF,GAGK;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;AAEA,SAAS,YAAY,MAAc;AACjC,SAAO,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG;AACvC;",
4
+ "mappings": "AAAA,SAAS,YAAY,kBAAkB;AACvC,SAAS,MAAM,OAAO,WAAW;AAGjC,SAAS,iBAAiB,2BAA2B;AAerD,MAAM,YAAY,gBAAgB;AAElC,eAAsB,UACpB,QACA,aACA,UACA,MACA,SACc;AACd,QAAM,SAAS,OAAO,mBAAsB,OAAO,iBAE7C,cAAc,SAChB,QAAQ,MAAM,EAAE,YAChB,QAAQ,wBAAwB,EAAE;AAEtC,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,YAAY,KAAK,aAAa,QAAQ,CAAC,GAGpD,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,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,kBAAkB,EAAE,IAAI,MAAM;AAAA,MACnE;AAQA,UAPI,QAAQ,IAAI,OAAO,SAAS,SAAS,KACvC,QAAQ,KAAK,yBAAyB,YAAY,GAMhD,EAFF,OAAO,qBAAqB,QAAQ,IAAI,6BAA6B,MAEjD;AACpB,cAAM,mBAAmB;AAAA;AAAA;AAAA,0BAGP,KAAK,UAAU,IAAI,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EAAK,gBAAgB,IAAI,OAAO;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAEA,YAAM,gBAAgB,MAAM,WAAW,YAAY;AAEnD,mBAAM,WAAW,cAAc,IAAI,QAAQ,OAAO,GAE7C,iBAEH,MAAM,IAAI;AAAA,QAAQ,CAAC,QACjB;AAAA,UACE;AAAA,UACA,QAAQ,IAAI,+BACR,CAAC,QAAQ,IAAI,+BACb;AAAA,QACN;AAAA,MACF,GAGK;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;AAEA,SAAS,YAAY,MAAc;AACjC,SAAO,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG;AACvC;",
5
5
  "names": []
6
6
  }
@@ -1,11 +1,10 @@
1
1
  import { outputFile, pathExists } from "fs-extra";
2
- import worker from "metro-transform-worker";
3
2
  import { join, posix, sep } from "node:path";
4
3
  import { createExtractor, extractToClassNames } from "@tamagui/static";
5
4
  const extractor = createExtractor();
6
5
  async function transform(config, projectRoot, filename, data, options) {
7
6
  const ogPath = config.ogTransformPath || config.transformerPath,
8
- transformer = ogPath ? require(ogPath).transform : worker.transform;
7
+ transformer = ogPath ? require(ogPath).transform : require("metro-transform-worker").transform;
9
8
  if (config.tamagui.disable || options.platform !== "web" || options.type === "asset" || filename.includes("node_modules")) return transformer(config, projectRoot, filename, data, options);
10
9
  if (
11
10
  // could by a styled() call:
@@ -26,7 +25,7 @@ async function transform(config, projectRoot, filename, data, options) {
26
25
  if (out?.styles) {
27
26
  const tmpDir = join(projectRoot, ".tamagui", "css"),
28
27
  outStylePath = toPosixPath(join(tmpDir, `${filename}`.replace(/[^a-zA-Z0-9]/gi, "") + ".css"));
29
- if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), process.env.TAMAGUI_METRO_INLINE_CSS !== "0") {
28
+ if (process.env.DEBUG?.includes("tamagui") && console.info(" Outputting CSS file:", outStylePath), !(config.tamaguiCssInterop ?? process.env.TAMAGUI_METRO_INLINE_CSS === "0")) {
30
29
  const cssInjectionCode = `
31
30
  (function() {
32
31
  if (typeof document !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"names":["outputFile","pathExists","worker","join","posix","sep","createExtractor","extractToClassNames","extractor","transform","config","projectRoot","filename","data","options","ogPath","ogTransformPath","transformerPath","transformer","require","tamagui","disable","platform","type","includes","endsWith","sourcePath","toPosixPath","source","out","shouldPrintDebug","startsWith","styles","tmpDir","outStylePath","replace","process","env","DEBUG","console","info","TAMAGUI_METRO_INLINE_CSS","cssInjectionCode","JSON","stringify","Buffer","from","js","existsAlready","Promise","res","setTimeout","TAMAGUI_METRO_CSS_EMIT_DELAY","path","split"],"sources":["../../src/transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["outputFile","pathExists","join","posix","sep","createExtractor","extractToClassNames","extractor","transform","config","projectRoot","filename","data","options","ogPath","ogTransformPath","transformerPath","transformer","require","tamagui","disable","platform","type","includes","endsWith","sourcePath","toPosixPath","source","out","shouldPrintDebug","startsWith","styles","tmpDir","outStylePath","replace","process","env","DEBUG","console","info","tamaguiCssInterop","TAMAGUI_METRO_INLINE_CSS","cssInjectionCode","JSON","stringify","Buffer","from","js","existsAlready","Promise","res","setTimeout","TAMAGUI_METRO_CSS_EMIT_DELAY","path","split"],"sources":["../../src/transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/metro-plugin",
3
- "version": "1.138.5",
3
+ "version": "1.138.6",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs/index.js",
@@ -23,13 +23,13 @@
23
23
  "clean:build": "tamagui-build clean:build"
24
24
  },
25
25
  "dependencies": {
26
- "@tamagui/static": "1.138.5",
26
+ "@tamagui/static": "1.138.6",
27
27
  "fs-extra": "^11.2.0",
28
28
  "metro-config": "*",
29
29
  "metro-transform-worker": "*",
30
30
  "react-native-css-interop": "^0.1.22"
31
31
  },
32
32
  "devDependencies": {
33
- "@tamagui/build": "1.138.5"
33
+ "@tamagui/build": "1.138.6"
34
34
  }
35
35
  }
package/src/index.ts CHANGED
@@ -5,15 +5,25 @@ import {
5
5
  } from '@tamagui/static'
6
6
  import type { IntermediateConfigT } from 'metro-config'
7
7
 
8
+ export type MetroTamaguiOptions = TamaguiOptions & {
9
+ /**
10
+ * When true, writes CSS to .tamagui/css/ files and imports them,
11
+ * letting Metro handle CSS bundling. When false (default), CSS is
12
+ * injected inline via JS at runtime.
13
+ * @default false
14
+ */
15
+ cssInterop?: boolean
16
+ }
17
+
8
18
  export function withTamagui(
9
19
  metroConfig: Partial<IntermediateConfigT>,
10
- optionsIn?: TamaguiOptions & {
11
- enableCSSInterop?: boolean
12
- }
20
+ optionsIn?: MetroTamaguiOptions
13
21
  ) {
22
+ const { cssInterop, ...tamaguiOptionsIn } = optionsIn || {}
23
+
14
24
  const options = {
15
- ...optionsIn,
16
- ...loadTamaguiBuildConfigSync(optionsIn),
25
+ ...tamaguiOptionsIn,
26
+ ...loadTamaguiBuildConfigSync(tamaguiOptionsIn),
17
27
  }
18
28
 
19
29
  // run one build up front
@@ -42,6 +52,8 @@ export function withTamagui(
42
52
  ...options,
43
53
  disableInitialBuild: true,
44
54
  },
55
+ // @ts-ignore - metro-plugin specific option
56
+ tamaguiCssInterop: cssInterop,
45
57
  }
46
58
 
47
59
  return metroConfig
@@ -1,18 +1,20 @@
1
1
  import { outputFile, pathExists } from 'fs-extra'
2
- import type {
3
- JsTransformerConfig,
4
- JsTransformOptions,
5
- TransformResponse,
6
- } from 'metro-transform-worker'
7
- import worker from 'metro-transform-worker'
8
2
  import { join, posix, sep } from 'node:path'
9
3
 
10
4
  import type { TamaguiOptions } from '@tamagui/static'
11
5
  import { createExtractor, extractToClassNames } from '@tamagui/static'
12
6
 
13
- interface TamaguiJsTransformerConfig extends JsTransformerConfig {
7
+ interface TamaguiJsTransformerConfig {
14
8
  transformerPath?: string
15
9
  tamagui: TamaguiOptions
10
+ tamaguiCssInterop?: boolean
11
+ [key: string]: any
12
+ }
13
+
14
+ interface JsTransformOptions {
15
+ platform?: string
16
+ type?: string
17
+ [key: string]: any
16
18
  }
17
19
 
18
20
  const extractor = createExtractor()
@@ -23,9 +25,12 @@ export async function transform(
23
25
  filename: string,
24
26
  data: Buffer,
25
27
  options: JsTransformOptions
26
- ): Promise<TransformResponse> {
28
+ ): Promise<any> {
27
29
  const ogPath = config['ogTransformPath'] || config.transformerPath
28
- const transformer = ogPath ? require(ogPath).transform : worker.transform
30
+ // Dynamically require to avoid version-locking to a specific metro version
31
+ const transformer = ogPath
32
+ ? require(ogPath).transform
33
+ : require('metro-transform-worker').transform
29
34
 
30
35
  if (
31
36
  config.tamagui.disable ||
@@ -70,7 +75,10 @@ export async function transform(
70
75
  console.info(' Outputting CSS file:', outStylePath)
71
76
  }
72
77
 
73
- if (process.env.TAMAGUI_METRO_INLINE_CSS !== '0') {
78
+ const shouldOutputCSS =
79
+ config.tamaguiCssInterop ?? process.env.TAMAGUI_METRO_INLINE_CSS === '0'
80
+
81
+ if (!shouldOutputCSS) {
74
82
  const cssInjectionCode = `
75
83
  (function() {
76
84
  if (typeof document !== 'undefined') {
package/types/index.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import { type TamaguiOptions } from '@tamagui/static';
2
2
  import type { IntermediateConfigT } from 'metro-config';
3
- export declare function withTamagui(metroConfig: Partial<IntermediateConfigT>, optionsIn?: TamaguiOptions & {
4
- enableCSSInterop?: boolean;
5
- }): Partial<IntermediateConfigT>;
3
+ export type MetroTamaguiOptions = TamaguiOptions & {
4
+ /**
5
+ * When true, writes CSS to .tamagui/css/ files and imports them,
6
+ * letting Metro handle CSS bundling. When false (default), CSS is
7
+ * injected inline via JS at runtime.
8
+ * @default false
9
+ */
10
+ cssInterop?: boolean;
11
+ };
12
+ export declare function withTamagui(metroConfig: Partial<IntermediateConfigT>, optionsIn?: MetroTamaguiOptions): Partial<IntermediateConfigT>;
6
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,wBAAgB,WAAW,CACzB,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACzC,SAAS,CAAC,EAAE,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,gCAoCF"}
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,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACzC,SAAS,CAAC,EAAE,mBAAmB,gCAwChC"}
@@ -1,9 +1,15 @@
1
- import type { JsTransformerConfig, JsTransformOptions, TransformResponse } from 'metro-transform-worker';
2
1
  import type { TamaguiOptions } from '@tamagui/static';
3
- interface TamaguiJsTransformerConfig extends JsTransformerConfig {
2
+ interface TamaguiJsTransformerConfig {
4
3
  transformerPath?: string;
5
4
  tamagui: TamaguiOptions;
5
+ tamaguiCssInterop?: boolean;
6
+ [key: string]: any;
6
7
  }
7
- export declare function transform(config: TamaguiJsTransformerConfig, projectRoot: string, filename: string, data: Buffer, options: JsTransformOptions): Promise<TransformResponse>;
8
+ interface JsTransformOptions {
9
+ platform?: string;
10
+ type?: string;
11
+ [key: string]: any;
12
+ }
13
+ export declare function transform(config: TamaguiJsTransformerConfig, projectRoot: string, filename: string, data: Buffer, options: JsTransformOptions): Promise<any>;
8
14
  export {};
9
15
  //# sourceMappingURL=transformer.d.ts.map
@@ -1 +1 @@
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,CAgG5B"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrD,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;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,GAAG,CAAC,CAsGd"}