@tamagui/static 1.0.1-beta.103 → 1.0.1-beta.106

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 (60) hide show
  1. package/dist/cjs/constants.js +4 -0
  2. package/dist/cjs/constants.js.map +2 -2
  3. package/dist/cjs/extractor/createEvaluator.js.map +1 -1
  4. package/dist/cjs/extractor/createExtractor.js +5 -39
  5. package/dist/cjs/extractor/createExtractor.js.map +2 -2
  6. package/dist/cjs/extractor/defaultTamaguiConfig.js +177 -0
  7. package/dist/cjs/extractor/defaultTamaguiConfig.js.map +7 -0
  8. package/dist/cjs/extractor/loadTamagui.js +45 -66
  9. package/dist/cjs/extractor/loadTamagui.js.map +2 -2
  10. package/dist/cjs/index.js +1 -0
  11. package/dist/cjs/index.js.map +2 -2
  12. package/dist/cjs/require.js +99 -0
  13. package/dist/cjs/require.js.map +7 -0
  14. package/dist/esm/constants.js +3 -0
  15. package/dist/esm/constants.js.map +2 -2
  16. package/dist/esm/extractor/createEvaluator.js.map +1 -1
  17. package/dist/esm/extractor/createExtractor.js +6 -41
  18. package/dist/esm/extractor/createExtractor.js.map +2 -2
  19. package/dist/esm/extractor/defaultTamaguiConfig.js +156 -0
  20. package/dist/esm/extractor/defaultTamaguiConfig.js.map +7 -0
  21. package/dist/esm/extractor/loadTamagui.js +45 -66
  22. package/dist/esm/extractor/loadTamagui.js.map +2 -2
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/index.js.map +2 -2
  25. package/dist/esm/require.js +74 -0
  26. package/dist/esm/require.js.map +7 -0
  27. package/dist/jsx/constants.js +3 -0
  28. package/dist/jsx/constants.js.map +2 -2
  29. package/dist/jsx/extractor/createEvaluator.js.map +1 -1
  30. package/dist/jsx/extractor/createExtractor.js +6 -41
  31. package/dist/jsx/extractor/createExtractor.js.map +2 -2
  32. package/dist/jsx/extractor/defaultTamaguiConfig.js +143 -0
  33. package/dist/jsx/extractor/defaultTamaguiConfig.js.map +7 -0
  34. package/dist/jsx/extractor/loadTamagui.js +45 -66
  35. package/dist/jsx/extractor/loadTamagui.js.map +2 -2
  36. package/dist/jsx/index.js +1 -0
  37. package/dist/jsx/index.js.map +2 -2
  38. package/dist/jsx/require.js +74 -0
  39. package/dist/jsx/require.js.map +7 -0
  40. package/package.json +9 -8
  41. package/src/constants.ts +2 -0
  42. package/src/extractor/createEvaluator.ts +1 -1
  43. package/src/extractor/createExtractor.ts +4 -60
  44. package/src/extractor/defaultTamaguiConfig.ts +150 -0
  45. package/src/extractor/loadTamagui.ts +50 -85
  46. package/src/index.ts +1 -0
  47. package/src/require.ts +93 -0
  48. package/types/constants.d.ts +1 -0
  49. package/types/constants.d.ts.map +1 -1
  50. package/types/extractor/createEvaluator.d.ts +1 -1
  51. package/types/extractor/createEvaluator.d.ts.map +1 -1
  52. package/types/extractor/createExtractor.d.ts.map +1 -1
  53. package/types/extractor/defaultTamaguiConfig.d.ts +15 -0
  54. package/types/extractor/defaultTamaguiConfig.d.ts.map +1 -0
  55. package/types/extractor/loadTamagui.d.ts +1 -1
  56. package/types/extractor/loadTamagui.d.ts.map +1 -1
  57. package/types/index.d.ts +1 -0
  58. package/types/index.d.ts.map +1 -1
  59. package/types/require.d.ts +4 -0
  60. package/types/require.d.ts.map +1 -0
@@ -24,21 +24,25 @@ __export(constants_exports, {
24
24
  CSS_FILE_NAME: () => CSS_FILE_NAME,
25
25
  FAILED_EVAL: () => FAILED_EVAL,
26
26
  MEDIA_SEP: () => MEDIA_SEP,
27
+ SHOULD_DEBUG: () => SHOULD_DEBUG,
27
28
  cacheDir: () => cacheDir
28
29
  });
29
30
  module.exports = __toCommonJS(constants_exports);
30
31
  var import_find_cache_dir = __toESM(require("find-cache-dir"));
