@tamagui/static 1.14.0 → 1.14.2

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 (195) hide show
  1. package/dist/cjs/constants.js +52 -1
  2. package/dist/cjs/constants.js.map +2 -2
  3. package/dist/cjs/extractor/accessSafe.js +52 -1
  4. package/dist/cjs/extractor/accessSafe.js.map +2 -2
  5. package/dist/cjs/extractor/babelParse.js +66 -1
  6. package/dist/cjs/extractor/babelParse.js.map +2 -2
  7. package/dist/cjs/extractor/buildClassName.js +99 -1
  8. package/dist/cjs/extractor/buildClassName.js.map +2 -2
  9. package/dist/cjs/extractor/bundle.js +126 -1
  10. package/dist/cjs/extractor/bundle.js.map +2 -2
  11. package/dist/cjs/extractor/createEvaluator.js +86 -1
  12. package/dist/cjs/extractor/createEvaluator.js.map +2 -2
  13. package/dist/cjs/extractor/createExtractor.js +1630 -15
  14. package/dist/cjs/extractor/createExtractor.js.map +2 -2
  15. package/dist/cjs/extractor/ensureImportingConcat.js +64 -1
  16. package/dist/cjs/extractor/ensureImportingConcat.js.map +2 -2
  17. package/dist/cjs/extractor/evaluateAstNode.js +130 -1
  18. package/dist/cjs/extractor/evaluateAstNode.js.map +2 -2
  19. package/dist/cjs/extractor/extractHelpers.js +207 -1
  20. package/dist/cjs/extractor/extractHelpers.js.map +2 -2
  21. package/dist/cjs/extractor/extractMediaStyle.js +193 -1
  22. package/dist/cjs/extractor/extractMediaStyle.js.map +2 -2
  23. package/dist/cjs/extractor/extractToClassNames.js +413 -13
  24. package/dist/cjs/extractor/extractToClassNames.js.map +2 -2
  25. package/dist/cjs/extractor/findTopmostFunction.js +43 -1
  26. package/dist/cjs/extractor/findTopmostFunction.js.map +2 -2
  27. package/dist/cjs/extractor/generatedUid.js +59 -1
  28. package/dist/cjs/extractor/generatedUid.js.map +2 -2
  29. package/dist/cjs/extractor/getPrefixLogs.js +31 -1
  30. package/dist/cjs/extractor/getPrefixLogs.js.map +2 -2
  31. package/dist/cjs/extractor/getPropValueFromAttributes.js +89 -1
  32. package/dist/cjs/extractor/getPropValueFromAttributes.js.map +2 -2
  33. package/dist/cjs/extractor/getSourceModule.js +103 -1
  34. package/dist/cjs/extractor/getSourceModule.js.map +2 -2
  35. package/dist/cjs/extractor/getStaticBindingsForScope.js +225 -1
  36. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +2 -2
  37. package/dist/cjs/extractor/hoistClassNames.js +74 -1
  38. package/dist/cjs/extractor/hoistClassNames.js.map +2 -2
  39. package/dist/cjs/extractor/literalToAst.js +115 -1
  40. package/dist/cjs/extractor/literalToAst.js.map +2 -2
  41. package/dist/cjs/extractor/loadFile.js +20 -2
  42. package/dist/cjs/extractor/loadFile.js.map +2 -2
  43. package/dist/cjs/extractor/loadTamagui.js +432 -15
  44. package/dist/cjs/extractor/loadTamagui.js.map +2 -2
  45. package/dist/cjs/extractor/logLines.js +43 -3
  46. package/dist/cjs/extractor/logLines.js.map +2 -2
  47. package/dist/cjs/extractor/normalizeTernaries.js +85 -1
  48. package/dist/cjs/extractor/normalizeTernaries.js.map +2 -2
  49. package/dist/cjs/extractor/removeUnusedHooks.js +109 -1
  50. package/dist/cjs/extractor/removeUnusedHooks.js.map +2 -2
  51. package/dist/cjs/extractor/timer.js +52 -1
  52. package/dist/cjs/extractor/timer.js.map +2 -2
  53. package/dist/cjs/extractor/validHTMLAttributes.js +126 -1
  54. package/dist/cjs/extractor/validHTMLAttributes.js.map +2 -2
  55. package/dist/cjs/getPragmaOptions.js +67 -2
  56. package/dist/cjs/getPragmaOptions.js.map +2 -2
  57. package/dist/cjs/helpers/memoize.js +45 -1
  58. package/dist/cjs/helpers/memoize.js.map +2 -2
  59. package/dist/cjs/index.js +42 -1
  60. package/dist/cjs/index.js.map +2 -2
  61. package/dist/cjs/require.js +81 -5
  62. package/dist/cjs/require.js.map +2 -2
  63. package/dist/cjs/types.js +16 -1
  64. package/dist/cjs/types.js.map +2 -2
  65. package/dist/cjs/webpackPlugin.js +34 -1
  66. package/dist/cjs/webpackPlugin.js.map +2 -2
  67. package/dist/esm/constants.js +14 -1
  68. package/dist/esm/constants.js.map +2 -2
  69. package/dist/esm/constants.mjs +14 -1
  70. package/dist/esm/constants.mjs.map +2 -2
  71. package/dist/esm/extractor/accessSafe.js +18 -1
  72. package/dist/esm/extractor/accessSafe.js.map +2 -2
  73. package/dist/esm/extractor/accessSafe.mjs +18 -1
  74. package/dist/esm/extractor/accessSafe.mjs.map +2 -2
  75. package/dist/esm/extractor/babelParse.js +31 -1
  76. package/dist/esm/extractor/babelParse.js.map +2 -2
  77. package/dist/esm/extractor/babelParse.mjs +31 -1
  78. package/dist/esm/extractor/babelParse.mjs.map +2 -2
  79. package/dist/esm/extractor/buildClassName.js +64 -1
  80. package/dist/esm/extractor/buildClassName.js.map +2 -2
  81. package/dist/esm/extractor/buildClassName.mjs +64 -1
  82. package/dist/esm/extractor/buildClassName.mjs.map +2 -2
  83. package/dist/esm/extractor/bundle.js +91 -1
  84. package/dist/esm/extractor/bundle.js.map +2 -2
  85. package/dist/esm/extractor/bundle.mjs +91 -1
  86. package/dist/esm/extractor/bundle.mjs.map +2 -2
  87. package/dist/esm/extractor/createEvaluator.js +51 -1
  88. package/dist/esm/extractor/createEvaluator.js.map +2 -2
  89. package/dist/esm/extractor/createEvaluator.mjs +51 -1
  90. package/dist/esm/extractor/createEvaluator.mjs.map +2 -2
  91. package/dist/esm/extractor/createExtractor.js +1613 -15
  92. package/dist/esm/extractor/createExtractor.js.map +2 -2
  93. package/dist/esm/extractor/createExtractor.mjs +1613 -15
  94. package/dist/esm/extractor/createExtractor.mjs.map +2 -2
  95. package/dist/esm/extractor/ensureImportingConcat.js +30 -1
  96. package/dist/esm/extractor/ensureImportingConcat.js.map +2 -2
  97. package/dist/esm/extractor/ensureImportingConcat.mjs +30 -1
  98. package/dist/esm/extractor/ensureImportingConcat.mjs.map +2 -2
  99. package/dist/esm/extractor/evaluateAstNode.js +96 -1
  100. package/dist/esm/extractor/evaluateAstNode.js.map +2 -2
  101. package/dist/esm/extractor/evaluateAstNode.mjs +96 -1
  102. package/dist/esm/extractor/evaluateAstNode.mjs.map +2 -2
  103. package/dist/esm/extractor/extractHelpers.js +161 -1
  104. package/dist/esm/extractor/extractHelpers.js.map +2 -2
  105. package/dist/esm/extractor/extractHelpers.mjs +161 -1
  106. package/dist/esm/extractor/extractHelpers.mjs.map +2 -2
  107. package/dist/esm/extractor/extractMediaStyle.js +158 -1
  108. package/dist/esm/extractor/extractMediaStyle.js.map +2 -2
  109. package/dist/esm/extractor/extractMediaStyle.mjs +158 -1
  110. package/dist/esm/extractor/extractMediaStyle.mjs.map +2 -2
  111. package/dist/esm/extractor/extractToClassNames.js +379 -13
  112. package/dist/esm/extractor/extractToClassNames.js.map +2 -2
  113. package/dist/esm/extractor/extractToClassNames.mjs +379 -13
  114. package/dist/esm/extractor/extractToClassNames.mjs.map +2 -2
  115. package/dist/esm/extractor/findTopmostFunction.js +19 -1
  116. package/dist/esm/extractor/findTopmostFunction.js.map +2 -2
  117. package/dist/esm/extractor/findTopmostFunction.mjs +19 -1
  118. package/dist/esm/extractor/findTopmostFunction.mjs.map +2 -2
  119. package/dist/esm/extractor/generatedUid.js +25 -1
  120. package/dist/esm/extractor/generatedUid.js.map +2 -2
  121. package/dist/esm/extractor/generatedUid.mjs +25 -1
  122. package/dist/esm/extractor/generatedUid.mjs.map +2 -2
  123. package/dist/esm/extractor/getPrefixLogs.js +7 -1
  124. package/dist/esm/extractor/getPrefixLogs.js.map +2 -2
  125. package/dist/esm/extractor/getPrefixLogs.mjs +7 -1
  126. package/dist/esm/extractor/getPrefixLogs.mjs.map +2 -2
  127. package/dist/esm/extractor/getPropValueFromAttributes.js +55 -1
  128. package/dist/esm/extractor/getPropValueFromAttributes.js.map +2 -2
  129. package/dist/esm/extractor/getPropValueFromAttributes.mjs +55 -1
  130. package/dist/esm/extractor/getPropValueFromAttributes.mjs.map +2 -2
  131. package/dist/esm/extractor/getSourceModule.js +69 -1
  132. package/dist/esm/extractor/getSourceModule.js.map +2 -2
  133. package/dist/esm/extractor/getSourceModule.mjs +69 -1
  134. package/dist/esm/extractor/getSourceModule.mjs.map +2 -2
  135. package/dist/esm/extractor/getStaticBindingsForScope.js +190 -1
  136. package/dist/esm/extractor/getStaticBindingsForScope.js.map +2 -2
  137. package/dist/esm/extractor/getStaticBindingsForScope.mjs +190 -1
  138. package/dist/esm/extractor/getStaticBindingsForScope.mjs.map +2 -2
  139. package/dist/esm/extractor/hoistClassNames.js +40 -1
  140. package/dist/esm/extractor/hoistClassNames.js.map +2 -2
  141. package/dist/esm/extractor/hoistClassNames.mjs +40 -1
  142. package/dist/esm/extractor/hoistClassNames.mjs.map +2 -2
  143. package/dist/esm/extractor/literalToAst.js +80 -1
  144. package/dist/esm/extractor/literalToAst.js.map +2 -2
  145. package/dist/esm/extractor/literalToAst.mjs +80 -1
  146. package/dist/esm/extractor/literalToAst.mjs.map +2 -2
  147. package/dist/esm/extractor/loadFile.js +19 -2
  148. package/dist/esm/extractor/loadFile.js.map +2 -2
  149. package/dist/esm/extractor/loadFile.mjs +19 -2
  150. package/dist/esm/extractor/loadFile.mjs.map +2 -2
  151. package/dist/esm/extractor/loadTamagui.js +396 -15
  152. package/dist/esm/extractor/loadTamagui.js.map +2 -2
  153. package/dist/esm/extractor/loadTamagui.mjs +396 -15
  154. package/dist/esm/extractor/loadTamagui.mjs.map +2 -2
  155. package/dist/esm/extractor/logLines.js +19 -3
  156. package/dist/esm/extractor/logLines.js.map +2 -2
  157. package/dist/esm/extractor/logLines.mjs +19 -3
  158. package/dist/esm/extractor/logLines.mjs.map +2 -2
  159. package/dist/esm/extractor/normalizeTernaries.js +51 -1
  160. package/dist/esm/extractor/normalizeTernaries.js.map +2 -2
  161. package/dist/esm/extractor/normalizeTernaries.mjs +51 -1
  162. package/dist/esm/extractor/normalizeTernaries.mjs.map +2 -2
  163. package/dist/esm/extractor/removeUnusedHooks.js +75 -1
  164. package/dist/esm/extractor/removeUnusedHooks.js.map +2 -2
  165. package/dist/esm/extractor/removeUnusedHooks.mjs +75 -1
  166. package/dist/esm/extractor/removeUnusedHooks.mjs.map +2 -2
  167. package/dist/esm/extractor/timer.js +28 -1
  168. package/dist/esm/extractor/timer.js.map +2 -2
  169. package/dist/esm/extractor/timer.mjs +28 -1
  170. package/dist/esm/extractor/timer.mjs.map +2 -2
  171. package/dist/esm/extractor/validHTMLAttributes.js +101 -1
  172. package/dist/esm/extractor/validHTMLAttributes.js.map +2 -2
  173. package/dist/esm/extractor/validHTMLAttributes.mjs +101 -1
  174. package/dist/esm/extractor/validHTMLAttributes.mjs.map +2 -2
  175. package/dist/esm/getPragmaOptions.js +43 -2
  176. package/dist/esm/getPragmaOptions.js.map +2 -2
  177. package/dist/esm/getPragmaOptions.mjs +43 -2
  178. package/dist/esm/getPragmaOptions.mjs.map +2 -2
  179. package/dist/esm/helpers/memoize.js +21 -1
  180. package/dist/esm/helpers/memoize.js.map +2 -2
  181. package/dist/esm/helpers/memoize.mjs +21 -1
  182. package/dist/esm/helpers/memoize.mjs.map +2 -2
  183. package/dist/esm/index.js +15 -1
  184. package/dist/esm/index.js.map +2 -2
  185. package/dist/esm/index.mjs +15 -1
  186. package/dist/esm/index.mjs.map +2 -2
  187. package/dist/esm/require.js +55 -5
  188. package/dist/esm/require.js.map +2 -2
  189. package/dist/esm/require.mjs +55 -5
  190. package/dist/esm/require.mjs.map +2 -2
  191. package/dist/esm/webpackPlugin.js +10 -1
  192. package/dist/esm/webpackPlugin.js.map +2 -2
  193. package/dist/esm/webpackPlugin.mjs +10 -1
  194. package/dist/esm/webpackPlugin.mjs.map +2 -2
  195. package/package.json +14 -14
