@tamagui/static 2.0.0-rc.4 → 2.0.0-rc.40
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/check-dep-versions.cjs +201 -96
- package/dist/checkDeps.cjs +250 -46
- package/dist/constants.cjs +32 -30
- package/dist/exports.cjs +18 -13
- package/dist/extractor/accessSafe.cjs +25 -23
- package/dist/extractor/babelParse.cjs +30 -28
- package/dist/extractor/buildClassName.cjs +59 -35
- package/dist/extractor/bundle.cjs +177 -101
- package/dist/extractor/bundleConfig.cjs +554 -167
- package/dist/extractor/concatClassName.cjs +41 -29
- package/dist/extractor/createEvaluator.cjs +54 -41
- package/dist/extractor/createExtractor.cjs +1400 -581
- package/dist/extractor/createLogger.cjs +30 -25
- package/dist/extractor/detectModuleFormat.cjs +55 -0
- package/dist/extractor/ensureImportingConcat.cjs +31 -25
- package/dist/extractor/errors.cjs +12 -10
- package/dist/extractor/esbuildAliasPlugin.cjs +28 -16
- package/dist/extractor/esbuildTsconfigPaths.cjs +60 -36
- package/dist/extractor/evaluateAstNode.cjs +104 -59
- package/dist/extractor/extractHelpers.cjs +130 -67
- package/dist/extractor/extractMediaStyle.cjs +110 -69
- package/dist/extractor/extractToClassNames.cjs +337 -229
- package/dist/extractor/extractToNative.cjs +248 -154
- package/dist/extractor/findTopmostFunction.cjs +22 -13
- package/dist/extractor/generatedUid.cjs +39 -28
- package/dist/extractor/getPrefixLogs.cjs +12 -10
- package/dist/extractor/getPropValueFromAttributes.cjs +52 -34
- package/dist/extractor/getSourceModule.cjs +73 -37
- package/dist/extractor/getStaticBindingsForScope.cjs +131 -68
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +20 -14
- package/dist/extractor/hasTopLevelAwait.cjs +62 -0
- package/dist/extractor/hoistClassNames.cjs +46 -32
- package/dist/extractor/literalToAst.cjs +67 -42
- package/dist/extractor/loadFile.cjs +9 -3
- package/dist/extractor/loadTamagui.cjs +149 -104
- package/dist/extractor/logLines.cjs +27 -19
- package/dist/extractor/normalizeTernaries.cjs +66 -44
- package/dist/extractor/propsToFontFamilyCache.cjs +15 -11
- package/dist/extractor/regenerateConfig.cjs +109 -81
- package/dist/extractor/removeUnusedHooks.cjs +73 -41
- package/dist/extractor/timer.cjs +23 -14
- package/dist/extractor/validHTMLAttributes.cjs +61 -59
- package/dist/extractor/watchTamaguiConfig.cjs +35 -23
- package/dist/getPragmaOptions.cjs +38 -19
- package/dist/helpers/memoize.cjs +24 -16
- package/dist/helpers/requireTamaguiCore.cjs +22 -15
- package/dist/index.cjs +26 -24
- package/dist/registerRequire.cjs +167 -65
- package/dist/server.cjs +35 -28
- package/dist/types.cjs +7 -5
- package/dist/worker.cjs +62 -40
- package/package.json +26 -22
- package/src/checkDeps.ts +305 -68
- package/src/exports.ts +1 -0
- package/src/extractor/babelParse.ts +1 -0
- package/src/extractor/bundle.ts +140 -37
- package/src/extractor/bundleConfig.ts +435 -61
- package/src/extractor/createExtractor.ts +283 -48
- package/src/extractor/detectModuleFormat.ts +42 -0
- package/src/extractor/esbuildTsconfigPaths.ts +6 -1
- package/src/extractor/extractToClassNames.ts +15 -9
- package/src/extractor/extractToNative.ts +66 -33
- package/src/extractor/hasTopLevelAwait.ts +28 -0
- package/src/extractor/loadTamagui.ts +2 -2
- package/src/getPragmaOptions.ts +6 -1
- package/src/registerRequire.ts +88 -8
- package/types/checkDeps.d.ts.map +1 -1
- package/types/exports.d.ts +1 -0
- package/types/exports.d.ts.map +1 -1
- package/types/extractor/babelParse.d.ts.map +1 -1
- package/types/extractor/bundle.d.ts +83 -1
- package/types/extractor/bundle.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts +15 -2
- package/types/extractor/bundleConfig.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/detectModuleFormat.d.ts +5 -0
- package/types/extractor/detectModuleFormat.d.ts.map +1 -0
- package/types/extractor/esbuildTsconfigPaths.d.ts +8 -0
- package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
- package/types/extractor/extractToClassNames.d.ts.map +1 -1
- package/types/extractor/extractToNative.d.ts.map +1 -1
- package/types/extractor/hasTopLevelAwait.d.ts +2 -0
- package/types/extractor/hasTopLevelAwait.d.ts.map +1 -0
- package/types/getPragmaOptions.d.ts.map +1 -1
- package/types/registerRequire.d.ts.map +1 -1
- package/dist/check-dep-versions.js +0 -389
- package/dist/check-dep-versions.js.map +0 -6
- package/dist/checkDeps.js +0 -60
- package/dist/checkDeps.js.map +0 -6
- package/dist/constants.js +0 -34
- package/dist/constants.js.map +0 -6
- package/dist/exports.js +0 -34
- package/dist/exports.js.map +0 -6
- package/dist/extractor/accessSafe.js +0 -47
- package/dist/extractor/accessSafe.js.map +0 -6
- package/dist/extractor/babelParse.js +0 -59
- package/dist/extractor/babelParse.js.map +0 -6
- package/dist/extractor/buildClassName.js +0 -72
- package/dist/extractor/buildClassName.js.map +0 -6
- package/dist/extractor/bundle.js +0 -135
- package/dist/extractor/bundle.js.map +0 -6
- package/dist/extractor/bundleConfig.js +0 -352
- package/dist/extractor/bundleConfig.js.map +0 -6
- package/dist/extractor/concatClassName.js +0 -69
- package/dist/extractor/concatClassName.js.map +0 -6
- package/dist/extractor/createEvaluator.js +0 -66
- package/dist/extractor/createEvaluator.js.map +0 -6
- package/dist/extractor/createExtractor.js +0 -1215
- package/dist/extractor/createExtractor.js.map +0 -6
- package/dist/extractor/createLogger.js +0 -32
- package/dist/extractor/createLogger.js.map +0 -6
- package/dist/extractor/ensureImportingConcat.js +0 -50
- package/dist/extractor/ensureImportingConcat.js.map +0 -6
- package/dist/extractor/errors.js +0 -22
- package/dist/extractor/errors.js.map +0 -6
- package/dist/extractor/esbuildAliasPlugin.js +0 -36
- package/dist/extractor/esbuildAliasPlugin.js.map +0 -6
- package/dist/extractor/esbuildTsconfigPaths.js +0 -79
- package/dist/extractor/esbuildTsconfigPaths.js.map +0 -6
- package/dist/extractor/evaluateAstNode.js +0 -99
- package/dist/extractor/evaluateAstNode.js.map +0 -6
- package/dist/extractor/extractHelpers.js +0 -108
- package/dist/extractor/extractHelpers.js.map +0 -6
- package/dist/extractor/extractMediaStyle.js +0 -123
- package/dist/extractor/extractMediaStyle.js.map +0 -6
- package/dist/extractor/extractToClassNames.js +0 -351
- package/dist/extractor/extractToClassNames.js.map +0 -6
- package/dist/extractor/extractToNative.js +0 -286
- package/dist/extractor/extractToNative.js.map +0 -6
- package/dist/extractor/findTopmostFunction.js +0 -32
- package/dist/extractor/findTopmostFunction.js.map +0 -6
- package/dist/extractor/generatedUid.js +0 -42
- package/dist/extractor/generatedUid.js.map +0 -6
- package/dist/extractor/getPrefixLogs.js +0 -24
- package/dist/extractor/getPrefixLogs.js.map +0 -6
- package/dist/extractor/getPropValueFromAttributes.js +0 -65
- package/dist/extractor/getPropValueFromAttributes.js.map +0 -6
- package/dist/extractor/getSourceModule.js +0 -62
- package/dist/extractor/getSourceModule.js.map +0 -6
- package/dist/extractor/getStaticBindingsForScope.js +0 -145
- package/dist/extractor/getStaticBindingsForScope.js.map +0 -6
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js +0 -32
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +0 -6
- package/dist/extractor/hoistClassNames.js +0 -63
- package/dist/extractor/hoistClassNames.js.map +0 -6
- package/dist/extractor/literalToAst.js +0 -90
- package/dist/extractor/literalToAst.js.map +0 -6
- package/dist/extractor/loadFile.js +0 -14
- package/dist/extractor/loadFile.js.map +0 -6
- package/dist/extractor/loadTamagui.js +0 -306
- package/dist/extractor/loadTamagui.js.map +0 -6
- package/dist/extractor/logLines.js +0 -30
- package/dist/extractor/logLines.js.map +0 -6
- package/dist/extractor/normalizeTernaries.js +0 -61
- package/dist/extractor/normalizeTernaries.js.map +0 -6
- package/dist/extractor/propsToFontFamilyCache.js +0 -33
- package/dist/extractor/propsToFontFamilyCache.js.map +0 -6
- package/dist/extractor/regenerateConfig.js +0 -123
- package/dist/extractor/regenerateConfig.js.map +0 -6
- package/dist/extractor/removeUnusedHooks.js +0 -72
- package/dist/extractor/removeUnusedHooks.js.map +0 -6
- package/dist/extractor/timer.js +0 -38
- package/dist/extractor/timer.js.map +0 -6
- package/dist/extractor/validHTMLAttributes.js +0 -72
- package/dist/extractor/validHTMLAttributes.js.map +0 -6
- package/dist/extractor/watchTamaguiConfig.js +0 -57
- package/dist/extractor/watchTamaguiConfig.js.map +0 -6
- package/dist/getPragmaOptions.js +0 -46
- package/dist/getPragmaOptions.js.map +0 -6
- package/dist/helpers/memoize.js +0 -33
- package/dist/helpers/memoize.js.map +0 -6
- package/dist/helpers/requireTamaguiCore.js +0 -30
- package/dist/helpers/requireTamaguiCore.js.map +0 -6
- package/dist/index.js +0 -30
- package/dist/index.js.map +0 -6
- package/dist/registerRequire.js +0 -100
- package/dist/registerRequire.js.map +0 -6
- package/dist/server.js +0 -58
- package/dist/server.js.map +0 -6
- package/dist/setup.js +0 -1
- package/dist/setup.js.map +0 -6
- package/dist/types.js +0 -14
- package/dist/types.js.map +0 -6
- package/dist/worker.js +0 -72
- package/dist/worker.js.map +0 -6
|
@@ -2,33 +2,35 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
6
|
-
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
}), mod);
|
|
32
34
|
var regenerateConfig_exports = {};
|
|
33
35
|
__export(regenerateConfig_exports, {
|
|
34
36
|
generateTamaguiThemes: () => generateTamaguiThemes,
|
|
@@ -36,99 +38,125 @@ __export(regenerateConfig_exports, {
|
|
|
36
38
|
regenerateConfigSync: () => regenerateConfigSync
|
|
37
39
|
});
|
|
38
40
|
module.exports = __toCommonJS(regenerateConfig_exports);
|
|
39
|
-
var import_node_path = require("node:path")
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const tamaguiDir = (0, import_node_path.join)(process.cwd(), ".tamagui")
|
|
45
|
-
|
|
46
|
-
async function regenerateConfig(tamaguiOptions, configIn, rebuild =
|
|
41
|
+
var import_node_path = require("node:path");
|
|
42
|
+
var import_generate_themes = require("@tamagui/generate-themes");
|
|
43
|
+
var FS = __toESM(require("fs-extra"));
|
|
44
|
+
var import_requireTamaguiCore = require("../helpers/requireTamaguiCore.cjs");
|
|
45
|
+
var import_bundleConfig = require("./bundleConfig.cjs");
|
|
46
|
+
const tamaguiDir = (0, import_node_path.join)(process.cwd(), ".tamagui");
|
|
47
|
+
const confFile = (0, import_node_path.join)(tamaguiDir, "tamagui.config.json");
|
|
48
|
+
async function regenerateConfig(tamaguiOptions, configIn, rebuild = false) {
|
|
47
49
|
try {
|
|
48
50
|
const config = configIn ?? (await (0, import_bundleConfig.getBundledConfig)(tamaguiOptions, rebuild));
|
|
49
51
|
if (!config) return;
|
|
50
52
|
const out = transformConfig(config, tamaguiOptions.platform || "web");
|
|
51
|
-
await FS.ensureDir((0, import_node_path.dirname)(confFile))
|
|
53
|
+
await FS.ensureDir((0, import_node_path.dirname)(confFile));
|
|
54
|
+
await FS.writeJSON(confFile, out, {
|
|
52
55
|
spaces: 2
|
|
53
56
|
});
|
|
54
57
|
} catch (err) {
|
|
55
|
-
(process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV)
|
|
58
|
+
if (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) {
|
|
59
|
+
console.warn("regenerateConfig error", err);
|
|
60
|
+
}
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
63
|
function regenerateConfigSync(_tamaguiOptions, config) {
|
|
59
64
|
try {
|
|
60
|
-
FS.ensureDirSync((0, import_node_path.dirname)(confFile))
|
|
65
|
+
FS.ensureDirSync((0, import_node_path.dirname)(confFile));
|
|
66
|
+
FS.writeJSONSync(confFile, transformConfig(config, _tamaguiOptions.platform || "web"), {
|
|
61
67
|
spaces: 2
|
|
62
68
|
});
|
|
63
69
|
} catch (err) {
|
|
64
|
-
(process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV)
|
|
70
|
+
if (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) {
|
|
71
|
+
console.warn("regenerateConfig error", err);
|
|
72
|
+
}
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
|
-
async function generateTamaguiThemes(tamaguiOptions, force =
|
|
68
|
-
if (!tamaguiOptions.themeBuilder)
|
|
75
|
+
async function generateTamaguiThemes(tamaguiOptions, force = false) {
|
|
76
|
+
if (!tamaguiOptions.themeBuilder) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
69
79
|
const {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
input,
|
|
81
|
+
output
|
|
82
|
+
} = tamaguiOptions.themeBuilder;
|
|
83
|
+
const inPath = resolveRelativePath(input);
|
|
84
|
+
const outPath = resolveRelativePath(output);
|
|
85
|
+
const generatedOutput = await (0, import_generate_themes.generateThemes)(inPath);
|
|
86
|
+
const hasChanged = force || (await (async () => {
|
|
87
|
+
try {
|
|
88
|
+
if (!generatedOutput) return false;
|
|
89
|
+
const next = generatedOutput.generated;
|
|
90
|
+
const current = await FS.readFile(outPath, "utf-8");
|
|
91
|
+
return next !== current;
|
|
92
|
+
} catch (err) {}
|
|
93
|
+
return true;
|
|
94
|
+
})());
|
|
95
|
+
if (hasChanged) {
|
|
96
|
+
await (0, import_generate_themes.writeGeneratedThemes)(tamaguiDir, outPath, generatedOutput);
|
|
97
|
+
}
|
|
98
|
+
return hasChanged;
|
|
86
99
|
}
|
|
87
100
|
const resolveRelativePath = inputPath => inputPath.startsWith(".") ? (0, import_node_path.join)(process.cwd(), inputPath) : require.resolve(inputPath);
|
|
88
101
|
function cloneDeepSafe(x, excludeKeys = {}) {
|
|
89
|
-
|
|
102
|
+
if (!x) return x;
|
|
103
|
+
if (Array.isArray(x)) return x.map(_ => cloneDeepSafe(_));
|
|
104
|
+
if (typeof x === "function") return `Function`;
|
|
105
|
+
if (typeof x !== "object") return x;
|
|
106
|
+
if ("$$typeof" in x) return "Component";
|
|
107
|
+
return Object.fromEntries(Object.entries(x).flatMap(([k, v]) => excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]]));
|
|
90
108
|
}
|
|
91
109
|
function transformConfig(config, platform) {
|
|
92
|
-
if (!config)
|
|
110
|
+
if (!config) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const {
|
|
114
|
+
getVariableValue
|
|
115
|
+
} = (0, import_requireTamaguiCore.requireTamaguiCore)(platform);
|
|
116
|
+
const next = cloneDeepSafe(config, {
|
|
117
|
+
validStyles: true
|
|
118
|
+
});
|
|
93
119
|
const {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
tamaguiConfig
|
|
103
|
-
} = next,
|
|
104
|
-
{
|
|
105
|
-
themes,
|
|
106
|
-
tokens
|
|
107
|
-
} = tamaguiConfig;
|
|
120
|
+
components,
|
|
121
|
+
nameToPaths,
|
|
122
|
+
tamaguiConfig
|
|
123
|
+
} = next;
|
|
124
|
+
const {
|
|
125
|
+
themes,
|
|
126
|
+
tokens
|
|
127
|
+
} = tamaguiConfig;
|
|
108
128
|
for (const key in themes) {
|
|
109
129
|
const theme = themes[key];
|
|
110
130
|
theme.id = key;
|
|
111
|
-
for (const tkey in theme)
|
|
131
|
+
for (const tkey in theme) {
|
|
132
|
+
theme[tkey] = getVariableValue(theme[tkey]);
|
|
133
|
+
}
|
|
112
134
|
}
|
|
113
135
|
for (const key in tokens) {
|
|
114
136
|
const token = {
|
|
115
137
|
...tokens[key]
|
|
116
138
|
};
|
|
117
|
-
for (const tkey in token)
|
|
139
|
+
for (const tkey in token) {
|
|
140
|
+
token[tkey] = getVariableValue(token[tkey]);
|
|
141
|
+
}
|
|
118
142
|
}
|
|
119
|
-
for (const component of components)
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
143
|
+
for (const component of components) {
|
|
144
|
+
for (const _ in component.nameToInfo) {
|
|
145
|
+
const compDefinition = {
|
|
146
|
+
...component.nameToInfo[_]
|
|
147
|
+
};
|
|
148
|
+
component.nameToInfo[_] = compDefinition;
|
|
149
|
+
const {
|
|
150
|
+
parentStaticConfig,
|
|
151
|
+
...rest
|
|
152
|
+
} = compDefinition.staticConfig;
|
|
153
|
+
compDefinition.staticConfig = rest;
|
|
154
|
+
}
|
|
129
155
|
}
|
|
130
156
|
next.nameToPaths = {};
|
|
131
|
-
for (const key in nameToPaths)
|
|
157
|
+
for (const key in nameToPaths) {
|
|
158
|
+
next.nameToPaths[key] = [...nameToPaths[key]];
|
|
159
|
+
}
|
|
132
160
|
const {
|
|
133
161
|
fontsParsed,
|
|
134
162
|
getCSS,
|
|
@@ -2,33 +2,35 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
6
|
-
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
}), mod);
|
|
32
34
|
var removeUnusedHooks_exports = {};
|
|
33
35
|
__export(removeUnusedHooks_exports, {
|
|
34
36
|
removeUnusedHooks: () => removeUnusedHooks
|
|
@@ -36,8 +38,8 @@ __export(removeUnusedHooks_exports, {
|
|
|
36
38
|
module.exports = __toCommonJS(removeUnusedHooks_exports);
|
|
37
39
|
var t = __toESM(require("@babel/types"));
|
|
38
40
|
const hooks = {
|
|
39
|
-
useMedia:
|
|
40
|
-
useTheme:
|
|
41
|
+
useMedia: true,
|
|
42
|
+
useTheme: true
|
|
41
43
|
};
|
|
42
44
|
function removeUnusedHooks(compFn, shouldPrintDebug) {
|
|
43
45
|
compFn.scope.crawl();
|
|
@@ -46,31 +48,61 @@ function removeUnusedHooks(compFn, shouldPrintDebug) {
|
|
|
46
48
|
console.info("no body statemnts?", compFn);
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
49
|
-
if (
|
|
51
|
+
if (!Array.isArray(bodyStatements)) {
|
|
52
|
+
if (bodyStatements.isFunctionExpression()) {
|
|
53
|
+
bodyStatements = bodyStatements.scope.path.get("body");
|
|
54
|
+
} else {
|
|
55
|
+
bodyStatements = bodyStatements.get("body");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (!bodyStatements || !Array.isArray(bodyStatements)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
50
61
|
const statements = bodyStatements;
|
|
51
62
|
for (const statement of statements) {
|
|
52
|
-
if (!statement.isVariableDeclaration())
|
|
63
|
+
if (!statement.isVariableDeclaration()) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
53
66
|
const declarations = statement.get("declarations");
|
|
54
|
-
if (!Array.isArray(declarations))
|
|
55
|
-
|
|
67
|
+
if (!Array.isArray(declarations)) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const isBindingReferenced = name => {
|
|
71
|
+
return !!statement.scope.getBinding(name)?.referenced;
|
|
72
|
+
};
|
|
56
73
|
for (const declarator of declarations) {
|
|
57
|
-
const id = declarator.get("id")
|
|
58
|
-
|
|
59
|
-
if (Array.isArray(id) || Array.isArray(init))
|
|
60
|
-
|
|
61
|
-
|
|
74
|
+
const id = declarator.get("id");
|
|
75
|
+
const init = declarator.node.init;
|
|
76
|
+
if (Array.isArray(id) || Array.isArray(init)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const shouldRemove = (() => {
|
|
80
|
+
const isHook = init && t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name];
|
|
81
|
+
if (!isHook) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
62
84
|
if (t.isIdentifier(id.node)) {
|
|
63
85
|
const name = id.node.name;
|
|
64
86
|
return !isBindingReferenced(name);
|
|
65
87
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
if (t.isObjectPattern(id.node)) {
|
|
89
|
+
const propPaths = id.get("properties");
|
|
90
|
+
return propPaths.every(prop => {
|
|
91
|
+
if (!prop.isObjectProperty()) return false;
|
|
92
|
+
const value = prop.get("value");
|
|
93
|
+
if (Array.isArray(value) || !value.isIdentifier()) return false;
|
|
94
|
+
const name = value.node.name;
|
|
95
|
+
return !isBindingReferenced(name);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
})();
|
|
100
|
+
if (shouldRemove) {
|
|
101
|
+
declarator.remove();
|
|
102
|
+
if (shouldPrintDebug) {
|
|
103
|
+
console.info(` [\u{1FA9D}] removed ${id.node["name"] ?? ""}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
74
106
|
}
|
|
75
107
|
}
|
|
76
108
|
}
|
package/dist/extractor/timer.cjs
CHANGED
|
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var timer_exports = {};
|
|
22
24
|
__export(timer_exports, {
|
|
@@ -27,16 +29,23 @@ const timer = () => {
|
|
|
27
29
|
const start = Date.now();
|
|
28
30
|
let last = start;
|
|
29
31
|
return {
|
|
30
|
-
mark: (name, print =
|
|
32
|
+
mark: (name, print = false) => {
|
|
31
33
|
if (print) {
|
|
32
34
|
const took = Date.now() - last;
|
|
33
|
-
last = Date.now()
|
|
35
|
+
last = Date.now();
|
|
36
|
+
console.info(`Time ${name}: ${took}ms`);
|
|
37
|
+
if (took > 10) {
|
|
38
|
+
console.info(" long timer");
|
|
39
|
+
}
|
|
34
40
|
}
|
|
35
41
|
},
|
|
36
|
-
done: (print =
|
|
42
|
+
done: (print = false) => {
|
|
37
43
|
if (print) {
|
|
38
44
|
const total = Date.now() - start;
|
|
39
|
-
console.info(`Total time: ${total}ms`)
|
|
45
|
+
console.info(`Total time: ${total}ms`);
|
|
46
|
+
if (total > 50) {
|
|
47
|
+
console.info(" long timer");
|
|
48
|
+
}
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
};
|
|
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var validHTMLAttributes_exports = {};
|
|
22
24
|
__export(validHTMLAttributes_exports, {
|
|
@@ -25,53 +27,53 @@ __export(validHTMLAttributes_exports, {
|
|
|
25
27
|
module.exports = __toCommonJS(validHTMLAttributes_exports);
|
|
26
28
|
const validHTMLAttributes = {
|
|
27
29
|
// SVG attributes that should pass through untouched
|
|
28
|
-
fill:
|
|
29
|
-
stroke:
|
|
30
|
-
autocomplete:
|
|
31
|
-
style:
|
|
32
|
-
tabIndex:
|
|
33
|
-
contenteditable:
|
|
34
|
-
crossorigin:
|
|
35
|
-
dir:
|
|
36
|
-
draggable:
|
|
37
|
-
enctype:
|
|
38
|
-
formenctype:
|
|
39
|
-
formmethod:
|
|
40
|
-
formtarget:
|
|
41
|
-
inputmode:
|
|
42
|
-
kind:
|
|
43
|
-
link:
|
|
44
|
-
method:
|
|
45
|
-
preload:
|
|
46
|
-
referrerpolicy:
|
|
47
|
-
rel:
|
|
48
|
-
rev:
|
|
49
|
-
role:
|
|
50
|
-
sandbox:
|
|
51
|
-
shape:
|
|
52
|
-
spellcheck:
|
|
53
|
-
target:
|
|
54
|
-
translate:
|
|
55
|
-
type:
|
|
56
|
-
wrap:
|
|
57
|
-
"aria-autocomplete":
|
|
58
|
-
"aria-busy":
|
|
59
|
-
"aria-checked":
|
|
60
|
-
"aria-current":
|
|
61
|
-
"aria-disabled":
|
|
62
|
-
"aria-expanded":
|
|
63
|
-
"aria-haspopup":
|
|
64
|
-
"aria-hidden":
|
|
65
|
-
"aria-invalid":
|
|
66
|
-
"aria-polite":
|
|
67
|
-
"aria-modal":
|
|
68
|
-
"aria-multiline":
|
|
69
|
-
"aria-multiselectable":
|
|
70
|
-
"aria-orientation":
|
|
71
|
-
"aria-pressed":
|
|
72
|
-
"aria-readonly":
|
|
73
|
-
"aria-relevant":
|
|
74
|
-
"aria-required":
|
|
75
|
-
"aria-selected":
|
|
76
|
-
"aria-sort":
|
|
30
|
+
fill: true,
|
|
31
|
+
stroke: true,
|
|
32
|
+
autocomplete: true,
|
|
33
|
+
style: true,
|
|
34
|
+
tabIndex: true,
|
|
35
|
+
contenteditable: true,
|
|
36
|
+
crossorigin: true,
|
|
37
|
+
dir: true,
|
|
38
|
+
draggable: true,
|
|
39
|
+
enctype: true,
|
|
40
|
+
formenctype: true,
|
|
41
|
+
formmethod: true,
|
|
42
|
+
formtarget: true,
|
|
43
|
+
inputmode: true,
|
|
44
|
+
kind: true,
|
|
45
|
+
link: true,
|
|
46
|
+
method: true,
|
|
47
|
+
preload: true,
|
|
48
|
+
referrerpolicy: true,
|
|
49
|
+
rel: true,
|
|
50
|
+
rev: true,
|
|
51
|
+
role: true,
|
|
52
|
+
sandbox: true,
|
|
53
|
+
shape: true,
|
|
54
|
+
spellcheck: true,
|
|
55
|
+
target: true,
|
|
56
|
+
translate: true,
|
|
57
|
+
type: true,
|
|
58
|
+
wrap: true,
|
|
59
|
+
"aria-autocomplete": true,
|
|
60
|
+
"aria-busy": true,
|
|
61
|
+
"aria-checked": true,
|
|
62
|
+
"aria-current": true,
|
|
63
|
+
"aria-disabled": true,
|
|
64
|
+
"aria-expanded": true,
|
|
65
|
+
"aria-haspopup": true,
|
|
66
|
+
"aria-hidden": true,
|
|
67
|
+
"aria-invalid": true,
|
|
68
|
+
"aria-polite": true,
|
|
69
|
+
"aria-modal": true,
|
|
70
|
+
"aria-multiline": true,
|
|
71
|
+
"aria-multiselectable": true,
|
|
72
|
+
"aria-orientation": true,
|
|
73
|
+
"aria-pressed": true,
|
|
74
|
+
"aria-readonly": true,
|
|
75
|
+
"aria-relevant": true,
|
|
76
|
+
"aria-required": true,
|
|
77
|
+
"aria-selected": true,
|
|
78
|
+
"aria-sort": true
|
|
77
79
|
};
|