32
+ var _a;
31
33
  const CSS_FILE_NAME = "__snack.css";
32
34
  const MEDIA_SEP = "_";
33
35
  const cacheDir = (0, import_find_cache_dir.default)({ name: "tamagui", create: true });
34
36
  const FAILED_EVAL = Symbol("failed_style_eval");
35
37
  const CONCAT_CLASSNAME_IMPORT = "concatClassName";
38
+ const SHOULD_DEBUG = process.env.DEBUG === "*" || ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui"));
36
39
  // Annotate the CommonJS export names for ESM import in node:
37
40
  0 && (module.exports = {
38
41
  CONCAT_CLASSNAME_IMPORT,
39
42
  CSS_FILE_NAME,
40
43
  FAILED_EVAL,
41
44
  MEDIA_SEP,
45
+ SHOULD_DEBUG,
42
46
  cacheDir
43
47
  });
44
48
  //# sourceMappingURL=constants.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.ts"],
4
- "sourcesContent": ["import findCacheDir from 'find-cache-dir'\n\nexport const CSS_FILE_NAME = '__snack.css'\n\n// ENSURE THIS ISNT THE SAME AS THE SEPARATOR USED FOR STYLE KEYS\n// SEE matching one in concatClassName\nexport const MEDIA_SEP = '_'\n\n// ensure cache dir\nexport const cacheDir = findCacheDir({ name: 'tamagui', create: true })\n\nexport const FAILED_EVAL = Symbol('failed_style_eval')\nexport const CONCAT_CLASSNAME_IMPORT = 'concatClassName'\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyB;AAElB,MAAM,gBAAgB;AAItB,MAAM,YAAY;AAGlB,MAAM,WAAW,mCAAa,EAAE,MAAM,WAAW,QAAQ,KAAK,CAAC;AAE/D,MAAM,cAAc,OAAO,mBAAmB;AAC9C,MAAM,0BAA0B;",
4
+ "sourcesContent": ["import findCacheDir from 'find-cache-dir'\n\nexport const CSS_FILE_NAME = '__snack.css'\n\n// ENSURE THIS ISNT THE SAME AS THE SEPARATOR USED FOR STYLE KEYS\n// SEE matching one in concatClassName\nexport const MEDIA_SEP = '_'\n\n// ensure cache dir\nexport const cacheDir = findCacheDir({ name: 'tamagui', create: true })\n\nexport const FAILED_EVAL = Symbol('failed_style_eval')\nexport const CONCAT_CLASSNAME_IMPORT = 'concatClassName'\n\nexport const SHOULD_DEBUG = process.env.DEBUG === '*' || process.env.DEBUG?.startsWith('tamagui')\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyB;AAAzB;AAEO,MAAM,gBAAgB;AAItB,MAAM,YAAY;AAGlB,MAAM,WAAW,mCAAa,EAAE,MAAM,WAAW,QAAQ,KAAK,CAAC;AAE/D,MAAM,cAAc,OAAO,mBAAmB;AAC9C,MAAM,0BAA0B;AAEhC,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,eAAQ,IAAI,UAAZ,mBAAmB,WAAW;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/createEvaluator.ts"],
4
- "sourcesContent": ["import vm from 'vm'\n\nimport generate from '@babel/generator'\nimport { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport type { TamaguiConfig } from '@tamagui/core'\nimport { createCSSVariable } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\n\nimport { FAILED_EVAL } from '../constants'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { isValidThemeHook } from './extractHelpers'\n\nexport function createEvaluator({\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n}: {\n tamaguiConfig: TamaguiConfig\n staticNamespace: Record<string, any>\n sourcePath: string\n traversePath?: NodePath<t.JSXElement>\n shouldPrintDebug: boolean | 'verbose'\n}) {\n // called when evaluateAstNode encounters a dynamic-looking prop\n const evalFn = (n: t.Node) => {\n // themes\n if (\n t.isMemberExpression(n) &&\n t.isIdentifier(n.property) &&\n traversePath &&\n isValidThemeHook(traversePath, n, sourcePath)\n ) {\n const key = n.property.name\n if (shouldPrintDebug) {\n console.log(' > found theme prop', key)\n }\n console.log('SHOULD FIND THEME (NESTED NOW)', key) // tamaguiConfig.themes)\n // if (!themeKeys.has(key)) {\n // throw new Error(` > accessing non-existent theme key: ${key}`)\n // }\n return createCSSVariable(key)\n }\n // variable\n if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {\n return staticNamespace[n.name]\n }\n const evalContext = vm.createContext(staticNamespace)\n const codeWithTypescriptAnnotations = `(${generate(n as any).code})`\n const code = esbuild\n .transformSync(codeWithTypescriptAnnotations, { loader: 'tsx' })\n .code.replace(/;\\n$/, '')\n\n if (shouldPrintDebug) {\n console.log('evaluating', code)\n }\n return vm.runInContext(code, evalContext)\n }\n\n return (n: t.Node) => {\n return evaluateAstNode(n, evalFn)\n }\n}\n\nexport function createSafeEvaluator(attemptEval: (n: t.Node) => any) {\n return (n: t.Node) => {\n try {\n return attemptEval(n)\n } catch (err) {\n return FAILED_EVAL\n }\n }\n}\n"],
4
+ "sourcesContent": ["import vm from 'vm'\n\nimport generate from '@babel/generator'\nimport { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport type { TamaguiConfig } from '@tamagui/core-node'\nimport { createCSSVariable } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\n\nimport { FAILED_EVAL } from '../constants'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { isValidThemeHook } from './extractHelpers'\n\nexport function createEvaluator({\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n}: {\n tamaguiConfig: TamaguiConfig\n staticNamespace: Record<string, any>\n sourcePath: string\n traversePath?: NodePath<t.JSXElement>\n shouldPrintDebug: boolean | 'verbose'\n}) {\n // called when evaluateAstNode encounters a dynamic-looking prop\n const evalFn = (n: t.Node) => {\n // themes\n if (\n t.isMemberExpression(n) &&\n t.isIdentifier(n.property) &&\n traversePath &&\n isValidThemeHook(traversePath, n, sourcePath)\n ) {\n const key = n.property.name\n if (shouldPrintDebug) {\n console.log(' > found theme prop', key)\n }\n console.log('SHOULD FIND THEME (NESTED NOW)', key) // tamaguiConfig.themes)\n // if (!themeKeys.has(key)) {\n // throw new Error(` > accessing non-existent theme key: ${key}`)\n // }\n return createCSSVariable(key)\n }\n // variable\n if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {\n return staticNamespace[n.name]\n }\n const evalContext = vm.createContext(staticNamespace)\n const codeWithTypescriptAnnotations = `(${generate(n as any).code})`\n const code = esbuild\n .transformSync(codeWithTypescriptAnnotations, { loader: 'tsx' })\n .code.replace(/;\\n$/, '')\n\n if (shouldPrintDebug) {\n console.log('evaluating', code)\n }\n return vm.runInContext(code, evalContext)\n }\n\n return (n: t.Node) => {\n return evaluateAstNode(n, evalFn)\n }\n}\n\nexport function createSafeEvaluator(attemptEval: (n: t.Node) => any) {\n return (n: t.Node) => {\n try {\n return attemptEval(n)\n } catch (err) {\n return FAILED_EVAL\n }\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAEf,uBAAqB;AAErB,QAAmB;AAEnB,uBAAkC;AAClC,qBAAoB;AAEpB,uBAA4B;AAC5B,6BAAgC;AAChC,4BAAiC;AAE1B,yBAAyB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAOC;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QACE,EAAE,mBAAmB,CAAC,KACtB,EAAE,aAAa,EAAE,QAAQ,KACzB,gBACA,4CAAiB,cAAc,GAAG,UAAU,GAC5C;AACA,YAAM,MAAM,EAAE,SAAS;AACvB,UAAI,kBAAkB;AACpB,gBAAQ,IAAI,0BAA0B,GAAG;AAAA,MAC3C;AACA,cAAQ,IAAI,kCAAkC,GAAG;AAIjD,aAAO,wCAAkB,GAAG;AAAA,IAC9B;AAEA,QAAI,EAAE,aAAa,CAAC,KAAK,gBAAgB,eAAe,EAAE,IAAI,GAAG;AAC/D,aAAO,gBAAgB,EAAE;AAAA,IAC3B;AACA,UAAM,cAAc,kBAAG,cAAc,eAAe;AACpD,UAAM,gCAAgC,IAAI,8BAAS,CAAQ,EAAE;AAC7D,UAAM,OAAO,uBACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,QAAI,kBAAkB;AACpB,cAAQ,IAAI,cAAc,IAAI;AAAA,IAChC;AACA,WAAO,kBAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MAAc;AACpB,WAAO,4CAAgB,GAAG,MAAM;AAAA,EAClC;AACF;AAEO,6BAA6B,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,SAAS,KAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -56,7 +56,6 @@ var import_path = require("path");
56
56
  var import_traverse = __toESM(require("@babel/traverse"));
57
57
  var t = __toESM(require("@babel/types"));
58
58
  var import_core_node = require("@tamagui/core-node");
59
- var import_lodash = require("lodash");
60
59
  var import_constants = require("../constants");
61
60
  var import_createEvaluator = require("./createEvaluator");
62
61
  var import_evaluateAstNode = require("./evaluateAstNode");
@@ -313,10 +312,8 @@ function createExtractor() {
313
312
  console.log("Exctacting styled()", styles, out, "to", atomics);
314
313
  }
315
314
  for (const atomic of atomics) {
316
- for (const rule of atomic.rules) {
317
- out.rulesToInsert = out.rulesToInsert || [];
318
- out.rulesToInsert.push([atomic.identifier, rule]);
319
- }
315
+ out.rulesToInsert = out.rulesToInsert || [];
316
+ out.rulesToInsert.push(atomic);
320
317
  classNames[atomic.property] = atomic.identifier;
321
318
  }
322
319
  definition.properties = skipped;
@@ -328,8 +325,8 @@ function createExtractor() {
328
325
  definition.properties.push(t.objectProperty(t.stringLiteral(cn), t.stringLiteral(val)));
329
326
  }
330
327
  if (out.rulesToInsert) {
331
- for (const [identifier, rule] of out.rulesToInsert) {
332
- onStyleRule == null ? void 0 : onStyleRule(identifier, [rule]);
328
+ for (const { identifier, rules } of out.rulesToInsert) {
329
+ onStyleRule == null ? void 0 : onStyleRule(identifier, rules);
333
330
  }
334
331
  }
335
332
  res.styled++;
@@ -338,7 +335,7 @@ function createExtractor() {
338
335
  }
339
336
  },
340
337
  JSXElement(traversePath) {
341
- var _a2, _b2, _c, _d;
338
+ var _a2, _b2, _c;
342
339
  tm.mark("jsx-element", shouldPrintDebug === "verbose");
343
340
  const node = traversePath.node.openingElement;
344
341
  const ogAttributes = node.attributes;
@@ -787,16 +784,6 @@ function createExtractor() {
787
784
  prev2[key] = next[key];
788
785
  }
789
786
  }
790
- }, omitInvalidStyles = function(style) {
791
- if (staticConfig.validStyles) {
792
- for (const key in style) {
793
- if (import_core_node.stylePropsTransform[key] || !staticConfig.validStyles[key] && !import_core_node.pseudoDescriptors[key] && !/(hoverStyle|focusStyle|pressStyle)$/.test(key)) {
794
- if (shouldPrintDebug)
795
- console.log(" delete invalid style", key);
796
- delete style[key];
797
- }
798
- }
799
- }
800
787
  };
801
788
  node.attributes.find((n) => t.isJSXAttribute(n) && t.isJSXIdentifier(n.name) && n.name.name === "debug" && n.value === null);
802
789
  if (shouldPrintDebug) {
@@ -1238,24 +1225,6 @@ function createExtractor() {
1238
1225
  if (!completeStyles) {
1239
1226
  throw new Error(`Impossible, no styles`);
1240
1227
  }
1241
- const addInitialStyleKeys = shouldFlatten ? (0, import_lodash.difference)(Object.keys(completeStyles), Object.keys(foundStaticProps)) : [];
1242
- if (addInitialStyleKeys.length) {
1243
- const toAdd = (0, import_lodash.pick)(completeStyles, ...addInitialStyleKeys);
1244
- const firstGroup = attrs.find((x) => x.type === "style");
1245
- if (shouldPrintDebug) {
1246
- console.log(" toAdd", (0, import_extractHelpers.objToStr)(toAdd));
1247
- }
1248
- if (!firstGroup) {
1249
- attrs.unshift({ type: "style", value: toAdd });
1250
- } else {
1251
- omitInvalidStyles(firstGroup.value);
1252
- Object.assign(firstGroup.value, toAdd);
1253
- }
1254
- }
1255
- if (shouldPrintDebug) {
1256
- if (shouldFlatten)
1257
- console.log(" -- addInitialStyleKeys", addInitialStyleKeys.join(", "));
1258
- }
1259
1228
  let getStyleError = null;
1260
1229
  for (const attr of attrs) {
1261
1230
  try {
@@ -1305,9 +1274,6 @@ function createExtractor() {
1305
1274
  if (INLINE_EXTRACTABLE[name]) {
1306
1275
  attr.value.name.name = INLINE_EXTRACTABLE[name];
1307
1276
  }
1308
- if ((_d = staticConfig.variants) == null ? void 0 : _d[name]) {
1309
- const expanded = getStyles({});
1310
- }
1311
1277
  }
1312
1278
  }
1313
1279
  }