@tamagui/static 1.0.1-beta.149 → 1.0.1-beta.152
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 → constants.js} +4 -1
- package/dist/{esm/constants.js.map → constants.js.map} +3 -3
- package/dist/{cjs/extractor → extractor}/accessSafe.js +13 -2
- package/dist/{esm/extractor → extractor}/accessSafe.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/babelParse.js +4 -1
- package/dist/{cjs/extractor → extractor}/babelParse.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/buildClassName.js +19 -4
- package/dist/extractor/buildClassName.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/createEvaluator.js +7 -4
- package/dist/extractor/createEvaluator.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/createExtractor.js +186 -64
- package/dist/{esm/extractor → extractor}/createExtractor.js.map +4 -4
- package/dist/{cjs/extractor → extractor}/ensureImportingConcat.js +21 -6
- package/dist/extractor/ensureImportingConcat.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/evaluateAstNode.js +13 -4
- package/dist/{esm/extractor → extractor}/evaluateAstNode.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/extractHelpers.js +8 -3
- package/dist/extractor/extractHelpers.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/extractMediaStyle.js +22 -6
- package/dist/extractor/extractMediaStyle.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/extractToClassNames.js +87 -32
- package/dist/extractor/extractToClassNames.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/findTopmostFunction.js +0 -0
- package/dist/{cjs/extractor → extractor}/findTopmostFunction.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/generatedUid.js +8 -2
- package/dist/{cjs/extractor → extractor}/generatedUid.js.map +3 -3
- package/dist/{cjs/extractor → extractor}/getPrefixLogs.js +0 -0
- package/dist/extractor/getPrefixLogs.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/getPropValueFromAttributes.js +23 -13
- package/dist/extractor/getPropValueFromAttributes.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/getSourceModule.js +4 -1
- package/dist/{esm/extractor → extractor}/getSourceModule.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/getStaticBindingsForScope.js +9 -4
- package/dist/extractor/getStaticBindingsForScope.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/hoistClassNames.js +4 -1
- package/dist/{jsx/extractor → extractor}/hoistClassNames.js.map +3 -3
- package/dist/{cjs/extractor → extractor}/literalToAst.js +18 -10
- package/dist/{jsx/extractor → extractor}/literalToAst.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/loadFile.js +0 -0
- package/dist/{cjs/extractor → extractor}/loadFile.js.map +1 -1
- package/dist/{cjs/extractor → extractor}/loadTamagui.js +34 -7
- package/dist/extractor/loadTamagui.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/logLines.js +0 -0
- package/dist/{cjs/extractor → extractor}/logLines.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/normalizeTernaries.js +8 -2
- package/dist/extractor/normalizeTernaries.js.map +7 -0
- package/dist/{cjs/extractor → extractor}/removeUnusedHooks.js +4 -1
- package/dist/{esm/extractor → extractor}/removeUnusedHooks.js.map +2 -2
- package/dist/{cjs/extractor → extractor}/timer.js +0 -0
- package/dist/{cjs/extractor → extractor}/timer.js.map +1 -1
- package/dist/{cjs/extractor → extractor}/validHTMLAttributes.js +0 -0
- package/dist/{cjs/extractor → extractor}/validHTMLAttributes.js.map +1 -1
- package/dist/{cjs/getPragmaOptions.js → getPragmaOptions.js} +0 -0
- package/dist/{cjs/getPragmaOptions.js.map → getPragmaOptions.js.map} +2 -2
- package/dist/{cjs/index.js → index.js} +9 -9
- package/dist/index.js.map +7 -0
- package/dist/{cjs/require.js → require.js} +10 -4
- package/dist/require.js.map +7 -0
- package/dist/{cjs/types.js → types.js} +0 -0
- package/dist/types.js.map +7 -0
- package/dist/{cjs/webpackPlugin.js → webpackPlugin.js} +0 -0
- package/dist/{cjs/webpackPlugin.js.map → webpackPlugin.js.map} +1 -1
- package/package.json +15 -15
- package/src/extractor/buildClassName.ts +1 -1
- package/src/extractor/createEvaluator.ts +3 -3
- package/src/extractor/createExtractor.ts +21 -15
- package/src/extractor/ensureImportingConcat.ts +1 -1
- package/src/extractor/extractHelpers.ts +4 -3
- package/src/extractor/extractMediaStyle.ts +3 -3
- package/src/extractor/extractToClassNames.ts +12 -12
- package/src/extractor/getPrefixLogs.ts +1 -1
- package/src/extractor/getPropValueFromAttributes.ts +2 -2
- package/src/extractor/getStaticBindingsForScope.ts +2 -2
- package/src/extractor/loadTamagui.ts +27 -5
- package/src/extractor/normalizeTernaries.ts +1 -1
- package/src/index.ts +9 -10
- package/src/require.ts +1 -1
- package/src/types.ts +4 -3
- package/tamagui.tsconfig.json +5 -0
- package/types/extractor/buildClassName.d.ts +1 -1
- package/types/extractor/createExtractor.d.ts +4 -4
- package/types/extractor/extractHelpers.d.ts +1 -1
- package/types/extractor/extractMediaStyle.d.ts +1 -1
- package/types/extractor/extractToClassNames.d.ts +2 -2
- package/types/extractor/getPrefixLogs.d.ts +1 -1
- package/types/extractor/normalizeTernaries.d.ts +1 -1
- package/types/index.d.ts +9 -9
- package/types/types.d.ts +4 -3
- package/dist/cjs/constants.js.map +0 -7
- package/dist/cjs/extractor/accessSafe.js.map +0 -7
- package/dist/cjs/extractor/buildClassName.js.map +0 -7
- package/dist/cjs/extractor/createEvaluator.js.map +0 -7
- package/dist/cjs/extractor/createExtractor.js.map +0 -7
- package/dist/cjs/extractor/ensureImportingConcat.js.map +0 -7
- package/dist/cjs/extractor/evaluateAstNode.js.map +0 -7
- package/dist/cjs/extractor/extractHelpers.js.map +0 -7
- package/dist/cjs/extractor/extractMediaStyle.js.map +0 -7
- package/dist/cjs/extractor/extractToClassNames.js.map +0 -7
- package/dist/cjs/extractor/getPrefixLogs.js.map +0 -7
- package/dist/cjs/extractor/getPropValueFromAttributes.js.map +0 -7
- package/dist/cjs/extractor/getSourceModule.js.map +0 -7
- package/dist/cjs/extractor/getStaticBindingsForScope.js.map +0 -7
- package/dist/cjs/extractor/hoistClassNames.js.map +0 -7
- package/dist/cjs/extractor/literalToAst.js.map +0 -7
- package/dist/cjs/extractor/loadTamagui.js.map +0 -7
- package/dist/cjs/extractor/normalizeTernaries.js.map +0 -7
- package/dist/cjs/extractor/removeUnusedHooks.js.map +0 -7
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/require.js.map +0 -7
- package/dist/cjs/types.js.map +0 -7
- package/dist/esm/constants.js +0 -17
- package/dist/esm/extractor/accessSafe.js +0 -8
- package/dist/esm/extractor/babelParse.js +0 -28
- package/dist/esm/extractor/babelParse.js.map +0 -7
- package/dist/esm/extractor/buildClassName.js +0 -37
- package/dist/esm/extractor/buildClassName.js.map +0 -7
- package/dist/esm/extractor/createEvaluator.js +0 -52
- package/dist/esm/extractor/createEvaluator.js.map +0 -7
- package/dist/esm/extractor/createExtractor.js +0 -1374
- package/dist/esm/extractor/ensureImportingConcat.js +0 -21
- package/dist/esm/extractor/ensureImportingConcat.js.map +0 -7
- package/dist/esm/extractor/evaluateAstNode.js +0 -91
- package/dist/esm/extractor/extractHelpers.js +0 -97
- package/dist/esm/extractor/extractHelpers.js.map +0 -7
- package/dist/esm/extractor/extractMediaStyle.js +0 -146
- package/dist/esm/extractor/extractMediaStyle.js.map +0 -7
- package/dist/esm/extractor/extractToClassNames.js +0 -308
- package/dist/esm/extractor/extractToClassNames.js.map +0 -7
- package/dist/esm/extractor/findTopmostFunction.js +0 -20
- package/dist/esm/extractor/findTopmostFunction.js.map +0 -7
- package/dist/esm/extractor/generatedUid.js +0 -25
- package/dist/esm/extractor/generatedUid.js.map +0 -7
- package/dist/esm/extractor/getPrefixLogs.js +0 -8
- package/dist/esm/extractor/getPrefixLogs.js.map +0 -7
- package/dist/esm/extractor/getPropValueFromAttributes.js +0 -46
- package/dist/esm/extractor/getPropValueFromAttributes.js.map +0 -7
- package/dist/esm/extractor/getSourceModule.js +0 -66
- package/dist/esm/extractor/getStaticBindingsForScope.js +0 -172
- package/dist/esm/extractor/getStaticBindingsForScope.js.map +0 -7
- package/dist/esm/extractor/hoistClassNames.js +0 -40
- package/dist/esm/extractor/hoistClassNames.js.map +0 -7
- package/dist/esm/extractor/literalToAst.js +0 -75
- package/dist/esm/extractor/literalToAst.js.map +0 -7
- package/dist/esm/extractor/loadFile.js +0 -20
- package/dist/esm/extractor/loadFile.js.map +0 -7
- package/dist/esm/extractor/loadTamagui.js +0 -255
- package/dist/esm/extractor/loadTamagui.js.map +0 -7
- package/dist/esm/extractor/logLines.js +0 -20
- package/dist/esm/extractor/logLines.js.map +0 -7
- package/dist/esm/extractor/normalizeTernaries.js +0 -49
- package/dist/esm/extractor/normalizeTernaries.js.map +0 -7
- package/dist/esm/extractor/removeUnusedHooks.js +0 -76
- package/dist/esm/extractor/timer.js +0 -29
- package/dist/esm/extractor/timer.js.map +0 -7
- package/dist/esm/extractor/validHTMLAttributes.js +0 -102
- package/dist/esm/extractor/validHTMLAttributes.js.map +0 -7
- package/dist/esm/getPragmaOptions.js +0 -44
- package/dist/esm/getPragmaOptions.js.map +0 -7
- package/dist/esm/index.js +0 -17
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/require.js +0 -62
- package/dist/esm/require.js.map +0 -7
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -7
- package/dist/esm/webpackPlugin.js +0 -11
- package/dist/esm/webpackPlugin.js.map +0 -7
- package/dist/jsx/constants.js +0 -16
- package/dist/jsx/constants.js.map +0 -7
- package/dist/jsx/extractor/accessSafe.js +0 -8
- package/dist/jsx/extractor/accessSafe.js.map +0 -7
- package/dist/jsx/extractor/babelParse.js +0 -28
- package/dist/jsx/extractor/babelParse.js.map +0 -7
- package/dist/jsx/extractor/buildClassName.js +0 -37
- package/dist/jsx/extractor/buildClassName.js.map +0 -7
- package/dist/jsx/extractor/createEvaluator.js +0 -52
- package/dist/jsx/extractor/createEvaluator.js.map +0 -7
- package/dist/jsx/extractor/createExtractor.js +0 -1367
- package/dist/jsx/extractor/createExtractor.js.map +0 -7
- package/dist/jsx/extractor/ensureImportingConcat.js +0 -21
- package/dist/jsx/extractor/ensureImportingConcat.js.map +0 -7
- package/dist/jsx/extractor/evaluateAstNode.js +0 -91
- package/dist/jsx/extractor/evaluateAstNode.js.map +0 -7
- package/dist/jsx/extractor/extractHelpers.js +0 -95
- package/dist/jsx/extractor/extractHelpers.js.map +0 -7
- package/dist/jsx/extractor/extractMediaStyle.js +0 -145
- package/dist/jsx/extractor/extractMediaStyle.js.map +0 -7
- package/dist/jsx/extractor/extractToClassNames.js +0 -307
- package/dist/jsx/extractor/extractToClassNames.js.map +0 -7
- package/dist/jsx/extractor/findTopmostFunction.js +0 -20
- package/dist/jsx/extractor/findTopmostFunction.js.map +0 -7
- package/dist/jsx/extractor/generatedUid.js +0 -25
- package/dist/jsx/extractor/generatedUid.js.map +0 -7
- package/dist/jsx/extractor/getPrefixLogs.js +0 -8
- package/dist/jsx/extractor/getPrefixLogs.js.map +0 -7
- package/dist/jsx/extractor/getPropValueFromAttributes.js +0 -46
- package/dist/jsx/extractor/getPropValueFromAttributes.js.map +0 -7
- package/dist/jsx/extractor/getSourceModule.js +0 -66
- package/dist/jsx/extractor/getSourceModule.js.map +0 -7
- package/dist/jsx/extractor/getStaticBindingsForScope.js +0 -172
- package/dist/jsx/extractor/getStaticBindingsForScope.js.map +0 -7
- package/dist/jsx/extractor/hoistClassNames.js +0 -40
- package/dist/jsx/extractor/literalToAst.js +0 -75
- package/dist/jsx/extractor/loadFile.js +0 -19
- package/dist/jsx/extractor/loadFile.js.map +0 -7
- package/dist/jsx/extractor/loadTamagui.js +0 -253
- package/dist/jsx/extractor/loadTamagui.js.map +0 -7
- package/dist/jsx/extractor/logLines.js +0 -20
- package/dist/jsx/extractor/logLines.js.map +0 -7
- package/dist/jsx/extractor/normalizeTernaries.js +0 -49
- package/dist/jsx/extractor/normalizeTernaries.js.map +0 -7
- package/dist/jsx/extractor/removeUnusedHooks.js +0 -75
- package/dist/jsx/extractor/removeUnusedHooks.js.map +0 -7
- package/dist/jsx/extractor/timer.js +0 -29
- package/dist/jsx/extractor/timer.js.map +0 -7
- package/dist/jsx/extractor/validHTMLAttributes.js +0 -102
- package/dist/jsx/extractor/validHTMLAttributes.js.map +0 -7
- package/dist/jsx/getPragmaOptions.js +0 -43
- package/dist/jsx/getPragmaOptions.js.map +0 -7
- package/dist/jsx/index.js +0 -17
- package/dist/jsx/index.js.map +0 -7
- package/dist/jsx/require.js +0 -62
- package/dist/jsx/require.js.map +0 -7
- package/dist/jsx/types.js +0 -1
- package/dist/jsx/types.js.map +0 -7
- package/dist/jsx/webpackPlugin.js +0 -11
- package/dist/jsx/webpackPlugin.js.map +0 -7
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var constants_exports = {};
|
|
23
26
|
__export(constants_exports, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../src/constants.ts"],
|
|
4
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;AAEO,MAAM,gBAAgB;AAItB,MAAM,YAAY;AAGlB,MAAM,
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyB;AAAzB;AAEO,MAAM,gBAAgB;AAItB,MAAM,YAAY;AAGlB,MAAM,eAAW,sBAAAA,SAAa,EAAE,MAAM,WAAW,QAAQ,KAAK,CAAC;AAE/D,MAAM,cAAc,OAAO,mBAAmB;AAC9C,MAAM,0BAA0B;AAEhC,MAAM,eAAe,QAAQ,IAAI,UAAU,SAAO,aAAQ,IAAI,UAAZ,mBAAmB,WAAW;",
|
|
6
|
+
"names": ["findCacheDir"]
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var accessSafe_exports = {};
|
|
23
26
|
__export(accessSafe_exports, {
|
|
@@ -26,7 +29,15 @@ __export(accessSafe_exports, {
|
|
|
26
29
|
module.exports = __toCommonJS(accessSafe_exports);
|
|
27
30
|
var t = __toESM(require("@babel/types"));
|
|
28
31
|
function accessSafe(obj, member) {
|
|
29
|
-
return t.logicalExpression(
|
|
32
|
+
return t.logicalExpression(
|
|
33
|
+
"&&",
|
|
34
|
+
t.logicalExpression(
|
|
35
|
+
"&&",
|
|
36
|
+
t.binaryExpression("===", t.unaryExpression("typeof", obj), t.stringLiteral("object")),
|
|
37
|
+
t.binaryExpression("!==", obj, t.nullLiteral())
|
|
38
|
+
),
|
|
39
|
+
t.memberExpression(obj, t.identifier(member), false)
|
|
40
|
+
);
|
|
30
41
|
}
|
|
31
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
43
|
0 && (module.exports = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../src/extractor/accessSafe.ts"],
|
|
4
4
|
"sourcesContent": ["import * as t from '@babel/types'\n\n// accessSafe wraps memberExpressions in object/null checks\n// TODO: inject this as a function? this gets pretty repetitive\nexport function accessSafe(obj: t.Expression, member: string): t.LogicalExpression {\n return t.logicalExpression(\n '&&',\n t.logicalExpression(\n '&&',\n // typeof obj === 'object\n t.binaryExpression('===', t.unaryExpression('typeof', obj), t.stringLiteral('object')),\n // obj !== null\n t.binaryExpression('!==', obj, t.nullLiteral())\n ),\n // obj.member\n t.memberExpression(obj, t.identifier(member), false)\n )\n}\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAIZ,SAAS,WAAW,KAAmB,QAAqC;AACjF,SAAO,EAAE;AAAA,IACP;AAAA,IACA,EAAE;AAAA,MACA;AAAA,MAEA,EAAE,iBAAiB,OAAO,EAAE,gBAAgB,UAAU,GAAG,GAAG,EAAE,cAAc,QAAQ,CAAC;AAAA,MAErF,EAAE,iBAAiB,OAAO,KAAK,EAAE,YAAY,CAAC;AAAA,IAChD;AAAA,IAEA,EAAE,iBAAiB,KAAK,EAAE,WAAW,MAAM,GAAG,KAAK;AAAA,EACrD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var babelParse_exports = {};
|
|
23
26
|
__export(babelParse_exports, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../src/extractor/babelParse.ts"],
|
|
4
4
|
"sourcesContent": ["import * as babelParser from '@babel/parser'\n\nconst plugins: babelParser.ParserPlugin[] = [\n 'asyncGenerators',\n 'classProperties',\n 'dynamicImport',\n 'functionBind',\n 'jsx',\n 'numericSeparator',\n 'objectRestSpread',\n 'optionalCatchBinding',\n 'decorators-legacy',\n 'typescript',\n 'optionalChaining',\n 'nullishCoalescingOperator',\n]\n\nexport const parserOptions: babelParser.ParserOptions = Object.freeze({\n plugins,\n sourceType: 'module',\n})\n\nconst parser = babelParser.parse.bind(babelParser)\n\nexport function babelParse(code: string | Buffer): any {\n return parser(code.toString(), parserOptions)\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAE7B,MAAM,UAAsC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,gBAA2C,OAAO,OAAO;AAAA,EACpE;AAAA,EACA,YAAY;AACd,CAAC;AAED,MAAM,SAAS,YAAY,MAAM,KAAK,WAAW;AAE1C,SAAS,WAAW,MAA4B;AACrD,SAAO,OAAO,KAAK,SAAS,GAAG,aAAa;AAC9C;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var buildClassName_exports = {};
|
|
23
26
|
__export(buildClassName_exports, {
|
|
@@ -47,12 +50,24 @@ function buildClassName(classNameObjects) {
|
|
|
47
50
|
}
|
|
48
51
|
inner = t.binaryExpression("+", t.stringLiteral(" "), val);
|
|
49
52
|
} else if (t.isIdentifier(val) || t.isMemberExpression(val)) {
|
|
50
|
-
inner = t.conditionalExpression(
|
|
53
|
+
inner = t.conditionalExpression(
|
|
54
|
+
val,
|
|
55
|
+
t.binaryExpression("+", t.stringLiteral(" "), val),
|
|
56
|
+
t.stringLiteral("")
|
|
57
|
+
);
|
|
51
58
|
} else {
|
|
52
59
|
if (t.isStringLiteral(acc)) {
|
|
53
|
-
return t.binaryExpression(
|
|
60
|
+
return t.binaryExpression(
|
|
61
|
+
"+",
|
|
62
|
+
t.stringLiteral(`${acc.value} `),
|
|
63
|
+
t.logicalExpression("||", val, t.stringLiteral(""))
|
|
64
|
+
);
|
|
54
65
|
}
|
|
55
|
-
inner = t.binaryExpression(
|
|
66
|
+
inner = t.binaryExpression(
|
|
67
|
+
"+",
|
|
68
|
+
t.stringLiteral(" "),
|
|
69
|
+
t.logicalExpression("||", val, t.stringLiteral(""))
|
|
70
|
+
);
|
|
56
71
|
}
|
|
57
72
|
return t.binaryExpression("+", acc, inner);
|
|
58
73
|
}, null);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/extractor/buildClassName.ts"],
|
|
4
|
+
"sourcesContent": ["import * as t from '@babel/types'\n\nimport type { ClassNameObject } from '../types.js'\n\nexport function buildClassName(\n classNameObjects: ClassNameObject[]\n): t.Expression | t.StringLiteral | null {\n return classNameObjects.reduce<t.Expression | null>((acc, val) => {\n if (acc == null) {\n if (\n // pass conditional expressions through\n t.isConditionalExpression(val) ||\n // pass non-null literals through\n t.isStringLiteral(val) ||\n t.isNumericLiteral(val)\n ) {\n return val\n }\n return t.logicalExpression('||', val, t.stringLiteral(''))\n }\n\n let inner: t.Expression\n if (t.isStringLiteral(val)) {\n if (t.isStringLiteral(acc)) {\n // join adjacent string literals\n return t.stringLiteral(`${acc.value} ${val.value}`)\n }\n inner = t.stringLiteral(` ${val.value}`)\n } else if (t.isLiteral(val)) {\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression('+', t.stringLiteral(`${acc.value} `), val)\n }\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isIdentifier(val) || t.isMemberExpression(val)) {\n // identifiers and member expressions make for reasonable ternaries\n inner = t.conditionalExpression(\n val,\n t.binaryExpression('+', t.stringLiteral(' '), val),\n t.stringLiteral('')\n )\n } else {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression(\n '+',\n t.stringLiteral(`${acc.value} `),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n // use a logical expression for more complex prop values\n inner = t.binaryExpression(\n '+',\n t.stringLiteral(' '),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n\n return t.binaryExpression('+', acc, inner)\n }, null)\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAIZ,SAAS,eACd,kBACuC;AACvC,SAAO,iBAAiB,OAA4B,CAAC,KAAK,QAAQ;AAChE,QAAI,OAAO,MAAM;AACf,UAEE,EAAE,wBAAwB,GAAG,KAE7B,EAAE,gBAAgB,GAAG,KACrB,EAAE,iBAAiB,GAAG,GACtB;AACA,eAAO;AAAA,MACT;AACA,aAAO,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,IAC3D;AAEA,QAAI;AACJ,QAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAE1B,eAAO,EAAE,cAAc,GAAG,IAAI,SAAS,IAAI,OAAO;AAAA,MACpD;AACA,cAAQ,EAAE,cAAc,IAAI,IAAI,OAAO;AAAA,IACzC,WAAW,EAAE,UAAU,GAAG,GAAG;AAC3B,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,wBAAwB,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AACtE,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,IAAI,QAAQ,GAAG,GAAG;AAAA,MACtE;AACA,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,aAAa,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AAE3D,cAAQ,EAAE;AAAA,QACR;AAAA,QACA,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,QACjD,EAAE,cAAc,EAAE;AAAA,MACpB;AAAA,IACF,OAAO;AACL,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE;AAAA,UACP;AAAA,UACA,EAAE,cAAc,GAAG,IAAI,QAAQ;AAAA,UAC/B,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,QACpD;AAAA,MACF;AAEA,cAAQ,EAAE;AAAA,QACR;AAAA,QACA,EAAE,cAAc,GAAG;AAAA,QACnB,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,MACpD;AAAA,IACF;AAEA,WAAO,EAAE,iBAAiB,KAAK,KAAK,KAAK;AAAA,EAC3C,GAAG,IAAI;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var createEvaluator_exports = {};
|
|
23
26
|
__export(createEvaluator_exports, {
|
|
@@ -30,9 +33,9 @@ var import_generator = __toESM(require("@babel/generator"));
|
|
|
30
33
|
var t = __toESM(require("@babel/types"));
|
|
31
34
|
var import_core_node = require("@tamagui/core-node");
|
|
32
35
|
var import_esbuild = __toESM(require("esbuild"));
|
|
33
|
-
var import_constants = require("../constants");
|
|
34
|
-
var import_evaluateAstNode = require("./evaluateAstNode");
|
|
35
|
-
var import_extractHelpers = require("./extractHelpers");
|
|
36
|
+
var import_constants = require("../constants.js");
|
|
37
|
+
var import_evaluateAstNode = require("./evaluateAstNode.js");
|
|
38
|
+
var import_extractHelpers = require("./extractHelpers.js");
|
|
36
39
|
function createEvaluator({
|
|
37
40
|
tamaguiConfig,
|
|
38
41
|
staticNamespace,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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-node'\nimport { createCSSVariable } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\n\nimport { FAILED_EVAL } from '../constants.js'\nimport { evaluateAstNode } from './evaluateAstNode.js'\nimport { isValidThemeHook } from './extractHelpers.js'\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 // eslint-disable-next-line no-console\n console.log(' > found theme prop', 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 // eslint-disable-next-line no-console\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
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAEf,uBAAqB;AAErB,QAAmB;AAEnB,uBAAkC;AAClC,qBAAoB;AAEpB,uBAA4B;AAC5B,6BAAgC;AAChC,4BAAiC;AAE1B,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QACE,EAAE,mBAAmB,CAAC,KACtB,EAAE,aAAa,EAAE,QAAQ,KACzB,oBACA,wCAAiB,cAAc,GAAG,UAAU,GAC5C;AACA,YAAM,MAAM,EAAE,SAAS;AACvB,UAAI,kBAAkB;AAEpB,gBAAQ,IAAI,0BAA0B,GAAG;AAAA,MAC3C;AACA,iBAAO,oCAAkB,GAAG;AAAA,IAC9B;AAEA,QAAI,EAAE,aAAa,CAAC,KAAK,gBAAgB,eAAe,EAAE,IAAI,GAAG;AAC/D,aAAO,gBAAgB,EAAE;AAAA,IAC3B;AACA,UAAM,cAAc,UAAAA,QAAG,cAAc,eAAe;AACpD,UAAM,gCAAgC,QAAI,iBAAAC,SAAS,CAAQ,EAAE;AAC7D,UAAM,OAAO,eAAAC,QACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,QAAI,kBAAkB;AAEpB,cAAQ,IAAI,cAAc,IAAI;AAAA,IAChC;AACA,WAAO,UAAAF,QAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MAAc;AACpB,eAAO,wCAAgB,GAAG,MAAM;AAAA,EAClC;AACF;AAEO,SAAS,oBAAoB,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,SAAS,KAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
|
6
|
+
"names": ["vm", "generate", "esbuild"]
|
|
7
|
+
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var createExtractor_exports = {};
|
|
23
26
|
__export(createExtractor_exports, {
|
|
@@ -28,19 +31,19 @@ var import_path = require("path");
|
|
|
28
31
|
var import_traverse = __toESM(require("@babel/traverse"));
|
|
29
32
|
var t = __toESM(require("@babel/types"));
|
|
30
33
|
var import_core_node = require("@tamagui/core-node");
|
|
31
|
-
var import_constants = require("../constants");
|
|
32
|
-
var import_createEvaluator = require("./createEvaluator");
|
|
33
|
-
var import_evaluateAstNode = require("./evaluateAstNode");
|
|
34
|
-
var import_extractHelpers = require("./extractHelpers");
|
|
35
|
-
var import_findTopmostFunction = require("./findTopmostFunction");
|
|
36
|
-
var import_getStaticBindingsForScope = require("./getStaticBindingsForScope");
|
|
37
|
-
var import_literalToAst = require("./literalToAst");
|
|
38
|
-
var import_loadTamagui = require("./loadTamagui");
|
|
39
|
-
var import_logLines = require("./logLines");
|
|
40
|
-
var import_normalizeTernaries = require("./normalizeTernaries");
|
|
41
|
-
var import_removeUnusedHooks = require("./removeUnusedHooks");
|
|
42
|
-
var import_timer = require("./timer");
|
|
43
|
-
var import_validHTMLAttributes = require("./validHTMLAttributes");
|
|
34
|
+
var import_constants = require("../constants.js");
|
|
35
|
+
var import_createEvaluator = require("./createEvaluator.js");
|
|
36
|
+
var import_evaluateAstNode = require("./evaluateAstNode.js");
|
|
37
|
+
var import_extractHelpers = require("./extractHelpers.js");
|
|
38
|
+
var import_findTopmostFunction = require("./findTopmostFunction.js");
|
|
39
|
+
var import_getStaticBindingsForScope = require("./getStaticBindingsForScope.js");
|
|
40
|
+
var import_literalToAst = require("./literalToAst.js");
|
|
41
|
+
var import_loadTamagui = require("./loadTamagui.js");
|
|
42
|
+
var import_logLines = require("./logLines.js");
|
|
43
|
+
var import_normalizeTernaries = require("./normalizeTernaries.js");
|
|
44
|
+
var import_removeUnusedHooks = require("./removeUnusedHooks.js");
|
|
45
|
+
var import_timer = require("./timer.js");
|
|
46
|
+
var import_validHTMLAttributes = require("./validHTMLAttributes.js");
|
|
44
47
|
const UNTOUCHED_PROPS = {
|
|
45
48
|
key: true,
|
|
46
49
|
style: true,
|
|
@@ -144,7 +147,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
144
147
|
console.log("tamagui.config.ts:", { components, config });
|
|
145
148
|
}
|
|
146
149
|
tm.mark("load-tamagui", !!shouldPrintDebug);
|
|
147
|
-
const proxiedTheme = (0, import_core_node.proxyThemeVariables)(
|
|
150
|
+
const proxiedTheme = (0, import_core_node.proxyThemeVariables)(
|
|
151
|
+
tamaguiConfig.themes[Object.keys(tamaguiConfig.themes)[0]]
|
|
152
|
+
);
|
|
148
153
|
const themeAccessListeners = /* @__PURE__ */ new Set();
|
|
149
154
|
const defaultTheme = new Proxy(proxiedTheme, {
|
|
150
155
|
get(target2, key) {
|
|
@@ -243,7 +248,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
243
248
|
let Component = validComponents[name];
|
|
244
249
|
if (!Component) {
|
|
245
250
|
if (shouldPrintDebug) {
|
|
246
|
-
logger.info(
|
|
251
|
+
logger.info(
|
|
252
|
+
`Didn't recognize styled(${name}), ${name} isn't in design system provided to tamagui.config.ts. Will attempt to build isolated and analyze.. ${programPath}`
|
|
253
|
+
);
|
|
247
254
|
}
|
|
248
255
|
const out2 = (0, import_loadTamagui.loadTamaguiSync)({
|
|
249
256
|
components: [sourcePath]
|
|
@@ -270,7 +277,13 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
270
277
|
]);
|
|
271
278
|
const skipped = [];
|
|
272
279
|
const styles = {};
|
|
273
|
-
const staticNamespace = (0, import_getStaticBindingsForScope.getStaticBindingsForScope)(
|
|
280
|
+
const staticNamespace = (0, import_getStaticBindingsForScope.getStaticBindingsForScope)(
|
|
281
|
+
path.scope,
|
|
282
|
+
importsWhitelist,
|
|
283
|
+
sourcePath,
|
|
284
|
+
bindingCache,
|
|
285
|
+
shouldPrintDebug
|
|
286
|
+
);
|
|
274
287
|
const attemptEval = !evaluateVars ? import_evaluateAstNode.evaluateAstNode : (0, import_createEvaluator.createEvaluator)({
|
|
275
288
|
tamaguiConfig,
|
|
276
289
|
staticNamespace,
|
|
@@ -361,7 +374,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
361
374
|
const filePath = `./${(0, import_path.relative)(process.cwd(), sourcePath)}`;
|
|
362
375
|
const lineNumbers = node.loc ? node.loc.start.line + (node.loc.start.line !== node.loc.end.line ? `-${node.loc.end.line}` : "") : "";
|
|
363
376
|
const codePosition = `${filePath}:${lineNumbers}`;
|
|
364
|
-
const debugPropValue = node.attributes.filter(
|
|
377
|
+
const debugPropValue = node.attributes.filter(
|
|
378
|
+
(n) => t.isJSXAttribute(n) && t.isJSXIdentifier(n.name) && n.name.name === "debug"
|
|
379
|
+
).map((n) => {
|
|
365
380
|
if (n.value === null)
|
|
366
381
|
return true;
|
|
367
382
|
if (t.isStringLiteral(n.value))
|
|
@@ -373,16 +388,27 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
373
388
|
}
|
|
374
389
|
if (shouldPrintDebug) {
|
|
375
390
|
logger.info("\n");
|
|
376
|
-
logger.info(
|
|
391
|
+
logger.info(
|
|
392
|
+
`\x1B[33m%s\x1B[0m ${componentName} | ${codePosition} -------------------`
|
|
393
|
+
);
|
|
377
394
|
logger.info(["\x1B[1m", "\x1B[32m", `<${originalNodeName} />`, disableDebugAttr ? "" : "\u{1F41B}"].join(" "));
|
|
378
395
|
}
|
|
379
396
|
if (shouldAddDebugProp && !disableDebugAttr) {
|
|
380
397
|
res.modified++;
|
|
381
|
-
node.attributes.unshift(
|
|
398
|
+
node.attributes.unshift(
|
|
399
|
+
t.jsxAttribute(t.jsxIdentifier("data-is"), t.stringLiteral(node.name.name))
|
|
400
|
+
);
|
|
382
401
|
if (componentName) {
|
|
383
|
-
node.attributes.unshift(
|
|
402
|
+
node.attributes.unshift(
|
|
403
|
+
t.jsxAttribute(t.jsxIdentifier("data-in"), t.stringLiteral(componentName))
|
|
404
|
+
);
|
|
384
405
|
}
|
|
385
|
-
node.attributes.unshift(
|
|
406
|
+
node.attributes.unshift(
|
|
407
|
+
t.jsxAttribute(
|
|
408
|
+
t.jsxIdentifier("data-at"),
|
|
409
|
+
t.stringLiteral(`${(0, import_path.basename)(filePath)}:${lineNumbers}`)
|
|
410
|
+
)
|
|
411
|
+
);
|
|
386
412
|
}
|
|
387
413
|
if (disableExtraction) {
|
|
388
414
|
return;
|
|
@@ -460,9 +486,13 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
460
486
|
if (import_core_node.mediaQueryConfig[shortname]) {
|
|
461
487
|
const expression = attribute.value.expression;
|
|
462
488
|
if (!t.isJSXEmptyExpression(expression)) {
|
|
463
|
-
const ternaries2 = createTernariesFromObjectProperties2(
|
|
464
|
-
|
|
465
|
-
|
|
489
|
+
const ternaries2 = createTernariesFromObjectProperties2(
|
|
490
|
+
t.stringLiteral(shortname),
|
|
491
|
+
expression,
|
|
492
|
+
{
|
|
493
|
+
inlineMediaQuery: shortname
|
|
494
|
+
}
|
|
495
|
+
);
|
|
466
496
|
if (ternaries2) {
|
|
467
497
|
return ternaries2.map((value2) => ({
|
|
468
498
|
type: "ternary",
|
|
@@ -499,7 +529,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
499
529
|
if (value) {
|
|
500
530
|
if (value.type === "StringLiteral" && value.value[0] === "$") {
|
|
501
531
|
if (shouldPrintDebug) {
|
|
502
|
-
logger.info(
|
|
532
|
+
logger.info(
|
|
533
|
+
[` ! inlining, native disable extract: ${name} =`, value.value].join(" ")
|
|
534
|
+
);
|
|
503
535
|
}
|
|
504
536
|
inlined.set(name, true);
|
|
505
537
|
return attr;
|
|
@@ -514,7 +546,16 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
514
546
|
if (!variants[name] && !isValidStyleKey(name, staticConfig)) {
|
|
515
547
|
let keys = [name];
|
|
516
548
|
let out = null;
|
|
517
|
-
out = staticConfig.propMapper(
|
|
549
|
+
out = staticConfig.propMapper(
|
|
550
|
+
name,
|
|
551
|
+
styleValue,
|
|
552
|
+
defaultTheme,
|
|
553
|
+
staticConfig.defaultProps,
|
|
554
|
+
{ resolveVariablesAs: "auto" },
|
|
555
|
+
void 0,
|
|
556
|
+
void 0,
|
|
557
|
+
shouldPrintDebug
|
|
558
|
+
);
|
|
518
559
|
if (out) {
|
|
519
560
|
if (!Array.isArray(out)) {
|
|
520
561
|
logger.warn(`Error expected array but got`, out);
|
|
@@ -731,9 +772,13 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
731
772
|
const isMediaQuery = key[0] === "$" && import_core_node.mediaQueryConfig[mediaQueryKey];
|
|
732
773
|
if (isMediaQuery) {
|
|
733
774
|
if (t.isExpression(property.value)) {
|
|
734
|
-
const ternaries2 = createTernariesFromObjectProperties2(
|
|
735
|
-
|
|
736
|
-
|
|
775
|
+
const ternaries2 = createTernariesFromObjectProperties2(
|
|
776
|
+
t.stringLiteral(mediaQueryKey),
|
|
777
|
+
property.value,
|
|
778
|
+
{
|
|
779
|
+
inlineMediaQuery: mediaQueryKey
|
|
780
|
+
}
|
|
781
|
+
);
|
|
737
782
|
if (ternaries2) {
|
|
738
783
|
return ternaries2.map((value) => ({
|
|
739
784
|
...ternaryPartial,
|
|
@@ -764,7 +809,11 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
764
809
|
}),
|
|
765
810
|
createTernary({
|
|
766
811
|
...ternaryPartial,
|
|
767
|
-
test: t.logicalExpression(
|
|
812
|
+
test: t.logicalExpression(
|
|
813
|
+
"&&",
|
|
814
|
+
test,
|
|
815
|
+
t.unaryExpression("!", property.value.test)
|
|
816
|
+
),
|
|
768
817
|
consequent: falsy,
|
|
769
818
|
alternate: null,
|
|
770
819
|
remove() {
|
|
@@ -848,7 +897,13 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
848
897
|
...staticConfig.deoptProps || []
|
|
849
898
|
]);
|
|
850
899
|
const inlineWhenUnflattened = /* @__PURE__ */ new Set([...staticConfig.inlineWhenUnflattened || []]);
|
|
851
|
-
const staticNamespace = (0, import_getStaticBindingsForScope.getStaticBindingsForScope)(
|
|
900
|
+
const staticNamespace = (0, import_getStaticBindingsForScope.getStaticBindingsForScope)(
|
|
901
|
+
traversePath.scope,
|
|
902
|
+
importsWhitelist,
|
|
903
|
+
sourcePath,
|
|
904
|
+
bindingCache,
|
|
905
|
+
shouldPrintDebug
|
|
906
|
+
);
|
|
852
907
|
const attemptEval = !evaluateVars ? import_evaluateAstNode.evaluateAstNode : (0, import_createEvaluator.createEvaluator)({
|
|
853
908
|
tamaguiConfig,
|
|
854
909
|
staticNamespace,
|
|
@@ -891,7 +946,12 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
891
946
|
logger.error(["Unhandled null prop", k, value, arg].join(" "));
|
|
892
947
|
continue;
|
|
893
948
|
}
|
|
894
|
-
flattenedAttrs.push(
|
|
949
|
+
flattenedAttrs.push(
|
|
950
|
+
t.jsxAttribute(
|
|
951
|
+
t.jsxIdentifier(k),
|
|
952
|
+
t.jsxExpressionContainer((0, import_literalToAst.literalToAst)(value))
|
|
953
|
+
)
|
|
954
|
+
);
|
|
895
955
|
}
|
|
896
956
|
}
|
|
897
957
|
} catch (err) {
|
|
@@ -932,7 +992,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
932
992
|
}
|
|
933
993
|
}).flat(4).filter(import_extractHelpers.isPresent);
|
|
934
994
|
if (shouldPrintDebug) {
|
|
935
|
-
logger.info(
|
|
995
|
+
logger.info(
|
|
996
|
+
[" - attrs (before):\n", (0, import_logLines.logLines)(attrs.map(import_extractHelpers.attrStr).join(", "))].join(" ")
|
|
997
|
+
);
|
|
936
998
|
}
|
|
937
999
|
node.attributes = attrs.filter(isAttr).map((x) => x.value);
|
|
938
1000
|
if (couldntParse || shouldDeopt) {
|
|
@@ -953,21 +1015,25 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
953
1015
|
ternaries.push(cur.value);
|
|
954
1016
|
}
|
|
955
1017
|
if ((!next || next.type !== "ternary") && ternaries.length) {
|
|
956
|
-
const normalized = (0, import_normalizeTernaries.normalizeTernaries)(ternaries).map(
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
1018
|
+
const normalized = (0, import_normalizeTernaries.normalizeTernaries)(ternaries).map(
|
|
1019
|
+
({ alternate, consequent, ...rest }) => {
|
|
1020
|
+
return {
|
|
1021
|
+
type: "ternary",
|
|
1022
|
+
value: {
|
|
1023
|
+
...rest,
|
|
1024
|
+
alternate: alternate || null,
|
|
1025
|
+
consequent: consequent || null
|
|
1026
|
+
}
|
|
1027
|
+
};
|
|
1028
|
+
}
|
|
1029
|
+
);
|
|
966
1030
|
try {
|
|
967
1031
|
return [...out, ...normalized];
|
|
968
1032
|
} finally {
|
|
969
1033
|
if (shouldPrintDebug) {
|
|
970
|
-
logger.info(
|
|
1034
|
+
logger.info(
|
|
1035
|
+
` normalizeTernaries (${ternaries.length} => ${normalized.length})`
|
|
1036
|
+
);
|
|
971
1037
|
}
|
|
972
1038
|
ternaries = [];
|
|
973
1039
|
}
|
|
@@ -1006,14 +1072,27 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1006
1072
|
if (shouldPrintDebug) {
|
|
1007
1073
|
logger.info([" - wrapping theme", themeVal].join(" "));
|
|
1008
1074
|
}
|
|
1009
|
-
attrs = attrs.filter(
|
|
1075
|
+
attrs = attrs.filter(
|
|
1076
|
+
(x) => x.type === "attr" && t.isJSXAttribute(x.value) && x.value.name.name === "theme" ? false : true
|
|
1077
|
+
);
|
|
1010
1078
|
if (!hasImportedTheme) {
|
|
1011
1079
|
hasImportedTheme = true;
|
|
1012
|
-
programPath.node.body.push(
|
|
1080
|
+
programPath.node.body.push(
|
|
1081
|
+
t.importDeclaration(
|
|
1082
|
+
[t.importSpecifier(t.identifier("_TamaguiTheme"), t.identifier("Theme"))],
|
|
1083
|
+
t.stringLiteral("@tamagui/core")
|
|
1084
|
+
)
|
|
1085
|
+
);
|
|
1013
1086
|
}
|
|
1014
|
-
traversePath.replaceWith(
|
|
1015
|
-
t.
|
|
1016
|
-
|
|
1087
|
+
traversePath.replaceWith(
|
|
1088
|
+
t.jsxElement(
|
|
1089
|
+
t.jsxOpeningElement(t.jsxIdentifier("_TamaguiTheme"), [
|
|
1090
|
+
t.jsxAttribute(t.jsxIdentifier("name"), themeVal.value)
|
|
1091
|
+
]),
|
|
1092
|
+
t.jsxClosingElement(t.jsxIdentifier("_TamaguiTheme")),
|
|
1093
|
+
[traversePath.node]
|
|
1094
|
+
)
|
|
1095
|
+
);
|
|
1017
1096
|
}
|
|
1018
1097
|
if (shouldFlatten) {
|
|
1019
1098
|
const defaultStyleAttrs = Object.keys(staticConfig.defaultProps).flatMap((key) => {
|
|
@@ -1048,7 +1127,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1048
1127
|
if (cur.type === "style") {
|
|
1049
1128
|
for (const key in cur.value) {
|
|
1050
1129
|
const shouldEnsureOverridden = !!((_b = staticConfig.ensureOverriddenProp) == null ? void 0 : _b[key]);
|
|
1051
|
-
const isSetInAttrsAlready = attrs.some(
|
|
1130
|
+
const isSetInAttrsAlready = attrs.some(
|
|
1131
|
+
(x) => x.type === "attr" && x.value.type === "JSXAttribute" && x.value.name.name === key
|
|
1132
|
+
);
|
|
1052
1133
|
if (!isSetInAttrsAlready) {
|
|
1053
1134
|
const isVariant = !!((_c = staticConfig.variants) == null ? void 0 : _c[cur.name || ""]);
|
|
1054
1135
|
if (isVariant || shouldEnsureOverridden) {
|
|
@@ -1060,8 +1141,12 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1060
1141
|
}
|
|
1061
1142
|
}
|
|
1062
1143
|
if (shouldPrintDebug) {
|
|
1063
|
-
logger.info(
|
|
1064
|
-
|
|
1144
|
+
logger.info(
|
|
1145
|
+
[" - attrs (flattened): \n", (0, import_logLines.logLines)(attrs.map(import_extractHelpers.attrStr).join(", "))].join(" ")
|
|
1146
|
+
);
|
|
1147
|
+
logger.info(
|
|
1148
|
+
[" - ensureOverriden:", Object.keys(ensureOverridden).join(", ")].join(" ")
|
|
1149
|
+
);
|
|
1065
1150
|
}
|
|
1066
1151
|
const state = {
|
|
1067
1152
|
noClassNames: false,
|
|
@@ -1118,7 +1203,18 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1118
1203
|
return acc;
|
|
1119
1204
|
}
|
|
1120
1205
|
if (variants[name] && variantValues.has(name)) {
|
|
1121
|
-
let out = Object.fromEntries(
|
|
1206
|
+
let out = Object.fromEntries(
|
|
1207
|
+
staticConfig.propMapper(
|
|
1208
|
+
name,
|
|
1209
|
+
variantValues.get(name),
|
|
1210
|
+
defaultTheme,
|
|
1211
|
+
completeProps,
|
|
1212
|
+
{ ...state, resolveVariablesAs: "auto" },
|
|
1213
|
+
void 0,
|
|
1214
|
+
void 0,
|
|
1215
|
+
shouldPrintDebug
|
|
1216
|
+
) || []
|
|
1217
|
+
);
|
|
1122
1218
|
if (out && isTargetingHTML) {
|
|
1123
1219
|
const cn = out.className;
|
|
1124
1220
|
out = (0, import_core_node.createDOMProps)(isTextView ? "span" : "div", out);
|
|
@@ -1139,7 +1235,12 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1139
1235
|
} else {
|
|
1140
1236
|
acc.push({
|
|
1141
1237
|
type: "attr",
|
|
1142
|
-
value: t.jsxAttribute(
|
|
1238
|
+
value: t.jsxAttribute(
|
|
1239
|
+
t.jsxIdentifier(key2),
|
|
1240
|
+
t.jsxExpressionContainer(
|
|
1241
|
+
typeof value2 === "string" ? t.stringLiteral(value2) : (0, import_literalToAst.literalToAst)(value2)
|
|
1242
|
+
)
|
|
1243
|
+
)
|
|
1143
1244
|
});
|
|
1144
1245
|
}
|
|
1145
1246
|
}
|
|
@@ -1165,7 +1266,10 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1165
1266
|
}
|
|
1166
1267
|
acc.push({
|
|
1167
1268
|
type: "attr",
|
|
1168
|
-
value: t.jsxAttribute(
|
|
1269
|
+
value: t.jsxAttribute(
|
|
1270
|
+
t.jsxIdentifier(key),
|
|
1271
|
+
t.jsxExpressionContainer(t.stringLiteral(value))
|
|
1272
|
+
)
|
|
1169
1273
|
});
|
|
1170
1274
|
return acc;
|
|
1171
1275
|
}
|
|
@@ -1175,7 +1279,9 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1175
1279
|
}, []);
|
|
1176
1280
|
tm.mark("jsx-element-expanded", !!shouldPrintDebug);
|
|
1177
1281
|
if (shouldPrintDebug) {
|
|
1178
|
-
logger.info(
|
|
1282
|
+
logger.info(
|
|
1283
|
+
[" - attrs (expanded): \n", (0, import_logLines.logLines)(attrs.map(import_extractHelpers.attrStr).join(", "))].join(" ")
|
|
1284
|
+
);
|
|
1179
1285
|
}
|
|
1180
1286
|
let prev = null;
|
|
1181
1287
|
attrs = attrs.reduce((acc, cur) => {
|
|
@@ -1190,7 +1296,12 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1190
1296
|
prev = cur;
|
|
1191
1297
|
acc.push({
|
|
1192
1298
|
type: "attr",
|
|
1193
|
-
value: t.jsxAttribute(
|
|
1299
|
+
value: t.jsxAttribute(
|
|
1300
|
+
t.jsxIdentifier(key),
|
|
1301
|
+
t.jsxExpressionContainer(
|
|
1302
|
+
typeof value === "string" ? t.stringLiteral(value) : (0, import_literalToAst.literalToAst)(value)
|
|
1303
|
+
)
|
|
1304
|
+
)
|
|
1194
1305
|
});
|
|
1195
1306
|
acc.push(cur);
|
|
1196
1307
|
return acc;
|
|
@@ -1211,8 +1322,12 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1211
1322
|
return acc;
|
|
1212
1323
|
}, []);
|
|
1213
1324
|
if (shouldPrintDebug) {
|
|
1214
|
-
logger.info(
|
|
1215
|
-
|
|
1325
|
+
logger.info(
|
|
1326
|
+
[" - attrs (combined \u{1F500}): \n", (0, import_logLines.logLines)(attrs.map(import_extractHelpers.attrStr).join(", "))].join(" ")
|
|
1327
|
+
);
|
|
1328
|
+
logger.info(
|
|
1329
|
+
[" - defaultProps: \n", (0, import_logLines.logLines)((0, import_extractHelpers.objToStr)(staticConfig.defaultProps))].join(" ")
|
|
1330
|
+
);
|
|
1216
1331
|
logger.info([" - foundStaticProps: \n", (0, import_logLines.logLines)((0, import_extractHelpers.objToStr)(foundStaticProps))].join(" "));
|
|
1217
1332
|
logger.info([" - completeProps: \n", (0, import_logLines.logLines)((0, import_extractHelpers.objToStr)(completeProps))].join(" "));
|
|
1218
1333
|
}
|
|
@@ -1232,10 +1347,17 @@ function createExtractor({ logger = console } = { logger: console }) {
|
|
|
1232
1347
|
}
|
|
1233
1348
|
}
|
|
1234
1349
|
try {
|
|
1235
|
-
const out = (0, import_core_node.getSplitStyles)(
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1350
|
+
const out = (0, import_core_node.getSplitStyles)(
|
|
1351
|
+
props2,
|
|
1352
|
+
staticConfig,
|
|
1353
|
+
defaultTheme,
|
|
1354
|
+
{
|
|
1355
|
+
...state,
|
|
1356
|
+
fallbackProps: completeProps
|
|
1357
|
+
},
|
|
1358
|
+
void 0,
|
|
1359
|
+
props2["debug"]
|
|
1360
|
+
);
|
|
1239
1361
|
const outStyle = {
|
|
1240
1362
|
...out.style,
|
|
1241
1363
|
...out.pseudos
|