@tamagui/static 2.0.0-rc.3 → 2.0.0-rc.30

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 (140) hide show
  1. package/dist/checkDeps.cjs +164 -31
  2. package/dist/exports.cjs +3 -0
  3. package/dist/extractor/bundle.cjs +72 -35
  4. package/dist/extractor/bundleConfig.cjs +219 -35
  5. package/dist/extractor/createExtractor.cjs +170 -28
  6. package/dist/extractor/detectModuleFormat.cjs +49 -0
  7. package/dist/extractor/esbuildTsconfigPaths.cjs +3 -1
  8. package/dist/extractor/extractToClassNames.cjs +7 -5
  9. package/dist/extractor/extractToNative.cjs +7 -8
  10. package/dist/extractor/loadTamagui.cjs +1 -1
  11. package/dist/getPragmaOptions.cjs +7 -3
  12. package/dist/index.js +26 -16
  13. package/dist/registerRequire.cjs +23 -14
  14. package/package.json +26 -22
  15. package/src/checkDeps.ts +305 -68
  16. package/src/exports.ts +1 -0
  17. package/src/extractor/bundle.ts +140 -37
  18. package/src/extractor/bundleConfig.ts +435 -61
  19. package/src/extractor/createExtractor.ts +261 -41
  20. package/src/extractor/detectModuleFormat.ts +42 -0
  21. package/src/extractor/esbuildTsconfigPaths.ts +6 -1
  22. package/src/extractor/extractToClassNames.ts +15 -9
  23. package/src/extractor/extractToNative.ts +32 -25
  24. package/src/extractor/loadTamagui.ts +2 -2
  25. package/src/getPragmaOptions.ts +6 -1
  26. package/src/registerRequire.ts +40 -8
  27. package/types/checkDeps.d.ts.map +1 -1
  28. package/types/exports.d.ts +1 -0
  29. package/types/exports.d.ts.map +1 -1
  30. package/types/extractor/bundle.d.ts +83 -1
  31. package/types/extractor/bundle.d.ts.map +1 -1
  32. package/types/extractor/bundleConfig.d.ts +15 -2
  33. package/types/extractor/bundleConfig.d.ts.map +1 -1
  34. package/types/extractor/createExtractor.d.ts.map +1 -1
  35. package/types/extractor/detectModuleFormat.d.ts +5 -0
  36. package/types/extractor/detectModuleFormat.d.ts.map +1 -0
  37. package/types/extractor/esbuildTsconfigPaths.d.ts +8 -0
  38. package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
  39. package/types/extractor/extractToClassNames.d.ts.map +1 -1
  40. package/types/extractor/extractToNative.d.ts.map +1 -1
  41. package/types/getPragmaOptions.d.ts.map +1 -1
  42. package/types/registerRequire.d.ts.map +1 -1
  43. package/dist/check-dep-versions.js +0 -389
  44. package/dist/check-dep-versions.js.map +0 -6
  45. package/dist/checkDeps.js +0 -60
  46. package/dist/checkDeps.js.map +0 -6
  47. package/dist/constants.js +0 -34
  48. package/dist/constants.js.map +0 -6
  49. package/dist/exports.js +0 -34
  50. package/dist/exports.js.map +0 -6
  51. package/dist/extractor/accessSafe.js +0 -47
  52. package/dist/extractor/accessSafe.js.map +0 -6
  53. package/dist/extractor/babelParse.js +0 -59
  54. package/dist/extractor/babelParse.js.map +0 -6
  55. package/dist/extractor/buildClassName.js +0 -72
  56. package/dist/extractor/buildClassName.js.map +0 -6
  57. package/dist/extractor/bundle.js +0 -135
  58. package/dist/extractor/bundle.js.map +0 -6
  59. package/dist/extractor/bundleConfig.js +0 -352
  60. package/dist/extractor/bundleConfig.js.map +0 -6
  61. package/dist/extractor/concatClassName.js +0 -69
  62. package/dist/extractor/concatClassName.js.map +0 -6
  63. package/dist/extractor/createEvaluator.js +0 -66
  64. package/dist/extractor/createEvaluator.js.map +0 -6
  65. package/dist/extractor/createExtractor.js +0 -1215
  66. package/dist/extractor/createExtractor.js.map +0 -6
  67. package/dist/extractor/createLogger.js +0 -32
  68. package/dist/extractor/createLogger.js.map +0 -6
  69. package/dist/extractor/ensureImportingConcat.js +0 -50
  70. package/dist/extractor/ensureImportingConcat.js.map +0 -6
  71. package/dist/extractor/errors.js +0 -22
  72. package/dist/extractor/errors.js.map +0 -6
  73. package/dist/extractor/esbuildAliasPlugin.js +0 -36
  74. package/dist/extractor/esbuildAliasPlugin.js.map +0 -6
  75. package/dist/extractor/esbuildTsconfigPaths.js +0 -79
  76. package/dist/extractor/esbuildTsconfigPaths.js.map +0 -6
  77. package/dist/extractor/evaluateAstNode.js +0 -99
  78. package/dist/extractor/evaluateAstNode.js.map +0 -6
  79. package/dist/extractor/extractHelpers.js +0 -108
  80. package/dist/extractor/extractHelpers.js.map +0 -6
  81. package/dist/extractor/extractMediaStyle.js +0 -123
  82. package/dist/extractor/extractMediaStyle.js.map +0 -6
  83. package/dist/extractor/extractToClassNames.js +0 -351
  84. package/dist/extractor/extractToClassNames.js.map +0 -6
  85. package/dist/extractor/extractToNative.js +0 -286
  86. package/dist/extractor/extractToNative.js.map +0 -6
  87. package/dist/extractor/findTopmostFunction.js +0 -32
  88. package/dist/extractor/findTopmostFunction.js.map +0 -6
  89. package/dist/extractor/generatedUid.js +0 -42
  90. package/dist/extractor/generatedUid.js.map +0 -6
  91. package/dist/extractor/getPrefixLogs.js +0 -24
  92. package/dist/extractor/getPrefixLogs.js.map +0 -6
  93. package/dist/extractor/getPropValueFromAttributes.js +0 -65
  94. package/dist/extractor/getPropValueFromAttributes.js.map +0 -6
  95. package/dist/extractor/getSourceModule.js +0 -62
  96. package/dist/extractor/getSourceModule.js.map +0 -6
  97. package/dist/extractor/getStaticBindingsForScope.js +0 -145
  98. package/dist/extractor/getStaticBindingsForScope.js.map +0 -6
  99. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js +0 -32
  100. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +0 -6
  101. package/dist/extractor/hoistClassNames.js +0 -63
  102. package/dist/extractor/hoistClassNames.js.map +0 -6
  103. package/dist/extractor/literalToAst.js +0 -90
  104. package/dist/extractor/literalToAst.js.map +0 -6
  105. package/dist/extractor/loadFile.js +0 -14
  106. package/dist/extractor/loadFile.js.map +0 -6
  107. package/dist/extractor/loadTamagui.js +0 -306
  108. package/dist/extractor/loadTamagui.js.map +0 -6
  109. package/dist/extractor/logLines.js +0 -30
  110. package/dist/extractor/logLines.js.map +0 -6
  111. package/dist/extractor/normalizeTernaries.js +0 -61
  112. package/dist/extractor/normalizeTernaries.js.map +0 -6
  113. package/dist/extractor/propsToFontFamilyCache.js +0 -33
  114. package/dist/extractor/propsToFontFamilyCache.js.map +0 -6
  115. package/dist/extractor/regenerateConfig.js +0 -123
  116. package/dist/extractor/regenerateConfig.js.map +0 -6
  117. package/dist/extractor/removeUnusedHooks.js +0 -72
  118. package/dist/extractor/removeUnusedHooks.js.map +0 -6
  119. package/dist/extractor/timer.js +0 -38
  120. package/dist/extractor/timer.js.map +0 -6
  121. package/dist/extractor/validHTMLAttributes.js +0 -72
  122. package/dist/extractor/validHTMLAttributes.js.map +0 -6
  123. package/dist/extractor/watchTamaguiConfig.js +0 -57
  124. package/dist/extractor/watchTamaguiConfig.js.map +0 -6
  125. package/dist/getPragmaOptions.js +0 -46
  126. package/dist/getPragmaOptions.js.map +0 -6
  127. package/dist/helpers/memoize.js +0 -33
  128. package/dist/helpers/memoize.js.map +0 -6
  129. package/dist/helpers/requireTamaguiCore.js +0 -30
  130. package/dist/helpers/requireTamaguiCore.js.map +0 -6
  131. package/dist/registerRequire.js +0 -100
  132. package/dist/registerRequire.js.map +0 -6
  133. package/dist/server.js +0 -58
  134. package/dist/server.js.map +0 -6
  135. package/dist/setup.js +0 -1
  136. package/dist/setup.js.map +0 -6
  137. package/dist/types.js +0 -14
  138. package/dist/types.js.map +0 -6
  139. package/dist/worker.js +0 -72
  140. package/dist/worker.js.map +0 -6