@@ -1,2 +1,52 @@
1
- import x from"@babel/generator";import*as i from"@babel/types";import g from"invariant";function d(n){if(g(Array.isArray(n),"extractStaticTernaries expects param 1 to be an array of ternaries"),n.length===0)return[];const r={};for(let a=-1,c=n.length;++a<c;){const{test:e,consequent:y,alternate:p,remove:l,...f}=n[a];let t=e;i.isExpressionStatement(e)&&(t=e.expression);let s=!1;i.isUnaryExpression(e)&&e.operator==="!"?(t=e.argument,s=!0):i.isBinaryExpression(e)&&(e.operator==="!=="||e.operator==="!=")&&(t=i.binaryExpression(e.operator,e.left,e.right),s=!0);const o=x(t).code;r[o]||(r[o]={...f,alternate:{},consequent:{},test:t,remove:l});const m=(s?y:p)??{},u=(s?p:y)??{};Object.assign(r[o].alternate,m),Object.assign(r[o].consequent,u)}return Object.keys(r).map(a=>r[a])}export{d as normalizeTernaries};
1
+ import generate from "@babel/generator";
2
+ import * as t from "@babel/types";
3
+ import invariant from "invariant";
4
+ function normalizeTernaries(ternaries) {
5
+ invariant(
6
+ Array.isArray(ternaries),
7
+ "extractStaticTernaries expects param 1 to be an array of ternaries"
8
+ );
9
+ if (ternaries.length === 0) {
10
+ return [];
11
+ }
12
+ const ternariesByKey = {};
13
+ for (let idx = -1, len = ternaries.length; ++idx < len; ) {
14
+ const { test, consequent, alternate, remove, ...rest } = ternaries[idx];
15
+ let ternaryTest = test;
16
+ if (t.isExpressionStatement(test)) {
17
+ ternaryTest = test.expression;
18
+ }
19
+ let shouldSwap = false;
20
+ if (t.isUnaryExpression(test) && test.operator === "!") {
21
+ ternaryTest = test.argument;
22
+ shouldSwap = true;
23
+ } else if (t.isBinaryExpression(test)) {
24
+ if (test.operator === "!==" || test.operator === "!=") {
25
+ ternaryTest = t.binaryExpression(test.operator, test.left, test.right);
26
+ shouldSwap = true;
27
+ }
28
+ }
29
+ const key = generate(ternaryTest).code;
30
+ if (!ternariesByKey[key]) {
31
+ ternariesByKey[key] = {
32
+ ...rest,
33
+ alternate: {},
34
+ consequent: {},
35
+ test: ternaryTest,
36
+ remove
37
+ };
38
+ }
39
+ const altStyle = (shouldSwap ? consequent : alternate) ?? {};
40
+ const consStyle = (shouldSwap ? alternate : consequent) ?? {};
41
+ Object.assign(ternariesByKey[key].alternate, altStyle);
42
+ Object.assign(ternariesByKey[key].consequent, consStyle);
43
+ }
44
+ const ternaryExpression = Object.keys(ternariesByKey).map((key) => {
45
+ return ternariesByKey[key];
46
+ });
47
+ return ternaryExpression;
48
+ }
49
+ export {
50
+ normalizeTernaries
51
+ };
2
52
  //# sourceMappingURL=normalizeTernaries.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/normalizeTernaries.ts"],
4
4
  "sourcesContent": ["import generate from '@babel/generator'\nimport * as t from '@babel/types'\nimport invariant from 'invariant'\n\nimport { Ternary } from '../types.js'\n\nexport function normalizeTernaries(ternaries: Ternary[]) {\n invariant(\n Array.isArray(ternaries),\n 'extractStaticTernaries expects param 1 to be an array of ternaries'\n )\n\n if (ternaries.length === 0) {\n return []\n }\n\n const ternariesByKey: { [key: string]: Ternary } = {}\n\n for (let idx = -1, len = ternaries.length; ++idx < len; ) {\n const { test, consequent, alternate, remove, ...rest } = ternaries[idx]\n\n let ternaryTest = test\n\n // strip parens\n if (t.isExpressionStatement(test)) {\n ternaryTest = (test as any).expression\n }\n\n // convert `!thing` to `thing` with swapped consequent and alternate\n let shouldSwap = false\n if (t.isUnaryExpression(test) && test.operator === '!') {\n ternaryTest = test.argument\n shouldSwap = true\n } else if (t.isBinaryExpression(test)) {\n if (test.operator === '!==' || test.operator === '!=') {\n ternaryTest = t.binaryExpression(test.operator, test.left, test.right)\n shouldSwap = true\n }\n }\n\n // @ts-ignore\n const key = generate(ternaryTest as any).code\n\n if (!ternariesByKey[key]) {\n ternariesByKey[key] = {\n ...rest,\n alternate: {},\n consequent: {},\n test: ternaryTest,\n remove,\n }\n }\n const altStyle = (shouldSwap ? consequent : alternate) ?? {}\n const consStyle = (shouldSwap ? alternate : consequent) ?? {}\n Object.assign(ternariesByKey[key].alternate!, altStyle)\n Object.assign(ternariesByKey[key].consequent!, consStyle)\n }\n\n const ternaryExpression = Object.keys(ternariesByKey).map((key) => {\n return ternariesByKey[key]\n })\n\n return ternaryExpression\n}\n"],
