@tamagui/web 1.139.1 → 1.139.2

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.
Files changed (41) hide show
  1. package/dist/cjs/config.cjs +25 -20
  2. package/dist/cjs/config.js +27 -20
  3. package/dist/cjs/config.js.map +1 -1
  4. package/dist/cjs/config.native.js +36 -26
  5. package/dist/cjs/config.native.js.map +1 -1
  6. package/dist/cjs/createTamagui.cjs +6 -4
  7. package/dist/cjs/createTamagui.js +4 -5
  8. package/dist/cjs/createTamagui.js.map +1 -1
  9. package/dist/cjs/createTamagui.native.js +6 -4
  10. package/dist/cjs/createTamagui.native.js.map +1 -1
  11. package/dist/cjs/loadDuplicatedConfig.cjs +1 -3
  12. package/dist/cjs/loadDuplicatedConfig.js +3 -5
  13. package/dist/cjs/loadDuplicatedConfig.js.map +1 -1
  14. package/dist/cjs/loadDuplicatedConfig.native.js +1 -3
  15. package/dist/cjs/loadDuplicatedConfig.native.js.map +1 -1
  16. package/dist/esm/config.js +26 -20
  17. package/dist/esm/config.js.map +1 -1
  18. package/dist/esm/config.mjs +24 -19
  19. package/dist/esm/config.mjs.map +1 -1
  20. package/dist/esm/config.native.js +36 -26
  21. package/dist/esm/config.native.js.map +1 -1
  22. package/dist/esm/createTamagui.js +4 -6
  23. package/dist/esm/createTamagui.js.map +1 -1
  24. package/dist/esm/createTamagui.mjs +7 -5
  25. package/dist/esm/createTamagui.mjs.map +1 -1
  26. package/dist/esm/createTamagui.native.js +7 -5
  27. package/dist/esm/createTamagui.native.js.map +1 -1
  28. package/dist/esm/loadDuplicatedConfig.js +3 -5
  29. package/dist/esm/loadDuplicatedConfig.js.map +1 -1
  30. package/dist/esm/loadDuplicatedConfig.mjs +1 -3
  31. package/dist/esm/loadDuplicatedConfig.mjs.map +1 -1
  32. package/dist/esm/loadDuplicatedConfig.native.js +1 -3
  33. package/dist/esm/loadDuplicatedConfig.native.js.map +1 -1
  34. package/package.json +12 -12
  35. package/src/config.ts +50 -21
  36. package/src/createTamagui.ts +8 -9
  37. package/types/config.d.ts.map +1 -1
  38. package/types/createTamagui.d.ts.map +1 -1
  39. package/types/loadDuplicatedConfig.d.ts +4 -0
  40. package/types/loadDuplicatedConfig.d.ts.map +1 -1
  41. package/src/loadDuplicatedConfig.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","configListeners","setConfig","setTokens","createVariables","defaultAnimationDriver","getThemeCSSRules","scanAllSheets","proxyThemesToParents","registerCSSVariable","variableToCSS","ensureThemeVariable","configureMedia","parseFont","loadDuplicatedConfig","Tamagui","shouldTokenCategoryHaveUnits","category","UNIT_CATEGORIES","Set","has","createTamagui","configIn","_configIn_settings","dup","tokensParsed","tokens","tokensMerged","cat","tokenCat","key","val","prefixedKey","foundThemes","themes","noThemes","Object","keys","length","fontSizeTokens","fontsParsed","fonts","fontTokens","fromEntries","entries","map","param","k","v","res","familyName","font","fontParsed","size","specificTokens","themeConfig","cssRuleSets","declarations","fontDeclarations","key2","skey","variable","process","env","NODE_ENV","Error","JSON","stringify","variableNeedsPx","needsPx","categoryNeedsPx","shouldBeUnitless","push","declarationsToRuleSet","key1","name","language","fontVars","sep","key22","name1","declarations1","language1","fontSelector","langSelector","selectors","specificRuleSet","themesIn","dedupedThemes","getThemesDeduped","color","getThemeRulesSets","themeRuleSets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","names","theme","value","nextRules","config","themeName","err","return","userShorthands","shorthands","builtinShorthands","lastCSSInsertedRulesIndex","getCSS","opts","arguments","separator","sinceLastCall","exclude","rules","runtimeStyles","designSystem","getNewCSS","_configIn_settings_defaultFont","defaultFontSetting","settings","defaultFont","val2","slice","defaultFontToken","unset","fontFamily","onlyAllowShorthands","fontLanguages","animations","media","disableSSR","disableRootThemeClass","mediaQueryDefaultActive","themeClassNameOnRoot","cssStyleSeparator","webContainerType","inverseShorthands","parsed","globalThis","__tamaguiConfig","forEach","cb","clear","_process_env_DEBUG","DEBUG","startsWith","console","info","colorTokens","existing","Map","darkOrLightSpecificPrefix","rawTheme","e","get","deduped","set","fd","fb","bblr","bbrr","fwr","col","ff","fst","tr","tt"],"sources":["../../src/createTamagui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","configListeners","getConfigMaybe","setConfig","setTokens","createVariables","defaultAnimationDriver","getThemeCSSRules","scanAllSheets","proxyThemesToParents","registerCSSVariable","variableToCSS","ensureThemeVariable","configureMedia","parseFont","Tamagui","shouldTokenCategoryHaveUnits","category","UNIT_CATEGORIES","Set","has","createTamagui","configIn","_configIn_settings","existingConfig","tokensParsed","tokens","tokensMerged","cat","tokenCat","key","val","prefixedKey","foundThemes","themes","noThemes","Object","keys","length","fontSizeTokens","fontsParsed","fonts","fontTokens","fromEntries","entries","map","param","k","v","res","familyName","font","fontParsed","size","specificTokens","themeConfig","cssRuleSets","declarations","fontDeclarations","key2","skey","variable","process","env","NODE_ENV","Error","JSON","stringify","variableNeedsPx","needsPx","categoryNeedsPx","shouldBeUnitless","push","declarationsToRuleSet","key1","name","language","fontVars","sep","key22","name1","declarations1","language1","fontSelector","langSelector","selectors","specificRuleSet","themesIn","dedupedThemes","getThemesDeduped","color","getThemeRulesSets","themeRuleSets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","names","theme","value","nextRules","config","themeName","err","return","userShorthands","shorthands","builtinShorthands","lastCSSInsertedRulesIndex","getCSS","opts","arguments","separator","sinceLastCall","exclude","rules","runtimeStyles","designSystem","getNewCSS","_configIn_settings_defaultFont","defaultFontSetting","settings","defaultFont","val2","slice","defaultFontToken","unset","fontFamily","onlyAllowShorthands","fontLanguages","animations","media","disableSSR","disableRootThemeClass","mediaQueryDefaultActive","themeClassNameOnRoot","cssStyleSeparator","webContainerType","inverseShorthands","parsed","forEach","cb","clear","_process_env_DEBUG","DEBUG","startsWith","console","info","globalThis","colorTokens","existing","Map","darkOrLightSpecificPrefix","rawTheme","e","get","deduped","set","fd","fb","bblr","bbrr","fwr","col","ff"],"sources":["../../src/createTamagui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,8 @@
