@tamagui/static 1.61.2 → 1.62.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/constants.js +8 -19
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +43 -0
- package/dist/cjs/constants.native.js.map +6 -0
- package/dist/cjs/extractor/accessSafe.js +8 -14
- package/dist/cjs/extractor/accessSafe.js.map +1 -1
- package/dist/cjs/extractor/accessSafe.native.js +52 -0
- package/dist/cjs/extractor/accessSafe.native.js.map +6 -0
- package/dist/cjs/extractor/babelParse.js +9 -17
- package/dist/cjs/extractor/babelParse.js.map +1 -1
- package/dist/cjs/extractor/babelParse.native.js +65 -0
- package/dist/cjs/extractor/babelParse.native.js.map +6 -0
- package/dist/cjs/extractor/buildClassName.js +44 -67
- package/dist/cjs/extractor/buildClassName.js.map +1 -1
- package/dist/cjs/extractor/buildClassName.native.js +78 -0
- package/dist/cjs/extractor/buildClassName.native.js.map +6 -0
- package/dist/cjs/extractor/bundle.js +44 -79
- package/dist/cjs/extractor/bundle.js.map +1 -1
- package/dist/cjs/extractor/bundle.native.js +118 -0
- package/dist/cjs/extractor/bundle.native.js.map +6 -0
- package/dist/cjs/extractor/bundleConfig.js +107 -204
- package/dist/cjs/extractor/bundleConfig.js.map +1 -1
- package/dist/cjs/extractor/bundleConfig.native.js +316 -0
- package/dist/cjs/extractor/bundleConfig.native.js.map +6 -0
- package/dist/cjs/extractor/createEvaluator.js +13 -41
- package/dist/cjs/extractor/createEvaluator.js.map +1 -1
- package/dist/cjs/extractor/createEvaluator.native.js +60 -0
- package/dist/cjs/extractor/createEvaluator.native.js.map +6 -0
- package/dist/cjs/extractor/createExtractor.js +497 -1128
- package/dist/cjs/extractor/createExtractor.js.map +2 -2
- package/dist/cjs/extractor/createExtractor.native.js +1067 -0
- package/dist/cjs/extractor/createExtractor.native.js.map +6 -0
- package/dist/cjs/extractor/ensureImportingConcat.js +12 -23
- package/dist/cjs/extractor/ensureImportingConcat.js.map +1 -1
- package/dist/cjs/extractor/ensureImportingConcat.native.js +55 -0
- package/dist/cjs/extractor/ensureImportingConcat.native.js.map +6 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.js +40 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.js.map +6 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.native.js +41 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.native.js.map +6 -0
- package/dist/cjs/extractor/evaluateAstNode.js +67 -95
- package/dist/cjs/extractor/evaluateAstNode.js.map +1 -1
- package/dist/cjs/extractor/evaluateAstNode.native.js +104 -0
- package/dist/cjs/extractor/evaluateAstNode.native.js.map +6 -0
- package/dist/cjs/extractor/extractHelpers.js +43 -123
- package/dist/cjs/extractor/extractHelpers.js.map +1 -1
- package/dist/cjs/extractor/extractHelpers.native.js +131 -0
- package/dist/cjs/extractor/extractHelpers.native.js.map +6 -0
- package/dist/cjs/extractor/extractMediaStyle.js +42 -110
- package/dist/cjs/extractor/extractMediaStyle.js.map +1 -1
- package/dist/cjs/extractor/extractMediaStyle.native.js +127 -0
- package/dist/cjs/extractor/extractMediaStyle.native.js.map +6 -0
- package/dist/cjs/extractor/extractToClassNames.js +134 -254
- package/dist/cjs/extractor/extractToClassNames.js.map +1 -1
- package/dist/cjs/extractor/extractToClassNames.native.js +304 -0
- package/dist/cjs/extractor/extractToClassNames.native.js.map +6 -0
- package/dist/cjs/extractor/findTopmostFunction.js +9 -17
- package/dist/cjs/extractor/findTopmostFunction.js.map +1 -1
- package/dist/cjs/extractor/findTopmostFunction.native.js +37 -0
- package/dist/cjs/extractor/findTopmostFunction.native.js.map +6 -0
- package/dist/cjs/extractor/generateTamaguiStudioConfig.js +34 -78
- package/dist/cjs/extractor/generateTamaguiStudioConfig.js.map +1 -1
- package/dist/cjs/extractor/generateTamaguiStudioConfig.native.js +120 -0
- package/dist/cjs/extractor/generateTamaguiStudioConfig.native.js.map +6 -0
- package/dist/cjs/extractor/generatedUid.js +14 -28
- package/dist/cjs/extractor/generatedUid.js.map +1 -1
- package/dist/cjs/extractor/generatedUid.native.js +47 -0
- package/dist/cjs/extractor/generatedUid.native.js.map +6 -0
- package/dist/cjs/extractor/getPrefixLogs.js +6 -10
- package/dist/cjs/extractor/getPrefixLogs.js.map +1 -1
- package/dist/cjs/extractor/getPrefixLogs.native.js +29 -0
- package/dist/cjs/extractor/getPrefixLogs.native.js.map +6 -0
- package/dist/cjs/extractor/getPropValueFromAttributes.js +21 -42
- package/dist/cjs/extractor/getPropValueFromAttributes.js.map +1 -1
- package/dist/cjs/extractor/getPropValueFromAttributes.native.js +70 -0
- package/dist/cjs/extractor/getPropValueFromAttributes.native.js.map +6 -0
- package/dist/cjs/extractor/getSourceModule.js +23 -57
- package/dist/cjs/extractor/getSourceModule.js.map +1 -1
- package/dist/cjs/extractor/getSourceModule.native.js +71 -0
- package/dist/cjs/extractor/getSourceModule.native.js.map +6 -0
- package/dist/cjs/extractor/getStaticBindingsForScope.js +42 -116
- package/dist/cjs/extractor/getStaticBindingsForScope.js.map +1 -1
- package/dist/cjs/extractor/getStaticBindingsForScope.native.js +153 -0
- package/dist/cjs/extractor/getStaticBindingsForScope.native.js.map +6 -0
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.js +6 -13
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +1 -1
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.native.js +29 -0
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.native.js.map +6 -0
- package/dist/cjs/extractor/hoistClassNames.js +16 -30
- package/dist/cjs/extractor/hoistClassNames.js.map +1 -1
- package/dist/cjs/extractor/hoistClassNames.native.js +66 -0
- package/dist/cjs/extractor/hoistClassNames.native.js.map +6 -0
- package/dist/cjs/extractor/literalToAst.js +32 -53
- package/dist/cjs/extractor/literalToAst.js.map +1 -1
- package/dist/cjs/extractor/literalToAst.native.js +96 -0
- package/dist/cjs/extractor/literalToAst.native.js.map +6 -0
- package/dist/cjs/extractor/loadFile.js +4 -11
- package/dist/cjs/extractor/loadFile.js.map +1 -1
- package/dist/cjs/extractor/loadFile.native.js +15 -0
- package/dist/cjs/extractor/loadFile.native.js.map +6 -0
- package/dist/cjs/extractor/loadTamagui.js +76 -147
- package/dist/cjs/extractor/loadTamagui.js.map +1 -1
- package/dist/cjs/extractor/loadTamagui.native.js +240 -0
- package/dist/cjs/extractor/loadTamagui.native.js.map +6 -0
- package/dist/cjs/extractor/logLines.js +12 -22
- package/dist/cjs/extractor/logLines.js.map +1 -1
- package/dist/cjs/extractor/logLines.native.js +35 -0
- package/dist/cjs/extractor/logLines.native.js.map +6 -0
- package/dist/cjs/extractor/normalizeTernaries.js +27 -54
- package/dist/cjs/extractor/normalizeTernaries.js.map +1 -1
- package/dist/cjs/extractor/normalizeTernaries.native.js +64 -0
- package/dist/cjs/extractor/normalizeTernaries.native.js.map +6 -0
- package/dist/cjs/extractor/propsToFontFamilyCache.js +6 -11
- package/dist/cjs/extractor/propsToFontFamilyCache.js.map +1 -1
- package/dist/cjs/extractor/propsToFontFamilyCache.native.js +41 -0
- package/dist/cjs/extractor/propsToFontFamilyCache.native.js.map +6 -0
- package/dist/cjs/extractor/removeUnusedHooks.js +25 -56
- package/dist/cjs/extractor/removeUnusedHooks.js.map +1 -1
- package/dist/cjs/extractor/removeUnusedHooks.native.js +80 -0
- package/dist/cjs/extractor/removeUnusedHooks.native.js.map +6 -0
- package/dist/cjs/extractor/timer.js +9 -20
- package/dist/cjs/extractor/timer.js.map +1 -1
- package/dist/cjs/extractor/timer.native.js +43 -0
- package/dist/cjs/extractor/timer.native.js.map +6 -0
- package/dist/cjs/extractor/validHTMLAttributes.js +51 -55
- package/dist/cjs/extractor/validHTMLAttributes.js.map +1 -1
- package/dist/cjs/extractor/validHTMLAttributes.native.js +73 -0
- package/dist/cjs/extractor/validHTMLAttributes.native.js.map +6 -0
- package/dist/cjs/getPragmaOptions.js +12 -38
- package/dist/cjs/getPragmaOptions.js.map +1 -1
- package/dist/cjs/getPragmaOptions.native.js +43 -0
- package/dist/cjs/getPragmaOptions.native.js.map +6 -0
- package/dist/cjs/helpers/memoize.js +10 -19
- package/dist/cjs/helpers/memoize.js.map +1 -1
- package/dist/cjs/helpers/memoize.native.js +38 -0
- package/dist/cjs/helpers/memoize.native.js.map +6 -0
- package/dist/cjs/helpers/requireTamaguiCore.js +29 -0
- package/dist/cjs/helpers/requireTamaguiCore.js.map +6 -0
- package/dist/cjs/helpers/requireTamaguiCore.native.js +30 -0
- package/dist/cjs/helpers/requireTamaguiCore.native.js.map +6 -0
- package/dist/cjs/index.js +7 -35
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +21 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/registerRequire.js +93 -0
- package/dist/cjs/registerRequire.js.map +6 -0
- package/dist/cjs/registerRequire.native.js +94 -0
- package/dist/cjs/registerRequire.native.js.map +6 -0
- package/dist/cjs/setup.js +2 -0
- package/dist/cjs/setup.js.map +6 -0
- package/dist/cjs/setup.native.js +3 -0
- package/dist/cjs/setup.native.js.map +6 -0
- package/dist/cjs/static.js +41 -0
- package/dist/cjs/static.js.map +6 -0
- package/dist/cjs/static.native.js +42 -0
- package/dist/cjs/static.native.js.map +6 -0
- package/dist/cjs/types.js +3 -6
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/webpackPlugin.js +5 -9
- package/dist/cjs/webpackPlugin.js.map +1 -1
- package/dist/cjs/webpackPlugin.native.js +32 -0
- package/dist/cjs/webpackPlugin.native.js.map +6 -0
- package/dist/esm/constants.js +1 -6
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/extractor/accessSafe.js +1 -1
- package/dist/esm/extractor/accessSafe.js.map +1 -1
- package/dist/esm/extractor/babelParse.js +2 -4
- package/dist/esm/extractor/babelParse.js.map +1 -1
- package/dist/esm/extractor/buildClassName.js +37 -54
- package/dist/esm/extractor/buildClassName.js.map +1 -1
- package/dist/esm/extractor/bundle.js +36 -60
- package/dist/esm/extractor/bundle.js.map +1 -1
- package/dist/esm/extractor/bundleConfig.js +100 -180
- package/dist/esm/extractor/bundleConfig.js.map +1 -1
- package/dist/esm/extractor/createEvaluator.js +5 -22
- package/dist/esm/extractor/createEvaluator.js.map +1 -1
- package/dist/esm/extractor/createExtractor.js +484 -1098
- package/dist/esm/extractor/createExtractor.js.map +2 -2
- package/dist/esm/extractor/ensureImportingConcat.js +5 -10
- package/dist/esm/extractor/ensureImportingConcat.js.map +1 -1
- package/dist/esm/extractor/esbuildAliasPlugin.js +20 -0
- package/dist/esm/extractor/esbuildAliasPlugin.js.map +6 -0
- package/dist/esm/extractor/evaluateAstNode.js +60 -82
- package/dist/esm/extractor/evaluateAstNode.js.map +1 -1
- package/dist/esm/extractor/extractHelpers.js +35 -105
- package/dist/esm/extractor/extractHelpers.js.map +1 -1
- package/dist/esm/extractor/extractMediaStyle.js +35 -97
- package/dist/esm/extractor/extractMediaStyle.js.map +1 -1
- package/dist/esm/extractor/extractToClassNames.js +126 -224
- package/dist/esm/extractor/extractToClassNames.js.map +1 -1
- package/dist/esm/extractor/findTopmostFunction.js +4 -8
- package/dist/esm/extractor/findTopmostFunction.js.map +1 -1
- package/dist/esm/extractor/generateTamaguiStudioConfig.js +25 -59
- package/dist/esm/extractor/generateTamaguiStudioConfig.js.map +1 -1
- package/dist/esm/extractor/generatedUid.js +7 -15
- package/dist/esm/extractor/generatedUid.js.map +1 -1
- package/dist/esm/extractor/getPrefixLogs.js +1 -1
- package/dist/esm/extractor/getPrefixLogs.js.map +1 -1
- package/dist/esm/extractor/getPropValueFromAttributes.js +13 -26
- package/dist/esm/extractor/getPropValueFromAttributes.js.map +1 -1
- package/dist/esm/extractor/getSourceModule.js +16 -44
- package/dist/esm/extractor/getSourceModule.js.map +1 -1
- package/dist/esm/extractor/getStaticBindingsForScope.js +34 -98
- package/dist/esm/extractor/getStaticBindingsForScope.js.map +1 -1
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.js +1 -4
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +1 -1
- package/dist/esm/extractor/hoistClassNames.js +9 -17
- package/dist/esm/extractor/hoistClassNames.js.map +1 -1
- package/dist/esm/extractor/literalToAst.js +25 -40
- package/dist/esm/extractor/literalToAst.js.map +1 -1
- package/dist/esm/extractor/loadFile.js +4 -10
- package/dist/esm/extractor/loadFile.js.map +1 -1
- package/dist/esm/extractor/loadTamagui.js +69 -124
- package/dist/esm/extractor/loadTamagui.js.map +1 -1
- package/dist/esm/extractor/logLines.js +7 -13
- package/dist/esm/extractor/logLines.js.map +1 -1
- package/dist/esm/extractor/normalizeTernaries.js +19 -38
- package/dist/esm/extractor/normalizeTernaries.js.map +1 -1
- package/dist/esm/extractor/propsToFontFamilyCache.js +1 -2
- package/dist/esm/extractor/propsToFontFamilyCache.js.map +1 -1
- package/dist/esm/extractor/removeUnusedHooks.js +18 -43
- package/dist/esm/extractor/removeUnusedHooks.js.map +1 -1
- package/dist/esm/extractor/timer.js +4 -11
- package/dist/esm/extractor/timer.js.map +1 -1
- package/dist/esm/extractor/validHTMLAttributes.js +46 -46
- package/dist/esm/getPragmaOptions.js +7 -29
- package/dist/esm/getPragmaOptions.js.map +1 -1
- package/dist/esm/helpers/memoize.js +5 -10
- package/dist/esm/helpers/memoize.js.map +1 -1
- package/dist/esm/helpers/requireTamaguiCore.js +9 -0
- package/dist/esm/helpers/requireTamaguiCore.js.map +6 -0
- package/dist/esm/index.js +2 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registerRequire.js +73 -0
- package/dist/esm/registerRequire.js.map +6 -0
- package/dist/esm/setup.js +2 -0
- package/dist/esm/setup.js.map +6 -0
- package/dist/esm/static.js +15 -0
- package/dist/esm/static.js.map +6 -0
- package/package.json +15 -15
- package/src/extractor/bundle.ts +12 -10
- package/src/extractor/bundleConfig.ts +25 -20
- package/src/extractor/createEvaluator.ts +0 -16
- package/src/extractor/createExtractor.ts +12 -9
- package/src/extractor/esbuildAliasPlugin.ts +40 -0
- package/src/extractor/extractMediaStyle.ts +3 -5
- package/src/extractor/extractToClassNames.ts +2 -1
- package/src/extractor/generateTamaguiStudioConfig.ts +3 -1
- package/src/extractor/loadTamagui.ts +26 -22
- package/src/helpers/requireTamaguiCore.ts +13 -0
- package/src/index.ts +2 -9
- package/src/registerRequire.ts +156 -0
- package/src/setup.ts +1 -0
- package/src/static.ts +9 -0
- package/src/types.ts +3 -1
- package/types/extractor/bundle.d.ts +2 -2
- package/types/extractor/bundle.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts.map +1 -1
- package/types/extractor/createEvaluator.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts +1 -1
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/esbuildAliasPlugin.d.ts +18 -0
- package/types/extractor/esbuildAliasPlugin.d.ts.map +1 -0
- package/types/extractor/extractMediaStyle.d.ts +1 -1
- package/types/extractor/extractMediaStyle.d.ts.map +1 -1
- package/types/extractor/extractToClassNames.d.ts.map +1 -1
- package/types/extractor/generateTamaguiStudioConfig.d.ts.map +1 -1
- package/types/extractor/loadTamagui.d.ts +2 -2
- package/types/extractor/loadTamagui.d.ts.map +1 -1
- package/types/helpers/requireTamaguiCore.d.ts +3 -0
- package/types/helpers/requireTamaguiCore.d.ts.map +1 -0
- package/types/index.d.ts +2 -9
- package/types/index.d.ts.map +1 -1
- package/types/registerRequire.d.ts +7 -0
- package/types/registerRequire.d.ts.map +1 -0
- package/types/setup.d.ts +2 -0
- package/types/setup.d.ts.map +1 -0
- package/types/static.d.ts +10 -0
- package/types/static.d.ts.map +1 -0
- package/types/types.d.ts +2 -1
- package/types/types.d.ts.map +1 -1
- package/dist/cjs/require.js +0 -125
- package/dist/cjs/require.js.map +0 -6
- package/dist/esm/require.js +0 -100
- package/dist/esm/require.js.map +0 -6
- package/src/require.ts +0 -150
- package/types/require.d.ts +0 -3
- package/types/require.d.ts.map +0 -1
@@ -6,199 +6,151 @@ import * as t from "@babel/types";
|
|
6
6
|
import { Color, colorLog } from "@tamagui/cli-color";
|
7
7
|
import esbuild from "esbuild";
|
8
8
|
import { ensureDir, removeSync, writeFileSync } from "fs-extra";
|
9
|
-
import { registerRequire } from "../
|
9
|
+
import { registerRequire } from "../registerRequire";
|
10
10
|
import { babelParse } from "./babelParse";
|
11
11
|
import { bundle } from "./bundle";
|
12
12
|
import { getTamaguiConfigPathFromOptionsConfig } from "./getTamaguiConfigPathFromOptionsConfig";
|
13
13
|
const external = [
|
14
14
|
"@tamagui/core",
|
15
15
|
"@tamagui/web",
|
16
|
-
"@tamagui/core-node",
|
17
16
|
"react",
|
18
17
|
"react-dom",
|
19
18
|
"react-native-svg"
|
20
|
-
]
|
21
|
-
const esbuildExtraOptions = {
|
19
|
+
], esbuildExtraOptions = {
|
22
20
|
define: {
|
23
21
|
__DEV__: `${process.env.NODE_ENV === "development"}`
|
24
22
|
}
|
25
|
-
}
|
26
|
-
const esbuildOptions = {
|
23
|
+
}, esbuildOptions = {
|
27
24
|
target: "es2018",
|
28
25
|
format: "cjs",
|
29
26
|
jsx: "transform",
|
30
27
|
platform: "node",
|
31
28
|
...esbuildExtraOptions
|
32
29
|
};
|
33
|
-
let currentBundle = null;
|
34
|
-
let isBundling = false;
|
35
|
-
let lastBundle = null;
|
30
|
+
let currentBundle = null, isBundling = !1, lastBundle = null;
|
36
31
|
const waitForBundle = /* @__PURE__ */ new Set();
|
37
32
|
function hasBundledConfigChanged() {
|
38
|
-
|
39
|
-
return false;
|
40
|
-
}
|
41
|
-
lastBundle = currentBundle;
|
42
|
-
return true;
|
33
|
+
return lastBundle === currentBundle ? !1 : (lastBundle = currentBundle, !0);
|
43
34
|
}
|
44
|
-
async function getBundledConfig(props, rebuild =
|
45
|
-
if (isBundling)
|
35
|
+
async function getBundledConfig(props, rebuild = !1) {
|
36
|
+
if (isBundling)
|
46
37
|
await new Promise((res) => {
|
47
38
|
waitForBundle.add(res);
|
48
39
|
});
|
49
|
-
|
40
|
+
else if (!currentBundle || rebuild)
|
50
41
|
return await bundleConfig(props);
|
51
|
-
}
|
52
42
|
return currentBundle;
|
53
43
|
}
|
54
44
|
async function bundleConfig(props) {
|
55
|
-
var _a, _b, _c, _d;
|
56
45
|
try {
|
57
|
-
isBundling =
|
58
|
-
const configEntry = props.config ? getTamaguiConfigPathFromOptionsConfig(props.config) : ""
|
59
|
-
const tmpDir = join(process.cwd(), ".tamagui");
|
60
|
-
const configOutPath = join(tmpDir, `tamagui.config.cjs`);
|
61
|
-
const baseComponents = props.components.filter((x) => x !== "@tamagui/core");
|
62
|
-
const componentOutPaths = baseComponents.map(
|
46
|
+
isBundling = !0;
|
47
|
+
const configEntry = props.config ? getTamaguiConfigPathFromOptionsConfig(props.config) : "", tmpDir = join(process.cwd(), ".tamagui"), configOutPath = join(tmpDir, "tamagui.config.cjs"), baseComponents = props.components.filter((x) => x !== "@tamagui/core"), componentOutPaths = baseComponents.map(
|
63
48
|
(componentModule) => join(
|
64
49
|
tmpDir,
|
65
50
|
`${componentModule.split(sep).join("-").replace(/[^a-z0-9]+/gi, "")}-components.config.cjs`
|
66
51
|
)
|
67
52
|
);
|
68
|
-
|
69
|
-
console.log(`Building config entry`, configEntry);
|
70
|
-
}
|
53
|
+
process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.log("Building config entry", configEntry);
|
71
54
|
try {
|
72
55
|
await ensureDir(tmpDir);
|
73
56
|
} catch {
|
74
57
|
}
|
75
58
|
const start = Date.now();
|
76
59
|
await Promise.all([
|
77
|
-
props.config ? bundle(
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
60
|
+
props.config ? bundle(
|
61
|
+
{
|
62
|
+
entryPoints: [configEntry],
|
63
|
+
external,
|
64
|
+
outfile: configOutPath,
|
65
|
+
target: "node16",
|
66
|
+
...esbuildExtraOptions
|
67
|
+
},
|
68
|
+
props.platform
|
69
|
+
) : null,
|
70
|
+
...baseComponents.map((componentModule, i) => bundle(
|
71
|
+
{
|
86
72
|
entryPoints: [componentModule],
|
87
|
-
resolvePlatformSpecificEntries:
|
73
|
+
resolvePlatformSpecificEntries: !0,
|
88
74
|
external,
|
89
75
|
outfile: componentOutPaths[i],
|
90
76
|
target: "node16",
|
91
77
|
...esbuildExtraOptions
|
92
|
-
}
|
93
|
-
|
94
|
-
|
95
|
-
colorLog(
|
78
|
+
},
|
79
|
+
props.platform
|
80
|
+
))
|
81
|
+
]), colorLog(
|
96
82
|
Color.FgYellow,
|
97
83
|
`
|
98
84
|
\u27A1 [tamagui] (${Date.now() - start}ms):`
|
99
|
-
)
|
100
|
-
colorLog(
|
85
|
+
), colorLog(
|
101
86
|
Color.Dim,
|
102
87
|
`
|
103
88
|
Config .${sep}${relative(process.cwd(), configOutPath)}
|
104
89
|
Components ${[
|
105
90
|
...componentOutPaths.map((p) => `.${sep}${relative(process.cwd(), p)}`)
|
106
|
-
].join(
|
91
|
+
].join(`
|
92
|
+
`)}
|
107
93
|
`
|
108
94
|
);
|
109
95
|
let out;
|
110
|
-
const
|
96
|
+
const { unregister } = registerRequire(props.platform);
|
111
97
|
try {
|
112
98
|
out = require(configOutPath);
|
113
99
|
} catch (err) {
|
114
100
|
throw err;
|
115
101
|
} finally {
|
116
|
-
|
102
|
+
unregister();
|
117
103
|
}
|
118
104
|
const config = out.default || out;
|
119
|
-
if (!config)
|
105
|
+
if (!config)
|
120
106
|
throw new Error(`No config: ${config}`);
|
121
|
-
}
|
122
107
|
let components = loadComponents({
|
123
108
|
...props,
|
124
109
|
components: componentOutPaths
|
125
110
|
});
|
126
|
-
if (!components)
|
111
|
+
if (!components)
|
127
112
|
throw new Error(`No components found: ${componentOutPaths.join(", ")}`);
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
`\u26A0\uFE0F no module name found: ${component.moduleName} ${JSON.stringify(
|
135
|
-
baseComponents
|
136
|
-
)} in ${JSON.stringify(componentOutPaths)}`
|
137
|
-
);
|
138
|
-
}
|
139
|
-
}
|
140
|
-
}
|
113
|
+
for (const component of components)
|
114
|
+
component.moduleName = baseComponents[componentOutPaths.indexOf(component.moduleName)], component.moduleName || (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) && console.warn(
|
115
|
+
`\u26A0\uFE0F no module name found: ${component.moduleName} ${JSON.stringify(
|
116
|
+
baseComponents
|
117
|
+
)} in ${JSON.stringify(componentOutPaths)}`
|
118
|
+
);
|
141
119
|
const coreComponents = loadComponents({
|
142
120
|
...props,
|
143
|
-
components: ["@tamagui/core
|
121
|
+
components: ["@tamagui/core"]
|
144
122
|
});
|
145
|
-
|
146
|
-
coreComponents[0].moduleName = "@tamagui/core";
|
147
|
-
components = [...components, ...coreComponents];
|
148
|
-
}
|
149
|
-
if (process.env.NODE_ENV === "development" && ((_c = process.env.DEBUG) == null ? void 0 : _c.startsWith("tamagui"))) {
|
150
|
-
console.log("Loaded components", components);
|
151
|
-
}
|
123
|
+
coreComponents && (coreComponents[0].moduleName = "@tamagui/core", components = [...components, ...coreComponents]), process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.log("Loaded components", components);
|
152
124
|
const res = {
|
153
125
|
components,
|
154
126
|
nameToPaths: {},
|
155
127
|
tamaguiConfig: config
|
156
128
|
};
|
157
|
-
currentBundle = res;
|
158
|
-
return res;
|
129
|
+
return currentBundle = res, res;
|
159
130
|
} catch (err) {
|
160
131
|
console.error(
|
161
|
-
`Error bundling tamagui config: ${err
|
162
|
-
);
|
163
|
-
if ((_d = process.env.DEBUG) == null ? void 0 : _d.includes("tamagui")) {
|
164
|
-
console.error(err.stack);
|
165
|
-
}
|
132
|
+
`Error bundling tamagui config: ${err?.message} (run with DEBUG=tamagui to see stack)`
|
133
|
+
), process.env.DEBUG?.includes("tamagui") && console.error(err.stack);
|
166
134
|
} finally {
|
167
|
-
isBundling =
|
168
|
-
waitForBundle.forEach((cb) => cb());
|
169
|
-
waitForBundle.clear();
|
135
|
+
isBundling = !1, waitForBundle.forEach((cb) => cb()), waitForBundle.clear();
|
170
136
|
}
|
171
137
|
}
|
172
138
|
function loadComponents(props) {
|
173
|
-
const componentsModules = props.components;
|
174
|
-
|
175
|
-
if (cacheComponents[key]) {
|
139
|
+
const componentsModules = props.components, key = componentsModules.join("");
|
140
|
+
if (cacheComponents[key])
|
176
141
|
return cacheComponents[key];
|
177
|
-
}
|
178
|
-
const unregister = registerRequire();
|
142
|
+
const { unregister } = registerRequire(props.platform);
|
179
143
|
try {
|
180
144
|
const info = componentsModules.flatMap((name) => {
|
181
|
-
|
182
|
-
|
183
|
-
const isLocal = Boolean(extension);
|
184
|
-
const isDynamic = isLocal && !props.config;
|
185
|
-
if (isDynamic && !process.env.TAMAGUI_ENABLE_DYNAMIC_LOAD) {
|
145
|
+
const isDynamic = !!extname(name) && !props.config;
|
146
|
+
if (isDynamic && !process.env.TAMAGUI_ENABLE_DYNAMIC_LOAD)
|
186
147
|
return [];
|
187
|
-
}
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
if (isDynamic) {
|
194
|
-
writtenContents = forceExports ? esbuildit(
|
195
|
-
transformAddExports(babelParse(esbuildit(fileContents, "modern"), name))
|
196
|
-
) : esbuildit(fileContents);
|
197
|
-
writeFileSync(loadModule, writtenContents);
|
198
|
-
}
|
199
|
-
if (process.env.DEBUG === "tamagui") {
|
200
|
-
console.log(`loadModule`, loadModule, require.resolve(loadModule));
|
201
|
-
}
|
148
|
+
const fileContents = isDynamic ? readFileSync(name, "utf-8") : "", loadModule = isDynamic ? join(dirname(name), `.tamagui-dynamic-eval-${basename(name)}.tsx`) : name;
|
149
|
+
let writtenContents = fileContents, didBabel = !1;
|
150
|
+
function attemptLoad({ forceExports = !1 } = {}) {
|
151
|
+
isDynamic && (writtenContents = esbuildit(
|
152
|
+
forceExports ? transformAddExports(babelParse(esbuildit(fileContents, "modern"), name)) : fileContents
|
153
|
+
), writeFileSync(loadModule, writtenContents)), process.env.DEBUG === "tamagui" && console.log("loadModule", loadModule, require.resolve(loadModule));
|
202
154
|
const nameToInfo = getComponentStaticConfigByName(
|
203
155
|
name,
|
204
156
|
interopDefaultExport(require(loadModule))
|
@@ -213,26 +165,20 @@ function loadComponents(props) {
|
|
213
165
|
};
|
214
166
|
try {
|
215
167
|
const res = attemptLoad({
|
216
|
-
forceExports:
|
168
|
+
forceExports: !0
|
217
169
|
});
|
218
|
-
didBabel =
|
219
|
-
return res;
|
170
|
+
return didBabel = !0, res;
|
220
171
|
} catch (err) {
|
221
|
-
console.log("babel err", err, writtenContents);
|
222
|
-
writtenContents = fileContents;
|
223
|
-
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
224
|
-
console.log(`Error parsing babel likely`, err);
|
225
|
-
}
|
172
|
+
console.log("babel err", err, writtenContents), writtenContents = fileContents, process.env.DEBUG?.startsWith("tamagui") && console.log("Error parsing babel likely", err);
|
226
173
|
} finally {
|
227
174
|
dispose();
|
228
175
|
}
|
229
176
|
try {
|
230
177
|
return attemptLoad({
|
231
|
-
forceExports:
|
178
|
+
forceExports: !1
|
232
179
|
});
|
233
180
|
} catch (err) {
|
234
|
-
|
235
|
-
console.log(`
|
181
|
+
return process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD || (console.log(`
|
236
182
|
|
237
183
|
Tamagui attempted but failed to dynamically load components in:
|
238
184
|
${name}
|
@@ -246,52 +192,43 @@ Quiet this warning with environment variable:
|
|
246
192
|
|
247
193
|
TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1
|
248
194
|
|
249
|
-
`)
|
250
|
-
|
251
|
-
|
252
|
-
`At: ${loadModule}`,
|
253
|
-
`
|
195
|
+
`), console.log(err), console.log(
|
196
|
+
`At: ${loadModule}`,
|
197
|
+
`
|
254
198
|
didBabel: ${didBabel}`,
|
255
|
-
|
199
|
+
`
|
256
200
|
In:`,
|
257
|
-
|
258
|
-
|
201
|
+
writtenContents,
|
202
|
+
`
|
259
203
|
isDynamic: `,
|
260
|
-
|
261
|
-
|
262
|
-
}
|
263
|
-
return [];
|
204
|
+
isDynamic
|
205
|
+
)), [];
|
264
206
|
} finally {
|
265
207
|
dispose();
|
266
208
|
}
|
267
209
|
});
|
268
|
-
cacheComponents[key] = info;
|
269
|
-
return info;
|
210
|
+
return cacheComponents[key] = info, info;
|
270
211
|
} catch (err) {
|
271
|
-
console.log(
|
272
|
-
return null;
|
212
|
+
return console.log("Tamagui error bundling components", err.message, err.stack), null;
|
273
213
|
} finally {
|
274
214
|
unregister();
|
275
215
|
}
|
276
216
|
}
|
277
|
-
const esbuildit = (src, target) => {
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
}).code;
|
288
|
-
};
|
217
|
+
const esbuildit = (src, target) => esbuild.transformSync(src, {
|
218
|
+
...esbuildOptions,
|
219
|
+
...target === "modern" && {
|
220
|
+
target: "es2022",
|
221
|
+
jsx: "transform",
|
222
|
+
loader: "tsx",
|
223
|
+
platform: "neutral",
|
224
|
+
format: "esm"
|
225
|
+
}
|
226
|
+
}).code;
|
289
227
|
function getComponentStaticConfigByName(name, exported) {
|
290
228
|
const components = {};
|
291
229
|
try {
|
292
|
-
if (!exported || typeof exported
|
230
|
+
if (!exported || typeof exported != "object" || Array.isArray(exported))
|
293
231
|
throw new Error(`Invalid export from package ${name}: ${typeof exported}`);
|
294
|
-
}
|
295
232
|
for (const key in exported) {
|
296
233
|
const found = getTamaguiComponent(key, exported[key]);
|
297
234
|
if (found) {
|
@@ -300,42 +237,33 @@ function getComponentStaticConfigByName(name, exported) {
|
|
300
237
|
}
|
301
238
|
}
|
302
239
|
} catch (err) {
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
);
|
307
|
-
console.error(err);
|
308
|
-
}
|
240
|
+
process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD !== "1" && (console.error(
|
241
|
+
`Tamagui failed getting from ${name} (Disable error by setting environment variable TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1)`
|
242
|
+
), console.error(err));
|
309
243
|
}
|
310
244
|
return components;
|
311
245
|
}
|
312
246
|
function getTamaguiComponent(name, Component) {
|
313
|
-
if (name[0].toUpperCase() !== name[0])
|
247
|
+
if (name[0].toUpperCase() !== name[0])
|
314
248
|
return;
|
315
|
-
|
316
|
-
const staticConfig = Component == null ? void 0 : Component.staticConfig;
|
317
|
-
if (staticConfig) {
|
249
|
+
if (Component?.staticConfig)
|
318
250
|
return Component;
|
319
|
-
}
|
320
251
|
}
|
321
252
|
function interopDefaultExport(mod) {
|
322
|
-
return
|
253
|
+
return mod?.default ?? mod;
|
323
254
|
}
|
324
255
|
const cacheComponents = {};
|
325
256
|
function transformAddExports(ast) {
|
326
257
|
const usedNames = /* @__PURE__ */ new Set();
|
327
|
-
traverse(ast, {
|
258
|
+
return traverse(ast, {
|
328
259
|
ExportNamedDeclaration(nodePath) {
|
329
|
-
if (nodePath.node.specifiers)
|
330
|
-
for (const spec of nodePath.node.specifiers)
|
260
|
+
if (nodePath.node.specifiers)
|
261
|
+
for (const spec of nodePath.node.specifiers)
|
331
262
|
usedNames.add(
|
332
263
|
t.isIdentifier(spec.exported) ? spec.exported.name : spec.exported.value
|
333
264
|
);
|
334
|
-
}
|
335
|
-
}
|
336
265
|
}
|
337
|
-
})
|
338
|
-
traverse(ast, {
|
266
|
+
}), traverse(ast, {
|
339
267
|
VariableDeclaration(nodePath) {
|
340
268
|
if (!t.isProgram(nodePath.parent))
|
341
269
|
return;
|
@@ -343,25 +271,17 @@ function transformAddExports(ast) {
|
|
343
271
|
if (decs.length > 1)
|
344
272
|
return;
|
345
273
|
const [dec] = decs;
|
346
|
-
|
347
|
-
return;
|
348
|
-
if (!dec.init)
|
349
|
-
return;
|
350
|
-
if (usedNames.has(dec.id.name))
|
351
|
-
return;
|
352
|
-
usedNames.add(dec.id.name);
|
353
|
-
nodePath.replaceWith(
|
274
|
+
t.isIdentifier(dec.id) && dec.init && (usedNames.has(dec.id.name) || (usedNames.add(dec.id.name), nodePath.replaceWith(
|
354
275
|
t.exportNamedDeclaration(t.variableDeclaration("let", [dec]), [
|
355
276
|
t.exportSpecifier(t.identifier(dec.id.name), t.identifier(dec.id.name))
|
356
277
|
])
|
357
|
-
);
|
278
|
+
)));
|
358
279
|
}
|
359
|
-
})
|
360
|
-
|
361
|
-
concise: false,
|
280
|
+
}), generate(ast, {
|
281
|
+
concise: !1,
|
362
282
|
filename: "test.tsx",
|
363
|
-
retainLines:
|
364
|
-
sourceMaps:
|
283
|
+
retainLines: !1,
|
284
|
+
sourceMaps: !1
|
365
285
|
}).code;
|
366
286
|
}
|
367
287
|
export {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/extractor/bundleConfig.ts"],
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,UAAU,SAAS,SAAS,MAAM,UAAU,WAAW;AAEhE,OAAO,cAAc;AACrB,OAAO,cAAc;AACrB,YAAY,OAAO;AACnB,SAAS,OAAO,gBAAgB;AAEhC,OAAO,aAAa;AACpB,SAAS,WAAW,YAAY,qBAAqB;AAErD,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AACvB,SAAS,6CAA6C;AAsBtD,MAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;
|
4
|
+
"mappings": "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",
|
5
5
|
"names": []
|
6
6
|
}
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import vm from "vm";
|
2
2
|
import generate from "@babel/generator";
|
3
3
|
import * as t from "@babel/types";
|
4
|
-
import { createCSSVariable } from "@tamagui/core-node";
|
5
4
|
import esbuild from "esbuild";
|
6
5
|
import { FAILED_EVAL } from "../constants";
|
7
6
|
import { evaluateAstNode } from "./evaluateAstNode";
|
8
|
-
import { isValidThemeHook } from "./extractHelpers";
|
9
7
|
function createEvaluator({
|
10
8
|
props,
|
11
9
|
staticNamespace,
|
@@ -14,33 +12,18 @@ function createEvaluator({
|
|
14
12
|
shouldPrintDebug
|
15
13
|
}) {
|
16
14
|
const evalFn = (n) => {
|
17
|
-
if (t.
|
18
|
-
const key = n.property.name;
|
19
|
-
if (shouldPrintDebug) {
|
20
|
-
console.log(" > found theme prop", key);
|
21
|
-
}
|
22
|
-
return createCSSVariable(key);
|
23
|
-
}
|
24
|
-
if (t.isIdentifier(n) && typeof staticNamespace[n.name] !== "undefined") {
|
15
|
+
if (t.isIdentifier(n) && typeof staticNamespace[n.name] < "u")
|
25
16
|
return staticNamespace[n.name];
|
26
|
-
}
|
27
|
-
|
28
|
-
const codeWithTypescriptAnnotations = `(${generate(n).code})`;
|
29
|
-
const code = esbuild.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
|
30
|
-
if (shouldPrintDebug) {
|
31
|
-
console.log("evaluating", code);
|
32
|
-
}
|
33
|
-
return vm.runInContext(code, evalContext);
|
34
|
-
};
|
35
|
-
return (n) => {
|
36
|
-
return evaluateAstNode(n, evalFn);
|
17
|
+
const evalContext = vm.createContext(staticNamespace), codeWithTypescriptAnnotations = `(${generate(n).code})`, code = esbuild.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
|
18
|
+
return shouldPrintDebug && console.log("evaluating", code), vm.runInContext(code, evalContext);
|
37
19
|
};
|
20
|
+
return (n) => evaluateAstNode(n, evalFn);
|
38
21
|
}
|
39
22
|
function createSafeEvaluator(attemptEval) {
|
40
23
|
return (n) => {
|
41
24
|
try {
|
42
25
|
return attemptEval(n);
|
43
|
-
} catch
|
26
|
+
} catch {
|
44
27
|
return FAILED_EVAL;
|
45
28
|
}
|
46
29
|
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/extractor/createEvaluator.ts"],
|
4
|
-
"mappings": "AAAA,OAAO,QAAQ;AAEf,OAAO,cAAc;AAErB,YAAY,OAAO;AACnB,
|
4
|
+
"mappings": "AAAA,OAAO,QAAQ;AAEf,OAAO,cAAc;AAErB,YAAY,OAAO;AACnB,OAAO,aAAa;AAEpB,SAAS,mBAAmB;AAE5B,SAAS,uBAAuB;AAEzB,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QAAI,EAAE,aAAa,CAAC,KAAK,OAAO,gBAAgB,EAAE,IAAI,IAAM;AAC1D,aAAO,gBAAgB,EAAE,IAAI;AAE/B,UAAM,cAAc,GAAG,cAAc,eAAe,GAE9C,gCAAgC,IAAI,SAAS,CAAQ,EAAE,IAAI,KAC3D,OAAO,QACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,WAAI,oBAEF,QAAQ,IAAI,cAAc,IAAI,GAEzB,GAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MACC,gBAAgB,GAAG,MAAM;AAEpC;AAEO,SAAS,oBAAoB,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,QAAc;AACZ,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
5
5
|
"names": []
|
6
6
|
}
|