5
- "mappings": "AAAA,OAAOA,MAAc,mBACrB,UAAYC,MAAO,eACnB,OAAOC,MAAe,YAIf,SAASC,EAAmBC,EAAsB,CAMvD,GALAF,EACE,MAAM,QAAQE,CAAS,EACvB,oEACF,EAEIA,EAAU,SAAW,EACvB,MAAO,CAAC,EAGV,MAAMC,EAA6C,CAAC,EAEpD,QAASC,EAAM,GAAIC,EAAMH,EAAU,OAAQ,EAAEE,EAAMC,GAAO,CACxD,KAAM,CAAE,KAAAC,EAAM,WAAAC,EAAY,UAAAC,EAAW,OAAAC,EAAQ,GAAGC,CAAK,EAAIR,EAAUE,CAAG,EAEtE,IAAIO,EAAcL,EAGdP,EAAE,sBAAsBO,CAAI,IAC9BK,EAAeL,EAAa,YAI9B,IAAIM,EAAa,GACbb,EAAE,kBAAkBO,CAAI,GAAKA,EAAK,WAAa,KACjDK,EAAcL,EAAK,SACnBM,EAAa,IACJb,EAAE,mBAAmBO,CAAI,IAC9BA,EAAK,WAAa,OAASA,EAAK,WAAa,QAC/CK,EAAcZ,EAAE,iBAAiBO,EAAK,SAAUA,EAAK,KAAMA,EAAK,KAAK,EACrEM,EAAa,IAKjB,MAAMC,EAAMf,EAASa,CAAkB,EAAE,KAEpCR,EAAeU,CAAG,IACrBV,EAAeU,CAAG,EAAI,CACpB,GAAGH,EACH,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,KAAMC,EACN,OAAAF,CACF,GAEF,MAAMK,GAAYF,EAAaL,EAAaC,IAAc,CAAC,EACrDO,GAAaH,EAAaJ,EAAYD,IAAe,CAAC,EAC5D,OAAO,OAAOJ,EAAeU,CAAG,EAAE,UAAYC,CAAQ,EACtD,OAAO,OAAOX,EAAeU,CAAG,EAAE,WAAaE,CAAS,CAC1D,CAMA,OAJ0B,OAAO,KAAKZ,CAAc,EAAE,IAAKU,GAClDV,EAAeU,CAAG,CAC1B,CAGH",
6
- "names": ["generate", "t", "invariant", "normalizeTernaries", "ternaries", "ternariesByKey", "idx", "len", "test", "consequent", "alternate", "remove", "rest", "ternaryTest", "shouldSwap", "key", "altStyle", "consStyle"]
5
+ "mappings": "AAAA,OAAO,cAAc;AACrB,YAAY,OAAO;AACnB,OAAO,eAAe;AAIf,SAAS,mBAAmB,WAAsB;AACvD;AAAA,IACE,MAAM,QAAQ,SAAS;AAAA,IACvB;AAAA,EACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,iBAA6C,CAAC;AAEpD,WAAS,MAAM,IAAI,MAAM,UAAU,QAAQ,EAAE,MAAM,OAAO;AACxD,UAAM,EAAE,MAAM,YAAY,WAAW,QAAQ,GAAG,KAAK,IAAI,UAAU,GAAG;AAEtE,QAAI,cAAc;AAGlB,QAAI,EAAE,sBAAsB,IAAI,GAAG;AACjC,oBAAe,KAAa;AAAA,IAC9B;AAGA,QAAI,aAAa;AACjB,QAAI,EAAE,kBAAkB,IAAI,KAAK,KAAK,aAAa,KAAK;AACtD,oBAAc,KAAK;AACnB,mBAAa;AAAA,IACf,WAAW,EAAE,mBAAmB,IAAI,GAAG;AACrC,UAAI,KAAK,aAAa,SAAS,KAAK,aAAa,MAAM;AACrD,sBAAc,EAAE,iBAAiB,KAAK,UAAU,KAAK,MAAM,KAAK,KAAK;AACrE,qBAAa;AAAA,MACf;AAAA,IACF;AAGA,UAAM,MAAM,SAAS,WAAkB,EAAE;AAEzC,QAAI,CAAC,eAAe,GAAG,GAAG;AACxB,qBAAe,GAAG,IAAI;AAAA,QACpB,GAAG;AAAA,QACH,WAAW,CAAC;AAAA,QACZ,YAAY,CAAC;AAAA,QACb,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,YAAY,aAAa,aAAa,cAAc,CAAC;AAC3D,UAAM,aAAa,aAAa,YAAY,eAAe,CAAC;AAC5D,WAAO,OAAO,eAAe,GAAG,EAAE,WAAY,QAAQ;AACtD,WAAO,OAAO,eAAe,GAAG,EAAE,YAAa,SAAS;AAAA,EAC1D;AAEA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,CAAC,QAAQ;AACjE,WAAO,eAAe,GAAG;AAAA,EAC3B,CAAC;AAED,SAAO;AACT;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,52 @@
1
- import x from"@babel/generator";import*as i from"@babel/types";import g from"invariant";function d(n){if(g(Array.isArray(n),"extractStaticTernaries expects param 1 to be an array of ternaries"),n.length===0)return[];const r={};for(let a=-1,c=n.length;++a<c;){const{test:e,consequent:y,alternate:p,remove:l,...f}=n[a];let t=e;i.isExpressionStatement(e)&&(t=e.expression);let s=!1;i.isUnaryExpression(e)&&e.operator==="!"?(t=e.argument,s=!0):i.isBinaryExpression(e)&&(e.operator==="!=="||e.operator==="!=")&&(t=i.binaryExpression(e.operator,e.left,e.right),s=!0);const o=x(t).code;r[o]||(r[o]={...f,alternate:{},consequent:{},test:t,remove:l});const m=(s?y:p)??{},u=(s?p:y)??{};Object.assign(r[o].alternate,m),Object.assign(r[o].consequent,u)}return Object.keys(r).map(a=>r[a])}export{d as normalizeTernaries};
1
+ import generate from "@babel/generator";
2
+ import * as t from "@babel/types";
3
+ import invariant from "invariant";
4
+ function normalizeTernaries(ternaries) {
5
+ invariant(
6
+ Array.isArray(ternaries),
7
+ "extractStaticTernaries expects param 1 to be an array of ternaries"
8
+ );
9
+ if (ternaries.length === 0) {
10
+ return [];
11
+ }
12
+ const ternariesByKey = {};
13
+ for (let idx = -1, len = ternaries.length; ++idx < len; ) {
14
+ const { test, consequent, alternate, remove, ...rest } = ternaries[idx];
15
+ let ternaryTest = test;
16
+ if (t.isExpressionStatement(test)) {
17
+ ternaryTest = test.expression;
18
+ }
19
+ let shouldSwap = false;
20
+ if (t.isUnaryExpression(test) && test.operator === "!") {
21
+ ternaryTest = test.argument;
22
+ shouldSwap = true;
23
+ } else if (t.isBinaryExpression(test)) {
24
+ if (test.operator === "!==" || test.operator === "!=") {
25
+ ternaryTest = t.binaryExpression(test.operator, test.left, test.right);
26
+ shouldSwap = true;
27
+ }
28
+ }
29
+ const key = generate(ternaryTest).code;
30
+ if (!ternariesByKey[key]) {
31
+ ternariesByKey[key] = {
32
+ ...rest,
33
+ alternate: {},
34
+ consequent: {},
35
+ test: ternaryTest,
36
+ remove
37
+ };
38
+ }
39
+ const altStyle = (shouldSwap ? consequent : alternate) ?? {};
40
+ const consStyle = (shouldSwap ? alternate : consequent) ?? {};
41
+ Object.assign(ternariesByKey[key].alternate, altStyle);
42
+ Object.assign(ternariesByKey[key].consequent, consStyle);
43
+ }
44
+ const ternaryExpression = Object.keys(ternariesByKey).map((key) => {
45
+ return ternariesByKey[key];
46
+ });
47
+ return ternaryExpression;
48
+ }
49
+ export {
50
+ normalizeTernaries
51
+ };
2
52
  //# sourceMappingURL=normalizeTernaries.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/normalizeTernaries.ts"],
