@tamagui/static 1.63.0 → 1.64.0

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.
Files changed (84) hide show
  1. package/dist/cjs/constants.js +3 -1
  2. package/dist/cjs/constants.js.map +1 -1
  3. package/dist/cjs/constants.native.js +3 -1
  4. package/dist/cjs/constants.native.js.map +1 -1
  5. package/dist/cjs/extractor/bundle.js +4 -2
  6. package/dist/cjs/extractor/bundle.js.map +1 -1
  7. package/dist/cjs/extractor/bundle.native.js +4 -2
  8. package/dist/cjs/extractor/bundle.native.js.map +1 -1
  9. package/dist/cjs/extractor/bundleConfig.js +40 -34
  10. package/dist/cjs/extractor/bundleConfig.js.map +2 -2
  11. package/dist/cjs/extractor/bundleConfig.native.js +40 -34
  12. package/dist/cjs/extractor/bundleConfig.native.js.map +2 -2
  13. package/dist/cjs/extractor/createExtractor.js +70 -39
  14. package/dist/cjs/extractor/createExtractor.js.map +2 -2
  15. package/dist/cjs/extractor/createExtractor.native.js +70 -39
  16. package/dist/cjs/extractor/createExtractor.native.js.map +2 -2
  17. package/dist/cjs/extractor/extractHelpers.js +5 -3
  18. package/dist/cjs/extractor/extractHelpers.js.map +1 -1
  19. package/dist/cjs/extractor/extractHelpers.native.js +5 -3
  20. package/dist/cjs/extractor/extractHelpers.native.js.map +1 -1
  21. package/dist/cjs/extractor/extractMediaStyle.js +3 -2
  22. package/dist/cjs/extractor/extractMediaStyle.js.map +1 -1
  23. package/dist/cjs/extractor/extractMediaStyle.native.js +3 -2
  24. package/dist/cjs/extractor/extractMediaStyle.native.js.map +1 -1
  25. package/dist/cjs/extractor/extractToClassNames.js +5 -4
  26. package/dist/cjs/extractor/extractToClassNames.js.map +1 -1
  27. package/dist/cjs/extractor/extractToClassNames.native.js +5 -4
  28. package/dist/cjs/extractor/extractToClassNames.native.js.map +1 -1
  29. package/dist/cjs/extractor/generateTamaguiStudioConfig.js +4 -2
  30. package/dist/cjs/extractor/generateTamaguiStudioConfig.js.map +1 -1
  31. package/dist/cjs/extractor/generateTamaguiStudioConfig.native.js +4 -2
  32. package/dist/cjs/extractor/generateTamaguiStudioConfig.native.js.map +1 -1
  33. package/dist/cjs/extractor/getPrefixLogs.js +1 -1
  34. package/dist/cjs/extractor/getPrefixLogs.js.map +1 -1
  35. package/dist/cjs/extractor/getPrefixLogs.native.js +1 -1
  36. package/dist/cjs/extractor/getPrefixLogs.native.js.map +1 -1
  37. package/dist/cjs/extractor/getStaticBindingsForScope.js +2 -1
  38. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +1 -1
  39. package/dist/cjs/extractor/getStaticBindingsForScope.native.js +2 -1
  40. package/dist/cjs/extractor/getStaticBindingsForScope.native.js.map +1 -1
  41. package/dist/cjs/extractor/literalToAst.js +1 -1
  42. package/dist/cjs/extractor/literalToAst.js.map +1 -1
  43. package/dist/cjs/extractor/literalToAst.native.js +1 -1
  44. package/dist/cjs/extractor/literalToAst.native.js.map +1 -1
  45. package/dist/cjs/extractor/loadFile.js +4 -3
  46. package/dist/cjs/extractor/loadFile.js.map +1 -1
  47. package/dist/cjs/extractor/loadFile.native.js +4 -3
  48. package/dist/cjs/extractor/loadFile.native.js.map +1 -1
  49. package/dist/cjs/extractor/loadTamagui.js +39 -18
  50. package/dist/cjs/extractor/loadTamagui.js.map +1 -1
  51. package/dist/cjs/extractor/loadTamagui.native.js +39 -18
  52. package/dist/cjs/extractor/loadTamagui.native.js.map +1 -1
  53. package/dist/cjs/extractor/removeUnusedHooks.js +5 -2
  54. package/dist/cjs/extractor/removeUnusedHooks.js.map +1 -1
  55. package/dist/cjs/extractor/removeUnusedHooks.native.js +5 -2
  56. package/dist/cjs/extractor/removeUnusedHooks.native.js.map +1 -1
  57. package/dist/cjs/getPragmaOptions.js +2 -1
  58. package/dist/cjs/getPragmaOptions.js.map +1 -1
  59. package/dist/cjs/getPragmaOptions.native.js +2 -1
  60. package/dist/cjs/getPragmaOptions.native.js.map +1 -1
  61. package/dist/cjs/registerRequire.js +34 -21
  62. package/dist/cjs/registerRequire.js.map +1 -1
  63. package/dist/cjs/registerRequire.native.js +34 -21
  64. package/dist/cjs/registerRequire.native.js.map +1 -1
  65. package/dist/esm/extractor/bundleConfig.js +31 -27
  66. package/dist/esm/extractor/bundleConfig.js.map +2 -2
  67. package/dist/esm/extractor/createExtractor.js +44 -17
  68. package/dist/esm/extractor/createExtractor.js.map +1 -1
  69. package/dist/esm/extractor/loadTamagui.js +35 -15
  70. package/dist/esm/extractor/loadTamagui.js.map +1 -1
  71. package/dist/esm/registerRequire.js +28 -18
  72. package/dist/esm/registerRequire.js.map +1 -1
  73. package/package.json +15 -15
  74. package/src/extractor/bundleConfig.ts +44 -29
  75. package/src/extractor/createExtractor.ts +72 -73
  76. package/src/extractor/loadTamagui.ts +52 -25
  77. package/src/registerRequire.ts +59 -22
  78. package/types/extractor/bundleConfig.d.ts +2 -1
  79. package/types/extractor/bundleConfig.d.ts.map +1 -1
  80. package/types/extractor/createExtractor.d.ts.map +1 -1
  81. package/types/extractor/loadTamagui.d.ts +4 -1
  82. package/types/extractor/loadTamagui.d.ts.map +1 -1
  83. package/types/registerRequire.d.ts +4 -1
  84. package/types/registerRequire.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/loadTamagui.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,45 +1,54 @@
