@tamagui/static 1.0.1-beta.102 → 1.0.1-beta.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants.js +4 -0
- package/dist/cjs/constants.js.map +2 -2
- package/dist/cjs/extractor/createEvaluator.js.map +1 -1
- package/dist/cjs/extractor/createExtractor.js +5 -39
- package/dist/cjs/extractor/createExtractor.js.map +2 -2
- package/dist/cjs/extractor/defaultTamaguiConfig.js +177 -0
- package/dist/cjs/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/cjs/extractor/loadTamagui.js +46 -66
- package/dist/cjs/extractor/loadTamagui.js.map +2 -2
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/require.js +99 -0
- package/dist/cjs/require.js.map +7 -0
- package/dist/esm/constants.js +3 -0
- package/dist/esm/constants.js.map +2 -2
- package/dist/esm/extractor/createEvaluator.js.map +1 -1
- package/dist/esm/extractor/createExtractor.js +6 -41
- package/dist/esm/extractor/createExtractor.js.map +2 -2
- package/dist/esm/extractor/defaultTamaguiConfig.js +155 -0
- package/dist/esm/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/esm/extractor/loadTamagui.js +46 -66
- package/dist/esm/extractor/loadTamagui.js.map +2 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/require.js +74 -0
- package/dist/esm/require.js.map +7 -0
- package/dist/jsx/constants.js +3 -0
- package/dist/jsx/constants.js.map +2 -2
- package/dist/jsx/extractor/createEvaluator.js.map +1 -1
- package/dist/jsx/extractor/createExtractor.js +6 -41
- package/dist/jsx/extractor/createExtractor.js.map +2 -2
- package/dist/jsx/extractor/defaultTamaguiConfig.js +142 -0
- package/dist/jsx/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/jsx/extractor/loadTamagui.js +46 -66
- package/dist/jsx/extractor/loadTamagui.js.map +2 -2
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +2 -2
- package/dist/jsx/require.js +74 -0
- package/dist/jsx/require.js.map +7 -0
- package/package.json +9 -8
- package/src/constants.ts +2 -0
- package/src/extractor/createEvaluator.ts +1 -1
- package/src/extractor/createExtractor.ts +4 -60
- package/src/extractor/defaultTamaguiConfig.ts +149 -0
- package/src/extractor/loadTamagui.ts +52 -85
- package/src/index.ts +1 -0
- package/src/require.ts +93 -0
- package/types/constants.d.ts +1 -0
- package/types/constants.d.ts.map +1 -1
- package/types/extractor/createEvaluator.d.ts +1 -1
- package/types/extractor/createEvaluator.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/defaultTamaguiConfig.d.ts +83 -0
- package/types/extractor/defaultTamaguiConfig.d.ts.map +1 -0
- package/types/extractor/loadTamagui.d.ts +1 -1
- package/types/extractor/loadTamagui.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/require.d.ts +4 -0
- package/types/require.d.ts.map +1 -0
package/dist/cjs/constants.js
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
317
|
-
|
|
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
|
|
332
|
-
onStyleRule == null ? void 0 : onStyleRule(identifier,
|
|
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
|
|
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
|
}
|