4
4
  "sourcesContent": ["import generate from '@babel/generator'\nimport * as t from '@babel/types'\nimport invariant from 'invariant'\n\nimport { Ternary } from '../types.js'\n\nexport function normalizeTernaries(ternaries: Ternary[]) {\n invariant(\n Array.isArray(ternaries),\n 'extractStaticTernaries expects param 1 to be an array of ternaries'\n )\n\n if (ternaries.length === 0) {\n return []\n }\n\n const ternariesByKey: { [key: string]: Ternary } = {}\n\n for (let idx = -1, len = ternaries.length; ++idx < len; ) {\n const { test, consequent, alternate, remove, ...rest } = ternaries[idx]\n\n let ternaryTest = test\n\n // strip parens\n if (t.isExpressionStatement(test)) {\n ternaryTest = (test as any).expression\n }\n\n // convert `!thing` to `thing` with swapped consequent and alternate\n let shouldSwap = false\n if (t.isUnaryExpression(test) && test.operator === '!') {\n ternaryTest = test.argument\n shouldSwap = true\n } else if (t.isBinaryExpression(test)) {\n if (test.operator === '!==' || test.operator === '!=') {\n ternaryTest = t.binaryExpression(test.operator, test.left, test.right)\n shouldSwap = true\n }\n }\n\n // @ts-ignore\n const key = generate(ternaryTest as any).code\n\n if (!ternariesByKey[key]) {\n ternariesByKey[key] = {\n ...rest,\n alternate: {},\n consequent: {},\n test: ternaryTest,\n remove,\n }\n }\n const altStyle = (shouldSwap ? consequent : alternate) ?? {}\n const consStyle = (shouldSwap ? alternate : consequent) ?? {}\n Object.assign(ternariesByKey[key].alternate!, altStyle)\n Object.assign(ternariesByKey[key].consequent!, consStyle)\n }\n\n const ternaryExpression = Object.keys(ternariesByKey).map((key) => {\n return ternariesByKey[key]\n })\n\n return ternaryExpression\n}\n"],
