@tamagui/static 2.7.7 → 3.0.0-beta.643.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 +355 -0
- package/dist/cjs/checkDeps.cjs +302 -0
- package/dist/cjs/compiler.cjs +286 -0
- package/dist/cjs/compilerHost.cjs +1695 -0
- package/dist/cjs/constants.cjs +33 -0
- package/dist/cjs/domStructuralPass.cjs +112 -0
- package/dist/cjs/exports.cjs +42 -0
- package/dist/cjs/extractor/addLocalExports.cjs +64 -0
- package/dist/cjs/extractor/bundle.cjs +203 -0
- package/dist/cjs/extractor/bundleConfig.cjs +747 -0
- package/dist/cjs/extractor/concatClassName.cjs +117 -0
- package/dist/cjs/extractor/detectModuleFormat.cjs +54 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.cjs +47 -0
- package/dist/cjs/extractor/esbuildTsconfigPaths.cjs +92 -0
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +38 -0
- package/dist/cjs/extractor/loadTamagui.cjs +344 -0
- package/dist/cjs/extractor/regenerateConfig.cjs +161 -0
- package/dist/cjs/extractor/watchTamaguiConfig.cjs +64 -0
- package/dist/cjs/getPragmaOptions.cjs +67 -0
- package/dist/cjs/helpers/memoize.cjs +42 -0
- package/dist/cjs/helpers/requireTamaguiCore.cjs +40 -0
- package/dist/cjs/index.cjs +34 -0
- package/dist/cjs/registerRequire.cjs +220 -0
- package/dist/cjs/server.cjs +66 -0
- package/dist/cjs/staticEvaluationIgnoredModules.cjs +86 -0
- package/dist/cjs/types.cjs +17 -0
- package/dist/cjs/zero/artifact.cjs +145 -0
- package/dist/cjs/zero/graph.cjs +209 -0
- package/dist/cjs/zero/identity.cjs +61 -0
- package/dist/cjs/zero/index.cjs +26 -0
- package/dist/cjs/zero/islands.cjs +232 -0
- package/dist/cjs/zero/options.cjs +163 -0
- package/dist/cjs/zero/ownership.cjs +79 -0
- package/dist/cjs/zero/theme.cjs +328 -0
- package/dist/cjs/zero/transform.cjs +203 -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 +255 -0
- package/dist/esm/compiler.mjs.map +1 -0
- package/dist/esm/compilerHost.mjs +1675 -0
- package/dist/esm/compilerHost.mjs.map +1 -0
- package/dist/esm/constants.mjs +7 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/domStructuralPass.mjs +92 -0
- package/dist/esm/domStructuralPass.mjs.map +1 -0
- package/dist/esm/exports.mjs +26 -0
- package/dist/esm/extractor/addLocalExports.mjs +44 -0
- package/dist/esm/extractor/addLocalExports.mjs.map +1 -0
- package/dist/esm/extractor/bundle.mjs +173 -0
- package/dist/esm/extractor/bundle.mjs.map +1 -0
- package/dist/esm/extractor/bundleConfig.mjs +706 -0
- package/dist/esm/extractor/bundleConfig.mjs.map +1 -0
- package/dist/esm/extractor/concatClassName.mjs +96 -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 +18 -0
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs.map +1 -0
- package/dist/esm/extractor/loadTamagui.mjs +306 -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 +15 -0
- package/dist/esm/zero/islands.mjs +197 -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 +303 -0
- package/dist/esm/zero/theme.mjs.map +1 -0
- package/dist/esm/zero/transform.mjs +177 -0
- package/dist/esm/zero/transform.mjs.map +1 -0
- package/package.json +33 -43
- package/src/check-dep-versions.ts +2 -2
- package/src/checkDeps.ts +3 -2
- package/src/compiler.ts +425 -0
- package/src/compilerHost.ts +3125 -0
- package/src/constants.ts +0 -5
- package/src/domStructuralPass.ts +170 -0
- package/src/exports.ts +3 -6
- package/src/extractor/addLocalExports.ts +49 -0
- package/src/extractor/bundle.ts +20 -35
- package/src/extractor/bundleConfig.ts +334 -187
- package/src/extractor/concatClassName.ts +13 -20
- package/src/extractor/getTamaguiConfigPathFromOptionsConfig.ts +5 -4
- 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 +8 -0
- package/src/zero/islands.ts +262 -0
- package/src/zero/options.ts +239 -0
- package/src/zero/ownership.ts +113 -0
- package/src/zero/theme.ts +478 -0
- package/src/zero/transform.ts +320 -0
- package/types/check-dep-versions.d.ts.map +1 -1
- package/types/checkDeps.d.ts.map +1 -1
- package/types/compiler.d.ts +117 -0
- package/types/compiler.d.ts.map +1 -0
- package/types/compilerHost.d.ts +25 -0
- package/types/compilerHost.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 +3 -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 +19 -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 +9 -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 +83 -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
|
@@ -68,12 +68,7 @@ export function concatClassName(_cn: Record<string, any> | null | undefined): st
|
|
|
68
68
|
if (propName && propObjects) {
|
|
69
69
|
if (
|
|
70
70
|
propObjects.some((po) => {
|
|
71
|
-
|
|
72
|
-
const propKey = pseudoInvert[pseudoKey]
|
|
73
|
-
return po && po[propKey] && propName in po[propKey] && po[propKey] !== null
|
|
74
|
-
}
|
|
75
|
-
const res = po && propName in po && po[propName] !== null
|
|
76
|
-
return res
|
|
71
|
+
return po && propName in po && po[propName] !== null
|
|
77
72
|
})
|
|
78
73
|
) {
|
|
79
74
|
// if (shouldDebug) console.log('debug exclude:', name)
|
|
@@ -114,17 +109,15 @@ function getClassNameScope(name: string, splitIndex: number) {
|
|
|
114
109
|
return { mediaKey, pseudoKey }
|
|
115
110
|
}
|
|
116
111
|
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
'
|
|
122
|
-
'
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
enter
|
|
127
|
-
exit
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const pseudoKeys = Object.keys(pseudoInvert).sort((a, b) => b.length - a.length)
|
|
112
|
+
const pseudoKeys = [
|
|
113
|
+
'focus-visible',
|
|
114
|
+
'focus-within',
|
|
115
|
+
'focusVisible',
|
|
116
|
+
'focusWithin',
|
|
117
|
+
'disabled',
|
|
118
|
+
'active',
|
|
119
|
+
'hover',
|
|
120
|
+
'focus',
|
|
121
|
+
'enter',
|
|
122
|
+
'exit',
|
|
123
|
+
]
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { isAbsolute, join } from 'node:path'
|
|
1
|
+
import { isAbsolute, join, resolve } from 'node:path'
|
|
2
2
|
|
|
3
3
|
import { statSync } from 'node:fs'
|
|
4
4
|
import type { TamaguiOptions } from '../types'
|
|
5
5
|
|
|
6
6
|
export function getTamaguiConfigPathFromOptionsConfig(
|
|
7
|
-
config: NonNullable<TamaguiOptions['config']
|
|
7
|
+
config: NonNullable<TamaguiOptions['config']>,
|
|
8
|
+
root = process.cwd()
|
|
8
9
|
) {
|
|
9
10
|
if (isAbsolute(config)) {
|
|
10
11
|
return config
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
const fullPath = join(
|
|
14
|
+
const fullPath = join(root, config)
|
|
14
15
|
|
|
15
16
|
try {
|
|
16
17
|
if (statSync(fullPath).isFile()) {
|
|
@@ -20,5 +21,5 @@ export function getTamaguiConfigPathFromOptionsConfig(
|
|
|
20
21
|
//
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
return config
|
|
24
|
+
return resolve(config)
|
|
24
25
|
}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { basename, dirname, extname, join, relative, resolve } from 'node:path'
|
|
2
|
+
import { createRequire } from 'node:module'
|
|
2
3
|
// @ts-ignore why
|
|
3
4
|
import { Color, colorLog } from '@tamagui/cli-color'
|
|
4
5
|
import type { CLIResolvedOptions, CLIUserOptions, TamaguiOptions } from '@tamagui/types'
|
|
5
6
|
import type { TamaguiInternalConfig } from '@tamagui/web'
|
|
6
7
|
import esbuild from 'esbuild'
|
|
7
|
-
import
|
|
8
|
-
import * as fsExtra from 'fs-extra'
|
|
8
|
+
import fsExtra from 'fs-extra'
|
|
9
9
|
|
|
10
|
-
import { SHOULD_DEBUG } from '../constants'
|
|
11
10
|
import { requireTamaguiCore } from '../helpers/requireTamaguiCore'
|
|
12
|
-
import { getNameToPaths, registerRequire } from '../registerRequire'
|
|
11
|
+
import { getNameToPaths, registerRequire, setRequireResult } from '../registerRequire'
|
|
13
12
|
import {
|
|
14
13
|
type TamaguiProjectInfo,
|
|
14
|
+
getComponentStaticConfigByName,
|
|
15
15
|
getBundledConfig,
|
|
16
16
|
getLoadedConfig,
|
|
17
17
|
hasBundledConfigChanged,
|
|
18
18
|
loadComponentsSync,
|
|
19
|
+
setLoadedConfig,
|
|
19
20
|
writeTamaguiCSS,
|
|
20
21
|
} from './bundleConfig'
|
|
21
22
|
import { getTamaguiConfigPathFromOptionsConfig } from './getTamaguiConfigPathFromOptionsConfig'
|
|
@@ -25,6 +26,10 @@ import {
|
|
|
25
26
|
regenerateConfigSync,
|
|
26
27
|
} from './regenerateConfig'
|
|
27
28
|
|
|
29
|
+
const nodeRequire = createRequire(
|
|
30
|
+
typeof __filename === 'string' ? __filename : import.meta.url
|
|
31
|
+
)
|
|
32
|
+
|
|
28
33
|
const getFilledOptions = (propsIn: Partial<TamaguiOptions>): TamaguiOptions => ({
|
|
29
34
|
// defaults
|
|
30
35
|
platform: (process.env.TAMAGUI_TARGET as any) || 'web',
|
|
@@ -36,31 +41,23 @@ const getFilledOptions = (propsIn: Partial<TamaguiOptions>): TamaguiOptions => (
|
|
|
36
41
|
let isLoadingPromise: null | Promise<any>
|
|
37
42
|
|
|
38
43
|
export async function loadTamagui(
|
|
39
|
-
propsIn: Partial<TamaguiOptions
|
|
44
|
+
propsIn: Partial<TamaguiOptions>,
|
|
45
|
+
rebuild = false
|
|
40
46
|
): Promise<TamaguiProjectInfo | null> {
|
|
41
47
|
if (isLoadingPromise) return await isLoadingPromise
|
|
42
48
|
|
|
43
|
-
|
|
44
|
-
let rejectPromise
|
|
45
|
-
isLoadingPromise = new Promise((res, rej) => {
|
|
46
|
-
resolvePromise = res
|
|
47
|
-
rejectPromise = rej
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
try {
|
|
49
|
+
isLoadingPromise = (async () => {
|
|
51
50
|
const props = getFilledOptions(propsIn)
|
|
52
51
|
|
|
53
|
-
const bundleInfo = await getBundledConfig(props)
|
|
52
|
+
const bundleInfo = await getBundledConfig(props, rebuild)
|
|
54
53
|
if (!bundleInfo) {
|
|
55
|
-
|
|
56
|
-
`
|
|
54
|
+
throw new Error(
|
|
55
|
+
`[tamagui] The config and component bundle completed without a project result`
|
|
57
56
|
)
|
|
58
|
-
resolvePromise(null)
|
|
59
|
-
return null
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
// this affects the bundled config so run it first
|
|
63
|
-
await generateThemesAndLog(props)
|
|
60
|
+
await generateThemesAndLog(props, rebuild)
|
|
64
61
|
|
|
65
62
|
// if they accidently pass in a config without createTamagui called,call it
|
|
66
63
|
const maybeTamaguiConfig = bundleInfo.tamaguiConfig as TamaguiInternalConfig
|
|
@@ -70,22 +67,100 @@ export async function loadTamagui(
|
|
|
70
67
|
}
|
|
71
68
|
|
|
72
69
|
if (!hasBundledConfigChanged()) {
|
|
73
|
-
resolvePromise(bundleInfo)
|
|
74
70
|
return bundleInfo
|
|
75
71
|
}
|
|
76
72
|
|
|
77
73
|
await regenerateConfig(props, bundleInfo)
|
|
78
74
|
|
|
79
|
-
resolvePromise(bundleInfo)
|
|
80
75
|
return bundleInfo
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
})()
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
return await isLoadingPromise
|
|
84
80
|
} finally {
|
|
85
81
|
isLoadingPromise = null
|
|
86
82
|
}
|
|
87
83
|
}
|
|
88
84
|
|
|
85
|
+
export type EvaluatedTamaguiModule = {
|
|
86
|
+
moduleName: string
|
|
87
|
+
module: Record<string, unknown>
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export type EvaluatedTamaguiProject = {
|
|
91
|
+
config: Record<string, unknown>
|
|
92
|
+
components: EvaluatedTamaguiModule[]
|
|
93
|
+
/**
|
|
94
|
+
* Every file the host's module runner evaluated to produce this config and
|
|
95
|
+
* these components, node_modules included. The compile cache stamp is hashed
|
|
96
|
+
* from their bytes, so an incomplete list is worse than none: omit it and the
|
|
97
|
+
* project simply gets no cache.
|
|
98
|
+
*/
|
|
99
|
+
stampSources?: string[]
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Load a Tamagui project from modules evaluated by the host bundler.
|
|
104
|
+
*
|
|
105
|
+
* Bundler adapters with a module runner use this boundary so aliases, package
|
|
106
|
+
* conditions, and user plugins are identical between application and compiler
|
|
107
|
+
* evaluation. Adapters without a module runner continue to use loadTamagui().
|
|
108
|
+
*/
|
|
109
|
+
export async function loadTamaguiFromModules(
|
|
110
|
+
propsIn: Partial<TamaguiOptions>,
|
|
111
|
+
evaluated: EvaluatedTamaguiProject
|
|
112
|
+
): Promise<TamaguiProjectInfo> {
|
|
113
|
+
const props = getFilledOptions(propsIn)
|
|
114
|
+
|
|
115
|
+
await generateThemesAndLog(props)
|
|
116
|
+
|
|
117
|
+
const configModule = evaluated.config as any
|
|
118
|
+
let tamaguiConfig = (configModule.default || configModule.config || configModule) as
|
|
119
|
+
| TamaguiInternalConfig
|
|
120
|
+
| { config?: TamaguiInternalConfig }
|
|
121
|
+
|
|
122
|
+
if ('config' in tamaguiConfig && tamaguiConfig.config && !('tokens' in tamaguiConfig)) {
|
|
123
|
+
tamaguiConfig = tamaguiConfig.config
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!tamaguiConfig) {
|
|
127
|
+
throw new Error(`The Vite module runner did not return a valid Tamagui config`)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const hostCore = requireTamaguiCore(props.platform || 'web')
|
|
131
|
+
if (!(tamaguiConfig as TamaguiInternalConfig).parsed) {
|
|
132
|
+
tamaguiConfig = hostCore.createTamagui(tamaguiConfig as any) as TamaguiInternalConfig
|
|
133
|
+
} else {
|
|
134
|
+
// Module runners can evaluate the config in a separate Tamagui module
|
|
135
|
+
// instance. Install the already-parsed config so host module-local state
|
|
136
|
+
// matches without re-parsing it or running browser-only CSS discovery.
|
|
137
|
+
hostCore.installTamaguiConfig(tamaguiConfig as TamaguiInternalConfig)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
setLoadedConfig(tamaguiConfig as TamaguiInternalConfig)
|
|
141
|
+
|
|
142
|
+
const components = evaluated.components.map(({ moduleName, module }) => {
|
|
143
|
+
setRequireResult(moduleName, module)
|
|
144
|
+
return {
|
|
145
|
+
moduleName,
|
|
146
|
+
nameToInfo: getComponentStaticConfigByName(moduleName, module.default ?? module),
|
|
147
|
+
}
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
const projectInfo = {
|
|
151
|
+
components,
|
|
152
|
+
nameToPaths: {},
|
|
153
|
+
tamaguiConfig: tamaguiConfig as TamaguiInternalConfig,
|
|
154
|
+
stampSources: evaluated.stampSources,
|
|
155
|
+
} satisfies TamaguiProjectInfo
|
|
156
|
+
|
|
157
|
+
if (props.outputCSS) {
|
|
158
|
+
await writeTamaguiCSS(props.outputCSS, projectInfo.tamaguiConfig)
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return projectInfo
|
|
162
|
+
}
|
|
163
|
+
|
|
89
164
|
// debounce a bit
|
|
90
165
|
let waiting = false
|
|
91
166
|
|
|
@@ -103,7 +178,7 @@ export const generateThemesAndLog = async (options: TamaguiOptions, force = fals
|
|
|
103
178
|
colorLog(
|
|
104
179
|
Color.FgYellow,
|
|
105
180
|
`${whitespaceBefore}➡ [tamagui] generated themes: ${relative(
|
|
106
|
-
process.cwd(),
|
|
181
|
+
options.root || process.cwd(),
|
|
107
182
|
options.themeBuilder.output
|
|
108
183
|
)}`
|
|
109
184
|
)
|
|
@@ -123,70 +198,62 @@ export const generateThemesAndLog = async (options: TamaguiOptions, force = fals
|
|
|
123
198
|
const last: Record<string, TamaguiProjectInfo | null> = {}
|
|
124
199
|
const lastVersion: Record<string, string> = {}
|
|
125
200
|
|
|
126
|
-
|
|
127
|
-
|
|
201
|
+
const buildConfigDependencies = new WeakMap<TamaguiOptions, readonly string[]>()
|
|
202
|
+
|
|
203
|
+
export function getTamaguiBuildConfigDependencies(
|
|
204
|
+
options: TamaguiOptions
|
|
205
|
+
): readonly string[] {
|
|
206
|
+
return buildConfigDependencies.get(options) ?? []
|
|
207
|
+
}
|
|
128
208
|
|
|
129
209
|
/**
|
|
130
|
-
* Load tamagui.build.ts
|
|
131
|
-
* Uses WASM to avoid native esbuild service lifecycle issues (EPIPE errors)
|
|
210
|
+
* Load tamagui.build.ts and its relative imports as one Node module.
|
|
132
211
|
*/
|
|
133
212
|
export async function loadTamaguiBuildConfigAsync(
|
|
134
213
|
tamaguiOptions: Partial<TamaguiOptions> | undefined
|
|
135
214
|
): Promise<TamaguiOptions> {
|
|
136
215
|
const buildFilePath = tamaguiOptions?.buildFile ?? './tamagui.build.ts'
|
|
137
|
-
const
|
|
138
|
-
|
|
216
|
+
const root = tamaguiOptions?.root || process.cwd()
|
|
217
|
+
const absolutePath = resolve(root, buildFilePath)
|
|
139
218
|
|
|
140
219
|
if (fsExtra.existsSync(absolutePath)) {
|
|
141
220
|
try {
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// use esbuild-wasm.transform to compile this one small config file. note
|
|
151
|
-
// that in node, even esbuild-wasm's transform spawns a long-lived
|
|
152
|
-
// `--service --ping` child via ensureServiceIsRunning, so we tear it down
|
|
153
|
-
// below - otherwise every plugin instance leaks a persistent esbuild
|
|
154
|
-
// process for the lifetime of the dev server.
|
|
155
|
-
const result = await esbuildWasm.transform(source, {
|
|
156
|
-
loader: 'ts',
|
|
221
|
+
const result = await esbuild.build({
|
|
222
|
+
entryPoints: [absolutePath],
|
|
223
|
+
absWorkingDir: root,
|
|
224
|
+
bundle: true,
|
|
225
|
+
packages: 'external',
|
|
226
|
+
platform: 'node',
|
|
157
227
|
format: 'cjs',
|
|
158
228
|
target: 'node18',
|
|
159
|
-
|
|
229
|
+
write: false,
|
|
230
|
+
metafile: true,
|
|
160
231
|
})
|
|
161
232
|
|
|
162
|
-
// evaluate the compiled code to get the exports
|
|
163
|
-
// pass process so process.env works in the config
|
|
164
233
|
const module = { exports: {} as any }
|
|
165
|
-
const
|
|
166
|
-
|
|
234
|
+
const projectRequire = createRequire(absolutePath)
|
|
235
|
+
const code = result.outputFiles[0]?.text
|
|
236
|
+
if (!code) throw new Error(`No output generated for ${buildFilePath}`)
|
|
237
|
+
const fn = new Function('module', 'exports', 'require', 'process', code)
|
|
238
|
+
fn(module, module.exports, projectRequire, process)
|
|
167
239
|
|
|
168
240
|
const out = module.exports.default || module.exports
|
|
169
241
|
if (!out || typeof out !== 'object') {
|
|
170
242
|
throw new Error(`No default export found in ${buildFilePath}: ${out}`)
|
|
171
243
|
}
|
|
172
244
|
|
|
173
|
-
|
|
245
|
+
const loadedOptions = {
|
|
174
246
|
...tamaguiOptions,
|
|
175
247
|
...out,
|
|
176
|
-
}
|
|
248
|
+
} as TamaguiOptions
|
|
249
|
+
const dependencies = Object.keys(result.metafile.inputs).map((input) =>
|
|
250
|
+
resolve(root, input)
|
|
251
|
+
)
|
|
252
|
+
buildConfigDependencies.set(loadedOptions, dependencies)
|
|
253
|
+
tamaguiOptions = loadedOptions
|
|
177
254
|
} catch (err) {
|
|
178
255
|
console.error(`[tamagui] Error loading ${buildFilePath}:`, err)
|
|
179
256
|
throw err
|
|
180
|
-
} finally {
|
|
181
|
-
// this is a one-shot transform - don't keep the esbuild-wasm service
|
|
182
|
-
// running for the rest of the process. it gets lazily re-spawned if
|
|
183
|
-
// transform is ever called again.
|
|
184
|
-
try {
|
|
185
|
-
esbuildWasm.stop()
|
|
186
|
-
esbuildWasmInitialized = false
|
|
187
|
-
} catch {
|
|
188
|
-
// ok - service may already be gone
|
|
189
|
-
}
|
|
190
257
|
}
|
|
191
258
|
}
|
|
192
259
|
|
|
@@ -196,11 +263,14 @@ export async function loadTamaguiBuildConfigAsync(
|
|
|
196
263
|
)
|
|
197
264
|
}
|
|
198
265
|
|
|
199
|
-
|
|
266
|
+
const options = {
|
|
200
267
|
config: 'tamagui.config.ts',
|
|
201
268
|
components: ['tamagui', '@tamagui/core'],
|
|
202
269
|
...tamaguiOptions,
|
|
203
270
|
} as TamaguiOptions
|
|
271
|
+
const dependencies = buildConfigDependencies.get(tamaguiOptions)
|
|
272
|
+
if (dependencies) buildConfigDependencies.set(options, dependencies)
|
|
273
|
+
return options
|
|
204
274
|
}
|
|
205
275
|
|
|
206
276
|
/**
|
|
@@ -210,12 +280,14 @@ export function loadTamaguiBuildConfigSync(
|
|
|
210
280
|
tamaguiOptions: Partial<TamaguiOptions> | undefined
|
|
211
281
|
) {
|
|
212
282
|
const buildFilePath = tamaguiOptions?.buildFile ?? './tamagui.build.ts'
|
|
213
|
-
|
|
214
|
-
|
|
283
|
+
const root = tamaguiOptions?.root || process.cwd()
|
|
284
|
+
const absolutePath = resolve(root, buildFilePath)
|
|
285
|
+
if (fsExtra.existsSync(absolutePath)) {
|
|
286
|
+
const registered = registerRequire('web', {
|
|
287
|
+
ignoredModules: tamaguiOptions?.dangerouslyIgnoreStaticEvaluationModules,
|
|
288
|
+
})
|
|
215
289
|
try {
|
|
216
|
-
const out =
|
|
217
|
-
buildFilePath[0] === '.' ? join(process.cwd(), buildFilePath) : buildFilePath
|
|
218
|
-
).default
|
|
290
|
+
const out = nodeRequire(absolutePath).default
|
|
219
291
|
if (!out) {
|
|
220
292
|
throw new Error(`No default export found in ${buildFilePath}: ${out}`)
|
|
221
293
|
}
|
|
@@ -260,6 +332,9 @@ export function loadTamaguiSync({
|
|
|
260
332
|
lastVersion[key] = cacheKey || ''
|
|
261
333
|
|
|
262
334
|
const props = getFilledOptions(propsIn)
|
|
335
|
+
const previousIsStatic = process.env.IS_STATIC
|
|
336
|
+
const previousIsServer = process.env.TAMAGUI_IS_SERVER
|
|
337
|
+
const previousDev = globalThis['__DEV__' as any]
|
|
263
338
|
|
|
264
339
|
// lets shim require and avoid importing react-native + react-native-web
|
|
265
340
|
// we just need to read the config around them
|
|
@@ -267,97 +342,76 @@ export function loadTamaguiSync({
|
|
|
267
342
|
process.env.TAMAGUI_IS_SERVER = 'true'
|
|
268
343
|
|
|
269
344
|
const { unregister } = registerRequire(props.platform || 'web', {
|
|
270
|
-
|
|
345
|
+
ignoredModules: props.dangerouslyIgnoreStaticEvaluationModules,
|
|
271
346
|
})
|
|
272
347
|
|
|
273
348
|
try {
|
|
274
|
-
const devValueOG = globalThis['__DEV__' as any]
|
|
275
349
|
globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'
|
|
350
|
+
// config
|
|
351
|
+
let tamaguiConfig: TamaguiInternalConfig | null = null
|
|
352
|
+
if (propsIn.config) {
|
|
353
|
+
const configPath = getTamaguiConfigPathFromOptionsConfig(
|
|
354
|
+
propsIn.config,
|
|
355
|
+
propsIn.root
|
|
356
|
+
)
|
|
357
|
+
const exp = nodeRequire(configPath)
|
|
276
358
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
if (propsIn.config) {
|
|
281
|
-
const configPath = getTamaguiConfigPathFromOptionsConfig(propsIn.config)
|
|
282
|
-
const exp = require(configPath)
|
|
283
|
-
|
|
284
|
-
if (!exp || exp._isProxyWorm) {
|
|
285
|
-
throw new Error(`Got a empty / proxied config!`)
|
|
286
|
-
}
|
|
359
|
+
if (!exp) {
|
|
360
|
+
throw new Error(`The Tamagui config module did not export a value`)
|
|
361
|
+
}
|
|
287
362
|
|
|
288
|
-
|
|
363
|
+
tamaguiConfig = (exp['default'] || exp['config'] || exp) as TamaguiInternalConfig
|
|
289
364
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
365
|
+
if (!tamaguiConfig || !tamaguiConfig.parsed) {
|
|
366
|
+
const confPath = nodeRequire.resolve(configPath)
|
|
367
|
+
throw new Error(`Can't find valid config in ${confPath}:
|
|
293
368
|
|
|
294
369
|
Be sure you "export default" or "export const config" the config.`)
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// set up core
|
|
298
|
-
if (tamaguiConfig) {
|
|
299
|
-
const { createTamagui } = requireTamaguiCore(props.platform || 'web')
|
|
300
|
-
createTamagui(tamaguiConfig as any)
|
|
301
|
-
}
|
|
302
370
|
}
|
|
303
371
|
|
|
304
|
-
//
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
if (process.env.DEBUG === 'tamagui') {
|
|
310
|
-
console.info(`components`, components)
|
|
372
|
+
// set up core
|
|
373
|
+
if (tamaguiConfig) {
|
|
374
|
+
const { createTamagui } = requireTamaguiCore(props.platform || 'web')
|
|
375
|
+
createTamagui(tamaguiConfig as any)
|
|
311
376
|
}
|
|
377
|
+
}
|
|
312
378
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
} satisfies TamaguiProjectInfo
|
|
322
|
-
|
|
323
|
-
if (tamaguiConfig) {
|
|
324
|
-
const { outputCSS } = props
|
|
325
|
-
if (outputCSS) {
|
|
326
|
-
writeTamaguiCSS(outputCSS, tamaguiConfig)
|
|
327
|
-
}
|
|
379
|
+
// components
|
|
380
|
+
const components = loadComponentsSync(props, forceExports)
|
|
381
|
+
if (!components) {
|
|
382
|
+
throw new Error(`No components loaded`)
|
|
383
|
+
}
|
|
384
|
+
if (process.env.DEBUG === 'tamagui') {
|
|
385
|
+
console.info(`components`, components)
|
|
386
|
+
}
|
|
328
387
|
|
|
329
|
-
|
|
330
|
-
|
|
388
|
+
const info = {
|
|
389
|
+
components,
|
|
390
|
+
tamaguiConfig,
|
|
391
|
+
nameToPaths: getNameToPaths(),
|
|
392
|
+
} satisfies TamaguiProjectInfo
|
|
331
393
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
394
|
+
if (tamaguiConfig) {
|
|
395
|
+
const { outputCSS } = props
|
|
396
|
+
if (outputCSS) {
|
|
397
|
+
writeTamaguiCSS(outputCSS, tamaguiConfig)
|
|
335
398
|
}
|
|
336
399
|
|
|
337
|
-
|
|
338
|
-
}
|
|
339
|
-
if (err instanceof Error) {
|
|
340
|
-
if (!SHOULD_DEBUG && !forceExports) {
|
|
341
|
-
console.warn(
|
|
342
|
-
`Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`
|
|
343
|
-
)
|
|
344
|
-
console.info(`\n\n ${err.message}\n\n`)
|
|
345
|
-
} else {
|
|
346
|
-
if (SHOULD_DEBUG) {
|
|
347
|
-
console.error(err)
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
} else {
|
|
351
|
-
console.error(`Error loading tamagui.config.ts`, err)
|
|
352
|
-
}
|
|
400
|
+
regenerateConfigSync(props, info)
|
|
401
|
+
}
|
|
353
402
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
nameToPaths: {},
|
|
358
|
-
}
|
|
403
|
+
last[key] = {
|
|
404
|
+
...info,
|
|
405
|
+
cached: true,
|
|
359
406
|
}
|
|
407
|
+
|
|
408
|
+
return info as any
|
|
360
409
|
} finally {
|
|
410
|
+
if (previousIsStatic === undefined) delete process.env.IS_STATIC
|
|
411
|
+
else process.env.IS_STATIC = previousIsStatic
|
|
412
|
+
if (previousIsServer === undefined) delete process.env.TAMAGUI_IS_SERVER
|
|
413
|
+
else process.env.TAMAGUI_IS_SERVER = previousIsServer
|
|
414
|
+
globalThis['__DEV__' as any] = previousDev
|
|
361
415
|
unregister()
|
|
362
416
|
}
|
|
363
417
|
}
|
|
@@ -404,7 +458,7 @@ export async function getOptions({
|
|
|
404
458
|
|
|
405
459
|
export function resolveWebOrNativeSpecificEntry(entry: string, platform?: string) {
|
|
406
460
|
const workspaceRoot = resolve()
|
|
407
|
-
const resolved =
|
|
461
|
+
const resolved = nodeRequire.resolve(entry, { paths: [workspaceRoot] })
|
|
408
462
|
const ext = extname(resolved)
|
|
409
463
|
const fileName = basename(resolved).replace(ext, '')
|
|
410
464
|
const target = platform || process.env.TAMAGUI_TARGET || 'web'
|
|
@@ -458,9 +512,8 @@ export async function esbuildWatchFiles(entry: string, onChanged: () => void) {
|
|
|
458
512
|
write: false,
|
|
459
513
|
|
|
460
514
|
alias: {
|
|
461
|
-
'@react-native/normalize-color': '@tamagui/proxy-worm',
|
|
462
515
|
'react-native-web': '@tamagui/react-native-web-lite',
|
|
463
|
-
'react-native': '@tamagui/
|
|
516
|
+
'react-native': '@tamagui/react-native-web-lite',
|
|
464
517
|
},
|
|
465
518
|
|
|
466
519
|
plugins: [
|