1
1
  let hasLogged = !1;
2
2
  function loadDuplicatedConfig() {
3
- return process.env.NODE_ENV !== "production" && globalThis.__tamaguiConfig ? (hasLogged = !0, hasLogged || console.warn(
4
- `Warning: You have duplicate Tamagui dependencies which can cause major, confusing issues.
5
- In dev/test, we're working around this by loading a previously loaded config.
6
- In production, this will error.`
7
- ), globalThis.__tamaguiConfig) : null;
3
+ return globalThis.__tamaguiConfig ? (process.env.NODE_ENV === "development" && !hasLogged && (hasLogged = !0, console.warn(
4
+ "Tamagui: Reusing existing config from globalThis. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically but may cause issues if versions differ."
5
+ )), globalThis.__tamaguiConfig) : null;
8
6
  }
9
7
  export {
10
8
  loadDuplicatedConfig
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/loadDuplicatedConfig.ts"],
4
- "mappings": "AAEA,IAAI,YAAY;AAET,SAAS,uBAAqD;AACnE,SAAI,QAAQ,IAAI,aAAa,gBACvB,WAAW,mBACb,YAAY,IACP,aACH,QAAQ;AAAA,IACN;AAAA;AAAA;AAAA,EAGF,GAEK,WAAW,mBAGf;AACT;",
4
+ "mappings": "AAEA,IAAI,YAAY;AAMT,SAAS,uBAAqD;AACnE,SAAI,WAAW,mBACT,QAAQ,IAAI,aAAa,iBAAiB,CAAC,cAC7C,YAAY,IACZ,QAAQ;AAAA,IACN;AAAA,EACF,IAEK,WAAW,mBAEb;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,8 +1,6 @@
1
1
  let hasLogged = !1;
2
2
  function loadDuplicatedConfig() {
3
- return process.env.NODE_ENV !== "production" && globalThis.__tamaguiConfig ? (hasLogged = !0, hasLogged || console.warn(`Warning: You have duplicate Tamagui dependencies which can cause major, confusing issues.
4
- In dev/test, we're working around this by loading a previously loaded config.
5
- In production, this will error.`), globalThis.__tamaguiConfig) : null;
3
+ return globalThis.__tamaguiConfig ? (process.env.NODE_ENV === "development" && !hasLogged && (hasLogged = !0, console.warn("Tamagui: Reusing existing config from globalThis. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically but may cause issues if versions differ.")), globalThis.__tamaguiConfig) : null;
6
4
  }
7
5
  export { loadDuplicatedConfig };
8
6
  //# sourceMappingURL=loadDuplicatedConfig.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasLogged","loadDuplicatedConfig","process","env","NODE_ENV","globalThis","__tamaguiConfig","console","warn"],"sources":["../../src/loadDuplicatedConfig.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,SAAA,GAAY;AAET,SAASC,qBAAA,EAAqD;EACnE,OAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBACvBC,UAAA,CAAWC,eAAA,IACbN,SAAA,GAAY,IACPA,SAAA,IACHO,OAAA,CAAQC,IAAA,CACN;AAAA;AAAA,oCAGF,GAEKH,UAAA,CAAWC,eAAA,IAGf;AACT","ignoreList":[]}
1
+ {"version":3,"names":["hasLogged","loadDuplicatedConfig","globalThis","__tamaguiConfig","process","env","NODE_ENV","console","warn"],"sources":["../../src/loadDuplicatedConfig.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,SAAA,GAAY;AAMT,SAASC,qBAAA,EAAqD;EACnE,OAAIC,UAAA,CAAWC,eAAA,IACTC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB,CAACN,SAAA,KAC7CA,SAAA,GAAY,IACZO,OAAA,CAAQC,IAAA,CACN,wMACF,IAEKN,UAAA,CAAWC,eAAA,IAEb;AACT","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  var hasLogged = !1;
2
2
  function loadDuplicatedConfig() {
3
- return process.env.NODE_ENV !== "production" && globalThis.__tamaguiConfig ? (hasLogged = !0, hasLogged || console.warn(`Warning: You have duplicate Tamagui dependencies which can cause major, confusing issues.
4
- In dev/test, we're working around this by loading a previously loaded config.
5
- In production, this will error.`), globalThis.__tamaguiConfig) : null;
3
+ return globalThis.__tamaguiConfig ? (process.env.NODE_ENV === "development" && !hasLogged && (hasLogged = !0, console.warn("Tamagui: Reusing existing config from globalThis. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically but may cause issues if versions differ.")), globalThis.__tamaguiConfig) : null;
6
4
  }
7
5
  export { loadDuplicatedConfig };
8
6
  //# sourceMappingURL=loadDuplicatedConfig.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasLogged","loadDuplicatedConfig","process","env","NODE_ENV","globalThis","__tamaguiConfig","console","warn"],"sources":["../../src/loadDuplicatedConfig.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,SAAA,GAAY;AAET,SAASC,qBAAA,EAAqD;EACnE,OAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBACvBC,UAAA,CAAWC,eAAA,IACbN,SAAA,GAAY,IACPA,SAAA,IACHO,OAAA,CAAQC,IAAA;AAAA;AACN,uCAAAH,UAAA,CAAAC,eAAA;AAAA;AAAA,SASVL,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["hasLogged","loadDuplicatedConfig","globalThis","__tamaguiConfig","process","env","NODE_ENV","console","warn"],"sources":["../../src/loadDuplicatedConfig.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,SAAA,GAAY;AAMT,SAASC,qBAAA,EAAqD;EACnE,OAAIC,UAAA,CAAWC,eAAA,IACTC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB,CAACN,SAAA,KAC7CA,SAAA,GAAY,IACZO,OAAA,CAAQC,IAAA,6MAAAN,UAAA,CAAAC,eAAA;AAAA;AACN,SAMRF,oBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.139.1",
3
+ "version": "1.139.2",
4
4
  "type": "module",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs",
@@ -28,16 +28,16 @@
28
28
  "reset.css"
29
29
  ],
30
30
  "dependencies": {
31
- "@tamagui/compose-refs": "1.139.1",
32
- "@tamagui/constants": "1.139.1",
33
- "@tamagui/helpers": "1.139.1",
34
- "@tamagui/is-equal-shallow": "1.139.1",
35
- "@tamagui/normalize-css-color": "1.139.1",
36
- "@tamagui/timer": "1.139.1",
37
- "@tamagui/types": "1.139.1",
38
- "@tamagui/use-did-finish-ssr": "1.139.1",
39
- "@tamagui/use-event": "1.139.1",
40
- "@tamagui/use-force-update": "1.139.1"
31
+ "@tamagui/compose-refs": "1.139.2",
32
+ "@tamagui/constants": "1.139.2",
33
+ "@tamagui/helpers": "1.139.2",
34
+ "@tamagui/is-equal-shallow": "1.139.2",
35
+ "@tamagui/normalize-css-color": "1.139.2",
36
+ "@tamagui/timer": "1.139.2",
37
+ "@tamagui/types": "1.139.2",
38
+ "@tamagui/use-did-finish-ssr": "1.139.2",
39
+ "@tamagui/use-event": "1.139.2",
40
+ "@tamagui/use-force-update": "1.139.2"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "*",
@@ -45,7 +45,7 @@
45
45
  "react-native": "*"
46
46
  },
47
47
  "devDependencies": {
48
- "@tamagui/build": "1.139.1",
48
+ "@tamagui/build": "1.139.2",
49
49
  "@testing-library/react": "^16.1.0",
50
50
  "csstype": "^3.0.10",
51
51
  "react": "*",
package/src/config.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { isWeb } from '@tamagui/constants'
2
2
  import { MISSING_THEME_MESSAGE } from './constants/constants'
3
- import { loadDuplicatedConfig } from './loadDuplicatedConfig'
4
3
  import type {
5
4
  ConfigListener,
6
5
  GenericTamaguiSettings,
@@ -19,48 +18,74 @@ Haven't called createTamagui yet. ${MISSING_THEME_MESSAGE}
19
18
  `
20
19
  : `❌ Error 001`
21
20
 
21
+ // helper to get config from module-scoped variable or globalthis fallback
22
+ // this handles vite ssr bundling where multiple copies of tamagui may exist
23
+ let hasWarnedAboutGlobalFallback = false
24
+
25
+ const getConfigFromGlobalOrLocal = (): TamaguiInternalConfig | null => {
26
+ // prefer local conf first
27
+ if (conf) {
28
+ return conf
29
+ }
30
+
31
+ // fall back to globalthis (for vite ssr bundling scenarios)
32
+ if (globalThis.__tamaguiConfig) {
33
+ if (process.env.NODE_ENV === 'development' && !hasWarnedAboutGlobalFallback) {
34
+ hasWarnedAboutGlobalFallback = true
35
+ console.warn(
36
+ process.env.NODE_ENV === 'development'
37
+ ? `Tamagui: Using global config fallback. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically, but may cause issues.`
38
+ : `❌ Error 002`
39
+ )
40
+ }
41
+ return globalThis.__tamaguiConfig
42
+ }
43
+
44
+ return null
45
+ }
46
+
22
47
  export const getSetting = <Key extends keyof GenericTamaguiSettings>(
23
48
  key: Key
24
49
  ): GenericTamaguiSettings[Key] => {
50
+ const config = getConfigFromGlobalOrLocal()
25
51
  if (process.env.NODE_ENV === 'development') {
26
- if (!conf) throw new Error(haventCalledErrorMessage)
52
+ if (!config) throw new Error(haventCalledErrorMessage)
27
53
  }
28
54
  return (
29
- conf!.settings[key] ??
55
+ config!.settings[key] ??
30
56
  // @ts-expect-error
31
- conf[key]
57
+ config[key]
32
58
  )
33
59
  }
34
60
 
35
61
  export const setConfig = (next: TamaguiInternalConfig) => {
36
62
  conf = next
63
+ globalThis.__tamaguiConfig = next
37
64
  }
38
65
 
39
66
  export const setConfigFont = (name: string, font: any, fontParsed: any) => {
67
+ const config = getConfigFromGlobalOrLocal()
40
68
  if (process.env.NODE_ENV === 'development') {
41
- if (!conf) throw new Error(haventCalledErrorMessage)
69
+ if (!config) throw new Error(haventCalledErrorMessage)
42
70
  }
43
- conf!.fonts[name] = font
44
- conf!.fontsParsed[`$${name}`] = fontParsed
71
+ config!.fonts[name] = font
72
+ config!.fontsParsed[`$${name}`] = fontParsed
45
73
  }
46
74
 
47
75
  export const getConfig = () => {
48
- const dup = loadDuplicatedConfig()
49
- if (dup) {
50
- return dup
51
- }
52
- if (!conf) {
76
+ const config = getConfigFromGlobalOrLocal()
77
+ if (!config) {
53
78
  throw new Error(
54
79
  process.env.NODE_ENV !== 'production'
55
80
  ? `Missing tamagui config, you either have a duplicate config, or haven't set it up. Be sure createTamagui is called before rendering. Also, make sure all of your tamagui dependencies are on the same version (\`tamagui\`, \`@tamagui/package-name\`, etc.) not just in your package.json, but in your lockfile.`
56
81
  : 'Err0'
57
82
  )
58
83
  }
59
- return conf
84
+ return config
60
85
  }
61
86
 
62
87
  export const getConfigMaybe = () => {
63
- return conf
88
+ return getConfigFromGlobalOrLocal()
64
89
  }
65
90
 
66
91
  let tokensMerged: TokensMerged
@@ -76,18 +101,20 @@ export const getTokens = ({
76
101
  */
77
102
  prefixed?: boolean
78
103
  } = {}): TokensMerged => {
104
+ const config = getConfigFromGlobalOrLocal()
79
105
  if (process.env.NODE_ENV === 'development') {
80
- if (!conf) throw new Error(haventCalledErrorMessage)
106
+ if (!config) throw new Error(haventCalledErrorMessage)
81
107
  }
82
- const { tokens, tokensParsed } = conf!
108
+ const { tokens, tokensParsed } = config!
83
109
  if (prefixed === false) return tokens as any
84
110
  if (prefixed === true) return tokensParsed as any
85
111
  return tokensMerged
86
112
  }
87
113
 
88
114
  export const getTokenObject = (value: Token, group?: keyof Tokens) => {
115
+ const config = getConfigFromGlobalOrLocal()
89
116
  return (
90
- conf!.specificTokens[value] ??
117
+ config!.specificTokens[value] ??
91
118
  (group
92
119
  ? tokensMerged[group]?.[value]
93
120
  : tokensMerged[
@@ -111,13 +138,14 @@ export const getTokenValue = (value: Token | 'unset' | 'auto', group?: keyof Tok
111
138
  */
112
139
  export const useTokens = getTokens
113
140
 
114
- export const getThemes = () => conf!.themes
141
+ export const getThemes = () => getConfigFromGlobalOrLocal()!.themes
115
142
 
116
143
  export const configListeners = new Set<ConfigListener>()
117
144
 
118
145
  export const onConfiguredOnce = (cb: ConfigListener) => {
119
- if (conf) {
120
- cb(conf)
146
+ const config = getConfigFromGlobalOrLocal()
147
+ if (config) {
148
+ cb(config)
121
149
  } else {
122
150
  configListeners.add(cb)
123
151
  }
@@ -125,7 +153,8 @@ export const onConfiguredOnce = (cb: ConfigListener) => {
125
153
 
126
154
  export const updateConfig = (key: string, value: any) => {
127
155
  // for usage internally only
128
- Object.assign(conf![key], value)
156
+ const config = getConfigFromGlobalOrLocal()
157
+ Object.assign(config![key], value)
129
158
  }
130
159
 
131
160
  // searches by value name or token name
@@ -1,5 +1,5 @@
1
1
  import { isWeb } from '@tamagui/constants'
2
- import { configListeners, setConfig, setTokens } from './config'
2
+ import { configListeners, getConfigMaybe, setConfig, setTokens } from './config'
3
3
  import type { DeepVariableObject } from './createVariables'
4
4
  import { createVariables } from './createVariables'
5
5
  import { defaultAnimationDriver } from './helpers/defaultAnimationDriver'
@@ -10,7 +10,6 @@ import { registerCSSVariable, variableToCSS } from './helpers/registerCSSVariabl
10
10
  import { ensureThemeVariable } from './helpers/themes'
11
11
  import { configureMedia } from './hooks/useMedia'
12
12
  import { parseFont, registerFontVariables } from './insertFont'
13
- import { loadDuplicatedConfig } from './loadDuplicatedConfig'
14
13
  import { Tamagui } from './Tamagui'
15
14
  import type {
16
15
  CreateTamaguiProps,
@@ -45,9 +44,13 @@ function shouldTokenCategoryHaveUnits(category: string): boolean {
45
44
  export function createTamagui<Conf extends CreateTamaguiProps>(
46
45
  configIn: Conf
47
46
  ): InferTamaguiConfig<Conf> {
48
- const dup = loadDuplicatedConfig()
49
- if (dup) {
50
- return dup as any
47
+ // if config already exists (e.g., from another copy of tamagui in vite ssr), reuse it
48
+ const existingConfig = getConfigMaybe()
49
+
50
+ if (existingConfig) {
51
+ // merge it and re-run since this new instance may add config
52
+ // or maybe a test case
53
+ configIn = { ...existingConfig, ...configIn }
51
54
  }
52
55
 
53
56
  // ensure variables
@@ -316,10 +319,6 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
316
319
  setConfig(config)
317
320
  configureMedia(config)
318
321
 
319
- if (process.env.NODE_ENV === 'test') {
320
- globalThis.__tamaguiConfig = config
321
- }
322
-
323
322
  if (configListeners.size) {
324
323
  configListeners.forEach((cb) => cb(config))
325
324
  configListeners.clear()
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,SAAS,CAAA;AAWhB,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,MAAM,sBAAsB,EACjE,KAAK,GAAG,KACP,sBAAsB,CAAC,GAAG,CAS5B,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,qBAAqB,SAEpD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,YAAY,GAAG,SAMrE,CAAA;AAED,eAAO,MAAM,SAAS,6BAarB,CAAA;AAED,eAAO,MAAM,cAAc,oCAE1B,CAAA;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,QAExC;AAED,eAAO,MAAM,SAAS,GAAI,gBAEvB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACd,KAAG,YAQR,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,MAAM,oCAShE,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,MAAM,EAAE,qBAAmB,QAG/E,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,GAAG,OAAO,GAAG,MAAM,EAAE,QAAQ,MAAM,MAAM,QAGlF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mBAvCnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAkCyB,CAAA;AAElC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,GAAI,IAAI,cAAc,SAMlD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,SAGnD,CAAA;AAGD,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,4DAQnC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,CAAC,EACP,OAAO,GACP;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACN,CAAA;AAED,eAAO,IAAI,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAIvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,SAAS,CAAA;AAqChB,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,MAAM,sBAAsB,EACjE,KAAK,GAAG,KACP,sBAAsB,CAAC,GAAG,CAU5B,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,qBAAqB,SAGpD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,YAAY,GAAG,SAOrE,CAAA;AAED,eAAO,MAAM,SAAS,6BAUrB,CAAA;AAED,eAAO,MAAM,cAAc,oCAE1B,CAAA;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,QAExC;AAED,eAAO,MAAM,SAAS,GAAI,gBAEvB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACd,KAAG,YASR,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,MAAM,oCAUhE,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,MAAM,EAAE,qBAAmB,QAG/E,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,GAAG,OAAO,GAAG,MAAM,EAAE,QAAQ,MAAM,MAAM,QAGlF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mBAzCnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAoCyB,CAAA;AAElC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;CAA6C,CAAA;AAEnE,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,GAAI,IAAI,cAAc,SAOlD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,SAInD,CAAA;AAGD,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,4DAQnC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,CAAC,EACP,OAAO,GACP;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACN,CAAA;AAED,eAAO,IAAI,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAIvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAKlB,kBAAkB,EAOnB,MAAM,SAAS,CAAA;AAiBhB,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,QAAQ,EAAE,IAAI,GACb,kBAAkB,CAAC,IAAI,CAAC,CAmS1B"}
1
+ {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,kBAAkB,EAKlB,kBAAkB,EAOnB,MAAM,SAAS,CAAA;AAiBhB,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,QAAQ,EAAE,IAAI,GACb,kBAAkB,CAAC,IAAI,CAAC,CAmS1B"}
@@ -1,3 +1,7 @@
1
1
  import type { TamaguiInternalConfig } from './types';
2
+ /**
3
+ * Check if a config already exists on globalThis (from a different copy of tamagui).
4
+ * This handles Vite SSR bundling and other scenarios where multiple copies exist.
5
+ */
2
6
  export declare function loadDuplicatedConfig(): TamaguiInternalConfig | null;
3
7
  //# sourceMappingURL=loadDuplicatedConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadDuplicatedConfig.d.ts","sourceRoot":"","sources":["../src/loadDuplicatedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,wBAAgB,oBAAoB,IAAI,qBAAqB,GAAG,IAAI,CAenE"}
1
+ {"version":3,"file":"loadDuplicatedConfig.d.ts","sourceRoot":"","sources":["../src/loadDuplicatedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,GAAG,IAAI,CAWnE"}
@@ -1,20 +0,0 @@
1
- import type { TamaguiInternalConfig } from './types'
2
-
3
- let hasLogged = false
4
-
5
- export function loadDuplicatedConfig(): TamaguiInternalConfig | null {
6
- if (process.env.NODE_ENV !== 'production') {
7
- if (globalThis.__tamaguiConfig) {
8
- hasLogged = true
9
- if (!hasLogged) {
10
- console.warn(
11
- `Warning: You have duplicate Tamagui dependencies which can cause major, confusing issues.
12
- In dev/test, we're working around this by loading a previously loaded config.
13
- In production, this will error.`
14
- )
15
- }
16
- return globalThis.__tamaguiConfig
17
- }
18
- }
19
- return null
20
- }