@tamagui/static 2.7.7 → 3.0.0-beta.1093.1
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/check-dep-versions.cjs +354 -0
- package/dist/cjs/checkDeps.cjs +301 -0
- package/dist/cjs/compiler.cjs +349 -0
- package/dist/cjs/compilerHost.cjs +2285 -0
- package/dist/cjs/componentDiscovery.cjs +94 -0
- package/dist/cjs/constants.cjs +32 -0
- package/dist/cjs/domStructuralPass.cjs +121 -0
- package/dist/cjs/exports.cjs +44 -0
- package/dist/cjs/extractor/addLocalExports.cjs +63 -0
- package/dist/cjs/extractor/bundle.cjs +229 -0
- package/dist/cjs/extractor/bundleConfig.cjs +769 -0
- package/dist/cjs/extractor/concatClassName.cjs +120 -0
- package/dist/cjs/extractor/detectModuleFormat.cjs +53 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.cjs +46 -0
- package/dist/cjs/extractor/esbuildTsconfigPaths.cjs +91 -0
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +42 -0
- package/dist/cjs/extractor/loadTamagui.cjs +394 -0
- package/dist/cjs/extractor/regenerateConfig.cjs +160 -0
- package/dist/cjs/extractor/watchTamaguiConfig.cjs +63 -0
- package/dist/cjs/getPragmaOptions.cjs +66 -0
- package/dist/cjs/helpers/memoize.cjs +41 -0
- package/dist/cjs/helpers/requireTamaguiCore.cjs +39 -0
- package/dist/cjs/index.cjs +33 -0
- package/dist/cjs/registerRequire.cjs +219 -0
- package/dist/cjs/server.cjs +65 -0
- package/dist/cjs/staticEvaluationIgnoredModules.cjs +85 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/zero/artifact.cjs +144 -0
- package/dist/cjs/zero/graph.cjs +208 -0
- package/dist/cjs/zero/identity.cjs +60 -0
- package/dist/cjs/zero/index.cjs +33 -0
- package/dist/cjs/zero/islands.cjs +234 -0
- package/dist/cjs/zero/options.cjs +162 -0
- package/dist/cjs/zero/ownership.cjs +78 -0
- package/dist/cjs/zero/theme.cjs +337 -0
- package/dist/cjs/zero/transform.cjs +207 -0
- package/dist/esm/check-dep-versions.mjs +329 -0
- package/dist/esm/check-dep-versions.mjs.map +1 -0
- package/dist/esm/checkDeps.mjs +279 -0
- package/dist/esm/checkDeps.mjs.map +1 -0
- package/dist/esm/compiler.mjs +319 -0
- package/dist/esm/compiler.mjs.map +1 -0
- package/dist/esm/compilerHost.mjs +2263 -0
- package/dist/esm/compilerHost.mjs.map +1 -0
- package/dist/esm/componentDiscovery.mjs +69 -0
- package/dist/esm/componentDiscovery.mjs.map +1 -0
- package/dist/esm/constants.mjs +7 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/domStructuralPass.mjs +102 -0
- package/dist/esm/domStructuralPass.mjs.map +1 -0
- package/dist/esm/exports.mjs +29 -0
- package/dist/esm/extractor/addLocalExports.mjs +44 -0
- package/dist/esm/extractor/addLocalExports.mjs.map +1 -0
- package/dist/esm/extractor/bundle.mjs +199 -0
- package/dist/esm/extractor/bundle.mjs.map +1 -0
- package/dist/esm/extractor/bundleConfig.mjs +728 -0
- package/dist/esm/extractor/bundleConfig.mjs.map +1 -0
- package/dist/esm/extractor/concatClassName.mjs +100 -0
- package/dist/esm/extractor/concatClassName.mjs.map +1 -0
- package/dist/esm/extractor/detectModuleFormat.mjs +31 -0
- package/dist/esm/extractor/detectModuleFormat.mjs.map +1 -0
- package/dist/esm/extractor/esbuildAliasPlugin.mjs +26 -0
- package/dist/esm/extractor/esbuildAliasPlugin.mjs.map +1 -0
- package/dist/esm/extractor/esbuildTsconfigPaths.mjs +63 -0
- package/dist/esm/extractor/esbuildTsconfigPaths.mjs.map +1 -0
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs +23 -0
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs.map +1 -0
- package/dist/esm/extractor/loadTamagui.mjs +357 -0
- package/dist/esm/extractor/loadTamagui.mjs.map +1 -0
- package/dist/esm/extractor/regenerateConfig.mjs +131 -0
- package/dist/esm/extractor/regenerateConfig.mjs.map +1 -0
- package/dist/esm/extractor/watchTamaguiConfig.mjs +43 -0
- package/dist/esm/extractor/watchTamaguiConfig.mjs.map +1 -0
- package/dist/esm/getPragmaOptions.mjs +46 -0
- package/dist/esm/getPragmaOptions.mjs.map +1 -0
- package/dist/esm/helpers/memoize.mjs +21 -0
- package/dist/esm/helpers/memoize.mjs.map +1 -0
- package/dist/esm/helpers/requireTamaguiCore.mjs +19 -0
- package/dist/esm/helpers/requireTamaguiCore.mjs.map +1 -0
- package/dist/esm/index.mjs +8 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/registerRequire.mjs +195 -0
- package/dist/esm/registerRequire.mjs.map +1 -0
- package/dist/esm/server.mjs +40 -0
- package/dist/esm/server.mjs.map +1 -0
- package/dist/esm/setup.mjs +0 -0
- package/dist/esm/staticEvaluationIgnoredModules.mjs +61 -0
- package/dist/esm/staticEvaluationIgnoredModules.mjs.map +1 -0
- package/dist/esm/types.mjs +0 -0
- package/dist/esm/zero/artifact.mjs +119 -0
- package/dist/esm/zero/artifact.mjs.map +1 -0
- package/dist/esm/zero/graph.mjs +170 -0
- package/dist/esm/zero/graph.mjs.map +1 -0
- package/dist/esm/zero/identity.mjs +36 -0
- package/dist/esm/zero/identity.mjs.map +1 -0
- package/dist/esm/zero/index.mjs +19 -0
- package/dist/esm/zero/islands.mjs +200 -0
- package/dist/esm/zero/islands.mjs.map +1 -0
- package/dist/esm/zero/options.mjs +129 -0
- package/dist/esm/zero/options.mjs.map +1 -0
- package/dist/esm/zero/ownership.mjs +48 -0
- package/dist/esm/zero/ownership.mjs.map +1 -0
- package/dist/esm/zero/theme.mjs +313 -0
- package/dist/esm/zero/theme.mjs.map +1 -0
- package/dist/esm/zero/transform.mjs +182 -0
- package/dist/esm/zero/transform.mjs.map +1 -0
- package/package.json +38 -47
- package/src/check-dep-versions.ts +2 -2
- package/src/checkDeps.ts +3 -2
- package/src/compiler.ts +506 -0
- package/src/compilerHost.ts +3752 -0
- package/src/componentDiscovery.ts +105 -0
- package/src/constants.ts +0 -5
- package/src/domStructuralPass.ts +190 -0
- package/src/exports.ts +5 -6
- package/src/extractor/addLocalExports.ts +49 -0
- package/src/extractor/bundle.ts +38 -40
- package/src/extractor/bundleConfig.ts +368 -187
- package/src/extractor/concatClassName.ts +21 -24
- package/src/extractor/getTamaguiConfigPathFromOptionsConfig.ts +13 -5
- package/src/extractor/loadTamagui.ts +196 -143
- package/src/extractor/regenerateConfig.ts +65 -13
- package/src/extractor/watchTamaguiConfig.ts +6 -1
- package/src/helpers/requireTamaguiCore.ts +6 -1
- package/src/registerRequire.ts +94 -132
- package/src/staticEvaluationIgnoredModules.ts +74 -0
- package/src/types.ts +2 -107
- package/src/zero/artifact.ts +142 -0
- package/src/zero/graph.ts +359 -0
- package/src/zero/identity.ts +73 -0
- package/src/zero/index.ts +9 -0
- package/src/zero/islands.ts +265 -0
- package/src/zero/options.ts +239 -0
- package/src/zero/ownership.ts +113 -0
- package/src/zero/theme.ts +526 -0
- package/src/zero/transform.ts +329 -0
- package/types/check-dep-versions.d.ts.map +1 -1
- package/types/checkDeps.d.ts.map +1 -1
- package/types/compiler.d.ts +134 -0
- package/types/compiler.d.ts.map +1 -0
- package/types/compilerHost.d.ts +38 -0
- package/types/compilerHost.d.ts.map +1 -0
- package/types/componentDiscovery.d.ts +27 -0
- package/types/componentDiscovery.d.ts.map +1 -0
- package/types/constants.d.ts +0 -1
- package/types/constants.d.ts.map +1 -1
- package/types/domStructuralPass.d.ts +3 -0
- package/types/domStructuralPass.d.ts.map +1 -0
- package/types/exports.d.ts +5 -6
- package/types/exports.d.ts.map +1 -1
- package/types/extractor/addLocalExports.d.ts +3 -0
- package/types/extractor/addLocalExports.d.ts.map +1 -0
- package/types/extractor/bundle.d.ts +66 -65
- package/types/extractor/bundle.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts +26 -4
- package/types/extractor/bundleConfig.d.ts.map +1 -1
- package/types/extractor/esbuildAliasPlugin.d.ts.map +1 -1
- package/types/extractor/getTamaguiConfigPathFromOptionsConfig.d.ts +1 -1
- package/types/extractor/getTamaguiConfigPathFromOptionsConfig.d.ts.map +1 -1
- package/types/extractor/loadTamagui.d.ts +26 -3
- package/types/extractor/loadTamagui.d.ts.map +1 -1
- package/types/extractor/regenerateConfig.d.ts +1 -1
- package/types/extractor/regenerateConfig.d.ts.map +1 -1
- package/types/extractor/watchTamaguiConfig.d.ts.map +1 -1
- package/types/getPragmaOptions.d.ts +1 -1
- package/types/helpers/memoize.d.ts +1 -1
- package/types/helpers/memoize.d.ts.map +1 -1
- package/types/helpers/requireTamaguiCore.d.ts.map +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/registerRequire.d.ts +2 -2
- package/types/registerRequire.d.ts.map +1 -1
- package/types/staticEvaluationIgnoredModules.d.ts +9 -0
- package/types/staticEvaluationIgnoredModules.d.ts.map +1 -0
- package/types/types.d.ts +2 -90
- package/types/types.d.ts.map +1 -1
- package/types/zero/artifact.d.ts +44 -0
- package/types/zero/artifact.d.ts.map +1 -0
- package/types/zero/graph.d.ts +139 -0
- package/types/zero/graph.d.ts.map +1 -0
- package/types/zero/identity.d.ts +33 -0
- package/types/zero/identity.d.ts.map +1 -0
- package/types/zero/index.d.ts +10 -0
- package/types/zero/index.d.ts.map +1 -0
- package/types/zero/islands.d.ts +56 -0
- package/types/zero/islands.d.ts.map +1 -0
- package/types/zero/options.d.ts +58 -0
- package/types/zero/options.d.ts.map +1 -0
- package/types/zero/ownership.d.ts +51 -0
- package/types/zero/ownership.d.ts.map +1 -0
- package/types/zero/theme.d.ts +85 -0
- package/types/zero/theme.d.ts.map +1 -0
- package/types/zero/transform.d.ts +53 -0
- package/types/zero/transform.d.ts.map +1 -0
- package/dist/check-dep-versions.cjs +0 -372
- package/dist/checkDeps.cjs +0 -271
- package/dist/constants.cjs +0 -51
- package/dist/exports.cjs +0 -48
- package/dist/extractor/accessSafe.cjs +0 -48
- package/dist/extractor/babelParse.cjs +0 -56
- package/dist/extractor/buildClassName.cjs +0 -86
- package/dist/extractor/bundle.cjs +0 -234
- package/dist/extractor/bundleConfig.cjs +0 -729
- package/dist/extractor/concatClassName.cjs +0 -129
- package/dist/extractor/createEvaluator.cjs +0 -88
- package/dist/extractor/createExtractor.cjs +0 -1968
- package/dist/extractor/createLogger.cjs +0 -50
- package/dist/extractor/detectModuleFormat.cjs +0 -55
- package/dist/extractor/ensureImportingConcat.cjs +0 -54
- package/dist/extractor/errors.cjs +0 -28
- package/dist/extractor/esbuildAliasPlugin.cjs +0 -56
- package/dist/extractor/esbuildTsconfigPaths.cjs +0 -108
- package/dist/extractor/evaluateAstNode.cjs +0 -128
- package/dist/extractor/extractHelpers.cjs +0 -182
- package/dist/extractor/extractMediaStyle.cjs +0 -169
- package/dist/extractor/extractToClassNames.cjs +0 -475
- package/dist/extractor/extractToNative.cjs +0 -369
- package/dist/extractor/findTopmostFunction.cjs +0 -43
- package/dist/extractor/generatedUid.cjs +0 -58
- package/dist/extractor/getPrefixLogs.cjs +0 -31
- package/dist/extractor/getPropValueFromAttributes.cjs +0 -85
- package/dist/extractor/getSourceModule.cjs +0 -100
- package/dist/extractor/getStaticBindingsForScope.cjs +0 -213
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +0 -41
- package/dist/extractor/hasTopLevelAwait.cjs +0 -62
- package/dist/extractor/hoistClassNames.cjs +0 -76
- package/dist/extractor/literalToAst.cjs +0 -109
- package/dist/extractor/loadFile.cjs +0 -17
- package/dist/extractor/loadTamagui.cjs +0 -373
- package/dist/extractor/logLines.cjs +0 -43
- package/dist/extractor/normalizeTernaries.cjs +0 -100
- package/dist/extractor/propsToFontFamilyCache.cjs +0 -42
- package/dist/extractor/regenerateConfig.cjs +0 -178
- package/dist/extractor/removeUnusedHooks.cjs +0 -108
- package/dist/extractor/timer.cjs +0 -52
- package/dist/extractor/validHTMLAttributes.cjs +0 -79
- package/dist/extractor/watchTamaguiConfig.cjs +0 -70
- package/dist/getPragmaOptions.cjs +0 -73
- package/dist/helpers/memoize.cjs +0 -45
- package/dist/helpers/requireTamaguiCore.cjs +0 -40
- package/dist/index.cjs +0 -42
- package/dist/registerRequire.cjs +0 -209
- package/dist/server.cjs +0 -82
- package/dist/types.cjs +0 -18
- package/dist/worker.cjs +0 -111
- package/src/extractor/accessSafe.ts +0 -22
- package/src/extractor/babelParse.ts +0 -38
- package/src/extractor/buildClassName.ts +0 -76
- package/src/extractor/createEvaluator.ts +0 -82
- package/src/extractor/createExtractor.ts +0 -2970
- package/src/extractor/createLogger.ts +0 -41
- package/src/extractor/ensureImportingConcat.ts +0 -36
- package/src/extractor/errors.ts +0 -1
- package/src/extractor/evaluateAstNode.ts +0 -136
- package/src/extractor/extractHelpers.ts +0 -211
- package/src/extractor/extractMediaStyle.ts +0 -194
- package/src/extractor/extractToClassNames.ts +0 -733
- package/src/extractor/extractToNative.ts +0 -506
- package/src/extractor/findTopmostFunction.ts +0 -24
- package/src/extractor/generatedUid.ts +0 -41
- package/src/extractor/getPrefixLogs.ts +0 -9
- package/src/extractor/getPropValueFromAttributes.ts +0 -95
- package/src/extractor/getSourceModule.ts +0 -96
- package/src/extractor/getStaticBindingsForScope.ts +0 -237
- package/src/extractor/hasTopLevelAwait.ts +0 -28
- package/src/extractor/hoistClassNames.ts +0 -52
- package/src/extractor/literalToAst.ts +0 -85
- package/src/extractor/loadFile.ts +0 -17
- package/src/extractor/logLines.ts +0 -16
- package/src/extractor/normalizeTernaries.ts +0 -89
- package/src/extractor/propsToFontFamilyCache.ts +0 -18
- package/src/extractor/removeUnusedHooks.ts +0 -83
- package/src/extractor/timer.ts +0 -25
- package/src/extractor/validHTMLAttributes.ts +0 -52
- package/src/worker.ts +0 -142
- package/types/extractor/accessSafe.d.ts +0 -3
- package/types/extractor/accessSafe.d.ts.map +0 -1
- package/types/extractor/babelParse.d.ts +0 -5
- package/types/extractor/babelParse.d.ts.map +0 -1
- package/types/extractor/buildClassName.d.ts +0 -7
- package/types/extractor/buildClassName.d.ts.map +0 -1
- package/types/extractor/createEvaluator.d.ts +0 -12
- package/types/extractor/createEvaluator.d.ts.map +0 -1
- package/types/extractor/createExtractor.d.ts +0 -32
- package/types/extractor/createExtractor.d.ts.map +0 -1
- package/types/extractor/createLogger.d.ts +0 -3
- package/types/extractor/createLogger.d.ts.map +0 -1
- package/types/extractor/ensureImportingConcat.d.ts +0 -4
- package/types/extractor/ensureImportingConcat.d.ts.map +0 -1
- package/types/extractor/errors.d.ts +0 -3
- package/types/extractor/errors.d.ts.map +0 -1
- package/types/extractor/evaluateAstNode.d.ts +0 -3
- package/types/extractor/evaluateAstNode.d.ts.map +0 -1
- package/types/extractor/extractHelpers.d.ts +0 -28
- package/types/extractor/extractHelpers.d.ts.map +0 -1
- package/types/extractor/extractMediaStyle.d.ts +0 -11
- package/types/extractor/extractMediaStyle.d.ts.map +0 -1
- package/types/extractor/extractToClassNames.d.ts +0 -25
- package/types/extractor/extractToClassNames.d.ts.map +0 -1
- package/types/extractor/extractToNative.d.ts +0 -13
- package/types/extractor/extractToNative.d.ts.map +0 -1
- package/types/extractor/findTopmostFunction.d.ts +0 -4
- package/types/extractor/findTopmostFunction.d.ts.map +0 -1
- package/types/extractor/generatedUid.d.ts +0 -5
- package/types/extractor/generatedUid.d.ts.map +0 -1
- package/types/extractor/getPrefixLogs.d.ts +0 -3
- package/types/extractor/getPrefixLogs.d.ts.map +0 -1
- package/types/extractor/getPropValueFromAttributes.d.ts +0 -19
- package/types/extractor/getPropValueFromAttributes.d.ts.map +0 -1
- package/types/extractor/getSourceModule.d.ts +0 -16
- package/types/extractor/getSourceModule.d.ts.map +0 -1
- package/types/extractor/getStaticBindingsForScope.d.ts +0 -5
- package/types/extractor/getStaticBindingsForScope.d.ts.map +0 -1
- package/types/extractor/hasTopLevelAwait.d.ts +0 -2
- package/types/extractor/hasTopLevelAwait.d.ts.map +0 -1
- package/types/extractor/hoistClassNames.d.ts +0 -6
- package/types/extractor/hoistClassNames.d.ts.map +0 -1
- package/types/extractor/literalToAst.d.ts +0 -4
- package/types/extractor/literalToAst.d.ts.map +0 -1
- package/types/extractor/loadFile.d.ts +0 -1
- package/types/extractor/loadFile.d.ts.map +0 -1
- package/types/extractor/logLines.d.ts +0 -2
- package/types/extractor/logLines.d.ts.map +0 -1
- package/types/extractor/normalizeTernaries.d.ts +0 -5
- package/types/extractor/normalizeTernaries.d.ts.map +0 -1
- package/types/extractor/propsToFontFamilyCache.d.ts +0 -4
- package/types/extractor/propsToFontFamilyCache.d.ts.map +0 -1
- package/types/extractor/removeUnusedHooks.d.ts +0 -3
- package/types/extractor/removeUnusedHooks.d.ts.map +0 -1
- package/types/extractor/timer.d.ts +0 -5
- package/types/extractor/timer.d.ts.map +0 -1
- package/types/extractor/validHTMLAttributes.d.ts +0 -52
- package/types/extractor/validHTMLAttributes.d.ts.map +0 -1
- package/types/worker.d.ts +0 -46
- package/types/worker.d.ts.map +0 -1
- /package/dist/{setup.cjs → cjs/setup.cjs} +0 -0
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
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, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var loadTamagui_exports = {};
|
|
28
|
+
__export(loadTamagui_exports, {
|
|
29
|
+
esbuildWatchFiles: () => esbuildWatchFiles,
|
|
30
|
+
generateThemesAndLog: () => generateThemesAndLog,
|
|
31
|
+
getOptions: () => getOptions,
|
|
32
|
+
getTamaguiBuildConfigDependencies: () => getTamaguiBuildConfigDependencies,
|
|
33
|
+
loadTamagui: () => loadTamagui,
|
|
34
|
+
loadTamaguiBuildConfigAsync: () => loadTamaguiBuildConfigAsync,
|
|
35
|
+
loadTamaguiBuildConfigSync: () => loadTamaguiBuildConfigSync,
|
|
36
|
+
loadTamaguiFromModules: () => loadTamaguiFromModules,
|
|
37
|
+
loadTamaguiSync: () => loadTamaguiSync,
|
|
38
|
+
resolveWebOrNativeSpecificEntry: () => resolveWebOrNativeSpecificEntry
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(loadTamagui_exports);
|
|
41
|
+
var import_node_path = require("node:path");
|
|
42
|
+
var import_node_module = require("node:module");
|
|
43
|
+
var import_cli_color = require("@tamagui/cli-color");
|
|
44
|
+
var import_esbuild = __toESM(require("esbuild"), 1);
|
|
45
|
+
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
46
|
+
var import_requireTamaguiCore = require("../helpers/requireTamaguiCore.cjs");
|
|
47
|
+
var import_registerRequire = require("../registerRequire.cjs");
|
|
48
|
+
var import_bundleConfig = require("./bundleConfig.cjs");
|
|
49
|
+
var import_getTamaguiConfigPathFromOptionsConfig = require("./getTamaguiConfigPathFromOptionsConfig.cjs");
|
|
50
|
+
var import_regenerateConfig = require("./regenerateConfig.cjs");
|
|
51
|
+
const import_meta = {};
|
|
52
|
+
const nodeRequire = (0, import_node_module.createRequire)(typeof __filename === "string" ? __filename : import_meta.url);
|
|
53
|
+
const getFilledOptions = (propsIn) => ({
|
|
54
|
+
platform: process.env.TAMAGUI_TARGET || "web",
|
|
55
|
+
config: "tamagui.config.ts",
|
|
56
|
+
components: ["tamagui"],
|
|
57
|
+
...propsIn
|
|
58
|
+
});
|
|
59
|
+
let isLoadingPromise;
|
|
60
|
+
async function loadTamagui(propsIn, rebuild = false) {
|
|
61
|
+
if (isLoadingPromise) return await isLoadingPromise;
|
|
62
|
+
isLoadingPromise = (async () => {
|
|
63
|
+
const props = getFilledOptions(propsIn);
|
|
64
|
+
const bundleInfo = await (0, import_bundleConfig.getBundledConfig)(props, rebuild);
|
|
65
|
+
if (!bundleInfo) {
|
|
66
|
+
throw new Error(`[tamagui] The config and component bundle completed without a project result`);
|
|
67
|
+
}
|
|
68
|
+
await generateThemesAndLog(props, rebuild);
|
|
69
|
+
const maybeTamaguiConfig = bundleInfo.tamaguiConfig;
|
|
70
|
+
if (maybeTamaguiConfig && !maybeTamaguiConfig.parsed) {
|
|
71
|
+
const { createTamagui } = (0, import_requireTamaguiCore.requireTamaguiCore)(props.platform || "web");
|
|
72
|
+
bundleInfo.tamaguiConfig = createTamagui(bundleInfo.tamaguiConfig);
|
|
73
|
+
}
|
|
74
|
+
if (!(0, import_bundleConfig.hasBundledConfigChanged)()) {
|
|
75
|
+
return bundleInfo;
|
|
76
|
+
}
|
|
77
|
+
await (0, import_regenerateConfig.regenerateConfig)(props, bundleInfo);
|
|
78
|
+
return bundleInfo;
|
|
79
|
+
})();
|
|
80
|
+
try {
|
|
81
|
+
return await isLoadingPromise;
|
|
82
|
+
} finally {
|
|
83
|
+
isLoadingPromise = null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function loadTamaguiFromModules(propsIn, evaluated) {
|
|
87
|
+
const props = getFilledOptions(propsIn);
|
|
88
|
+
await generateThemesAndLog(props);
|
|
89
|
+
const configModule = evaluated.config;
|
|
90
|
+
let tamaguiConfig = configModule.default || configModule.config || configModule;
|
|
91
|
+
if ("config" in tamaguiConfig && tamaguiConfig.config && !("tokens" in tamaguiConfig)) {
|
|
92
|
+
tamaguiConfig = tamaguiConfig.config;
|
|
93
|
+
}
|
|
94
|
+
if (!tamaguiConfig) {
|
|
95
|
+
throw new Error(`The Vite module runner did not return a valid Tamagui config`);
|
|
96
|
+
}
|
|
97
|
+
const hostCore = (0, import_requireTamaguiCore.requireTamaguiCore)(props.platform || "web");
|
|
98
|
+
if (!tamaguiConfig.parsed) {
|
|
99
|
+
tamaguiConfig = hostCore.createTamagui(tamaguiConfig);
|
|
100
|
+
} else {
|
|
101
|
+
hostCore.installTamaguiConfig(tamaguiConfig);
|
|
102
|
+
}
|
|
103
|
+
(0, import_bundleConfig.setLoadedConfig)(tamaguiConfig);
|
|
104
|
+
const components = evaluated.components.map(({ moduleName, module: module2 }) => {
|
|
105
|
+
(0, import_registerRequire.setRequireResult)(moduleName, module2);
|
|
106
|
+
return {
|
|
107
|
+
moduleName,
|
|
108
|
+
nameToInfo: (0, import_bundleConfig.getComponentStaticConfigByName)(moduleName, module2.default ?? module2)
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
const projectInfo = {
|
|
112
|
+
components,
|
|
113
|
+
nameToPaths: {},
|
|
114
|
+
tamaguiConfig,
|
|
115
|
+
stampSources: evaluated.stampSources
|
|
116
|
+
};
|
|
117
|
+
if (props.outputCSS) {
|
|
118
|
+
await (0, import_bundleConfig.writeTamaguiCSS)(props.outputCSS, projectInfo.tamaguiConfig);
|
|
119
|
+
}
|
|
120
|
+
return projectInfo;
|
|
121
|
+
}
|
|
122
|
+
let waiting = false;
|
|
123
|
+
const generateThemesAndLog = async (options, force = false) => {
|
|
124
|
+
if (waiting) return;
|
|
125
|
+
if (!options.themeBuilder) return;
|
|
126
|
+
try {
|
|
127
|
+
waiting = true;
|
|
128
|
+
await new Promise((res) => setTimeout(res, 30));
|
|
129
|
+
const didGenerate = await (0, import_regenerateConfig.generateTamaguiThemes)(options, force);
|
|
130
|
+
if (didGenerate) {
|
|
131
|
+
const whitespaceBefore = ` `;
|
|
132
|
+
(0, import_cli_color.colorLog)(import_cli_color.Color.FgYellow, `${whitespaceBefore}\u27A1 [tamagui] generated themes: ${(0, import_node_path.relative)(options.root || process.cwd(), options.themeBuilder.output)}`);
|
|
133
|
+
if (options.outputCSS) {
|
|
134
|
+
const loadedConfig = (0, import_bundleConfig.getLoadedConfig)();
|
|
135
|
+
if (loadedConfig) {
|
|
136
|
+
await (0, import_bundleConfig.writeTamaguiCSS)(options.outputCSS, loadedConfig);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
} finally {
|
|
141
|
+
waiting = false;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const last = {};
|
|
145
|
+
const lastVersion = {};
|
|
146
|
+
const buildConfigDependencies = /* @__PURE__ */ new WeakMap();
|
|
147
|
+
function getTamaguiBuildConfigDependencies(options) {
|
|
148
|
+
return buildConfigDependencies.get(options) ?? [];
|
|
149
|
+
}
|
|
150
|
+
async function loadTamaguiBuildConfigAsync(tamaguiOptions) {
|
|
151
|
+
const buildFilePath = tamaguiOptions?.buildFile ?? "./tamagui.build.ts";
|
|
152
|
+
const root = tamaguiOptions?.root || process.cwd();
|
|
153
|
+
const absolutePath = (0, import_node_path.resolve)(root, buildFilePath);
|
|
154
|
+
if (import_fs_extra.default.existsSync(absolutePath)) {
|
|
155
|
+
try {
|
|
156
|
+
const result = await import_esbuild.default.build({
|
|
157
|
+
entryPoints: [absolutePath],
|
|
158
|
+
absWorkingDir: root,
|
|
159
|
+
bundle: true,
|
|
160
|
+
packages: "external",
|
|
161
|
+
platform: "node",
|
|
162
|
+
format: "cjs",
|
|
163
|
+
target: "node18",
|
|
164
|
+
write: false,
|
|
165
|
+
metafile: true
|
|
166
|
+
});
|
|
167
|
+
const module2 = { exports: {} };
|
|
168
|
+
const projectRequire = (0, import_node_module.createRequire)(absolutePath);
|
|
169
|
+
const code = result.outputFiles[0]?.text;
|
|
170
|
+
if (!code) throw new Error(`No output generated for ${buildFilePath}`);
|
|
171
|
+
const fn = new Function("module", "exports", "require", "process", code);
|
|
172
|
+
fn(module2, module2.exports, projectRequire, process);
|
|
173
|
+
const out = module2.exports.default || module2.exports;
|
|
174
|
+
if (!out || typeof out !== "object") {
|
|
175
|
+
throw new Error(`No default export found in ${buildFilePath}: ${out}`);
|
|
176
|
+
}
|
|
177
|
+
const loadedOptions = {
|
|
178
|
+
...tamaguiOptions,
|
|
179
|
+
...out
|
|
180
|
+
};
|
|
181
|
+
const dependencies2 = Object.keys(result.metafile.inputs).map((input) => (0, import_node_path.resolve)(root, input));
|
|
182
|
+
buildConfigDependencies.set(loadedOptions, dependencies2);
|
|
183
|
+
tamaguiOptions = loadedOptions;
|
|
184
|
+
} catch (err) {
|
|
185
|
+
console.error(`[tamagui] Error loading ${buildFilePath}:`, err);
|
|
186
|
+
throw err;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (!tamaguiOptions) {
|
|
190
|
+
throw new Error(`No tamagui build options found either via input props or at tamagui.build.ts`);
|
|
191
|
+
}
|
|
192
|
+
const options = {
|
|
193
|
+
config: "tamagui.config.ts",
|
|
194
|
+
components: ["tamagui", "@tamagui/core"],
|
|
195
|
+
...tamaguiOptions
|
|
196
|
+
};
|
|
197
|
+
const dependencies = buildConfigDependencies.get(tamaguiOptions);
|
|
198
|
+
if (dependencies) buildConfigDependencies.set(options, dependencies);
|
|
199
|
+
return options;
|
|
200
|
+
}
|
|
201
|
+
function loadTamaguiBuildConfigSync(tamaguiOptions) {
|
|
202
|
+
const buildFilePath = tamaguiOptions?.buildFile ?? "./tamagui.build.ts";
|
|
203
|
+
const root = tamaguiOptions?.root || process.cwd();
|
|
204
|
+
const absolutePath = (0, import_node_path.resolve)(root, buildFilePath);
|
|
205
|
+
if (import_fs_extra.default.existsSync(absolutePath)) {
|
|
206
|
+
const registered = (0, import_registerRequire.registerRequire)("web", { ignoredModules: tamaguiOptions?.dangerouslyIgnoreStaticEvaluationModules });
|
|
207
|
+
try {
|
|
208
|
+
const out = nodeRequire(absolutePath).default;
|
|
209
|
+
if (!out) {
|
|
210
|
+
throw new Error(`No default export found in ${buildFilePath}: ${out}`);
|
|
211
|
+
}
|
|
212
|
+
tamaguiOptions = {
|
|
213
|
+
...tamaguiOptions,
|
|
214
|
+
...out
|
|
215
|
+
};
|
|
216
|
+
} finally {
|
|
217
|
+
registered.unregister();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (!tamaguiOptions) {
|
|
221
|
+
throw new Error(`No tamagui build options found either via input props or at tamagui.build.ts`);
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
config: "tamagui.config.ts",
|
|
225
|
+
components: ["tamagui", "@tamagui/core"],
|
|
226
|
+
...tamaguiOptions
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
function loadTamaguiSync({ forceExports, cacheKey, ...propsIn }) {
|
|
230
|
+
const key = JSON.stringify(propsIn);
|
|
231
|
+
if (last[key] && !(0, import_bundleConfig.hasBundledConfigChanged)()) {
|
|
232
|
+
if (!lastVersion[key] || lastVersion[key] === cacheKey) {
|
|
233
|
+
return last[key];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
lastVersion[key] = cacheKey || "";
|
|
237
|
+
const props = getFilledOptions(propsIn);
|
|
238
|
+
const previousIsStatic = process.env.IS_STATIC;
|
|
239
|
+
const previousIsServer = process.env.TAMAGUI_IS_SERVER;
|
|
240
|
+
const previousDev = globalThis["__DEV__"];
|
|
241
|
+
process.env.IS_STATIC = "is_static";
|
|
242
|
+
process.env.TAMAGUI_IS_SERVER = "true";
|
|
243
|
+
const { unregister } = (0, import_registerRequire.registerRequire)(props.platform || "web", { ignoredModules: props.dangerouslyIgnoreStaticEvaluationModules });
|
|
244
|
+
try {
|
|
245
|
+
globalThis["__DEV__"] = process.env.NODE_ENV === "development";
|
|
246
|
+
let tamaguiConfig = null;
|
|
247
|
+
if (propsIn.config) {
|
|
248
|
+
const configPath = (0, import_getTamaguiConfigPathFromOptionsConfig.getTamaguiConfigPathFromOptionsConfig)(propsIn.config, propsIn.root);
|
|
249
|
+
const exp = nodeRequire(configPath);
|
|
250
|
+
if (!exp) {
|
|
251
|
+
throw new Error(`The Tamagui config module did not export a value`);
|
|
252
|
+
}
|
|
253
|
+
tamaguiConfig = exp["default"] || exp["config"] || exp;
|
|
254
|
+
if (!tamaguiConfig || !tamaguiConfig.parsed) {
|
|
255
|
+
const confPath = nodeRequire.resolve(configPath);
|
|
256
|
+
throw new Error(`Can't find valid config in ${confPath}:
|
|
257
|
+
|
|
258
|
+
Be sure you "export default" or "export const config" the config.`);
|
|
259
|
+
}
|
|
260
|
+
if (tamaguiConfig) {
|
|
261
|
+
const { createTamagui } = (0, import_requireTamaguiCore.requireTamaguiCore)(props.platform || "web");
|
|
262
|
+
createTamagui(tamaguiConfig);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const components = (0, import_bundleConfig.loadComponentsSync)(props, forceExports);
|
|
266
|
+
if (!components) {
|
|
267
|
+
throw new Error(`No components loaded`);
|
|
268
|
+
}
|
|
269
|
+
if (process.env.DEBUG === "tamagui") {
|
|
270
|
+
console.info(`components`, components);
|
|
271
|
+
}
|
|
272
|
+
const info = {
|
|
273
|
+
components,
|
|
274
|
+
tamaguiConfig,
|
|
275
|
+
nameToPaths: (0, import_registerRequire.getNameToPaths)()
|
|
276
|
+
};
|
|
277
|
+
if (tamaguiConfig) {
|
|
278
|
+
const { outputCSS } = props;
|
|
279
|
+
if (outputCSS) {
|
|
280
|
+
(0, import_bundleConfig.writeTamaguiCSS)(outputCSS, tamaguiConfig);
|
|
281
|
+
}
|
|
282
|
+
(0, import_regenerateConfig.regenerateConfigSync)(props, info);
|
|
283
|
+
}
|
|
284
|
+
last[key] = {
|
|
285
|
+
...info,
|
|
286
|
+
cached: true
|
|
287
|
+
};
|
|
288
|
+
return info;
|
|
289
|
+
} finally {
|
|
290
|
+
if (previousIsStatic === void 0) delete process.env.IS_STATIC;
|
|
291
|
+
else process.env.IS_STATIC = previousIsStatic;
|
|
292
|
+
if (previousIsServer === void 0) delete process.env.TAMAGUI_IS_SERVER;
|
|
293
|
+
else process.env.TAMAGUI_IS_SERVER = previousIsServer;
|
|
294
|
+
globalThis["__DEV__"] = previousDev;
|
|
295
|
+
unregister();
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
async function getOptions({ root = process.cwd(), tsconfigPath = "tsconfig.json", tamaguiOptions, host, debug } = {}) {
|
|
299
|
+
const dotDir = (0, import_node_path.join)(root, ".tamagui");
|
|
300
|
+
let pkgJson = {};
|
|
301
|
+
try {
|
|
302
|
+
pkgJson = await import_fs_extra.default.readJSON((0, import_node_path.join)(root, "package.json"));
|
|
303
|
+
} catch (err) {}
|
|
304
|
+
return {
|
|
305
|
+
mode: process.env.NODE_ENV === "production" ? "production" : "development",
|
|
306
|
+
root,
|
|
307
|
+
host: host || "127.0.0.1",
|
|
308
|
+
pkgJson,
|
|
309
|
+
debug,
|
|
310
|
+
tsconfigPath,
|
|
311
|
+
tamaguiOptions: {
|
|
312
|
+
platform: process.env.TAMAGUI_TARGET || "web",
|
|
313
|
+
components: ["tamagui"],
|
|
314
|
+
...tamaguiOptions,
|
|
315
|
+
config: tamaguiOptions?.config ?? await getDefaultTamaguiConfigPath(root, tamaguiOptions?.config)
|
|
316
|
+
},
|
|
317
|
+
paths: {
|
|
318
|
+
root,
|
|
319
|
+
dotDir,
|
|
320
|
+
conf: (0, import_node_path.join)(dotDir, "tamagui.config.json"),
|
|
321
|
+
types: (0, import_node_path.join)(dotDir, "types.json")
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
function resolveWebOrNativeSpecificEntry(entry, platform) {
|
|
326
|
+
const workspaceRoot = (0, import_node_path.resolve)();
|
|
327
|
+
const resolved = nodeRequire.resolve(entry, { paths: [workspaceRoot] });
|
|
328
|
+
const ext = (0, import_node_path.extname)(resolved);
|
|
329
|
+
const fileName = (0, import_node_path.basename)(resolved).replace(ext, "");
|
|
330
|
+
const target = platform || process.env.TAMAGUI_TARGET || "web";
|
|
331
|
+
const specificExt = target === "web" ? "web" : "native";
|
|
332
|
+
const specificFile = (0, import_node_path.join)((0, import_node_path.dirname)(resolved), fileName + "." + specificExt + ext);
|
|
333
|
+
if (import_fs_extra.default.existsSync(specificFile)) {
|
|
334
|
+
return specificFile;
|
|
335
|
+
}
|
|
336
|
+
return entry;
|
|
337
|
+
}
|
|
338
|
+
const defaultPaths = ["tamagui.config.ts", (0, import_node_path.join)("src", "tamagui.config.ts")];
|
|
339
|
+
let hasWarnedOnce = false;
|
|
340
|
+
async function getDefaultTamaguiConfigPath(root, configPath) {
|
|
341
|
+
const searchPaths = [...new Set([configPath, ...defaultPaths].filter(Boolean).map((p) => (0, import_node_path.join)(root, p)))];
|
|
342
|
+
for (const path of searchPaths) {
|
|
343
|
+
if (await import_fs_extra.default.pathExists(path)) {
|
|
344
|
+
return path;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
if (!hasWarnedOnce) {
|
|
348
|
+
hasWarnedOnce = true;
|
|
349
|
+
console.warn(`Warning: couldn't find tamagui.config.ts in the following paths given configuration "${configPath}":
|
|
350
|
+
${searchPaths.join(`
|
|
351
|
+
`)}
|
|
352
|
+
`);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
async function esbuildWatchFiles(entry, onChanged) {
|
|
356
|
+
let hasRunOnce = false;
|
|
357
|
+
const context = await import_esbuild.default.context({
|
|
358
|
+
bundle: true,
|
|
359
|
+
entryPoints: [entry],
|
|
360
|
+
resolveExtensions: [
|
|
361
|
+
".ts",
|
|
362
|
+
".tsx",
|
|
363
|
+
".js",
|
|
364
|
+
".mjs"
|
|
365
|
+
],
|
|
366
|
+
logLevel: "silent",
|
|
367
|
+
write: false,
|
|
368
|
+
alias: {
|
|
369
|
+
"react-native-web": "@tamagui/react-native-web-lite",
|
|
370
|
+
"react-native": "@tamagui/react-native-web-lite"
|
|
371
|
+
},
|
|
372
|
+
plugins: [{
|
|
373
|
+
name: `on-rebuild`,
|
|
374
|
+
setup({ onEnd, onResolve }) {
|
|
375
|
+
let filter = /^[^./]|^\.[^./]|^\.\.[^/]/;
|
|
376
|
+
onResolve({ filter }, (args) => ({
|
|
377
|
+
path: args.path,
|
|
378
|
+
external: true
|
|
379
|
+
}));
|
|
380
|
+
onEnd(() => {
|
|
381
|
+
if (!hasRunOnce) {
|
|
382
|
+
hasRunOnce = true;
|
|
383
|
+
} else {
|
|
384
|
+
onChanged();
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
}]
|
|
389
|
+
});
|
|
390
|
+
void context.watch();
|
|
391
|
+
return () => {
|
|
392
|
+
context.dispose();
|
|
393
|
+
};
|
|
394
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
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, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var regenerateConfig_exports = {};
|
|
28
|
+
__export(regenerateConfig_exports, {
|
|
29
|
+
generateTamaguiThemes: () => generateTamaguiThemes,
|
|
30
|
+
regenerateConfig: () => regenerateConfig,
|
|
31
|
+
regenerateConfigSync: () => regenerateConfigSync
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(regenerateConfig_exports);
|
|
34
|
+
var import_node_path = require("node:path");
|
|
35
|
+
var import_node_module = require("node:module");
|
|
36
|
+
var import_generate_themes = require("@tamagui/generate-themes");
|
|
37
|
+
var import_helpers = require("@tamagui/helpers");
|
|
38
|
+
var import_tooling = require("@tamagui/style-grammar/tooling");
|
|
39
|
+
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
40
|
+
var import_requireTamaguiCore = require("../helpers/requireTamaguiCore.cjs");
|
|
41
|
+
var import_bundleConfig = require("./bundleConfig.cjs");
|
|
42
|
+
async function regenerateConfig(tamaguiOptions, configIn, rebuild = false) {
|
|
43
|
+
try {
|
|
44
|
+
const config = configIn ?? await (0, import_bundleConfig.getBundledConfig)(tamaguiOptions, rebuild);
|
|
45
|
+
if (!config) return;
|
|
46
|
+
const out = transformConfig(config, tamaguiOptions.platform || "web");
|
|
47
|
+
const confFile = getConfigFile(tamaguiOptions);
|
|
48
|
+
await import_fs_extra.default.ensureDir((0, import_node_path.dirname)(confFile));
|
|
49
|
+
await import_fs_extra.default.writeJSON(confFile, out, { spaces: 2 });
|
|
50
|
+
} catch (err) {
|
|
51
|
+
if (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) {
|
|
52
|
+
console.warn("regenerateConfig error", err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function regenerateConfigSync(tamaguiOptions, config) {
|
|
57
|
+
try {
|
|
58
|
+
const confFile = getConfigFile(tamaguiOptions);
|
|
59
|
+
import_fs_extra.default.ensureDirSync((0, import_node_path.dirname)(confFile));
|
|
60
|
+
import_fs_extra.default.writeJSONSync(confFile, transformConfig(config, tamaguiOptions.platform || "web"), { spaces: 2 });
|
|
61
|
+
} catch (err) {
|
|
62
|
+
if (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) {
|
|
63
|
+
console.warn("regenerateConfig error", err);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function generateTamaguiThemes(tamaguiOptions, force = false) {
|
|
68
|
+
if (!tamaguiOptions.themeBuilder) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const { input, output } = tamaguiOptions.themeBuilder;
|
|
72
|
+
const root = tamaguiOptions.root || process.cwd();
|
|
73
|
+
const tamaguiDir = (0, import_node_path.join)(root, ".tamagui");
|
|
74
|
+
const projectRequire = (0, import_node_module.createRequire)((0, import_node_path.join)(root, "package.json"));
|
|
75
|
+
const inPath = resolveRelativePath(input, root, projectRequire);
|
|
76
|
+
const outPath = resolveRelativePath(output, root, projectRequire);
|
|
77
|
+
const generatedOutput = await (0, import_generate_themes.generateThemes)(inPath);
|
|
78
|
+
const hasChanged = force || await (async () => {
|
|
79
|
+
try {
|
|
80
|
+
if (!generatedOutput) return false;
|
|
81
|
+
const next = generatedOutput.generated;
|
|
82
|
+
const current = await import_fs_extra.default.readFile(outPath, "utf-8");
|
|
83
|
+
return next !== current;
|
|
84
|
+
} catch (err) {}
|
|
85
|
+
return true;
|
|
86
|
+
})();
|
|
87
|
+
if (hasChanged) {
|
|
88
|
+
await (0, import_generate_themes.writeGeneratedThemes)(tamaguiDir, outPath, generatedOutput);
|
|
89
|
+
}
|
|
90
|
+
return hasChanged;
|
|
91
|
+
}
|
|
92
|
+
const getConfigFile = (options) => (0, import_node_path.join)(options.root || process.cwd(), ".tamagui", "tamagui.config.json");
|
|
93
|
+
const resolveRelativePath = (inputPath, root, projectRequire) => inputPath.startsWith(".") ? (0, import_node_path.join)(root, inputPath) : projectRequire.resolve(inputPath);
|
|
94
|
+
function cloneDeepSafe(x, excludeKeys = {}) {
|
|
95
|
+
if (!x) return x;
|
|
96
|
+
if (Array.isArray(x)) return x.map((_) => cloneDeepSafe(_));
|
|
97
|
+
if (typeof x === "function") return `Function`;
|
|
98
|
+
if (typeof x !== "object") return x;
|
|
99
|
+
if ("$$typeof" in x) return "Component";
|
|
100
|
+
return Object.fromEntries(Object.entries(x).flatMap(([k, v]) => excludeKeys[k] ? [] : [[k, cloneDeepSafe(v)]]));
|
|
101
|
+
}
|
|
102
|
+
function buildPropCategories() {
|
|
103
|
+
const out = {};
|
|
104
|
+
const byPrefix = {};
|
|
105
|
+
for (const entry of import_tooling.grammarEntries) {
|
|
106
|
+
if (entry.tokenCategory) out[entry.prop] = entry.tokenCategory;
|
|
107
|
+
if (entry.prefix) (byPrefix[entry.prefix] ||= /* @__PURE__ */ new Set()).add(entry.tokenCategory);
|
|
108
|
+
}
|
|
109
|
+
for (const [prefix, categories] of Object.entries(byPrefix)) {
|
|
110
|
+
if (categories.size !== 1) continue;
|
|
111
|
+
const [only] = categories;
|
|
112
|
+
if (only) out[prefix] = only;
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
function transformConfig(config, platform) {
|
|
117
|
+
if (!config) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
const { getVariableValue } = (0, import_requireTamaguiCore.requireTamaguiCore)(platform);
|
|
121
|
+
const next = cloneDeepSafe(config, { validStyles: true });
|
|
122
|
+
const { components, nameToPaths, tamaguiConfig } = next;
|
|
123
|
+
const { themes, tokens } = tamaguiConfig;
|
|
124
|
+
for (const key in themes) {
|
|
125
|
+
const theme = themes[key];
|
|
126
|
+
for (const tkey in theme) {
|
|
127
|
+
theme[tkey] = getVariableValue(theme[tkey]);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
for (const key in tokens) {
|
|
131
|
+
const token = { ...tokens[key] };
|
|
132
|
+
for (const tkey in token) {
|
|
133
|
+
token[tkey] = getVariableValue(token[tkey]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
for (const component of components) {
|
|
137
|
+
for (const _ in component.nameToInfo) {
|
|
138
|
+
const compDefinition = { ...component.nameToInfo[_] };
|
|
139
|
+
component.nameToInfo[_] = compDefinition;
|
|
140
|
+
const { parentStaticConfig, ...rest } = compDefinition.staticConfig;
|
|
141
|
+
compDefinition.staticConfig = rest;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
next.nameToPaths = {};
|
|
145
|
+
for (const key in nameToPaths) {
|
|
146
|
+
next.nameToPaths[key] = [...nameToPaths[key]];
|
|
147
|
+
}
|
|
148
|
+
const { fontsParsed, getCSS, tokensParsed, themeConfig, shorthands: _shorthands, userShorthands, ...cleanedConfig } = next.tamaguiConfig;
|
|
149
|
+
return {
|
|
150
|
+
components,
|
|
151
|
+
nameToPaths,
|
|
152
|
+
tamaguiConfigMetadata: { themeFields: "values-only" },
|
|
153
|
+
tamaguiConfig: {
|
|
154
|
+
...cleanedConfig,
|
|
155
|
+
shorthands: userShorthands,
|
|
156
|
+
propCategories: buildPropCategories(),
|
|
157
|
+
styleProps: Object.keys(import_helpers.stylePropsAll)
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
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, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var watchTamaguiConfig_exports = {};
|
|
22
|
+
__export(watchTamaguiConfig_exports, { watchTamaguiConfig: () => watchTamaguiConfig });
|
|
23
|
+
module.exports = __toCommonJS(watchTamaguiConfig_exports);
|
|
24
|
+
var import_node_module = require("node:module");
|
|
25
|
+
var import_loadTamagui = require("./loadTamagui.cjs");
|
|
26
|
+
var import_regenerateConfig = require("./regenerateConfig.cjs");
|
|
27
|
+
const import_meta = {};
|
|
28
|
+
const nodeRequire = (0, import_node_module.createRequire)(typeof __filename === "string" ? __filename : import_meta.url);
|
|
29
|
+
let isWatching = false;
|
|
30
|
+
async function watchTamaguiConfig(tamaguiOptions) {
|
|
31
|
+
if (process.env.NODE_ENV === "production" || tamaguiOptions.disable) {
|
|
32
|
+
return { dispose() {} };
|
|
33
|
+
}
|
|
34
|
+
if (isWatching) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
isWatching = true;
|
|
38
|
+
const options = await (0, import_loadTamagui.getOptions)({ tamaguiOptions });
|
|
39
|
+
if (!options.tamaguiOptions.config) {
|
|
40
|
+
isWatching = false;
|
|
41
|
+
throw new Error(`No config`);
|
|
42
|
+
}
|
|
43
|
+
const disposeConfigWatcher = await (0, import_loadTamagui.esbuildWatchFiles)(options.tamaguiOptions.config, async () => {
|
|
44
|
+
await (0, import_loadTamagui.generateThemesAndLog)(options.tamaguiOptions);
|
|
45
|
+
await (0, import_regenerateConfig.regenerateConfig)(options.tamaguiOptions, null, true);
|
|
46
|
+
});
|
|
47
|
+
const themeBuilderInput = options.tamaguiOptions.themeBuilder?.input;
|
|
48
|
+
let disposeThemesWatcher;
|
|
49
|
+
if (themeBuilderInput) {
|
|
50
|
+
let inputPath = themeBuilderInput;
|
|
51
|
+
try {
|
|
52
|
+
inputPath = nodeRequire.resolve(themeBuilderInput);
|
|
53
|
+
} catch {}
|
|
54
|
+
disposeThemesWatcher = await (0, import_loadTamagui.esbuildWatchFiles)(inputPath, async () => {
|
|
55
|
+
await (0, import_loadTamagui.generateThemesAndLog)(options.tamaguiOptions);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return { dispose() {
|
|
59
|
+
isWatching = false;
|
|
60
|
+
disposeConfigWatcher();
|
|
61
|
+
disposeThemesWatcher?.();
|
|
62
|
+
} };
|
|
63
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
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, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var getPragmaOptions_exports = {};
|
|
22
|
+
__export(getPragmaOptions_exports, { getPragmaOptions: () => getPragmaOptions });
|
|
23
|
+
module.exports = __toCommonJS(getPragmaOptions_exports);
|
|
24
|
+
function getPragmaOptions({ source, path }) {
|
|
25
|
+
let shouldPrintDebug = false;
|
|
26
|
+
let shouldDisable = false;
|
|
27
|
+
const firstLines = source.slice(0, 800);
|
|
28
|
+
let pragma = "";
|
|
29
|
+
for (const line of firstLines.split("\n")) {
|
|
30
|
+
const trimmed = line.trim();
|
|
31
|
+
if (trimmed && !trimmed.startsWith("//") && !trimmed.startsWith("/*")) {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
pragma = trimmed.match(/(\/\/|\/\*)\s?!?\s?(tamagui-ignore|debug|debug-verbose)(\n|\s|$).*/)?.[2].trim() || "";
|
|
35
|
+
if (pragma) {
|
|
36
|
+
pragma = pragma.replace("!", "").trim();
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
switch (pragma) {
|
|
41
|
+
case "tamagui-ignore":
|
|
42
|
+
shouldDisable = true;
|
|
43
|
+
break;
|
|
44
|
+
case "debug":
|
|
45
|
+
shouldPrintDebug = true;
|
|
46
|
+
break;
|
|
47
|
+
case "debug-verbose":
|
|
48
|
+
shouldPrintDebug = "verbose";
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
if (process.env.TAMAGUI_DEBUG_FILE) {
|
|
52
|
+
if (path.includes(process.env.TAMAGUI_DEBUG_FILE)) {
|
|
53
|
+
shouldPrintDebug = "verbose";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (process.env.DEBUG?.includes("tamagui")) {
|
|
57
|
+
shouldPrintDebug ||= true;
|
|
58
|
+
}
|
|
59
|
+
if (process.env.DEBUG?.includes("tamagui-verbose")) {
|
|
60
|
+
shouldPrintDebug = "verbose";
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
shouldPrintDebug,
|
|
64
|
+
shouldDisable
|
|
65
|
+
};
|
|
66
|
+
}
|