5
- "mappings": "AAAA,OAAOA,MAAc,mBACrB,UAAYC,MAAO,eACnB,OAAOC,MAAe,YAIf,SAASC,EAAmBC,EAAsB,CAMvD,GALAF,EACE,MAAM,QAAQE,CAAS,EACvB,oEACF,EAEIA,EAAU,SAAW,EACvB,MAAO,CAAC,EAGV,MAAMC,EAA6C,CAAC,EAEpD,QAASC,EAAM,GAAIC,EAAMH,EAAU,OAAQ,EAAEE,EAAMC,GAAO,CACxD,KAAM,CAAE,KAAAC,EAAM,WAAAC,EAAY,UAAAC,EAAW,OAAAC,EAAQ,GAAGC,CAAK,EAAIR,EAAUE,CAAG,EAEtE,IAAIO,EAAcL,EAGdP,EAAE,sBAAsBO,CAAI,IAC9BK,EAAeL,EAAa,YAI9B,IAAIM,EAAa,GACbb,EAAE,kBAAkBO,CAAI,GAAKA,EAAK,WAAa,KACjDK,EAAcL,EAAK,SACnBM,EAAa,IACJb,EAAE,mBAAmBO,CAAI,IAC9BA,EAAK,WAAa,OAASA,EAAK,WAAa,QAC/CK,EAAcZ,EAAE,iBAAiBO,EAAK,SAAUA,EAAK,KAAMA,EAAK,KAAK,EACrEM,EAAa,IAKjB,MAAMC,EAAMf,EAASa,CAAkB,EAAE,KAEpCR,EAAeU,CAAG,IACrBV,EAAeU,CAAG,EAAI,CACpB,GAAGH,EACH,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,KAAMC,EACN,OAAAF,CACF,GAEF,MAAMK,GAAYF,EAAaL,EAAaC,IAAc,CAAC,EACrDO,GAAaH,EAAaJ,EAAYD,IAAe,CAAC,EAC5D,OAAO,OAAOJ,EAAeU,CAAG,EAAE,UAAYC,CAAQ,EACtD,OAAO,OAAOX,EAAeU,CAAG,EAAE,WAAaE,CAAS,CAC1D,CAMA,OAJ0B,OAAO,KAAKZ,CAAc,EAAE,IAAKU,GAClDV,EAAeU,CAAG,CAC1B,CAGH",
6
- "names": ["generate", "t", "invariant", "normalizeTernaries", "ternaries", "ternariesByKey", "idx", "len", "test", "consequent", "alternate", "remove", "rest", "ternaryTest", "shouldSwap", "key", "altStyle", "consStyle"]
5
+ "mappings": "AAAA,OAAO,cAAc;AACrB,YAAY,OAAO;AACnB,OAAO,eAAe;AAIf,SAAS,mBAAmB,WAAsB;AACvD;AAAA,IACE,MAAM,QAAQ,SAAS;AAAA,IACvB;AAAA,EACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,iBAA6C,CAAC;AAEpD,WAAS,MAAM,IAAI,MAAM,UAAU,QAAQ,EAAE,MAAM,OAAO;AACxD,UAAM,EAAE,MAAM,YAAY,WAAW,QAAQ,GAAG,KAAK,IAAI,UAAU,GAAG;AAEtE,QAAI,cAAc;AAGlB,QAAI,EAAE,sBAAsB,IAAI,GAAG;AACjC,oBAAe,KAAa;AAAA,IAC9B;AAGA,QAAI,aAAa;AACjB,QAAI,EAAE,kBAAkB,IAAI,KAAK,KAAK,aAAa,KAAK;AACtD,oBAAc,KAAK;AACnB,mBAAa;AAAA,IACf,WAAW,EAAE,mBAAmB,IAAI,GAAG;AACrC,UAAI,KAAK,aAAa,SAAS,KAAK,aAAa,MAAM;AACrD,sBAAc,EAAE,iBAAiB,KAAK,UAAU,KAAK,MAAM,KAAK,KAAK;AACrE,qBAAa;AAAA,MACf;AAAA,IACF;AAGA,UAAM,MAAM,SAAS,WAAkB,EAAE;AAEzC,QAAI,CAAC,eAAe,GAAG,GAAG;AACxB,qBAAe,GAAG,IAAI;AAAA,QACpB,GAAG;AAAA,QACH,WAAW,CAAC;AAAA,QACZ,YAAY,CAAC;AAAA,QACb,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,YAAY,aAAa,aAAa,cAAc,CAAC;AAC3D,UAAM,aAAa,aAAa,YAAY,eAAe,CAAC;AAC5D,WAAO,OAAO,eAAe,GAAG,EAAE,WAAY,QAAQ;AACtD,WAAO,OAAO,eAAe,GAAG,EAAE,YAAa,SAAS;AAAA,EAC1D;AAEA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,CAAC,QAAQ;AACjE,WAAO,eAAe,GAAG;AAAA,EAC3B,CAAC;AAED,SAAO;AACT;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,76 @@
1
- import*as s from"@babel/types";const g={useMedia:!0,useTheme:!0};function p(t,u){t.scope.crawl();let e=t==null?void 0:t.get("body");if(!e){console.log("no body statemnts?",t);return}if(Array.isArray(e)||(e.isFunctionExpression()?e=e.scope.path.get("body"):e=e.get("body")),!e||!Array.isArray(e))return;const y=e;for(const i of y){if(!i.isVariableDeclaration())continue;const d=i.get("declarations");if(!Array.isArray(d))continue;const f=o=>{var r;return!!((r=i.scope.getBinding(o))!=null&&r.referenced)};for(const o of d){const r=o.get("id"),n=o.node.init;if(Array.isArray(r)||Array.isArray(n))continue;(()=>{if(!(s.isCallExpression(n)&&s.isIdentifier(n.callee)&&g[n.callee.name]))return!1;if(s.isIdentifier(r.node)){const c=r.node.name;return!f(c)}else if(s.isObjectPattern(r.node))return r.get("properties").every(l=>{if(!l.isObjectProperty())return!1;const a=l.get("value");if(Array.isArray(a)||!a.isIdentifier())return!1;const m=a.node.name;return!f(m)});return!1})()&&(o.remove(),u&&console.log(` [\u{1FA9D}] removed ${r.node.name??""}`))}}}export{p as removeUnusedHooks};
1
+ import * as t from "@babel/types";
2
+ const hooks = {
3
+ useMedia: true,
4
+ useTheme: true
5
+ };
6
+ function removeUnusedHooks(compFn, shouldPrintDebug) {
7
+ compFn.scope.crawl();
8
+ let bodyStatements = compFn == null ? void 0 : compFn.get("body");
9
+ if (!bodyStatements) {
10
+ console.log("no body statemnts?", compFn);
11
+ return;
12
+ }
13
+ if (!Array.isArray(bodyStatements)) {
14
+ if (bodyStatements.isFunctionExpression()) {
15
+ bodyStatements = bodyStatements.scope.path.get("body");
16
+ } else {
17
+ bodyStatements = bodyStatements.get("body");
18
+ }
19
+ }
20
+ if (!bodyStatements || !Array.isArray(bodyStatements)) {
21
+ return;
22
+ }
23
+ const statements = bodyStatements;
24
+ for (const statement of statements) {
25
+ if (!statement.isVariableDeclaration()) {
26
+ continue;
27
+ }
28
+ const declarations = statement.get("declarations");
29
+ if (!Array.isArray(declarations)) {
30
+ continue;
31
+ }
32
+ const isBindingReferenced = (name) => {
33
+ var _a;
34
+ return !!((_a = statement.scope.getBinding(name)) == null ? void 0 : _a.referenced);
35
+ };
36
+ for (const declarator of declarations) {
37
+ const id = declarator.get("id");
38
+ const init = declarator.node.init;
39
+ if (Array.isArray(id) || Array.isArray(init)) {
40
+ continue;
41
+ }
42
+ const shouldRemove = (() => {
43
+ const isHook = t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name];
44
+ if (!isHook) {
45
+ return false;
46
+ }
47
+ if (t.isIdentifier(id.node)) {
48
+ const name = id.node.name;
49
+ return !isBindingReferenced(name);
50
+ } else if (t.isObjectPattern(id.node)) {
51
+ const propPaths = id.get("properties");
52
+ return propPaths.every((prop) => {
53
+ if (!prop.isObjectProperty())
54
+ return false;
55
+ const value = prop.get("value");
56
+ if (Array.isArray(value) || !value.isIdentifier())
57
+ return false;
58
+ const name = value.node.name;
59
+ return !isBindingReferenced(name);
60
+ });
61
+ }
62
+ return false;
63
+ })();
64
+ if (shouldRemove) {
65
+ declarator.remove();
66
+ if (shouldPrintDebug) {
67
+ console.log(` [\u{1FA9D}] removed ${id.node["name"] ?? ""}`);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ export {
74
+ removeUnusedHooks
75
+ };
2
76
  //# sourceMappingURL=removeUnusedHooks.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/removeUnusedHooks.ts"],
4
4
  "sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nconst hooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport function removeUnusedHooks(compFn: NodePath<any>, shouldPrintDebug: boolean | 'verbose') {\n compFn.scope.crawl()\n // check the top level statements\n let bodyStatements = compFn?.get('body')\n if (!bodyStatements) {\n // eslint-disable-next-line no-console\n console.log('no body statemnts?', compFn)\n return\n }\n if (!Array.isArray(bodyStatements)) {\n if (bodyStatements.isFunctionExpression()) {\n bodyStatements = bodyStatements.scope.path.get('body')\n } else {\n bodyStatements = bodyStatements.get('body')\n }\n }\n if (!bodyStatements || !Array.isArray(bodyStatements)) {\n return\n }\n const statements = bodyStatements as NodePath<any>[]\n for (const statement of statements) {\n if (!statement.isVariableDeclaration()) {\n continue\n }\n const declarations = statement.get('declarations')\n if (!Array.isArray(declarations)) {\n continue\n }\n const isBindingReferenced = (name: string) => {\n return !!statement.scope.getBinding(name)?.referenced\n }\n for (const declarator of declarations) {\n const id = declarator.get('id')\n const init = declarator.node.init\n if (Array.isArray(id) || Array.isArray(init)) {\n continue\n }\n const shouldRemove = (() => {\n const isHook =\n t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name]\n if (!isHook) {\n return false\n }\n if (t.isIdentifier(id.node)) {\n // remove \"const media = useMedia()\"\n const name = id.node.name\n return !isBindingReferenced(name)\n } else if (t.isObjectPattern(id.node)) {\n // remove \"const { sm } = useMedia()\"\n const propPaths = id.get('properties') as NodePath<any>[]\n return propPaths.every((prop) => {\n if (!prop.isObjectProperty()) return false\n const value = prop.get('value')\n if (Array.isArray(value) || !value.isIdentifier()) return false\n const name = value.node.name\n return !isBindingReferenced(name)\n })\n }\n return false\n })()\n if (shouldRemove) {\n declarator.remove()\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.log(` [\uD83E\uDE9D] removed ${id.node['name'] ?? ''}`)\n }\n }\n }\n }\n}\n"],
5
- "mappings": "AACA,UAAYA,MAAO,eAEnB,MAAMC,EAAQ,CACZ,SAAU,GACV,SAAU,EACZ,EAEO,SAASC,EAAkBC,EAAuBC,EAAuC,CAC9FD,EAAO,MAAM,MAAM,EAEnB,IAAIE,EAAiBF,GAAA,YAAAA,EAAQ,IAAI,QACjC,GAAI,CAACE,EAAgB,CAEnB,QAAQ,IAAI,qBAAsBF,CAAM,EACxC,MACF,CAQA,GAPK,MAAM,QAAQE,CAAc,IAC3BA,EAAe,qBAAqB,EACtCA,EAAiBA,EAAe,MAAM,KAAK,IAAI,MAAM,EAErDA,EAAiBA,EAAe,IAAI,MAAM,GAG1C,CAACA,GAAkB,CAAC,MAAM,QAAQA,CAAc,EAClD,OAEF,MAAMC,EAAaD,EACnB,UAAWE,KAAaD,EAAY,CAClC,GAAI,CAACC,EAAU,sBAAsB,EACnC,SAEF,MAAMC,EAAeD,EAAU,IAAI,cAAc,EACjD,GAAI,CAAC,MAAM,QAAQC,CAAY,EAC7B,SAEF,MAAMC,EAAuBC,GAAiB,CApClD,IAAAC,EAqCM,MAAO,CAAC,GAACA,EAAAJ,EAAU,MAAM,WAAWG,CAAI,IAA/B,MAAAC,EAAkC,WAC7C,EACA,UAAWC,KAAcJ,EAAc,CACrC,MAAMK,EAAKD,EAAW,IAAI,IAAI,EACxBE,EAAOF,EAAW,KAAK,KAC7B,GAAI,MAAM,QAAQC,CAAE,GAAK,MAAM,QAAQC,CAAI,EACzC,UAEoB,IAAM,CAG1B,GAAI,EADFd,EAAE,iBAAiBc,CAAI,GAAKd,EAAE,aAAac,EAAK,MAAM,GAAKb,EAAMa,EAAK,OAAO,IAAI,GAEjF,MAAO,GAET,GAAId,EAAE,aAAaa,EAAG,IAAI,EAAG,CAE3B,MAAMH,EAAOG,EAAG,KAAK,KACrB,MAAO,CAACJ,EAAoBC,CAAI,CAClC,SAAWV,EAAE,gBAAgBa,EAAG,IAAI,EAGlC,OADkBA,EAAG,IAAI,YAAY,EACpB,MAAOE,GAAS,CAC/B,GAAI,CAACA,EAAK,iBAAiB,EAAG,MAAO,GACrC,MAAMC,EAAQD,EAAK,IAAI,OAAO,EAC9B,GAAI,MAAM,QAAQC,CAAK,GAAK,CAACA,EAAM,aAAa,EAAG,MAAO,GAC1D,MAAMN,EAAOM,EAAM,KAAK,KACxB,MAAO,CAACP,EAAoBC,CAAI,CAClC,CAAC,EAEH,MAAO,EACT,GAAG,IAEDE,EAAW,OAAO,EACdR,GAEF,QAAQ,IAAI,yBAAkBS,EAAG,KAAK,MAAW,IAAI,EAG3D,CACF,CACF",
6
- "names": ["t", "hooks", "removeUnusedHooks", "compFn", "shouldPrintDebug", "bodyStatements", "statements", "statement", "declarations", "isBindingReferenced", "name", "_a", "declarator", "id", "init", "prop", "value"]
5
+ "mappings": "AACA,YAAY,OAAO;AAEnB,MAAM,QAAQ;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAAS,kBAAkB,QAAuB,kBAAuC;AAC9F,SAAO,MAAM,MAAM;AAEnB,MAAI,iBAAiB,iCAAQ,IAAI;AACjC,MAAI,CAAC,gBAAgB;AAEnB,YAAQ,IAAI,sBAAsB,MAAM;AACxC;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAClC,QAAI,eAAe,qBAAqB,GAAG;AACzC,uBAAiB,eAAe,MAAM,KAAK,IAAI,MAAM;AAAA,IACvD,OAAO;AACL,uBAAiB,eAAe,IAAI,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,MAAI,CAAC,kBAAkB,CAAC,MAAM,QAAQ,cAAc,GAAG;AACrD;AAAA,EACF;AACA,QAAM,aAAa;AACnB,aAAW,aAAa,YAAY;AAClC,QAAI,CAAC,UAAU,sBAAsB,GAAG;AACtC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC;AAAA,IACF;AACA,UAAM,sBAAsB,CAAC,SAAiB;AApClD;AAqCM,aAAO,CAAC,GAAC,eAAU,MAAM,WAAW,IAAI,MAA/B,mBAAkC;AAAA,IAC7C;AACA,eAAW,cAAc,cAAc;AACrC,YAAM,KAAK,WAAW,IAAI,IAAI;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,IAAI,GAAG;AAC5C;AAAA,MACF;AACA,YAAM,gBAAgB,MAAM;AAC1B,cAAM,SACJ,EAAE,iBAAiB,IAAI,KAAK,EAAE,aAAa,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI;AACnF,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,aAAa,GAAG,IAAI,GAAG;AAE3B,gBAAM,OAAO,GAAG,KAAK;AACrB,iBAAO,CAAC,oBAAoB,IAAI;AAAA,QAClC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG;AAErC,gBAAM,YAAY,GAAG,IAAI,YAAY;AACrC,iBAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,gBAAI,CAAC,KAAK,iBAAiB;AAAG,qBAAO;AACrC,kBAAM,QAAQ,KAAK,IAAI,OAAO;AAC9B,gBAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,aAAa;AAAG,qBAAO;AAC1D,kBAAM,OAAO,MAAM,KAAK;AACxB,mBAAO,CAAC,oBAAoB,IAAI;AAAA,UAClC,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT,GAAG;AACH,UAAI,cAAc;AAChB,mBAAW,OAAO;AAClB,YAAI,kBAAkB;AAEpB,kBAAQ,IAAI,yBAAkB,GAAG,KAAK,MAAM,KAAK,IAAI;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,76 @@
1
- import*as s from"@babel/types";const g={useMedia:!0,useTheme:!0};function p(t,u){t.scope.crawl();let e=t==null?void 0:t.get("body");if(!e){console.log("no body statemnts?",t);return}if(Array.isArray(e)||(e.isFunctionExpression()?e=e.scope.path.get("body"):e=e.get("body")),!e||!Array.isArray(e))return;const y=e;for(const i of y){if(!i.isVariableDeclaration())continue;const d=i.get("declarations");if(!Array.isArray(d))continue;const f=o=>{var r;return!!((r=i.scope.getBinding(o))!=null&&r.referenced)};for(const o of d){const r=o.get("id"),n=o.node.init;if(Array.isArray(r)||Array.isArray(n))continue;(()=>{if(!(s.isCallExpression(n)&&s.isIdentifier(n.callee)&&g[n.callee.name]))return!1;if(s.isIdentifier(r.node)){const c=r.node.name;return!f(c)}else if(s.isObjectPattern(r.node))return r.get("properties").every(l=>{if(!l.isObjectProperty())return!1;const a=l.get("value");if(Array.isArray(a)||!a.isIdentifier())return!1;const m=a.node.name;return!f(m)});return!1})()&&(o.remove(),u&&console.log(` [\u{1FA9D}] removed ${r.node.name??""}`))}}}export{p as removeUnusedHooks};
1
+ import * as t from "@babel/types";
2
+ const hooks = {
3
+ useMedia: true,
4
+ useTheme: true
5
+ };
6
+ function removeUnusedHooks(compFn, shouldPrintDebug) {
7
+ compFn.scope.crawl();
8
+ let bodyStatements = compFn == null ? void 0 : compFn.get("body");
9
+ if (!bodyStatements) {
10
+ console.log("no body statemnts?", compFn);
11
+ return;
12
+ }
13
+ if (!Array.isArray(bodyStatements)) {
14
+ if (bodyStatements.isFunctionExpression()) {
15
+ bodyStatements = bodyStatements.scope.path.get("body");
16
+ } else {
17
+ bodyStatements = bodyStatements.get("body");
18
+ }
19
+ }
20
+ if (!bodyStatements || !Array.isArray(bodyStatements)) {
21
+ return;
22
+ }
23
+ const statements = bodyStatements;
24
+ for (const statement of statements) {
25
+ if (!statement.isVariableDeclaration()) {
26
+ continue;
27
+ }
28
+ const declarations = statement.get("declarations");
29
+ if (!Array.isArray(declarations)) {
30
+ continue;
31
+ }
32
+ const isBindingReferenced = (name) => {
33
+ var _a;
34
+ return !!((_a = statement.scope.getBinding(name)) == null ? void 0 : _a.referenced);
35
+ };
36
+ for (const declarator of declarations) {
37
+ const id = declarator.get("id");
38
+ const init = declarator.node.init;
39
+ if (Array.isArray(id) || Array.isArray(init)) {
40
+ continue;
41
+ }
42
+ const shouldRemove = (() => {
43
+ const isHook = t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name];
44
+ if (!isHook) {
45
+ return false;
46
+ }
47
+ if (t.isIdentifier(id.node)) {
48
+ const name = id.node.name;
49
+ return !isBindingReferenced(name);
50
+ } else if (t.isObjectPattern(id.node)) {
51
+ const propPaths = id.get("properties");
52
+ return propPaths.every((prop) => {
53
+ if (!prop.isObjectProperty())
54
+ return false;
55
+ const value = prop.get("value");
56
+ if (Array.isArray(value) || !value.isIdentifier())
57
+ return false;
58
+ const name = value.node.name;
59
+ return !isBindingReferenced(name);
60
+ });
61
+ }
62
+ return false;
63
+ })();
64
+ if (shouldRemove) {
65
+ declarator.remove();
66
+ if (shouldPrintDebug) {
67
+ console.log(` [\u{1FA9D}] removed ${id.node["name"] ?? ""}`);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ export {
74
+ removeUnusedHooks
75
+ };
2
76
  //# sourceMappingURL=removeUnusedHooks.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/removeUnusedHooks.ts"],
4
4
  "sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nconst hooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport function removeUnusedHooks(compFn: NodePath<any>, shouldPrintDebug: boolean | 'verbose') {\n compFn.scope.crawl()\n // check the top level statements\n let bodyStatements = compFn?.get('body')\n if (!bodyStatements) {\n // eslint-disable-next-line no-console\n console.log('no body statemnts?', compFn)\n return\n }\n if (!Array.isArray(bodyStatements)) {\n if (bodyStatements.isFunctionExpression()) {\n bodyStatements = bodyStatements.scope.path.get('body')\n } else {\n bodyStatements = bodyStatements.get('body')\n }\n }\n if (!bodyStatements || !Array.isArray(bodyStatements)) {\n return\n }\n const statements = bodyStatements as NodePath<any>[]\n for (const statement of statements) {\n if (!statement.isVariableDeclaration()) {\n continue\n }\n const declarations = statement.get('declarations')\n if (!Array.isArray(declarations)) {\n continue\n }\n const isBindingReferenced = (name: string) => {\n return !!statement.scope.getBinding(name)?.referenced\n }\n for (const declarator of declarations) {\n const id = declarator.get('id')\n const init = declarator.node.init\n if (Array.isArray(id) || Array.isArray(init)) {\n continue\n }\n const shouldRemove = (() => {\n const isHook =\n t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name]\n if (!isHook) {\n return false\n }\n if (t.isIdentifier(id.node)) {\n // remove \"const media = useMedia()\"\n const name = id.node.name\n return !isBindingReferenced(name)\n } else if (t.isObjectPattern(id.node)) {\n // remove \"const { sm } = useMedia()\"\n const propPaths = id.get('properties') as NodePath<any>[]\n return propPaths.every((prop) => {\n if (!prop.isObjectProperty()) return false\n const value = prop.get('value')\n if (Array.isArray(value) || !value.isIdentifier()) return false\n const name = value.node.name\n return !isBindingReferenced(name)\n })\n }\n return false\n })()\n if (shouldRemove) {\n declarator.remove()\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.log(` [\uD83E\uDE9D] removed ${id.node['name'] ?? ''}`)\n }\n }\n }\n }\n}\n"],
5
- "mappings": "AACA,UAAYA,MAAO,eAEnB,MAAMC,EAAQ,CACZ,SAAU,GACV,SAAU,EACZ,EAEO,SAASC,EAAkBC,EAAuBC,EAAuC,CAC9FD,EAAO,MAAM,MAAM,EAEnB,IAAIE,EAAiBF,GAAA,YAAAA,EAAQ,IAAI,QACjC,GAAI,CAACE,EAAgB,CAEnB,QAAQ,IAAI,qBAAsBF,CAAM,EACxC,MACF,CAQA,GAPK,MAAM,QAAQE,CAAc,IAC3BA,EAAe,qBAAqB,EACtCA,EAAiBA,EAAe,MAAM,KAAK,IAAI,MAAM,EAErDA,EAAiBA,EAAe,IAAI,MAAM,GAG1C,CAACA,GAAkB,CAAC,MAAM,QAAQA,CAAc,EAClD,OAEF,MAAMC,EAAaD,EACnB,UAAWE,KAAaD,EAAY,CAClC,GAAI,CAACC,EAAU,sBAAsB,EACnC,SAEF,MAAMC,EAAeD,EAAU,IAAI,cAAc,EACjD,GAAI,CAAC,MAAM,QAAQC,CAAY,EAC7B,SAEF,MAAMC,EAAuBC,GAAiB,CApClD,IAAAC,EAqCM,MAAO,CAAC,GAACA,EAAAJ,EAAU,MAAM,WAAWG,CAAI,IAA/B,MAAAC,EAAkC,WAC7C,EACA,UAAWC,KAAcJ,EAAc,CACrC,MAAMK,EAAKD,EAAW,IAAI,IAAI,EACxBE,EAAOF,EAAW,KAAK,KAC7B,GAAI,MAAM,QAAQC,CAAE,GAAK,MAAM,QAAQC,CAAI,EACzC,UAEoB,IAAM,CAG1B,GAAI,EADFd,EAAE,iBAAiBc,CAAI,GAAKd,EAAE,aAAac,EAAK,MAAM,GAAKb,EAAMa,EAAK,OAAO,IAAI,GAEjF,MAAO,GAET,GAAId,EAAE,aAAaa,EAAG,IAAI,EAAG,CAE3B,MAAMH,EAAOG,EAAG,KAAK,KACrB,MAAO,CAACJ,EAAoBC,CAAI,CAClC,SAAWV,EAAE,gBAAgBa,EAAG,IAAI,EAGlC,OADkBA,EAAG,IAAI,YAAY,EACpB,MAAOE,GAAS,CAC/B,GAAI,CAACA,EAAK,iBAAiB,EAAG,MAAO,GACrC,MAAMC,EAAQD,EAAK,IAAI,OAAO,EAC9B,GAAI,MAAM,QAAQC,CAAK,GAAK,CAACA,EAAM,aAAa,EAAG,MAAO,GAC1D,MAAMN,EAAOM,EAAM,KAAK,KACxB,MAAO,CAACP,EAAoBC,CAAI,CAClC,CAAC,EAEH,MAAO,EACT,GAAG,IAEDE,EAAW,OAAO,EACdR,GAEF,QAAQ,IAAI,yBAAkBS,EAAG,KAAK,MAAW,IAAI,EAG3D,CACF,CACF",
6
- "names": ["t", "hooks", "removeUnusedHooks", "compFn", "shouldPrintDebug", "bodyStatements", "statements", "statement", "declarations", "isBindingReferenced", "name", "_a", "declarator", "id", "init", "prop", "value"]
5
+ "mappings": "AACA,YAAY,OAAO;AAEnB,MAAM,QAAQ;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAAS,kBAAkB,QAAuB,kBAAuC;AAC9F,SAAO,MAAM,MAAM;AAEnB,MAAI,iBAAiB,iCAAQ,IAAI;AACjC,MAAI,CAAC,gBAAgB;AAEnB,YAAQ,IAAI,sBAAsB,MAAM;AACxC;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAClC,QAAI,eAAe,qBAAqB,GAAG;AACzC,uBAAiB,eAAe,MAAM,KAAK,IAAI,MAAM;AAAA,IACvD,OAAO;AACL,uBAAiB,eAAe,IAAI,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,MAAI,CAAC,kBAAkB,CAAC,MAAM,QAAQ,cAAc,GAAG;AACrD;AAAA,EACF;AACA,QAAM,aAAa;AACnB,aAAW,aAAa,YAAY;AAClC,QAAI,CAAC,UAAU,sBAAsB,GAAG;AACtC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC;AAAA,IACF;AACA,UAAM,sBAAsB,CAAC,SAAiB;AApClD;AAqCM,aAAO,CAAC,GAAC,eAAU,MAAM,WAAW,IAAI,MAA/B,mBAAkC;AAAA,IAC7C;AACA,eAAW,cAAc,cAAc;AACrC,YAAM,KAAK,WAAW,IAAI,IAAI;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,IAAI,GAAG;AAC5C;AAAA,MACF;AACA,YAAM,gBAAgB,MAAM;AAC1B,cAAM,SACJ,EAAE,iBAAiB,IAAI,KAAK,EAAE,aAAa,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI;AACnF,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,aAAa,GAAG,IAAI,GAAG;AAE3B,gBAAM,OAAO,GAAG,KAAK;AACrB,iBAAO,CAAC,oBAAoB,IAAI;AAAA,QAClC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG;AAErC,gBAAM,YAAY,GAAG,IAAI,YAAY;AACrC,iBAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,gBAAI,CAAC,KAAK,iBAAiB;AAAG,qBAAO;AACrC,kBAAM,QAAQ,KAAK,IAAI,OAAO;AAC9B,gBAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,aAAa;AAAG,qBAAO;AAC1D,kBAAM,OAAO,MAAM,KAAK;AACxB,mBAAO,CAAC,oBAAoB,IAAI;AAAA,UAClC,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT,GAAG;AACH,UAAI,cAAc;AAChB,mBAAW,OAAO;AAClB,YAAI,kBAAkB;AAEpB,kBAAQ,IAAI,yBAAkB,GAAG,KAAK,MAAM,KAAK,IAAI;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,29 @@
1
- const s=()=>{const e=Date.now();let n=e;return{mark:(t,o=!1)=>{if(o){const l=Date.now()-n;n=Date.now(),console.log(`Time ${t}: ${l}ms`),l>10&&console.log(" long timer")}},done:(t=!1)=>{if(t){const o=Date.now()-e;console.log(`Total time: ${o}ms`),o>50&&console.log(" long timer")}}}};export{s as timer};
1
+ const timer = () => {
2
+ const start = Date.now();
3
+ let last = start;
4
+ return {
5
+ mark: (name, print = false) => {
6
+ if (print) {
7
+ const took = Date.now() - last;
8
+ last = Date.now();
9
+ console.log(`Time ${name}: ${took}ms`);
10
+ if (took > 10) {
11
+ console.log(" long timer");
12
+ }
13
+ }
14
+ },
15
+ done: (print = false) => {
16
+ if (print) {
17
+ const total = Date.now() - start;
18
+ console.log(`Total time: ${total}ms`);
19
+ if (total > 50) {
20
+ console.log(" long timer");
21
+ }
22
+ }
23
+ }
24
+ };
25
+ };
26
+ export {
27
+ timer
28
+ };
2
29
  //# sourceMappingURL=timer.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/timer.ts"],
4
4
  "sourcesContent": ["export const timer = () => {\n const start = Date.now()\n let last = start\n return {\n mark: (name: string, print = false) => {\n if (print) {\n const took = Date.now() - last\n last = Date.now()\n // eslint-disable-next-line no-console\n console.log(`Time ${name}: ${took}ms`)\n if (took > 10) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n done: (print = false) => {\n if (print) {\n const total = Date.now() - start\n // eslint-disable-next-line no-console\n console.log(`Total time: ${total}ms`)\n if (total > 50) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n }\n}\n"],
5
- "mappings": "AAAO,MAAMA,EAAQ,IAAM,CACzB,MAAMC,EAAQ,KAAK,IAAI,EACvB,IAAIC,EAAOD,EACX,MAAO,CACL,KAAM,CAACE,EAAcC,EAAQ,KAAU,CACrC,GAAIA,EAAO,CACT,MAAMC,EAAO,KAAK,IAAI,EAAIH,EAC1BA,EAAO,KAAK,IAAI,EAEhB,QAAQ,IAAI,QAAQC,MAASE,KAAQ,EACjCA,EAAO,IAET,QAAQ,IAAI,cAAc,CAE9B,CACF,EACA,KAAM,CAACD,EAAQ,KAAU,CACvB,GAAIA,EAAO,CACT,MAAME,EAAQ,KAAK,IAAI,EAAIL,EAE3B,QAAQ,IAAI,eAAeK,KAAS,EAChCA,EAAQ,IAEV,QAAQ,IAAI,cAAc,CAE9B,CACF,CACF,CACF",
6
- "names": ["timer", "start", "last", "name", "print", "took", "total"]
5
+ "mappings": "AAAO,MAAM,QAAQ,MAAM;AACzB,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI,OAAO;AACX,SAAO;AAAA,IACL,MAAM,CAAC,MAAc,QAAQ,UAAU;AACrC,UAAI,OAAO;AACT,cAAM,OAAO,KAAK,IAAI,IAAI;AAC1B,eAAO,KAAK,IAAI;AAEhB,gBAAQ,IAAI,QAAQ,SAAS,QAAQ;AACrC,YAAI,OAAO,IAAI;AAEb,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,CAAC,QAAQ,UAAU;AACvB,UAAI,OAAO;AACT,cAAM,QAAQ,KAAK,IAAI,IAAI;AAE3B,gBAAQ,IAAI,eAAe,SAAS;AACpC,YAAI,QAAQ,IAAI;AAEd,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,29 @@
1
- const s=()=>{const e=Date.now();let n=e;return{mark:(t,o=!1)=>{if(o){const l=Date.now()-n;n=Date.now(),console.log(`Time ${t}: ${l}ms`),l>10&&console.log(" long timer")}},done:(t=!1)=>{if(t){const o=Date.now()-e;console.log(`Total time: ${o}ms`),o>50&&console.log(" long timer")}}}};export{s as timer};
1
+ const timer = () => {
2
+ const start = Date.now();
3
+ let last = start;
4
+ return {
5
+ mark: (name, print = false) => {
6
+ if (print) {
7
+ const took = Date.now() - last;
8
+ last = Date.now();
9
+ console.log(`Time ${name}: ${took}ms`);
10
+ if (took > 10) {
11
+ console.log(" long timer");
12
+ }
13
+ }
14
+ },
15
+ done: (print = false) => {
16
+ if (print) {
17
+ const total = Date.now() - start;
18
+ console.log(`Total time: ${total}ms`);
19
+ if (total > 50) {
20
+ console.log(" long timer");
21
+ }
22
+ }
23
+ }
24
+ };
25
+ };
26
+ export {
27
+ timer
28
+ };
2
29
  //# sourceMappingURL=timer.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/timer.ts"],
4
4
  "sourcesContent": ["export const timer = () => {\n const start = Date.now()\n let last = start\n return {\n mark: (name: string, print = false) => {\n if (print) {\n const took = Date.now() - last\n last = Date.now()\n // eslint-disable-next-line no-console\n console.log(`Time ${name}: ${took}ms`)\n if (took > 10) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n done: (print = false) => {\n if (print) {\n const total = Date.now() - start\n // eslint-disable-next-line no-console\n console.log(`Total time: ${total}ms`)\n if (total > 50) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n }\n}\n"],
5
- "mappings": "AAAO,MAAMA,EAAQ,IAAM,CACzB,MAAMC,EAAQ,KAAK,IAAI,EACvB,IAAIC,EAAOD,EACX,MAAO,CACL,KAAM,CAACE,EAAcC,EAAQ,KAAU,CACrC,GAAIA,EAAO,CACT,MAAMC,EAAO,KAAK,IAAI,EAAIH,EAC1BA,EAAO,KAAK,IAAI,EAEhB,QAAQ,IAAI,QAAQC,MAASE,KAAQ,EACjCA,EAAO,IAET,QAAQ,IAAI,cAAc,CAE9B,CACF,EACA,KAAM,CAACD,EAAQ,KAAU,CACvB,GAAIA,EAAO,CACT,MAAME,EAAQ,KAAK,IAAI,EAAIL,EAE3B,QAAQ,IAAI,eAAeK,KAAS,EAChCA,EAAQ,IAEV,QAAQ,IAAI,cAAc,CAE9B,CACF,CACF,CACF",
6
- "names": ["timer", "start", "last", "name", "print", "took", "total"]
5
+ "mappings": "AAAO,MAAM,QAAQ,MAAM;AACzB,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI,OAAO;AACX,SAAO;AAAA,IACL,MAAM,CAAC,MAAc,QAAQ,UAAU;AACrC,UAAI,OAAO;AACT,cAAM,OAAO,KAAK,IAAI,IAAI;AAC1B,eAAO,KAAK,IAAI;AAEhB,gBAAQ,IAAI,QAAQ,SAAS,QAAQ;AACrC,YAAI,OAAO,IAAI;AAEb,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,CAAC,QAAQ,UAAU;AACvB,UAAI,OAAO;AACT,cAAM,QAAQ,KAAK,IAAI,IAAI;AAE3B,gBAAQ,IAAI,eAAe,SAAS;AACpC,YAAI,QAAQ,IAAI;AAEd,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,102 @@
1
- const e={autocomplete:!0,border:!0,contenteditable:!0,crossorigin:!0,dir:!0,draggable:!0,enctype:!0,formenctype:!0,formmethod:!0,formtarget:!0,inputmode:!0,kind:!0,link:!0,method:!0,preload:!0,referrerpolicy:!0,rel:!0,rev:!0,role:!0,sandbox:!0,shape:!0,spellcheck:!0,target:!0,translate:!0,type:!0,wrap:!0,"aria-autocomplete":!0,"aria-busy":!0,"aria-checked":!0,"aria-current":!0,"aria-disabled":!0,"aria-expanded":!0,"aria-haspopup":!0,"aria-hidden":!0,"aria-invalid":!0,"aria-polite":!0,"aria-modal":!0,"aria-multiline":!0,"aria-multiselectable":!0,"aria-orientation":!0,"aria-pressed":!0,"aria-readonly":!0,"aria-relevant":!0,"aria-required":!0,"aria-selected":!0,"aria-sort":!0},t={accessibilityRole:!0,accessibilityActiveDescendant:!0,accessibilityAtomic:!0,accessibilityAutoComplete:!0,accessibilityBusy:!0,accessibilityChecked:!0,accessibilityColumnCount:!0,accessibilityColumnIndex:!0,accessibilityColumnSpan:!0,accessibilityControls:!0,accessibilityCurrent:!0,accessibilityDescribedBy:!0,accessibilityDetails:!0,disabled:!0,accessibilityErrorMessage:!0,accessibilityExpanded:!0,accessibilityFlowTo:!0,accessibilityHasPopup:!0,accessibilityHidden:!0,accessibilityInvalid:!0,accessibilityKeyShortcuts:!0,accessibilityLabel:!0,accessibilityLabelledBy:!0,accessibilityLevel:!0,accessibilityLiveRegion:!0,accessibilityModal:!0,accessibilityMultiline:!0,accessibilityMultiSelectable:!0,accessibilityOrientation:!0,accessibilityOwns:!0,accessibilityPlaceholder:!0,accessibilityPosInSet:!0,accessibilityPressed:!0,accessibilityReadOnly:!0,accessibilityRequired:!0,accessibilityRoleDescription:!0,accessibilityRowCount:!0,accessibilityRowIndex:!0,accessibilityRowSpan:!0,accessibilitySelected:!0,accessibilitySetSize:!0,accessibilitySort:!0,accessibilityValueMax:!0,accessibilityValueMin:!0,accessibilityValueNow:!0,accessibilityValueText:!0,nativeID:!0};export{t as validAccessibilityAttributes,e as validHTMLAttributes};
1
+ const validHTMLAttributes = {
2
+ autocomplete: true,
3
+ border: true,
4
+ contenteditable: true,
5
+ crossorigin: true,
6
+ dir: true,
7
+ draggable: true,
8
+ enctype: true,
9
+ formenctype: true,
10
+ formmethod: true,
11
+ formtarget: true,
12
+ inputmode: true,
13
+ kind: true,
14
+ link: true,
15
+ method: true,
16
+ preload: true,
17
+ referrerpolicy: true,
18
+ rel: true,
19
+ rev: true,
20
+ role: true,
21
+ sandbox: true,
22
+ shape: true,
23
+ spellcheck: true,
24
+ target: true,
25
+ translate: true,
26
+ type: true,
27
+ wrap: true,
28
+ "aria-autocomplete": true,
29
+ "aria-busy": true,
30
+ "aria-checked": true,
31
+ "aria-current": true,
32
+ "aria-disabled": true,
33
+ "aria-expanded": true,
34
+ "aria-haspopup": true,
35
+ "aria-hidden": true,
36
+ "aria-invalid": true,
37
+ "aria-polite": true,
38
+ "aria-modal": true,
39
+ "aria-multiline": true,
40
+ "aria-multiselectable": true,
41
+ "aria-orientation": true,
42
+ "aria-pressed": true,
43
+ "aria-readonly": true,
44
+ "aria-relevant": true,
45
+ "aria-required": true,
46
+ "aria-selected": true,
47
+ "aria-sort": true
48
+ };
49
+ const validAccessibilityAttributes = {
50
+ accessibilityRole: true,
51
+ accessibilityActiveDescendant: true,
52
+ accessibilityAtomic: true,
53
+ accessibilityAutoComplete: true,
54
+ accessibilityBusy: true,
55
+ accessibilityChecked: true,
56
+ accessibilityColumnCount: true,
57
+ accessibilityColumnIndex: true,
58
+ accessibilityColumnSpan: true,
59
+ accessibilityControls: true,
60
+ accessibilityCurrent: true,
61
+ accessibilityDescribedBy: true,
62
+ accessibilityDetails: true,
63
+ disabled: true,
64
+ accessibilityErrorMessage: true,
65
+ accessibilityExpanded: true,
66
+ accessibilityFlowTo: true,
67
+ accessibilityHasPopup: true,
68
+ accessibilityHidden: true,
69
+ accessibilityInvalid: true,
70
+ accessibilityKeyShortcuts: true,
71
+ accessibilityLabel: true,
72
+ accessibilityLabelledBy: true,
73
+ accessibilityLevel: true,
74
+ accessibilityLiveRegion: true,
75
+ accessibilityModal: true,
76
+ accessibilityMultiline: true,
77
+ accessibilityMultiSelectable: true,
78
+ accessibilityOrientation: true,
79
+ accessibilityOwns: true,
80
+ accessibilityPlaceholder: true,
81
+ accessibilityPosInSet: true,
82
+ accessibilityPressed: true,
83
+ accessibilityReadOnly: true,
84
+ accessibilityRequired: true,
85
+ accessibilityRoleDescription: true,
86
+ accessibilityRowCount: true,
87
+ accessibilityRowIndex: true,
88
+ accessibilityRowSpan: true,
89
+ accessibilitySelected: true,
90
+ accessibilitySetSize: true,
91
+ accessibilitySort: true,
92
+ accessibilityValueMax: true,
93
+ accessibilityValueMin: true,
94
+ accessibilityValueNow: true,
95
+ accessibilityValueText: true,
96
+ nativeID: true
97
+ };
98
+ export {
99
+ validAccessibilityAttributes,
100
+ validHTMLAttributes
101
+ };
2
102
  //# sourceMappingURL=validHTMLAttributes.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/validHTMLAttributes.ts"],
4
4
  "sourcesContent": ["export const validHTMLAttributes = {\n autocomplete: true,\n border: true,\n contenteditable: true,\n crossorigin: true,\n dir: true,\n draggable: true,\n enctype: true,\n formenctype: true,\n formmethod: true,\n formtarget: true,\n inputmode: true,\n kind: true,\n link: true,\n method: true,\n preload: true,\n referrerpolicy: true,\n rel: true,\n rev: true,\n role: true,\n sandbox: true,\n shape: true,\n spellcheck: true,\n target: true,\n translate: true,\n type: true,\n wrap: true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-current': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-polite': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-relevant': true,\n 'aria-required': true,\n 'aria-selected': true,\n 'aria-sort': true,\n}\n\n// for moving off react-native-web eventually (unused atm)\nexport const validAccessibilityAttributes = {\n accessibilityRole: true,\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n disabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n nativeID: true,\n}\n"],
5
- "mappings": "AAAO,MAAMA,EAAsB,CACjC,aAAc,GACd,OAAQ,GACR,gBAAiB,GACjB,YAAa,GACb,IAAK,GACL,UAAW,GACX,QAAS,GACT,YAAa,GACb,WAAY,GACZ,WAAY,GACZ,UAAW,GACX,KAAM,GACN,KAAM,GACN,OAAQ,GACR,QAAS,GACT,eAAgB,GAChB,IAAK,GACL,IAAK,GACL,KAAM,GACN,QAAS,GACT,MAAO,GACP,WAAY,GACZ,OAAQ,GACR,UAAW,GACX,KAAM,GACN,KAAM,GACN,oBAAqB,GACrB,YAAa,GACb,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,GACjB,gBAAiB,GACjB,gBAAiB,GACjB,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,iBAAkB,GAClB,uBAAwB,GACxB,mBAAoB,GACpB,eAAgB,GAChB,gBAAiB,GACjB,gBAAiB,GACjB,gBAAiB,GACjB,gBAAiB,GACjB,YAAa,EACf,EAGaC,EAA+B,CAC1C,kBAAmB,GACnB,8BAA+B,GAC/B,oBAAqB,GACrB,0BAA2B,GAC3B,kBAAmB,GACnB,qBAAsB,GACtB,yBAA0B,GAC1B,yBAA0B,GAC1B,wBAAyB,GACzB,sBAAuB,GACvB,qBAAsB,GACtB,yBAA0B,GAC1B,qBAAsB,GACtB,SAAU,GACV,0BAA2B,GAC3B,sBAAuB,GACvB,oBAAqB,GACrB,sBAAuB,GACvB,oBAAqB,GACrB,qBAAsB,GACtB,0BAA2B,GAC3B,mBAAoB,GACpB,wBAAyB,GACzB,mBAAoB,GACpB,wBAAyB,GACzB,mBAAoB,GACpB,uBAAwB,GACxB,6BAA8B,GAC9B,yBAA0B,GAC1B,kBAAmB,GACnB,yBAA0B,GAC1B,sBAAuB,GACvB,qBAAsB,GACtB,sBAAuB,GACvB,sBAAuB,GACvB,6BAA8B,GAC9B,sBAAuB,GACvB,sBAAuB,GACvB,qBAAsB,GACtB,sBAAuB,GACvB,qBAAsB,GACtB,kBAAmB,GACnB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,uBAAwB,GACxB,SAAU,EACZ",
6
- "names": ["validHTMLAttributes", "validAccessibilityAttributes"]
5
+ "mappings": "AAAO,MAAM,sBAAsB;AAAA,EACjC,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AACf;AAGO,MAAM,+BAA+B;AAAA,EAC1C,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,sBAAsB;AAAA,EACtB,UAAU;AAAA,EACV,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,8BAA8B;AAAA,EAC9B,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,UAAU;AACZ;",
6
+ "names": []
7
7
  }