1
- import { relative, sep } from "path";
1
+ import { register } from "esbuild-register/dist/node";
2
2
  import { requireTamaguiCore } from "./helpers/requireTamaguiCore";
3
3
  const nameToPaths = {}, Module = require("module"), getNameToPaths = () => nameToPaths, proxyWorm = require("@tamagui/proxy-worm"), rnw = require("react-native-web");
4
4
  let isRegistered = !1, og;
5
- function registerRequire(platform) {
5
+ const whitelisted = {
6
+ react: !0
7
+ }, compiled = {};
8
+ function setRequireResult(name, result) {
9
+ compiled[name] = result;
10
+ }
11
+ function registerRequire(platform, { proxyWormImports } = {
12
+ proxyWormImports: !1
13
+ }) {
6
14
  if (isRegistered)
7
15
  return {
8
16
  tamaguiRequire: require,
9
17
  unregister: () => {
10
18
  }
11
19
  };
12
- const { unregister } = require("esbuild-register/dist/node").register({
20
+ const { unregister } = register({
13
21
  hookIgnoreNodeModules: !1
14
22
  });
15
- og = Module.prototype.require, isRegistered = !0, Module.prototype.require = tamaguiRequire;
23
+ og || (og = Module.prototype.require), isRegistered = !0, Module.prototype.require = tamaguiRequire;
16
24
  function tamaguiRequire(path) {
25
+ if (path === "tamagui")
26
+ return og.apply(this, ["tamagui/native"]);
27
+ if (path === "@tamagui/core" || path === "@tamagui/web")
28
+ return requireTamaguiCore(platform, (path2) => og.apply(this, [path2]));
29
+ if (path in compiled)
30
+ return compiled[path];
17
31
  if (/\.(gif|jpe?g|png|svg|ttf|otf|woff2?|bmp|webp)$/i.test(path))
18
32
  return {};
19
- if (path === "@gorhom/bottom-sheet" || path.startsWith("react-native-reanimated") || path === "expo-linear-gradient" || path === "@expo/vector-icons")
33
+ if (path === "@gorhom/bottom-sheet" || path.startsWith("react-native-reanimated") || path === "expo-linear-gradient" || path === "@expo/vector-icons" || path === "tamagui/linear-gradient" || path === "react-native-svg")
20
34
  return proxyWorm;
21
35
  if (path === "react-native/package.json")
22
36
  return packageJson;
23
- if (path === "react-native-web-lite" || path.startsWith("react-native") && // allow our rnw.tsx imports through
24
- !path.startsWith("react-native-web/dist/cjs/exports".replace(/\//g, sep)))
37
+ if (path === "react-native-web-lite" || path.startsWith("react-native"))
25
38
  return rnw;
26
- if (path === "@tamagui/core" || path === "@tamagui/web")
27
- return requireTamaguiCore(platform, (path2) => og.apply(this, [path2]));
28
39
  if (path in knownIgnorableModules)
29
40
  return proxyWorm;
41
+ if (!whitelisted[path] && proxyWormImports && !path.includes(".tamagui-dynamic-eval"))
42
+ return path === "tamagui" ? og.apply(this, [path]) : proxyWorm;
30
43
  try {
31
44
  return og.apply(this, arguments);
32
45
  } catch (err) {
33
- return allowedIgnores[path] || IGNORES === "true" || (process.env.TAMAGUI_SHOW_FULL_BUNDLE_ERRORS ? console.error(
34
- `Tamagui failed loading the pre-built tamagui.config.ts
46
+ return !process.env.TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD && path.includes("tamagui-dynamic-eval") ? void 0 : (allowedIgnores[path] || IGNORES === "true" || (process.env.TAMAGUI_SHOW_FULL_BUNDLE_ERRORS ? console.error(
47
+ `Tamagui failed loading "${path}"
35
48
 
36
49
  ${err.message}
37
50
  ${err.stack}
38
-
39
- You can see if it loads in the node repl:
40
-
41
- require("./${relative(process.cwd(), path)}").default
42
-
51
+
43
52
  `
44
53
  ) : hasWarnedForModules.has(path) || (hasWarnedForModules.add(path), console.log(
45
54
  `
@@ -49,7 +58,7 @@ function registerRequire(platform) {
49
58
  - set TAMAGUI_SHOW_FULL_BUNDLE_ERRORS=1 to see stack trace
50
59
 
51
60
  `
52
- ))), proxyWorm;
61
+ ))), proxyWorm);
53
62
  }
54
63
  }
55
64
  return {
@@ -68,6 +77,7 @@ const packageJson = require("react-native-web/package.json"), IGNORES = process.
68
77
  };
69
78
  export {
70
79
  getNameToPaths,
71
- registerRequire
80
+ registerRequire,
81
+ setRequireResult
72
82
  };
73
83
  //# sourceMappingURL=registerRequire.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/registerRequire.ts"],
4
- "mappings": "AAAA,SAAS,UAAU,WAAW;AAE9B,SAAS,0BAA0B;AAGnC,MAAM,cAAc,CAAC,GACf,SAAS,QAAQ,QAAQ,GAElB,iBAAiB,MAAM,aAE9B,YAAY,QAAQ,qBAAqB,GAEzC,MAAM,QAAQ,kBAAkB;AAEtC,IAAI,eAAe,IACf;AAEG,SAAS,gBAAgB,UAA2B;AAEzD,MAAI;AACF,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,YAAY,MAAM;AAAA,MAAC;AAAA,IACrB;AAGF,QAAM,EAAE,WAAW,IAAI,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,uBAAuB;AAAA,EACzB,CAAC;AAED,OAAK,OAAO,UAAU,SACtB,eAAe,IAEf,OAAO,UAAU,UAAU;AAE3B,WAAS,eAA0B,MAAc;AAC/C,QAAI,kDAAkD,KAAK,IAAI;AAC7D,aAAO,CAAC;AAEV,QACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,0BACT,SAAS;AAET,aAAO;AAET,QAAI,SAAS;AACX,aAAO;AAET,QACE,SAAS,2BACR,KAAK,WAAW,cAAc;AAAA,IAE7B,CAAC,KAAK,WAAW,oCAAoC,QAAQ,OAAO,GAAG,CAAC;AAE1E,aAAO;AAET,QAAI,SAAS,mBAAmB,SAAS;AACvC,aAAO,mBAAmB,UAAU,CAACA,UAC5B,GAAG,MAAM,MAAM,CAACA,KAAI,CAAC,CAC7B;AAGH,QAAI,QAAQ;AACV,aAAO;AAGT,QAAI;AAyBF,aAxBY,GAAG,MAAM,MAAM,SAAS;AAAA,IAyBtC,SAAS,KAAU;AACjB,aAAI,eAAe,IAAI,KAAK,YAAY,WAE5B,QAAQ,IAAI,kCAgBtB,QAAQ;AAAA,QACN;AAAA;AAAA,IAEN,IAAI,OAAO;AAAA,IACX,IAAI,KAAK;AAAA;AAAA;AAAA;AAAA,eAIE,SAAS,QAAQ,IAAI,GAAG,IAAI,CAAC;AAAA;AAAA;AAAA,MAGpC,IA1BI,oBAAoB,IAAI,IAAI,MAG9B,oBAAoB,IAAI,IAAI,GAE5B,QAAQ;AAAA,QACN;AAAA,uDAAgD,IAAI;AAAA,gBAA0C,IAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAC3G,KAsBG;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,YAAY,MAAM;AAChB,iBAAW,GACX,eAAe,IACf,OAAO,UAAU,UAAU;AAAA,IAC7B;AAAA,EACF;AACF;AAEA,MAAM,cAAc,QAAQ,+BAA+B,GACrD,UAAU,QAAQ,IAAI,8BACtB,eACJ,YAAY,SAAS,CAAC,IAAI,QAAQ,IAAI,8BAA8B,MAAM,GAAG,GACzE,wBAAwB;AAAA,EAC5B,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,GAAG,OAAO,YAAY,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,EAAI,CAAC,KAAK,CAAC,CAAC;AACjE,GAEM,sBAAsB,oBAAI,IAAY,GAEtC,iBAAiB;AAAA,EACrB,kBAAkB;AACpB;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AAEzB,SAAS,0BAA0B;AAGnC,MAAM,cAAc,CAAC,GACf,SAAS,QAAQ,QAAQ,GAElB,iBAAiB,MAAM,aAE9B,YAAY,QAAQ,qBAAqB,GAEzC,MAAM,QAAQ,kBAAkB;AAEtC,IAAI,eAAe,IACf;AAEJ,MAAM,cAAc;AAAA,EAClB,OAAO;AACT,GAEM,WAAW,CAAC;AACX,SAAS,iBAAiB,MAAc,QAAa;AAC1D,WAAS,IAAI,IAAI;AACnB;AAEO,SAAS,gBACd,UACA,EAAE,iBAAiB,IAAI;AAAA,EACrB,kBAAkB;AACpB,GACA;AAEA,MAAI;AACF,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,YAAY,MAAM;AAAA,MAAC;AAAA,IACrB;AAGF,QAAM,EAAE,WAAW,IAAI,SAAS;AAAA,IAC9B,uBAAuB;AAAA,EACzB,CAAC;AAED,EAAK,OACH,KAAK,OAAO,UAAU,UAGxB,eAAe,IAEf,OAAO,UAAU,UAAU;AAE3B,WAAS,eAA0B,MAAc;AAC/C,QAAI,SAAS;AACX,aAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;AAG1C,QAAI,SAAS,mBAAmB,SAAS;AACvC,aAAO,mBAAmB,UAAU,CAACA,UAC5B,GAAG,MAAM,MAAM,CAACA,KAAI,CAAC,CAC7B;AAGH,QAAI,QAAQ;AACV,aAAO,SAAS,IAAI;AAGtB,QAAI,kDAAkD,KAAK,IAAI;AAC7D,aAAO,CAAC;AAGV,QACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,0BACT,SAAS,wBACT,SAAS,6BACT,SAAS;AAET,aAAO;AAET,QAAI,SAAS;AACX,aAAO;AAGT,QAAI,SAAS,2BAA2B,KAAK,WAAW,cAAc;AACpE,aAAO;AAGT,QAAI,QAAQ;AACV,aAAO;AAGT,QAAI,CAAC,YAAY,IAAI,KACf,oBAAoB,CAAC,KAAK,SAAS,uBAAuB;AAC5D,aAAI,SAAS,YACJ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAEvB;AAIX,QAAI;AAyBF,aAxBY,GAAG,MAAM,MAAM,SAAS;AAAA,IAyBtC,SAAS,KAAU;AACjB,aACE,CAAC,QAAQ,IAAI,oCACb,KAAK,SAAS,sBAAsB,IAGpC,UAEE,eAAe,IAAI,KAAK,YAAY,WAE5B,QAAQ,IAAI,kCAgBtB,QAAQ;AAAA,QACN,2BAA2B,IAAI;AAAA;AAAA,IAErC,IAAI,OAAO;AAAA,IACX,IAAI,KAAK;AAAA;AAAA;AAAA,MAGL,IAtBI,oBAAoB,IAAI,IAAI,MAG9B,oBAAoB,IAAI,IAAI,GAE5B,QAAQ;AAAA,QACN;AAAA,uDAAgD,IAAI;AAAA,gBAA0C,IAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAC3G,KAkBG;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,YAAY,MAAM;AAChB,iBAAW,GACX,eAAe,IACf,OAAO,UAAU,UAAU;AAAA,IAC7B;AAAA,EACF;AACF;AAEA,MAAM,cAAc,QAAQ,+BAA+B,GACrD,UAAU,QAAQ,IAAI,8BACtB,eACJ,YAAY,SAAS,CAAC,IAAI,QAAQ,IAAI,8BAA8B,MAAM,GAAG,GACzE,wBAAwB;AAAA,EAC5B,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,GAAG,OAAO,YAAY,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,EAAI,CAAC,KAAK,CAAC,CAAC;AACjE,GAEM,sBAAsB,oBAAI,IAAY,GAEtC,iBAAiB;AAAA,EACrB,kBAAkB;AACpB;",
5
5
  "names": ["path"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "1.63.0",
3
+ "version": "1.64.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs/index.js",
@@ -35,17 +35,17 @@
35
35
  "@babel/runtime": "^7.21.5",
36
36
  "@babel/traverse": "^7.21.5",
37
37
  "@babel/types": "^7.21.5",
38
- "@tamagui/build": "1.63.0",
39
- "@tamagui/cli-color": "1.63.0",
40
- "@tamagui/config-default": "1.63.0",
41
- "@tamagui/core": "1.63.0",
42
- "@tamagui/fake-react-native": "1.63.0",
43
- "@tamagui/generate-themes": "1.63.0",
44
- "@tamagui/helpers": "1.63.0",
45
- "@tamagui/helpers-node": "1.63.0",
46
- "@tamagui/proxy-worm": "1.63.0",
47
- "@tamagui/shorthands": "1.63.0",
48
- "@tamagui/types": "1.63.0",
38
+ "@tamagui/build": "1.64.0",
39
+ "@tamagui/cli-color": "1.64.0",
40
+ "@tamagui/config-default": "1.64.0",
41
+ "@tamagui/core": "1.64.0",
42
+ "@tamagui/fake-react-native": "1.64.0",
43
+ "@tamagui/generate-themes": "1.64.0",
44
+ "@tamagui/helpers": "1.64.0",
45
+ "@tamagui/helpers-node": "1.64.0",
46
+ "@tamagui/proxy-worm": "1.64.0",
47
+ "@tamagui/shorthands": "1.64.0",
48
+ "@tamagui/types": "1.64.0",
49
49
  "babel-literal-to-ast": "^2.1.0",
50
50
  "esbuild": "^0.19.0",
51
51
  "esbuild-register": "^3.4.2",
@@ -55,13 +55,13 @@
55
55
  "invariant": "^2.2.4",
56
56
  "lodash": "^4.17.21",
57
57
  "react-native-web": "^0.19.6",
58
- "react-native-web-internals": "1.63.0",
59
- "react-native-web-lite": "1.63.0"
58
+ "react-native-web-internals": "1.64.0",
59
+ "react-native-web-lite": "1.64.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@babel/plugin-syntax-typescript": "^7.21.4",
63
63
  "@expo/match-media": "^0.4.0",
64
- "@tamagui/test-design-system": "1.63.0",
64
+ "@tamagui/test-design-system": "1.64.0",
65
65
  "@testing-library/react": "^14.0.0",
66
66
  "@types/babel__generator": "^7.6.4",
67
67
  "@types/babel__traverse": "^7.18.2",
@@ -9,7 +9,7 @@ import type { StaticConfig, TamaguiInternalConfig } from '@tamagui/web'
9
9
  import esbuild from 'esbuild'
10
10
  import { ensureDir, removeSync, writeFileSync } from 'fs-extra'
11
11
 
12
- import { registerRequire } from '../registerRequire'
12
+ import { registerRequire, setRequireResult } from '../registerRequire'
13
13
  import { TamaguiOptions } from '../types'
14
14
  import { babelParse } from './babelParse'
15
15
  import { bundle } from './bundle'
@@ -33,6 +33,7 @@ export type TamaguiProjectInfo = {
33
33
  components?: LoadedComponents[]
34
34
  tamaguiConfig?: TamaguiInternalConfig | null
35
35
  nameToPaths?: NameToPaths
36
+ cached?: boolean
36
37
  }
37
38
 
38
39
  const external = [
@@ -246,25 +247,27 @@ export async function bundleConfig(props: TamaguiOptions) {
246
247
  }
247
248
  }
248
249
 
249
- export function loadComponents(props: TamaguiOptions): null | LoadedComponents[] {
250
+ export function loadComponents(
251
+ props: TamaguiOptions,
252
+ forceExports = false
253
+ ): null | LoadedComponents[] {
250
254
  const componentsModules = props.components
255
+
251
256
  const key = componentsModules.join('')
252
- if (cacheComponents[key]) {
257
+
258
+ if (!forceExports && cacheComponents[key]) {
253
259
  return cacheComponents[key]
254
260
  }
255
261
 
256
- const { unregister } = registerRequire(props.platform)
262
+ const { unregister } = registerRequire(props.platform, {
263
+ proxyWormImports: forceExports,
264
+ })
257
265
 
258
266
  try {
259
267
  const info: LoadedComponents[] = componentsModules.flatMap((name) => {
260
268
  const extension = extname(name)
261
269
  const isLocal = Boolean(extension)
262
- // during props.config pass we are passing in pre-bundled stuff
263
- const isDynamic = isLocal && !props.config
264
-
265
- if (isDynamic && !process.env.TAMAGUI_ENABLE_DYNAMIC_LOAD) {
266
- return []
267
- }
270
+ const isDynamic = isLocal && forceExports
268
271
 
269
272
  const fileContents = isDynamic ? readFileSync(name, 'utf-8') : ''
270
273
  const loadModule = isDynamic
@@ -277,12 +280,27 @@ export function loadComponents(props: TamaguiOptions): null | LoadedComponents[]
277
280
  // need to write to tsx to enable reading it properly (:/ esbuild-register)
278
281
  if (isDynamic) {
279
282
  writtenContents = forceExports
280
- ? esbuildit(
281
- transformAddExports(babelParse(esbuildit(fileContents, 'modern'), name))
282
- )
283
- : esbuildit(fileContents)
283
+ ? transformAddExports(babelParse(esbuildit(fileContents, 'modern'), name))
284
+ : fileContents
284
285
 
285
286
  writeFileSync(loadModule, writtenContents)
287
+
288
+ esbuild.buildSync({
289
+ ...esbuildOptions,
290
+ entryPoints: [loadModule],
291
+ outfile: loadModule,
292
+ bundle: true,
293
+ packages: 'external',
294
+ allowOverwrite: true,
295
+ // logLevel: 'silent',
296
+ sourcemap: false,
297
+ loader: {
298
+ '.png': 'dataurl',
299
+ '.jpg': 'dataurl',
300
+ '.jpeg': 'dataurl',
301
+ '.gif': 'dataurl',
302
+ },
303
+ })
286
304
  }
287
305
 
288
306
  if (process.env.DEBUG === 'tamagui') {
@@ -290,9 +308,15 @@ export function loadComponents(props: TamaguiOptions): null | LoadedComponents[]
290
308
  console.log(`loadModule`, loadModule, require.resolve(loadModule))
291
309
  }
292
310
 
311
+ const moduleResult = require(loadModule)
312
+
313
+ if (!forceExports) {
314
+ setRequireResult(name, moduleResult)
315
+ }
316
+
293
317
  const nameToInfo = getComponentStaticConfigByName(
294
318
  name,
295
- interopDefaultExport(require(loadModule))
319
+ interopDefaultExport(moduleResult)
296
320
  )
297
321
 
298
322
  return {
@@ -329,22 +353,12 @@ export function loadComponents(props: TamaguiOptions): null | LoadedComponents[]
329
353
  forceExports: false,
330
354
  })
331
355
  } catch (err) {
332
- if (!process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD) {
356
+ if (process.env.TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD) {
333
357
  // rome-ignore lint/suspicious/noConsoleLog: <explanation>
334
358
  console.log(`
335
359
 
336
- Tamagui attempted but failed to dynamically load components in:
360
+ Tamagui attempted but failed to dynamically optimize components in:
337
361
  ${name}
338
-
339
- This will leave some styled() tags unoptimized.
340
- Disable this file (or dynamic loading altogether):
341
-
342
- disableExtractFoundComponents: ['${name}'] | true
343
-
344
- Quiet this warning with environment variable:
345
-
346
- TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1
347
-
348
362
  `)
349
363
  // rome-ignore lint/suspicious/noConsoleLog: <explanation>
350
364
  console.log(err)
@@ -393,6 +407,7 @@ function getComponentStaticConfigByName(name: string, exported: any) {
393
407
  if (!exported || typeof exported !== 'object' || Array.isArray(exported)) {
394
408
  throw new Error(`Invalid export from package ${name}: ${typeof exported}`)
395
409
  }
410
+
396
411
  for (const key in exported) {
397
412
  const found = getTamaguiComponent(key, exported[key])
398
413
  if (found) {
@@ -402,9 +417,9 @@ function getComponentStaticConfigByName(name: string, exported: any) {
402
417
  }
403
418
  }
404
419
  } catch (err) {
405
- if (process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD !== '1') {
420
+ if (process.env.TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD) {
406
421
  console.error(
407
- `Tamagui failed getting from ${name} (Disable error by setting environment variable TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1)`
422
+ `Tamagui failed getting components from ${name} (Disable error by setting environment variable TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD=1)`
408
423
  )
409
424
  console.error(err)
410
425
  }
@@ -3,6 +3,7 @@ import { basename, relative } from 'path'
3
3
 
4
4
  import traverse, { NodePath, TraverseOptions } from '@babel/traverse'
5
5
  import * as t from '@babel/types'
6
+ import { Color, colorLog } from '@tamagui/cli-color'
6
7
  import type {
7
8
  GetStyleState,
8
9
  PseudoStyles,
@@ -171,7 +172,7 @@ export function createExtractor(
171
172
  disableExtractInlineMedia,
172
173
  disableExtractVariables,
173
174
  disableDebugAttr,
174
- disableExtractFoundComponents,
175
+ enableDynamicEvaluation = false,
175
176
  includeExtensions = ['.ts', '.tsx', '.jsx'],
176
177
  extractStyledDefinitions = false,
177
178
  prefixLogs,
@@ -180,6 +181,10 @@ export function createExtractor(
180
181
  ...restProps
181
182
  } = options
182
183
 
184
+ if (sourcePath.includes('.tamagui-dynamic-eval')) {
185
+ return null
186
+ }
187
+
183
188
  const {
184
189
  expandStylesAndRemoveNullishValues,
185
190
  getSplitStyles,
@@ -428,6 +433,8 @@ export function createExtractor(
428
433
  found: 0,
429
434
  }
430
435
 
436
+ const version = `${Math.random()}`
437
+
431
438
  callTraverse({
432
439
  // @ts-ignore
433
440
  Program: {
@@ -452,6 +459,7 @@ export function createExtractor(
452
459
  : 'unknown'
453
460
 
454
461
  const parentNode = path.node.arguments[0]
462
+
455
463
  if (!t.isIdentifier(parentNode)) {
456
464
  return
457
465
  }
@@ -462,63 +470,58 @@ export function createExtractor(
462
470
  return
463
471
  }
464
472
 
465
- const Component = getValidImportedComponent(parentName)
466
-
467
- // if (!Component) {
468
- // if (disableExtractFoundComponents === true) {
469
- // return
470
- // }
471
- // if (
472
- // Array.isArray(disableExtractFoundComponents) &&
473
- // disableExtractFoundComponents.includes(parentName)
474
- // ) {
475
- // return
476
- // }
477
-
478
- // try {
479
- // if (shouldPrintDebug) {
480
- // logger.info(
481
- // `Unknown component ${parentName}, attempting dynamic load: ${sourcePath}`
482
- // )
483
- // }
484
-
485
- // const out = loadTamaguiSync({
486
- // forceExports: true,
487
- // components: [sourcePath],
488
- // })
489
-
490
- // if (!out?.components) {
491
- // if (shouldPrintDebug) {
492
- // logger.info(`Couldn't load, got ${out}`)
493
- // }
494
- // return
495
- // }
496
-
497
- // propsWithFileInfo.allLoadedComponents = [
498
- // ...propsWithFileInfo.allLoadedComponents,
499
- // ...out.components,
500
- // ]
501
-
502
- // Component = out.components.flatMap((x) => x.nameToInfo[variableName] ?? [])[0]
503
-
504
- // if (shouldPrintDebug === 'verbose') {
505
- // logger.info([`Tamagui Loaded`, JSON.stringify(out.components), !!Component].join(' '))
506
- // }
507
- // } catch (err: any) {
508
- // if (shouldPrintDebug) {
509
- // logger.info(
510
- // `${getPrefixLogs(
511
- // options
512
- // )} skip optimize styled(${variableName}), unable to pre-process (DEBUG=tamagui for more)`
513
- // )
514
- // }
515
- // if (process.env.DEBUG === 'tamagui') {
516
- // logger.info(
517
- // ` Disable this with "disableExtractFoundComponents" in your build-time configuration. \n\n ${err.message} ${err.stack}`
518
- // )
519
- // }
520
- // }
521
- // }
473
+ let Component = getValidImportedComponent(variableName)
474
+
475
+ if (!Component) {
476
+ if (enableDynamicEvaluation !== true) {
477
+ return
478
+ }
479
+
480
+ try {
481
+ if (shouldPrintDebug) {
482
+ logger.info(
483
+ `Unknown component: ${variableName} = styled(${parentName}) attempting dynamic load: ${sourcePath}`
484
+ )
485
+ }
486
+
487
+ const out = loadTamaguiSync({
488
+ forceExports: true,
489
+ components: [sourcePath],
490
+ cacheKey: version,
491
+ })
492
+
493
+ if (!out?.components) {
494
+ if (shouldPrintDebug) {
495
+ logger.info(`Couldn't load, got ${out}`)
496
+ }
497
+ return
498
+ }
499
+
500
+ propsWithFileInfo.allLoadedComponents = [
501
+ ...propsWithFileInfo.allLoadedComponents,
502
+ ...out.components,
503
+ ]
504
+
505
+ Component = out.components.flatMap((x) => x.nameToInfo[variableName] ?? [])[0]
506
+
507
+ if (!out.cached) {
508
+ const foundNames = out.components
509
+ ?.map((x) => Object.keys(x.nameToInfo).join(', '))
510
+ .join(', ')
511
+ .trim()
512
+
513
+ if (foundNames) {
514
+ colorLog(Color.FgYellow, ` | Found new components: ${foundNames}`)
515
+ }
516
+ }
517
+ } catch (err: any) {
518
+ if (shouldPrintDebug) {
519
+ logger.info(
520
+ `skip optimize styled(${variableName}), unable to pre-process (DEBUG=tamagui for more)`
521
+ )
522
+ }
523
+ }
524
+ }
522
525
 
523
526
  if (!Component) {
524
527
  if (shouldPrintDebug) {
@@ -680,27 +683,23 @@ export function createExtractor(
680
683
 
681
684
  // validate its a proper import from tamagui (or internally inside tamagui)
682
685
  const binding = traversePath.scope.getBinding(node.name.name)
683
- let modulePath = ''
686
+ let moduleName = ''
684
687
 
685
688
  if (binding) {
686
- if (!t.isImportDeclaration(binding.path.parent)) {
687
- if (shouldPrintDebug) {
688
- logger.info(` - Binding not import declaration, skip`)
689
- }
690
- return
691
- }
692
- modulePath = binding.path.parent.source.value
693
- if (!isValidImport(propsWithFileInfo, modulePath, binding.identifier.name)) {
694
- if (shouldPrintDebug) {
695
- logger.info(
696
- ` - Binding for ${componentName} not internal import or from components ${binding.identifier.name} in ${modulePath}`
697
- )
689
+ if (t.isImportDeclaration(binding.path.parent)) {
690
+ moduleName = binding.path.parent.source.value
691
+ if (!isValidImport(propsWithFileInfo, moduleName, binding.identifier.name)) {
692
+ if (shouldPrintDebug) {
693
+ logger.info(
694
+ ` - Binding for ${componentName} not internal import or from components ${binding.identifier.name} in ${moduleName}`
695
+ )
696
+ }
697
+ return
698
698
  }
699
- return
700
699
  }
701
700
  }
702
701
 
703
- const component = getValidComponent(propsWithFileInfo, modulePath, node.name.name)
702
+ const component = getValidComponent(propsWithFileInfo, moduleName, node.name.name)
704
703
  if (!component || !component.staticConfig) {
705
704
  if (shouldPrintDebug) {
706
705
  logger.info(` - No Tamagui conf on this: ${node.name.name}`)