@@ -1,123 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
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);
23
- var extractMediaStyle_exports = {};
24
- __export(extractMediaStyle_exports, {
25
- extractMediaStyle: () => extractMediaStyle,
26
- isValidMediaCall: () => isValidMediaCall
27
- });
28
- module.exports = __toCommonJS(extractMediaStyle_exports);
29
- var t = __toESM(require("@babel/types")), core = __toESM(require("@tamagui/core")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_extractHelpers = require("./extractHelpers");
30
- function extractMediaStyle(props, ternary, jsxPath, tamaguiConfig, sourcePath, importance = 0, shouldPrintDebug = !1) {
31
- const { getCSSStylesAtomic } = (0, import_requireTamaguiCore.requireTamaguiCore)("web"), mt = getMediaQueryTernary(props, ternary, jsxPath, sourcePath);
32
- if (!mt)
33
- return null;
34
- const { key } = mt;
35
- if (!tamaguiConfig.media[key])
36
- return console.error(`Media query "${key}" not found: ${Object.keys(tamaguiConfig.media)}`), null;
37
- const getStyleObj = (styleObj, negate = !1) => styleObj ? { styleObj, negate } : null, styleOpts = [
38
- getStyleObj(ternary.consequent, !1),
39
- getStyleObj(ternary.alternate, !0)
40
- ].filter(import_extractHelpers.isPresent);
41
- if (shouldPrintDebug && !styleOpts.length)
42
- return console.info(" media query, no styles?"), null;
43
- const mediaKeyPrecendence = Object.keys(tamaguiConfig.media).reduce((acc, cur, i) => (acc[cur] = new Array(importance + 1).fill(":root").join(""), acc), {});
44
- let mediaStyles = [];
45
- for (const { styleObj, negate } of styleOpts) {
46
- const singleMediaStyles = getCSSStylesAtomic(styleObj).map((style) => {
47
- const mediaStyle = core.createMediaStyle(
48
- style,
49
- key,
50
- tamaguiConfig.media,
51
- !0,
52
- negate
53
- ), className = `.${mediaStyle[core.StyleObjectIdentifier]}`;
54
- return {
55
- ...mediaStyle,
56
- className
57
- };
58
- });
59
- shouldPrintDebug === "verbose" && console.info(
60
- " media styles:",
61
- importance,
62
- styleObj,
63
- singleMediaStyles.map((x) => x[core.StyleObjectIdentifier]).join(", ")
64
- ), mediaStyles = [...mediaStyles, ...singleMediaStyles];
65
- }
66
- return ternary.remove(), { mediaStyles, ternaryWithoutMedia: mt.ternaryWithoutMedia };
67
- }
68
- function getMediaQueryTernary(props, ternary, jsxPath, sourcePath) {
69
- if (t.isLogicalExpression(ternary.test) && ternary.test.operator === "&&") {
70
- const mediaLeft = getMediaInfoFromExpression(
71
- props,
72
- ternary.test.left,
73
- jsxPath,
74
- sourcePath,
75
- ternary.inlineMediaQuery
76
- );
77
- if (mediaLeft)
78
- return {
79
- ...mediaLeft,
80
- ternaryWithoutMedia: {
81
- ...ternary,
82
- test: ternary.test.right
83
- }
84
- };
85
- }
86
- const result = getMediaInfoFromExpression(
87
- props,
88
- ternary.test,
89
- jsxPath,
90
- sourcePath,
91
- ternary.inlineMediaQuery
92
- );
93
- return result ? {
94
- ...result,
95
- ternaryWithoutMedia: null
96
- } : null;
97
- }
98
- function getMediaInfoFromExpression(props, test, jsxPath, sourcePath, inlineMediaQuery) {
99
- if (inlineMediaQuery)
100
- return {
101
- key: inlineMediaQuery,
102
- bindingName: inlineMediaQuery
103
- };
104
- if (t.isMemberExpression(test) && t.isIdentifier(test.object) && t.isIdentifier(test.property)) {
105
- const name = test.object.name, key = test.property.name, binding = jsxPath.scope.getAllBindings()[name];
106
- if (!binding) return !1;
107
- const bindingNode = binding.path?.node;
108
- return !t.isVariableDeclarator(bindingNode) || !bindingNode.init || !isValidMediaCall(props, jsxPath, bindingNode.init, sourcePath) ? !1 : { key, bindingName: name };
109
- }
110
- if (t.isIdentifier(test)) {
111
- const key = test.name, node = jsxPath.scope.getBinding(test.name)?.path?.node;
112
- return !t.isVariableDeclarator(node) || !node.init || !isValidMediaCall(props, jsxPath, node.init, sourcePath) ? !1 : { key, bindingName: key };
113
- }
114
- return null;
115
- }
116
- function isValidMediaCall(props, jsxPath, init, sourcePath) {
117
- if (!init || !t.isCallExpression(init) || !t.isIdentifier(init.callee) || init.callee.name !== "useMedia") return !1;
118
- const mediaBinding = jsxPath.scope.getAllBindings().useMedia;
119
- if (!mediaBinding) return !1;
120
- const useMediaImport = mediaBinding.path.parent;
121
- return !(!t.isImportDeclaration(useMediaImport) || !(0, import_extractHelpers.isValidImport)(props, sourcePath));
122
- }
123
- //# sourceMappingURL=extractMediaStyle.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractor/extractMediaStyle.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,QAAmB,kCAEnB,OAAsB,mCAGtB,4BAAmC,0CAEnC,wBAAyC;AAElC,SAAS,kBACd,OACA,SACA,SACA,eACA,YACA,aAAa,GACb,mBAAwC,IACxC;AACA,QAAM,EAAE,mBAAmB,QAAI,8CAAmB,KAAK,GACjD,KAAK,qBAAqB,OAAO,SAAS,SAAS,UAAU;AACnE,MAAI,CAAC;AACH,WAAO;AAET,QAAM,EAAE,IAAI,IAAI;AAEhB,MAAI,CADO,cAAc,MAAM,GAAG;AAEhC,mBAAQ,MAAM,gBAAgB,GAAG,gBAAgB,OAAO,KAAK,cAAc,KAAK,CAAC,EAAE,GAC5E;AAET,QAAM,cAAc,CAAC,UAA4B,SAAS,OACjD,WAAW,EAAE,UAAU,OAAO,IAAI,MAErC,YAAY;AAAA,IAChB,YAAY,QAAQ,YAAY,EAAK;AAAA,IACrC,YAAY,QAAQ,WAAW,EAAI;AAAA,EACrC,EAAE,OAAO,+BAAS;AAClB,MAAI,oBAAoB,CAAC,UAAU;AACjC,mBAAQ,KAAK,2BAA2B,GACjC;AAIT,QAAM,sBADY,OAAO,KAAK,cAAc,KAAK,EACX,OAAO,CAAC,KAAK,KAAK,OACtD,IAAI,GAAG,IAAI,IAAI,MAAM,aAAa,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,GACnD,MACN,CAAC,CAAC;AACL,MAAI,cAA6B,CAAC;AAKlC,aAAW,EAAE,UAAU,OAAO,KAAK,WAAW;AAG5C,UAAM,oBAFS,mBAAmB,QAAe,EAEhB,IAAI,CAAC,UAAU;AAC9C,YAAM,aAAa,KAAK;AAAA,QACtB;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,GACM,YAAY,IAAI,WAAW,KAAK,qBAAqB,CAAC;AAC5D,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAC;AAED,IAAI,qBAAqB,aACvB,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAkB,IAAI,CAAC,MAAM,EAAE,KAAK,qBAAqB,CAAC,EAAE,KAAK,IAAI;AAAA,IACvE,GAGF,cAAc,CAAC,GAAG,aAAa,GAAG,iBAAiB;AAAA,EACrD;AAEA,iBAAQ,OAAO,GACR,EAAE,aAAa,qBAAqB,GAAG,oBAAoB;AACpE;AAEA,SAAS,qBACP,OACA,SACA,SACA,YAKA;AAGA,MAAI,EAAE,oBAAoB,QAAQ,IAAI,KAAK,QAAQ,KAAK,aAAa,MAAM;AAEzE,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,QAAQ,KAAK;AAAA,MACb;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AACA,QAAI;AACF,aAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB;AAAA,UACnB,GAAG;AAAA,UACH,MAAM,QAAQ,KAAK;AAAA,QACrB;AAAA,MACF;AAAA,EAEJ;AAGA,QAAM,SAAS;AAAA,IACb;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AACA,SAAI,SACK;AAAA,IACL,GAAG;AAAA,IACH,qBAAqB;AAAA,EACvB,IAEK;AACT;AAEA,SAAS,2BACP,OACA,MACA,SACA,YACA,kBACA;AACA,MAAI;AACF,WAAO;AAAA,MACL,KAAK;AAAA,MACL,aAAa;AAAA,IACf;AAEF,MACE,EAAE,mBAAmB,IAAI,KACzB,EAAE,aAAa,KAAK,MAAM,KAC1B,EAAE,aAAa,KAAK,QAAQ,GAC5B;AACA,UAAM,OAAO,KAAK,OAAO,MACnB,MAAM,KAAK,SAAS,MAEpB,UADW,QAAQ,MAAM,eAAe,EACrB,IAAI;AAC7B,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,cAAc,QAAQ,MAAM;AAElC,WADI,CAAC,EAAE,qBAAqB,WAAW,KAAK,CAAC,YAAY,QACrD,CAAC,iBAAiB,OAAO,SAAS,YAAY,MAAM,UAAU,IAAU,KACrE,EAAE,KAAK,aAAa,KAAK;AAAA,EAClC;AACA,MAAI,EAAE,aAAa,IAAI,GAAG;AACxB,UAAM,MAAM,KAAK,MACX,OAAO,QAAQ,MAAM,WAAW,KAAK,IAAI,GAAG,MAAM;AAExD,WADI,CAAC,EAAE,qBAAqB,IAAI,KAC5B,CAAC,KAAK,QAAQ,CAAC,iBAAiB,OAAO,SAAS,KAAK,MAAM,UAAU,IAChE,KACF,EAAE,KAAK,aAAa,IAAI;AAAA,EACjC;AACA,SAAO;AACT;AAEO,SAAS,iBACd,OACA,SACA,MACA,YACA;AAIA,MAHI,CAAC,QAAQ,CAAC,EAAE,iBAAiB,IAAI,KACjC,CAAC,EAAE,aAAa,KAAK,MAAM,KAE3B,KAAK,OAAO,SAAS,WAAY,QAAO;AAE5C,QAAM,eADW,QAAQ,MAAM,eAAe,EAChB;AAC9B,MAAI,CAAC,aAAc,QAAO;AAC1B,QAAM,iBAAiB,aAAa,KAAK;AAEzC,SADI,GAAC,EAAE,oBAAoB,cAAc,KACrC,KAAC,qCAAc,OAAO,UAAU;AAItC;",
5
- "names": []
6
- }
@@ -1,351 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
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);
23
- var extractToClassNames_exports = {};
24
- __export(extractToClassNames_exports, {
25
- extractToClassNames: () => extractToClassNames
26
- });
27
- module.exports = __toCommonJS(extractToClassNames_exports);
28
- var import_generator = __toESM(require("@babel/generator")), t = __toESM(require("@babel/types")), import_web = require("@tamagui/web"), path = __toESM(require("node:path")), util = __toESM(require("node:util")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_babelParse = require("./babelParse"), import_createLogger = require("./createLogger"), import_extractMediaStyle = require("./extractMediaStyle"), import_normalizeTernaries = require("./normalizeTernaries"), import_propsToFontFamilyCache = require("./propsToFontFamilyCache"), import_timer = require("./timer"), import_errors = require("./errors"), import_concatClassName = require("./concatClassName");
29
- const remove = () => {
30
- }, spaceString = t.stringLiteral(" ");
31
- async function extractToClassNames({
32
- extractor,
33
- source,
34
- sourcePath = "",
35
- options,
36
- shouldPrintDebug
37
- }) {
38
- const tm = (0, import_timer.timer)(), { getCSSStylesAtomic, createMediaStyle } = (0, import_requireTamaguiCore.requireTamaguiCore)("web");
39
- if (sourcePath.includes("node_modules"))
40
- return null;
41
- if (shouldPrintDebug && console.warn(`--- ${sourcePath} ---
42
-
43
- `), typeof source != "string")
44
- throw new Error("`source` must be a string of javascript");
45
- if (!path.isAbsolute(sourcePath))
46
- throw new Error(
47
- "`sourcePath` must be an absolute path to a .js file, got: " + sourcePath
48
- );
49
- /.[tj]sx?$/i.test(sourcePath || "") || console.warn(`${sourcePath.slice(0, 100)} - bad filename.`), !options.disableExtraction && !options._disableLoadTamagui && await extractor.loadTamagui(options);
50
- const printLog = (0, import_createLogger.createLogger)(sourcePath, options);
51
- let ast;
52
- try {
53
- ast = (0, import_babelParse.babelParse)(source, sourcePath);
54
- } catch (err) {
55
- throw console.error("babel parse error:", sourcePath.slice(0, 100)), err;
56
- }
57
- tm.mark("babel-parse", shouldPrintDebug === "verbose");
58
- const cssMap = /* @__PURE__ */ new Map(), tamaguiConfig = extractor.getTamagui(), res = await extractor.parse(ast, {
59
- shouldPrintDebug,
60
- ...options,
61
- platform: "web",
62
- sourcePath,
63
- extractStyledDefinitions: !0,
64
- onStyledDefinitionRule(identifier, rules) {
65
- const css = rules.join(";");
66
- shouldPrintDebug && console.info(`adding styled() rule: .${identifier} ${css}`), cssMap.set(`.${identifier}`, { css, commentTexts: [] });
67
- },
68
- getFlattenedNode: ({ tag }) => tag,
69
- onExtractTag: ({
70
- parserProps,
71
- attrs,
72
- node,
73
- attemptEval,
74
- jsxPath,
75
- originalNodeName,
76
- filePath,
77
- lineNumbers,
78
- staticConfig
79
- }) => {
80
- if (staticConfig.acceptsClassName === !1)
81
- throw new import_errors.BailOptimizationError();
82
- const finalAttrs = [];
83
- let mergeForwardBaseStyle = null, attrClassName = null, baseFontFamily = "", mediaStylesSeen = 1;
84
- const comment = util.format(
85
- "/* %s:%s (%s) */",
86
- filePath,
87
- lineNumbers,
88
- originalNodeName
89
- );
90
- function addStyle(style) {
91
- const identifier = style[import_web.StyleObjectIdentifier], rules = style[import_web.StyleObjectRules], selector = `.${identifier}`;
92
- return cssMap.has(selector) ? cssMap.get(selector).commentTexts.push(comment) : rules.length && cssMap.set(selector, {
93
- css: rules.join(`
94
- `),
95
- commentTexts: [comment]
96
- }), identifier;
97
- }
98
- function addStyles(style) {
99
- const cssStyles = getCSSStylesAtomic(style), classNames = [];
100
- for (const style2 of cssStyles) {
101
- const mediaName = style2[0].slice(1);
102
- if (mediaName.startsWith("group-"))
103
- throw new import_errors.BailOptimizationError();
104
- const mediaTypeMatch = mediaName.match(/^(theme|platform)-/);
105
- if (mediaTypeMatch) {
106
- const mediaType = mediaTypeMatch[1], mediaStyle = createMediaStyle(
107
- style2,
108
- mediaName,
109
- extractor.getTamagui().media,
110
- mediaType,
111
- !1,
112
- mediaStylesSeen
113
- ), identifier2 = addStyle(mediaStyle);
114
- classNames.push(identifier2);
115
- continue;
116
- }
117
- if (mediaName in tamaguiConfig.media) {
118
- const mediaStyle = createMediaStyle(
119
- style2,
120
- mediaName,
121
- extractor.getTamagui().media,
122
- !0,
123
- !1,
124
- mediaStylesSeen
125
- ), identifier2 = addStyle(mediaStyle);
126
- classNames.push(identifier2);
127
- continue;
128
- }
129
- const identifier = addStyle(style2);
130
- classNames.push(identifier);
131
- }
132
- return classNames;
133
- }
134
- const onlyTernaries = attrs.flatMap((attr) => {
135
- if (attr.type === "attr") {
136
- const value = attr.value;
137
- if (t.isJSXSpreadAttribute(value))
138
- return console.error("Should never happen"), [];
139
- if (value.name.name === "className") {
140
- let inner = value.value;
141
- t.isJSXExpressionContainer(inner) && (inner = inner.expression);
142
- try {
143
- const evaluatedValue = inner ? attemptEval(inner) : null;
144
- typeof evaluatedValue == "string" && (attrClassName = t.stringLiteral(evaluatedValue));
145
- } catch {
146
- inner && (attrClassName ||= inner);
147
- }
148
- return [];
149
- }
150
- return finalAttrs.push(value), [];
151
- }
152
- if (attr.type === "style")
153
- return mergeForwardBaseStyle = (0, import_web.mergeProps)(mergeForwardBaseStyle || {}, attr.value), baseFontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(attr.value) || "", [];
154
- let ternary = attr.value;
155
- if (ternary.inlineMediaQuery) {
156
- const mediaExtraction = (0, import_extractMediaStyle.extractMediaStyle)(
157
- parserProps,
158
- attr.value,
159
- jsxPath,
160
- extractor.getTamagui(),
161
- sourcePath || "",
162
- mediaStylesSeen++,
163
- shouldPrintDebug
164
- );
165
- if (mediaExtraction)
166
- if (mediaExtraction.mediaStyles && (mergeForwardBaseStyle = (0, import_web.mergeProps)(mergeForwardBaseStyle || {}, {
167
- [`$${ternary.inlineMediaQuery}`]: attr.value.consequent
168
- })), mediaExtraction.ternaryWithoutMedia)
169
- ternary = mediaExtraction.ternaryWithoutMedia;
170
- else
171
- return [];
172
- }
173
- let mergedAlternate, mergedConsequent;
174
- return ternary.alternate && Object.keys(ternary.alternate).length && (mergedAlternate = (0, import_web.mergeProps)(
175
- mergeForwardBaseStyle || {},
176
- ternary.alternate || {}
177
- ), (0, import_propsToFontFamilyCache.forwardFontFamilyName)(ternary.alternate, mergedAlternate, baseFontFamily)), ternary.consequent && Object.keys(ternary.consequent).length && (mergedConsequent = (0, import_web.mergeProps)(
178
- mergeForwardBaseStyle || {},
179
- ternary.consequent || {}
180
- ), (0, import_propsToFontFamilyCache.forwardFontFamilyName)(ternary.consequent, mergedConsequent, baseFontFamily)), {
181
- ...ternary,
182
- alternate: mergedAlternate,
183
- consequent: mergedConsequent
184
- };
185
- }), hasTernaries = !!onlyTernaries.length, baseClassNames = mergeForwardBaseStyle ? addStyles(mergeForwardBaseStyle) : null;
186
- let baseClassNameStr = baseClassNames ? baseClassNames.join(" ") : "";
187
- baseFontFamily && (baseClassNameStr = `font_${baseFontFamily}${baseClassNameStr ? ` ${baseClassNameStr}` : ""}`);
188
- let base = staticConfig.componentName ? t.stringLiteral(
189
- `is_${staticConfig.componentName}${baseClassNameStr ? ` ${baseClassNameStr}` : ""}`
190
- ) : t.stringLiteral(baseClassNameStr || "");
191
- attrClassName = attrClassName;
192
- const baseClassNameExpression = attrClassName ? t.isStringLiteral(attrClassName) ? t.stringLiteral(
193
- base.value ? `${base.value} ${attrClassName.value}` : attrClassName.value
194
- ) : t.binaryExpression(
195
- "+",
196
- t.binaryExpression("+", attrClassName, spaceString),
197
- base
198
- ) : base, expandedTernaries = [];
199
- if (onlyTernaries.length) {
200
- const normalizedTernaries = (0, import_normalizeTernaries.normalizeTernaries)(onlyTernaries);
201
- for (const ternary of normalizedTernaries) {
202
- if (!expandedTernaries.length) {
203
- expandTernary(ternary);
204
- continue;
205
- }
206
- const prevTernaries = [...expandedTernaries];
207
- for (const prev of prevTernaries)
208
- expandTernary(ternary, prev);
209
- }
210
- }
211
- function expandTernary(ternary, prev) {
212
- if (ternary.consequent && Object.keys(ternary.consequent).length) {
213
- const fontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(ternary.consequent);
214
- expandedTernaries.push({
215
- fontFamily,
216
- // prevTest && test: merge consequent
217
- test: prev ? t.logicalExpression("&&", prev.test, ternary.test) : ternary.test,
218
- consequent: prev ? (0, import_web.mergeProps)(prev.consequent, ternary.consequent) : ternary.consequent,
219
- remove,
220
- alternate: null
221
- }), prev && expandedTernaries.push({
222
- fontFamily,
223
- // !prevTest && test: just consequent
224
- test: t.logicalExpression(
225
- "&&",
226
- t.unaryExpression("!", prev.test),
227
- ternary.test
228
- ),
229
- consequent: ternary.consequent,
230
- alternate: null,
231
- remove
232
- });
233
- }
234
- if (ternary.alternate && Object.keys(ternary.alternate).length) {
235
- const fontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(ternary.alternate), negated = t.unaryExpression("!", ternary.test);
236
- expandedTernaries.push({
237
- fontFamily,
238
- // prevTest && !test: merge alternate
239
- test: prev ? t.logicalExpression("&&", prev.test, negated) : negated,
240
- consequent: prev ? (0, import_web.mergeProps)(prev.alternate, ternary.alternate) : ternary.alternate,
241
- remove,
242
- alternate: null
243
- }), prev && expandedTernaries.push({
244
- fontFamily,
245
- test: t.logicalExpression(
246
- "&&",
247
- t.unaryExpression("!", prev.test),
248
- ternary.test
249
- ),
250
- consequent: ternary.alternate,
251
- remove,
252
- alternate: null
253
- });
254
- }
255
- }
256
- let ternaryClassNameExpr = null;
257
- if (hasTernaries)
258
- for (const ternary of expandedTernaries) {
259
- if (!ternary.consequent) continue;
260
- const classNames = addStyles(ternary.consequent);
261
- ternary.fontFamily && classNames.unshift(`font_${ternary.fontFamily}`);
262
- const baseString = t.isStringLiteral(baseClassNameExpression) ? baseClassNameExpression.value : "", fullClassNameWithDups = (baseString ? `${baseString} ` : "") + classNames.join(" "), fullClassName = (0, import_concatClassName.concatClassName)(fullClassNameWithDups), classNameLiteral = t.stringLiteral(fullClassName);
263
- ternaryClassNameExpr ? ternaryClassNameExpr = t.conditionalExpression(
264
- ternary.test,
265
- classNameLiteral,
266
- ternaryClassNameExpr
267
- ) : ternaryClassNameExpr = t.conditionalExpression(
268
- ternary.test,
269
- classNameLiteral,
270
- baseClassNameExpression
271
- );
272
- }
273
- let finalExpression = ternaryClassNameExpr || baseClassNameExpression || null;
274
- if (shouldPrintDebug && (console.info("attrs", JSON.stringify(attrs, null, 2)), console.info("expandedTernaries", JSON.stringify(expandedTernaries, null, 2)), console.info("finalExpression", JSON.stringify(finalExpression, null, 2)), console.info({ hasTernaries, baseClassNameExpression })), finalExpression) {
275
- finalExpression = hoistClassNames(jsxPath, finalExpression);
276
- const classNameProp = t.jsxAttribute(
277
- t.jsxIdentifier("className"),
278
- t.jsxExpressionContainer(finalExpression)
279
- );
280
- finalAttrs.unshift(classNameProp);
281
- }
282
- node.attributes = finalAttrs;
283
- }
284
- });
285
- if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled)
286
- return shouldPrintDebug && console.info("no res or none modified", res), null;
287
- const styles = Array.from(cssMap.values()).map((x) => x.css).join(`
288
- `).trim(), result = (0, import_generator.default)(
289
- ast,
290
- {
291
- concise: !1,
292
- filename: sourcePath,
293
- // this makes the debug output terrible, and i think sourcemap works already
294
- retainLines: !1,
295
- sourceFileName: sourcePath,
296
- sourceMaps: !0
297
- },
298
- source
299
- );
300
- return shouldPrintDebug && (console.info(
301
- `
302
- -------- output code -------
303
-
304
- `,
305
- result.code.split(`
306
- `).filter((x) => !x.startsWith("//")).join(`
307
- `)
308
- ), console.info(`
309
- -------- output style --------
310
-
311
- `, styles)), printLog(res), {
312
- ast,
313
- styles,
314
- js: result.code,
315
- map: result.map,
316
- stats: {
317
- styled: res.styled,
318
- flattened: res.flattened,
319
- optimized: res.optimized,
320
- found: res.found
321
- }
322
- };
323
- }
324
- function hoistClassNames(path2, expr) {
325
- if (t.isStringLiteral(expr))
326
- return hoistClassName(path2, expr.value);
327
- if (t.isLogicalExpression(expr)) {
328
- const left = t.isStringLiteral(expr.left) ? hoistClassName(path2, expr.left.value) : expr.left, right = t.isStringLiteral(expr.right) ? hoistClassName(path2, expr.right.value) : hoistClassNames(path2, expr.right);
329
- return t.logicalExpression(expr.operator, left, right);
330
- }
331
- if (t.isConditionalExpression(expr)) {
332
- const cons = t.isStringLiteral(expr.consequent) ? hoistClassName(path2, expr.consequent.value) : hoistClassNames(path2, expr.consequent), alt = t.isStringLiteral(expr.alternate) ? hoistClassName(path2, expr.alternate.value) : hoistClassNames(path2, expr.alternate);
333
- return t.conditionalExpression(expr.test, cons, alt);
334
- }
335
- return expr;
336
- }
337
- function hoistClassName(path2, str) {
338
- const uid = path2.scope.generateUidIdentifier("cn"), parent = path2.findParent((path3) => path3.isProgram());
339
- if (!parent) throw new Error("no program?");
340
- const variable = t.variableDeclaration("const", [
341
- t.variableDeclarator(uid, t.stringLiteral(cleanupClassName(str)))
342
- ]);
343
- return parent.unshiftContainer("body", variable), uid;
344
- }
345
- function cleanupClassName(inStr) {
346
- const out = /* @__PURE__ */ new Set();
347
- for (const part of inStr.split(" "))
348
- part !== " " && part !== "font_" && out.add(part);
349
- return [...out].join(" ") + " ";
350
- }
351
- //# sourceMappingURL=extractToClassNames.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractor/extractToClassNames.ts"],
4
- "mappings": "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",
5
- "names": ["style", "identifier", "generate", "path"]
6
- }