@tamagui/static 1.0.1-beta.151 → 1.0.1-beta.154
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 +16 -16
- 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
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import { basename, dirname, join, sep } from "path";
|
|
2
|
-
import { getDefaultTamaguiConfig } from "@tamagui/config-default-node";
|
|
3
|
-
import { createTamagui } from "@tamagui/core-node";
|
|
4
|
-
import esbuild from "esbuild";
|
|
5
|
-
import { ensureDir, pathExists, stat, writeFile } from "fs-extra";
|
|
6
|
-
import { SHOULD_DEBUG } from "../constants";
|
|
7
|
-
import { getNameToPaths, registerRequire, unregisterRequire } from "../require";
|
|
8
|
-
const cache = {};
|
|
9
|
-
async function loadTamagui(props) {
|
|
10
|
-
const key = JSON.stringify(props);
|
|
11
|
-
if (cache[key]) {
|
|
12
|
-
if (cache[key] instanceof Promise) {
|
|
13
|
-
return await cache[key];
|
|
14
|
-
}
|
|
15
|
-
return cache[key];
|
|
16
|
-
}
|
|
17
|
-
let resolver = () => {
|
|
18
|
-
};
|
|
19
|
-
cache[key] = new Promise((res) => {
|
|
20
|
-
resolver = res;
|
|
21
|
-
});
|
|
22
|
-
const tmpDir = join(process.cwd(), "dist", "tamagui-node");
|
|
23
|
-
const configOutPath = join(tmpDir, `tamagui.config.js`);
|
|
24
|
-
const includesCore = props.components.includes("@tamagui/core");
|
|
25
|
-
const baseComponents = props.components.filter((x) => x !== "@tamagui/core");
|
|
26
|
-
const componentOutPaths = baseComponents.map((componentModule) => join(tmpDir, `${componentModule.split(sep).join("-").replace(/[^a-z0-9]+/gi, "")}-components.config.js`));
|
|
27
|
-
const external = ["@tamagui/core", "@tamagui/core-node", "react", "react-dom"];
|
|
28
|
-
const configEntry = props.config ? join(process.cwd(), props.config) : "";
|
|
29
|
-
if (process.env.DEBUG?.startsWith("tamagui")) {
|
|
30
|
-
console.log(`Building config entry`, configEntry);
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
await ensureDir(tmpDir);
|
|
34
|
-
} catch {
|
|
35
|
-
}
|
|
36
|
-
await Promise.all([
|
|
37
|
-
props.config ? buildTamaguiConfig(props, {
|
|
38
|
-
entryPoints: [configEntry],
|
|
39
|
-
external,
|
|
40
|
-
outfile: configOutPath
|
|
41
|
-
}) : null,
|
|
42
|
-
...baseComponents.map((componentModule, i) => {
|
|
43
|
-
return buildTamaguiConfig(props, {
|
|
44
|
-
entryPoints: [componentModule],
|
|
45
|
-
external,
|
|
46
|
-
outfile: componentOutPaths[i]
|
|
47
|
-
});
|
|
48
|
-
})
|
|
49
|
-
]);
|
|
50
|
-
if (process.env.DEBUG?.startsWith("tamagui")) {
|
|
51
|
-
console.log(`Built configs`);
|
|
52
|
-
}
|
|
53
|
-
const coreNode = require("@tamagui/core-node");
|
|
54
|
-
registerRequire();
|
|
55
|
-
const config = require(configOutPath).default;
|
|
56
|
-
unregisterRequire();
|
|
57
|
-
const components = {
|
|
58
|
-
...loadComponents(componentOutPaths),
|
|
59
|
-
...includesCore && gatherTamaguiComponentInfo([coreNode])
|
|
60
|
-
};
|
|
61
|
-
cache[key] = {
|
|
62
|
-
components,
|
|
63
|
-
nameToPaths: {},
|
|
64
|
-
tamaguiConfig: config
|
|
65
|
-
};
|
|
66
|
-
createTamagui(cache[key].tamaguiConfig);
|
|
67
|
-
resolver(cache[key]);
|
|
68
|
-
return cache[key];
|
|
69
|
-
}
|
|
70
|
-
async function buildTamaguiConfig(props, options, aliases) {
|
|
71
|
-
const alias = require("@tamagui/core-node").aliasPlugin;
|
|
72
|
-
const lockFile = join(dirname(options.outfile), basename(options.outfile, ".lock"));
|
|
73
|
-
const lockStat = await stat(lockFile).catch(() => {
|
|
74
|
-
});
|
|
75
|
-
const lockedMsAgo = !lockStat ? Infinity : new Date().getTime() - new Date(lockStat.mtime).getTime();
|
|
76
|
-
if (lockedMsAgo < 500) {
|
|
77
|
-
if (process.env.DEBUG?.startsWith("tamagui")) {
|
|
78
|
-
console.log(`Waiting for existing build`, options.entryPoints);
|
|
79
|
-
}
|
|
80
|
-
let tries = 5;
|
|
81
|
-
while (tries--) {
|
|
82
|
-
if (await pathExists(options.outfile)) {
|
|
83
|
-
return;
|
|
84
|
-
} else {
|
|
85
|
-
await new Promise((res) => setTimeout(res, 50));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
writeFile(lockFile, "");
|
|
90
|
-
if (process.env.DEBUG?.startsWith("tamagui")) {
|
|
91
|
-
console.log(`Building`, options.entryPoints);
|
|
92
|
-
}
|
|
93
|
-
return esbuild.build({
|
|
94
|
-
bundle: true,
|
|
95
|
-
...options,
|
|
96
|
-
format: "cjs",
|
|
97
|
-
target: "node18",
|
|
98
|
-
keepNames: true,
|
|
99
|
-
platform: "node",
|
|
100
|
-
loader: {
|
|
101
|
-
".js": "jsx"
|
|
102
|
-
},
|
|
103
|
-
allowOverwrite: true,
|
|
104
|
-
logLevel: "warning",
|
|
105
|
-
plugins: [
|
|
106
|
-
{
|
|
107
|
-
name: "external",
|
|
108
|
-
setup(build) {
|
|
109
|
-
build.onResolve({ filter: /@tamagui\/core/ }, (args) => {
|
|
110
|
-
return {
|
|
111
|
-
path: "@tamagui/core-node",
|
|
112
|
-
external: true
|
|
113
|
-
};
|
|
114
|
-
});
|
|
115
|
-
build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (args) => {
|
|
116
|
-
return {
|
|
117
|
-
path: "react-native-web-lite",
|
|
118
|
-
external: true
|
|
119
|
-
};
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
alias({
|
|
124
|
-
"react-native-svg": require.resolve("@tamagui/react-native-svg"),
|
|
125
|
-
"react-native-safe-area-context": require.resolve("@tamagui/fake-react-native"),
|
|
126
|
-
"react-native-gesture-handler": require.resolve("@tamagui/proxy-worm"),
|
|
127
|
-
"react-native-reanimated": require.resolve("@tamagui/proxy-worm"),
|
|
128
|
-
...aliases
|
|
129
|
-
})
|
|
130
|
-
]
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
function loadTamaguiSync(props) {
|
|
134
|
-
const key = JSON.stringify(props);
|
|
135
|
-
if (cache[key]) {
|
|
136
|
-
return cache[key];
|
|
137
|
-
}
|
|
138
|
-
const { unregister } = require("esbuild-register/dist/node").register({
|
|
139
|
-
target: "es2019",
|
|
140
|
-
format: "cjs"
|
|
141
|
-
});
|
|
142
|
-
try {
|
|
143
|
-
registerRequire();
|
|
144
|
-
process.env.IS_STATIC = "is_static";
|
|
145
|
-
if (typeof globalThis["__DEV__"] === "undefined") {
|
|
146
|
-
globalThis["__DEV__"] = process.env.NODE_ENV === "development";
|
|
147
|
-
}
|
|
148
|
-
try {
|
|
149
|
-
let tamaguiConfig = null;
|
|
150
|
-
if (props.config) {
|
|
151
|
-
const configPath = join(process.cwd(), props.config);
|
|
152
|
-
const exp = require(configPath);
|
|
153
|
-
tamaguiConfig = exp["default"] || exp;
|
|
154
|
-
if (!tamaguiConfig || !tamaguiConfig.parsed) {
|
|
155
|
-
const confPath = require.resolve(configPath);
|
|
156
|
-
throw new Error(`Can't find valid config in ${confPath}`);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
const components = loadComponents(props.components);
|
|
160
|
-
process.env.IS_STATIC = void 0;
|
|
161
|
-
if (tamaguiConfig) {
|
|
162
|
-
createTamagui(tamaguiConfig);
|
|
163
|
-
}
|
|
164
|
-
cache[key] = {
|
|
165
|
-
components,
|
|
166
|
-
tamaguiConfig,
|
|
167
|
-
nameToPaths: getNameToPaths()
|
|
168
|
-
};
|
|
169
|
-
} catch (err) {
|
|
170
|
-
if (err instanceof Error) {
|
|
171
|
-
console.warn(`Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`);
|
|
172
|
-
console.log(`
|
|
173
|
-
|
|
174
|
-
${err.message}
|
|
175
|
-
|
|
176
|
-
`);
|
|
177
|
-
if (SHOULD_DEBUG) {
|
|
178
|
-
console.log(err.stack);
|
|
179
|
-
}
|
|
180
|
-
} else {
|
|
181
|
-
console.error(`Error loading tamagui.config.ts`, err);
|
|
182
|
-
}
|
|
183
|
-
return {
|
|
184
|
-
components: {},
|
|
185
|
-
tamaguiConfig: getDefaultTamaguiConfig(),
|
|
186
|
-
nameToPaths: {}
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
return cache[key];
|
|
190
|
-
} catch (err) {
|
|
191
|
-
console.log("Error loading Tamagui", err);
|
|
192
|
-
throw err;
|
|
193
|
-
} finally {
|
|
194
|
-
unregister();
|
|
195
|
-
unregisterRequire();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
function interopDefaultExport(mod) {
|
|
199
|
-
return mod?.default ?? mod;
|
|
200
|
-
}
|
|
201
|
-
const cacheComponents = {};
|
|
202
|
-
function loadComponents(componentsModules) {
|
|
203
|
-
const key = componentsModules.join("");
|
|
204
|
-
if (cacheComponents[key]) {
|
|
205
|
-
return cacheComponents[key];
|
|
206
|
-
}
|
|
207
|
-
try {
|
|
208
|
-
const requiredModules = componentsModules.map((name) => {
|
|
209
|
-
return interopDefaultExport(require(name));
|
|
210
|
-
});
|
|
211
|
-
const res = gatherTamaguiComponentInfo(requiredModules);
|
|
212
|
-
cacheComponents[key] = res;
|
|
213
|
-
return res;
|
|
214
|
-
} catch (err) {
|
|
215
|
-
console.log(`Tamagui error bundling components`, err.message, err.stack);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
function gatherTamaguiComponentInfo(packages) {
|
|
219
|
-
const components = {};
|
|
220
|
-
for (const exported of packages) {
|
|
221
|
-
try {
|
|
222
|
-
for (const componentName in exported) {
|
|
223
|
-
const found = getTamaguiComponent(componentName, exported[componentName]);
|
|
224
|
-
if (found) {
|
|
225
|
-
const { Component, reactNativeWebComponent, ...sc } = found.staticConfig;
|
|
226
|
-
Object.assign(components, { [componentName]: { staticConfig: sc } });
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
} catch (err) {
|
|
230
|
-
console.error(`Tamagui failed getting components`);
|
|
231
|
-
if (err instanceof Error) {
|
|
232
|
-
console.error(err.message, err.stack);
|
|
233
|
-
} else {
|
|
234
|
-
console.error(err);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return components;
|
|
239
|
-
}
|
|
240
|
-
function getTamaguiComponent(name, Component) {
|
|
241
|
-
if (name[0].toUpperCase() !== name[0]) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
const staticConfig = Component?.staticConfig;
|
|
245
|
-
if (staticConfig) {
|
|
246
|
-
return Component;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
export {
|
|
250
|
-
loadTamagui,
|
|
251
|
-
loadTamaguiSync
|
|
252
|
-
};
|
|
253
|
-
//# sourceMappingURL=loadTamagui.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/loadTamagui.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-console */\nimport { basename, dirname, join, sep } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport type { StaticConfig, TamaguiComponent, TamaguiInternalConfig } from '@tamagui/core-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\nimport { ensureDir, pathExists, remove, stat, writeFile } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require'\n\ntype NameToPaths = {\n [key: string]: Set<string>\n}\n\nexport type TamaguiProjectInfo = {\n components: Record<string, TamaguiComponent>\n tamaguiConfig: TamaguiInternalConfig\n nameToPaths: NameToPaths\n}\n\ntype Props = { components: string[]; config?: string }\n\nconst cache = {}\n\n// TODO needs a plugin for webpack / vite to run this once at startup and not again until changed...\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n const tmpDir = join(process.cwd(), 'dist', 'tamagui-node')\n const configOutPath = join(tmpDir, `tamagui.config.js`)\n const includesCore = props.components.includes('@tamagui/core')\n const baseComponents = props.components.filter((x) => x !== '@tamagui/core')\n const componentOutPaths = baseComponents.map((componentModule) =>\n join(\n tmpDir,\n `${componentModule\n .split(sep)\n .join('-')\n .replace(/[^a-z0-9]+/gi, '')}-components.config.js`\n )\n )\n\n const external = ['@tamagui/core', '@tamagui/core-node', 'react', 'react-dom']\n const configEntry = props.config ? join(process.cwd(), props.config) : ''\n\n if (process.env.DEBUG?.startsWith('tamagui')) {\n console.log(`Building config entry`, configEntry)\n }\n\n // build them to node-compat versions\n try {\n await ensureDir(tmpDir)\n } catch {\n //\n }\n\n await Promise.all([\n props.config\n ? buildTamaguiConfig(props, {\n entryPoints: [configEntry],\n external,\n outfile: configOutPath,\n })\n : null,\n ...baseComponents.map((componentModule, i) => {\n return buildTamaguiConfig(props, {\n entryPoints: [componentModule],\n external,\n outfile: componentOutPaths[i],\n })\n }),\n ])\n\n if (process.env.DEBUG?.startsWith('tamagui')) {\n console.log(`Built configs`)\n }\n\n const coreNode = require('@tamagui/core-node')\n\n registerRequire()\n const config = require(configOutPath).default\n unregisterRequire()\n\n const components = {\n ...loadComponents(componentOutPaths),\n ...(includesCore && gatherTamaguiComponentInfo([coreNode])),\n }\n\n cache[key] = {\n components,\n nameToPaths: {},\n tamaguiConfig: config,\n }\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n}\n\nasync function buildTamaguiConfig(\n props: Props,\n options: Partial<esbuild.BuildOptions> & { outfile: string },\n aliases?: Record<string, string>\n) {\n const alias = require('@tamagui/core-node').aliasPlugin\n // until i do fancier things w plugins:\n const lockFile = join(dirname(options.outfile), basename(options.outfile, '.lock'))\n const lockStat = await stat(lockFile).catch(() => {\n // ok\n })\n const lockedMsAgo = !lockStat\n ? Infinity\n : new Date().getTime() - new Date(lockStat.mtime).getTime()\n if (lockedMsAgo < 500) {\n if (process.env.DEBUG?.startsWith('tamagui')) {\n console.log(`Waiting for existing build`, options.entryPoints)\n }\n let tries = 5\n while (tries--) {\n if (await pathExists(options.outfile)) {\n return\n } else {\n await new Promise((res) => setTimeout(res, 50))\n }\n }\n }\n writeFile(lockFile, '')\n if (process.env.DEBUG?.startsWith('tamagui')) {\n console.log(`Building`, options.entryPoints)\n }\n return esbuild.build({\n bundle: true,\n ...options,\n format: 'cjs',\n target: 'node18',\n keepNames: true,\n platform: 'node',\n loader: {\n '.js': 'jsx',\n },\n allowOverwrite: true,\n logLevel: 'warning',\n plugins: [\n {\n name: 'external',\n setup(build) {\n build.onResolve({ filter: /@tamagui\\/core/ }, (args) => {\n return {\n path: '@tamagui/core-node',\n external: true,\n }\n })\n\n build.onResolve({ filter: /^(react-native|react-native\\/.*)$/ }, (args) => {\n return {\n path: 'react-native-web-lite',\n external: true,\n }\n })\n },\n },\n alias({\n 'react-native-svg': require.resolve('@tamagui/react-native-svg'),\n 'react-native-safe-area-context': require.resolve('@tamagui/fake-react-native'),\n 'react-native-gesture-handler': require.resolve('@tamagui/proxy-worm'),\n 'react-native-reanimated': require.resolve('@tamagui/proxy-worm'),\n ...aliases,\n }),\n ],\n })\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register({\n target: 'es2019',\n format: 'cjs',\n })\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = process.env.NODE_ENV === 'development'\n }\n\n try {\n // import config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}`)\n }\n }\n\n const components = loadComponents(props.components)\n\n // undo shims\n process.env.IS_STATIC = undefined\n\n // set up core-node\n if (tamaguiConfig) {\n createTamagui(tamaguiConfig)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: {},\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } catch (err) {\n console.log('Error loading Tamagui', err)\n throw err\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nfunction interopDefaultExport(mod: any) {\n return mod?.default ?? mod\n}\n\nconst cacheComponents = {}\n\nfunction loadComponents(componentsModules: string[]) {\n const key = componentsModules.join('')\n if (cacheComponents[key]) {\n return cacheComponents[key]\n }\n try {\n const requiredModules = componentsModules.map((name) => {\n return interopDefaultExport(require(name))\n })\n const res = gatherTamaguiComponentInfo(requiredModules)\n cacheComponents[key] = res\n return res\n } catch (err: any) {\n console.log(`Tamagui error bundling components`, err.message, err.stack)\n }\n}\n\nfunction gatherTamaguiComponentInfo(packages: any[]) {\n const components = {}\n for (const exported of packages) {\n try {\n for (const componentName in exported) {\n const found = getTamaguiComponent(componentName, exported[componentName])\n if (found) {\n // remove non-stringifyable\n const { Component, reactNativeWebComponent, ...sc } = found.staticConfig\n Object.assign(components, { [componentName]: { staticConfig: sc } })\n }\n }\n } catch (err) {\n console.error(`Tamagui failed getting components`)\n if (err instanceof Error) {\n console.error(err.message, err.stack)\n } else {\n console.error(err)\n }\n }\n }\n return components\n}\n\nfunction getTamaguiComponent(\n name: string,\n Component: any\n): undefined | { staticConfig: StaticConfig } {\n if (name[0].toUpperCase() !== name[0]) {\n return\n }\n const staticConfig = Component?.staticConfig as StaticConfig | undefined\n if (staticConfig) {\n return Component\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const prefix = " ";
|
|
2
|
-
const logLines = (str, singleLine = false) => {
|
|
3
|
-
if (singleLine) {
|
|
4
|
-
return prefix + str.split(" ").join(`
|
|
5
|
-
${prefix}`);
|
|
6
|
-
}
|
|
7
|
-
let lines = [""];
|
|
8
|
-
const items = str.split(" ");
|
|
9
|
-
for (const item of items) {
|
|
10
|
-
if (item.length + lines[lines.length - 1].length > 85) {
|
|
11
|
-
lines.push("");
|
|
12
|
-
}
|
|
13
|
-
lines[lines.length - 1] += item + " ";
|
|
14
|
-
}
|
|
15
|
-
return lines.map((line, i) => prefix + (i == 0 ? "" : " ") + line.trim()).join("\n");
|
|
16
|
-
};
|
|
17
|
-
export {
|
|
18
|
-
logLines
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=logLines.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/logLines.ts"],
|
|
4
|
-
"sourcesContent": ["const prefix = ' '\n\nexport const logLines = (str: string, singleLine = false) => {\n if (singleLine) {\n return prefix + str.split(' ').join(`\\n${prefix}`)\n }\n let lines: string[] = ['']\n const items = str.split(' ')\n for (const item of items) {\n if (item.length + lines[lines.length - 1].length > 85) {\n lines.push('')\n }\n lines[lines.length - 1] += item + ' '\n }\n return lines.map((line, i) => prefix + (i == 0 ? '' : ' ') + line.trim()).join('\\n')\n}\n"],
|
|
5
|
-
"mappings": "AAAA,MAAM,SAAS;AAER,MAAM,WAAW,CAAC,KAAa,aAAa,UAAU;AAC3D,MAAI,YAAY;AACd,WAAO,SAAS,IAAI,MAAM,GAAG,EAAE,KAAK;AAAA,EAAK,QAAQ;AAAA,EACnD;AACA,MAAI,QAAkB,CAAC,EAAE;AACzB,QAAM,QAAQ,IAAI,MAAM,GAAG;AAC3B,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,SAAS,MAAM,MAAM,SAAS,GAAG,SAAS,IAAI;AACrD,YAAM,KAAK,EAAE;AAAA,IACf;AACA,UAAM,MAAM,SAAS,MAAM,OAAO;AAAA,EACpC;AACA,SAAO,MAAM,IAAI,CAAC,MAAM,MAAM,SAAU,MAAK,IAAI,KAAK,OAAO,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI;AACrF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import generate from "@babel/generator";
|
|
2
|
-
import * as t from "@babel/types";
|
|
3
|
-
import invariant from "invariant";
|
|
4
|
-
function normalizeTernaries(ternaries) {
|
|
5
|
-
invariant(Array.isArray(ternaries), "extractStaticTernaries expects param 1 to be an array of ternaries");
|
|
6
|
-
if (ternaries.length === 0) {
|
|
7
|
-
return [];
|
|
8
|
-
}
|
|
9
|
-
const ternariesByKey = {};
|
|
10
|
-
for (let idx = -1, len = ternaries.length; ++idx < len; ) {
|
|
11
|
-
const { test, consequent, alternate, remove, ...rest } = ternaries[idx];
|
|
12
|
-
let ternaryTest = test;
|
|
13
|
-
if (t.isExpressionStatement(test)) {
|
|
14
|
-
ternaryTest = test.expression;
|
|
15
|
-
}
|
|
16
|
-
let shouldSwap = false;
|
|
17
|
-
if (t.isUnaryExpression(test) && test.operator === "!") {
|
|
18
|
-
ternaryTest = test.argument;
|
|
19
|
-
shouldSwap = true;
|
|
20
|
-
} else if (t.isBinaryExpression(test)) {
|
|
21
|
-
if (test.operator === "!==" || test.operator === "!=") {
|
|
22
|
-
ternaryTest = t.binaryExpression(test.operator, test.left, test.right);
|
|
23
|
-
shouldSwap = true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const key = generate(ternaryTest).code;
|
|
27
|
-
if (!ternariesByKey[key]) {
|
|
28
|
-
ternariesByKey[key] = {
|
|
29
|
-
...rest,
|
|
30
|
-
alternate: {},
|
|
31
|
-
consequent: {},
|
|
32
|
-
test: ternaryTest,
|
|
33
|
-
remove
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
const altStyle = (shouldSwap ? consequent : alternate) ?? {};
|
|
37
|
-
const consStyle = (shouldSwap ? alternate : consequent) ?? {};
|
|
38
|
-
Object.assign(ternariesByKey[key].alternate, altStyle);
|
|
39
|
-
Object.assign(ternariesByKey[key].consequent, consStyle);
|
|
40
|
-
}
|
|
41
|
-
const ternaryExpression = Object.keys(ternariesByKey).map((key) => {
|
|
42
|
-
return ternariesByKey[key];
|
|
43
|
-
});
|
|
44
|
-
return ternaryExpression;
|
|
45
|
-
}
|
|
46
|
-
export {
|
|
47
|
-
normalizeTernaries
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=normalizeTernaries.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/normalizeTernaries.ts"],
|
|
4
|
-
"sourcesContent": ["import generate from '@babel/generator'\nimport * as t from '@babel/types'\nimport invariant from 'invariant'\n\nimport { Ternary } from '../types'\n\nexport function normalizeTernaries(ternaries: Ternary[]) {\n invariant(\n Array.isArray(ternaries),\n 'extractStaticTernaries expects param 1 to be an array of ternaries'\n )\n\n if (ternaries.length === 0) {\n return []\n }\n\n const ternariesByKey: { [key: string]: Ternary } = {}\n\n for (let idx = -1, len = ternaries.length; ++idx < len; ) {\n const { test, consequent, alternate, remove, ...rest } = ternaries[idx]\n\n let ternaryTest = test\n\n // strip parens\n if (t.isExpressionStatement(test)) {\n ternaryTest = (test as any).expression\n }\n\n // convert `!thing` to `thing` with swapped consequent and alternate\n let shouldSwap = false\n if (t.isUnaryExpression(test) && test.operator === '!') {\n ternaryTest = test.argument\n shouldSwap = true\n } else if (t.isBinaryExpression(test)) {\n if (test.operator === '!==' || test.operator === '!=') {\n ternaryTest = t.binaryExpression(test.operator, test.left, test.right)\n shouldSwap = true\n }\n }\n\n const key = generate(ternaryTest).code\n\n if (!ternariesByKey[key]) {\n ternariesByKey[key] = {\n ...rest,\n alternate: {},\n consequent: {},\n test: ternaryTest,\n remove,\n }\n }\n const altStyle = (shouldSwap ? consequent : alternate) ?? {}\n const consStyle = (shouldSwap ? alternate : consequent) ?? {}\n Object.assign(ternariesByKey[key].alternate!, altStyle)\n Object.assign(ternariesByKey[key].consequent!, consStyle)\n }\n\n const ternaryExpression = Object.keys(ternariesByKey).map((key) => {\n return ternariesByKey[key]\n })\n\n return ternaryExpression\n}\n"],
|
|
5
|
-
"mappings": "AAAA;AACA;AACA;AAIO,4BAA4B,WAAsB;AACvD,YACE,MAAM,QAAQ,SAAS,GACvB,oEACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,iBAA6C,CAAC;AAEpD,WAAS,MAAM,IAAI,MAAM,UAAU,QAAQ,EAAE,MAAM,OAAO;AACxD,UAAM,EAAE,MAAM,YAAY,WAAW,WAAW,SAAS,UAAU;AAEnE,QAAI,cAAc;AAGlB,QAAI,EAAE,sBAAsB,IAAI,GAAG;AACjC,oBAAe,KAAa;AAAA,IAC9B;AAGA,QAAI,aAAa;AACjB,QAAI,EAAE,kBAAkB,IAAI,KAAK,KAAK,aAAa,KAAK;AACtD,oBAAc,KAAK;AACnB,mBAAa;AAAA,IACf,WAAW,EAAE,mBAAmB,IAAI,GAAG;AACrC,UAAI,KAAK,aAAa,SAAS,KAAK,aAAa,MAAM;AACrD,sBAAc,EAAE,iBAAiB,KAAK,UAAU,KAAK,MAAM,KAAK,KAAK;AACrE,qBAAa;AAAA,MACf;AAAA,IACF;AAEA,UAAM,MAAM,SAAS,WAAW,EAAE;AAElC,QAAI,CAAC,eAAe,MAAM;AACxB,qBAAe,OAAO;AAAA,QACpB,GAAG;AAAA,QACH,WAAW,CAAC;AAAA,QACZ,YAAY,CAAC;AAAA,QACb,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,WAAY,cAAa,aAAa,cAAc,CAAC;AAC3D,UAAM,YAAa,cAAa,YAAY,eAAe,CAAC;AAC5D,WAAO,OAAO,eAAe,KAAK,WAAY,QAAQ;AACtD,WAAO,OAAO,eAAe,KAAK,YAAa,SAAS;AAAA,EAC1D;AAEA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,CAAC,QAAQ;AACjE,WAAO,eAAe;AAAA,EACxB,CAAC;AAED,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import * as t from "@babel/types";
|
|
2
|
-
const hooks = {
|
|
3
|
-
useMedia: true,
|
|
4
|
-
useTheme: true
|
|
5
|
-
};
|
|
6
|
-
function removeUnusedHooks(compFn, shouldPrintDebug) {
|
|
7
|
-
compFn.scope.crawl();
|
|
8
|
-
let bodyStatements = compFn?.get("body");
|
|
9
|
-
if (!bodyStatements) {
|
|
10
|
-
console.log("no body statemnts?", compFn);
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
if (!Array.isArray(bodyStatements)) {
|
|
14
|
-
if (bodyStatements.isFunctionExpression()) {
|
|
15
|
-
bodyStatements = bodyStatements.scope.path.get("body");
|
|
16
|
-
} else {
|
|
17
|
-
bodyStatements = bodyStatements.get("body");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (!bodyStatements || !Array.isArray(bodyStatements)) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const statements = bodyStatements;
|
|
24
|
-
for (const statement of statements) {
|
|
25
|
-
if (!statement.isVariableDeclaration()) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
const declarations = statement.get("declarations");
|
|
29
|
-
if (!Array.isArray(declarations)) {
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
const isBindingReferenced = (name) => {
|
|
33
|
-
return !!statement.scope.getBinding(name)?.referenced;
|
|
34
|
-
};
|
|
35
|
-
for (const declarator of declarations) {
|
|
36
|
-
const id = declarator.get("id");
|
|
37
|
-
const init = declarator.node.init;
|
|
38
|
-
if (Array.isArray(id) || Array.isArray(init)) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
const shouldRemove = (() => {
|
|
42
|
-
const isHook = t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name];
|
|
43
|
-
if (!isHook) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
if (t.isIdentifier(id.node)) {
|
|
47
|
-
const name = id.node.name;
|
|
48
|
-
return !isBindingReferenced(name);
|
|
49
|
-
} else if (t.isObjectPattern(id.node)) {
|
|
50
|
-
const propPaths = id.get("properties");
|
|
51
|
-
return propPaths.every((prop) => {
|
|
52
|
-
if (!prop.isObjectProperty())
|
|
53
|
-
return false;
|
|
54
|
-
const value = prop.get("value");
|
|
55
|
-
if (Array.isArray(value) || !value.isIdentifier())
|
|
56
|
-
return false;
|
|
57
|
-
const name = value.node.name;
|
|
58
|
-
return !isBindingReferenced(name);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return false;
|
|
62
|
-
})();
|
|
63
|
-
if (shouldRemove) {
|
|
64
|
-
declarator.remove();
|
|
65
|
-
if (shouldPrintDebug) {
|
|
66
|
-
console.log(` [\u{1FA9D}] removed ${id.node["name"] ?? ""}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export {
|
|
73
|
-
removeUnusedHooks
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=removeUnusedHooks.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/removeUnusedHooks.ts"],
|
|
4
|
-
"sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nconst hooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport function removeUnusedHooks(compFn: NodePath<any>, shouldPrintDebug: boolean | 'verbose') {\n compFn.scope.crawl()\n // check the top level statements\n let bodyStatements = compFn?.get('body')\n if (!bodyStatements) {\n console.log('no body statemnts?', compFn)\n return\n }\n if (!Array.isArray(bodyStatements)) {\n if (bodyStatements.isFunctionExpression()) {\n bodyStatements = bodyStatements.scope.path.get('body')\n } else {\n bodyStatements = bodyStatements.get('body')\n }\n }\n if (!bodyStatements || !Array.isArray(bodyStatements)) {\n return\n }\n const statements = bodyStatements as NodePath<any>[]\n for (const statement of statements) {\n if (!statement.isVariableDeclaration()) {\n continue\n }\n const declarations = statement.get('declarations')\n if (!Array.isArray(declarations)) {\n continue\n }\n const isBindingReferenced = (name: string) => {\n return !!statement.scope.getBinding(name)?.referenced\n }\n for (const declarator of declarations) {\n const id = declarator.get('id')\n const init = declarator.node.init\n if (Array.isArray(id) || Array.isArray(init)) {\n continue\n }\n const shouldRemove = (() => {\n const isHook =\n t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name]\n if (!isHook) {\n return false\n }\n if (t.isIdentifier(id.node)) {\n // remove \"const media = useMedia()\"\n const name = id.node.name\n return !isBindingReferenced(name)\n } else if (t.isObjectPattern(id.node)) {\n // remove \"const { sm } = useMedia()\"\n const propPaths = id.get('properties') as NodePath<any>[]\n return propPaths.every((prop) => {\n if (!prop.isObjectProperty()) return false\n const value = prop.get('value')\n if (Array.isArray(value) || !value.isIdentifier()) return false\n const name = value.node.name\n return !isBindingReferenced(name)\n })\n }\n return false\n })()\n if (shouldRemove) {\n declarator.remove()\n if (shouldPrintDebug) {\n console.log(` [\uD83E\uDE9D] removed ${id.node['name'] ?? ''}`)\n }\n }\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA;AAEA,MAAM,QAAQ;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,2BAA2B,QAAuB,kBAAuC;AAC9F,SAAO,MAAM,MAAM;AAEnB,MAAI,iBAAiB,QAAQ,IAAI,MAAM;AACvC,MAAI,CAAC,gBAAgB;AACnB,YAAQ,IAAI,sBAAsB,MAAM;AACxC;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAClC,QAAI,eAAe,qBAAqB,GAAG;AACzC,uBAAiB,eAAe,MAAM,KAAK,IAAI,MAAM;AAAA,IACvD,OAAO;AACL,uBAAiB,eAAe,IAAI,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,MAAI,CAAC,kBAAkB,CAAC,MAAM,QAAQ,cAAc,GAAG;AACrD;AAAA,EACF;AACA,QAAM,aAAa;AACnB,aAAW,aAAa,YAAY;AAClC,QAAI,CAAC,UAAU,sBAAsB,GAAG;AACtC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC;AAAA,IACF;AACA,UAAM,sBAAsB,CAAC,SAAiB;AAC5C,aAAO,CAAC,CAAC,UAAU,MAAM,WAAW,IAAI,GAAG;AAAA,IAC7C;AACA,eAAW,cAAc,cAAc;AACrC,YAAM,KAAK,WAAW,IAAI,IAAI;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,IAAI,GAAG;AAC5C;AAAA,MACF;AACA,YAAM,eAAgB,OAAM;AAC1B,cAAM,SACJ,EAAE,iBAAiB,IAAI,KAAK,EAAE,aAAa,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO;AAC/E,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,aAAa,GAAG,IAAI,GAAG;AAE3B,gBAAM,OAAO,GAAG,KAAK;AACrB,iBAAO,CAAC,oBAAoB,IAAI;AAAA,QAClC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG;AAErC,gBAAM,YAAY,GAAG,IAAI,YAAY;AACrC,iBAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,gBAAI,CAAC,KAAK,iBAAiB;AAAG,qBAAO;AACrC,kBAAM,QAAQ,KAAK,IAAI,OAAO;AAC9B,gBAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,aAAa;AAAG,qBAAO;AAC1D,kBAAM,OAAO,MAAM,KAAK;AACxB,mBAAO,CAAC,oBAAoB,IAAI;AAAA,UAClC,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT,GAAG;AACH,UAAI,cAAc;AAChB,mBAAW,OAAO;AAClB,YAAI,kBAAkB;AACpB,kBAAQ,IAAI,yBAAkB,GAAG,KAAK,WAAW,IAAI;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const timer = () => {
|
|
2
|
-
const start = Date.now();
|
|
3
|
-
let last = start;
|
|
4
|
-
return {
|
|
5
|
-
mark: (name, print = false) => {
|
|
6
|
-
if (print) {
|
|
7
|
-
const took = Date.now() - last;
|
|
8
|
-
last = Date.now();
|
|
9
|
-
console.log(`Time ${name}: ${took}ms`);
|
|
10
|
-
if (took > 10) {
|
|
11
|
-
console.log(" long timer");
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
done: (print = false) => {
|
|
16
|
-
if (print) {
|
|
17
|
-
const total = Date.now() - start;
|
|
18
|
-
console.log(`Total time: ${total}ms`);
|
|
19
|
-
if (total > 50) {
|
|
20
|
-
console.log(" long timer");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
export {
|
|
27
|
-
timer
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=timer.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/timer.ts"],
|
|
4
|
-
"sourcesContent": ["export const timer = () => {\n const start = Date.now()\n let last = start\n return {\n mark: (name: string, print = false) => {\n if (print) {\n const took = Date.now() - last\n last = Date.now()\n // eslint-disable-next-line no-console\n console.log(`Time ${name}: ${took}ms`)\n if (took > 10) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n done: (print = false) => {\n if (print) {\n const total = Date.now() - start\n // eslint-disable-next-line no-console\n console.log(`Total time: ${total}ms`)\n if (total > 50) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,QAAQ,MAAM;AACzB,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI,OAAO;AACX,SAAO;AAAA,IACL,MAAM,CAAC,MAAc,QAAQ,UAAU;AACrC,UAAI,OAAO;AACT,cAAM,OAAO,KAAK,IAAI,IAAI;AAC1B,eAAO,KAAK,IAAI;AAEhB,gBAAQ,IAAI,QAAQ,SAAS,QAAQ;AACrC,YAAI,OAAO,IAAI;AAEb,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,CAAC,QAAQ,UAAU;AACvB,UAAI,OAAO;AACT,cAAM,QAAQ,KAAK,IAAI,IAAI;AAE3B,gBAAQ,IAAI,eAAe,SAAS;AACpC,YAAI,QAAQ,IAAI;AAEd,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
const validHTMLAttributes = {
|
|
2
|
-
autocomplete: true,
|
|
3
|
-
border: true,
|
|
4
|
-
contenteditable: true,
|
|
5
|
-
crossorigin: true,
|
|
6
|
-
dir: true,
|
|
7
|
-
draggable: true,
|
|
8
|
-
enctype: true,
|
|
9
|
-
formenctype: true,
|
|
10
|
-
formmethod: true,
|
|
11
|
-
formtarget: true,
|
|
12
|
-
inputmode: true,
|
|
13
|
-
kind: true,
|
|
14
|
-
link: true,
|
|
15
|
-
method: true,
|
|
16
|
-
preload: true,
|
|
17
|
-
referrerpolicy: true,
|
|
18
|
-
rel: true,
|
|
19
|
-
rev: true,
|
|
20
|
-
role: true,
|
|
21
|
-
sandbox: true,
|
|
22
|
-
shape: true,
|
|
23
|
-
spellcheck: true,
|
|
24
|
-
target: true,
|
|
25
|
-
translate: true,
|
|
26
|
-
type: true,
|
|
27
|
-
wrap: true,
|
|
28
|
-
"aria-autocomplete": true,
|
|
29
|
-
"aria-busy": true,
|
|
30
|
-
"aria-checked": true,
|
|
31
|
-
"aria-current": true,
|
|
32
|
-
"aria-disabled": true,
|
|
33
|
-
"aria-expanded": true,
|
|
34
|
-
"aria-haspopup": true,
|
|
35
|
-
"aria-hidden": true,
|
|
36
|
-
"aria-invalid": true,
|
|
37
|
-
"aria-polite": true,
|
|
38
|
-
"aria-modal": true,
|
|
39
|
-
"aria-multiline": true,
|
|
40
|
-
"aria-multiselectable": true,
|
|
41
|
-
"aria-orientation": true,
|
|
42
|
-
"aria-pressed": true,
|
|
43
|
-
"aria-readonly": true,
|
|
44
|
-
"aria-relevant": true,
|
|
45
|
-
"aria-required": true,
|
|
46
|
-
"aria-selected": true,
|
|
47
|
-
"aria-sort": true
|
|
48
|
-
};
|
|
49
|
-
const validAccessibilityAttributes = {
|
|
50
|
-
accessibilityRole: true,
|
|
51
|
-
accessibilityActiveDescendant: true,
|
|
52
|
-
accessibilityAtomic: true,
|
|
53
|
-
accessibilityAutoComplete: true,
|
|
54
|
-
accessibilityBusy: true,
|
|
55
|
-
accessibilityChecked: true,
|
|
56
|
-
accessibilityColumnCount: true,
|
|
57
|
-
accessibilityColumnIndex: true,
|
|
58
|
-
accessibilityColumnSpan: true,
|
|
59
|
-
accessibilityControls: true,
|
|
60
|
-
accessibilityCurrent: true,
|
|
61
|
-
accessibilityDescribedBy: true,
|
|
62
|
-
accessibilityDetails: true,
|
|
63
|
-
disabled: true,
|
|
64
|
-
accessibilityErrorMessage: true,
|
|
65
|
-
accessibilityExpanded: true,
|
|
66
|
-
accessibilityFlowTo: true,
|
|
67
|
-
accessibilityHasPopup: true,
|
|
68
|
-
accessibilityHidden: true,
|
|
69
|
-
accessibilityInvalid: true,
|
|
70
|
-
accessibilityKeyShortcuts: true,
|
|
71
|
-
accessibilityLabel: true,
|
|
72
|
-
accessibilityLabelledBy: true,
|
|
73
|
-
accessibilityLevel: true,
|
|
74
|
-
accessibilityLiveRegion: true,
|
|
75
|
-
accessibilityModal: true,
|
|
76
|
-
accessibilityMultiline: true,
|
|
77
|
-
accessibilityMultiSelectable: true,
|
|
78
|
-
accessibilityOrientation: true,
|
|
79
|
-
accessibilityOwns: true,
|
|
80
|
-
accessibilityPlaceholder: true,
|
|
81
|
-
accessibilityPosInSet: true,
|
|
82
|
-
accessibilityPressed: true,
|
|
83
|
-
accessibilityReadOnly: true,
|
|
84
|
-
accessibilityRequired: true,
|
|
85
|
-
accessibilityRoleDescription: true,
|
|
86
|
-
accessibilityRowCount: true,
|
|
87
|
-
accessibilityRowIndex: true,
|
|
88
|
-
accessibilityRowSpan: true,
|
|
89
|
-
accessibilitySelected: true,
|
|
90
|
-
accessibilitySetSize: true,
|
|
91
|
-
accessibilitySort: true,
|
|
92
|
-
accessibilityValueMax: true,
|
|
93
|
-
accessibilityValueMin: true,
|
|
94
|
-
accessibilityValueNow: true,
|
|
95
|
-
accessibilityValueText: true,
|
|
96
|
-
nativeID: true
|
|
97
|
-
};
|
|
98
|
-
export {
|
|
99
|
-
validAccessibilityAttributes,
|
|
100
|
-
validHTMLAttributes
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=validHTMLAttributes.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/validHTMLAttributes.ts"],
|
|
4
|
-
"sourcesContent": ["export const validHTMLAttributes = {\n autocomplete: true,\n border: true,\n contenteditable: true,\n crossorigin: true,\n dir: true,\n draggable: true,\n enctype: true,\n formenctype: true,\n formmethod: true,\n formtarget: true,\n inputmode: true,\n kind: true,\n link: true,\n method: true,\n preload: true,\n referrerpolicy: true,\n rel: true,\n rev: true,\n role: true,\n sandbox: true,\n shape: true,\n spellcheck: true,\n target: true,\n translate: true,\n type: true,\n wrap: true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-current': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-polite': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-relevant': true,\n 'aria-required': true,\n 'aria-selected': true,\n 'aria-sort': true,\n}\n\n// for moving off react-native-web eventually (unused atm)\nexport const validAccessibilityAttributes = {\n accessibilityRole: true,\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n disabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n nativeID: true,\n}\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,sBAAsB;AAAA,EACjC,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AACf;AAGO,MAAM,+BAA+B;AAAA,EAC1C,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,sBAAsB;AAAA,EACtB,UAAU;AAAA,EACV,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,8BAA8B;AAAA,EAC9B,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,UAAU;AACZ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|