@tamagui/static 1.15.32 → 1.15.34

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 (47) hide show
  1. package/dist/cjs/extractor/bundleConfig.js +131 -82
  2. package/dist/cjs/extractor/bundleConfig.js.map +1 -1
  3. package/dist/cjs/extractor/createExtractor.js +13 -20
  4. package/dist/cjs/extractor/createExtractor.js.map +1 -1
  5. package/dist/cjs/extractor/generateTamaguiStudioConfig.js +101 -0
  6. package/dist/cjs/extractor/generateTamaguiStudioConfig.js.map +6 -0
  7. package/dist/cjs/extractor/loadTamagui.js +65 -75
  8. package/dist/cjs/extractor/loadTamagui.js.map +1 -1
  9. package/dist/cjs/require.js +7 -10
  10. package/dist/cjs/require.js.map +1 -1
  11. package/dist/esm/extractor/bundleConfig.js +129 -82
  12. package/dist/esm/extractor/bundleConfig.js.map +1 -1
  13. package/dist/esm/extractor/bundleConfig.mjs +129 -82
  14. package/dist/esm/extractor/bundleConfig.mjs.map +1 -1
  15. package/dist/esm/extractor/createExtractor.js +13 -20
  16. package/dist/esm/extractor/createExtractor.js.map +1 -1
  17. package/dist/esm/extractor/createExtractor.mjs +13 -20
  18. package/dist/esm/extractor/createExtractor.mjs.map +1 -1
  19. package/dist/esm/extractor/generateTamaguiStudioConfig.js +66 -0
  20. package/dist/esm/extractor/generateTamaguiStudioConfig.js.map +6 -0
  21. package/dist/esm/extractor/generateTamaguiStudioConfig.mjs +66 -0
  22. package/dist/esm/extractor/generateTamaguiStudioConfig.mjs.map +6 -0
  23. package/dist/esm/extractor/loadTamagui.js +70 -76
  24. package/dist/esm/extractor/loadTamagui.js.map +1 -1
  25. package/dist/esm/extractor/loadTamagui.mjs +70 -76
  26. package/dist/esm/extractor/loadTamagui.mjs.map +1 -1
  27. package/dist/esm/require.js +6 -8
  28. package/dist/esm/require.js.map +1 -1
  29. package/dist/esm/require.mjs +6 -8
  30. package/dist/esm/require.mjs.map +1 -1
  31. package/package.json +14 -14
  32. package/src/extractor/bundleConfig.ts +162 -106
  33. package/src/extractor/createExtractor.ts +13 -21
  34. package/src/extractor/generateTamaguiStudioConfig.ts +99 -0
  35. package/src/extractor/loadTamagui.ts +85 -95
  36. package/src/require.ts +6 -8
  37. package/types/extractor/bundleConfig.d.ts +10 -7
  38. package/types/extractor/bundleConfig.d.ts.map +1 -1
  39. package/types/extractor/createExtractor.d.ts.map +1 -1
  40. package/types/extractor/generateTamaguiConfig.d.ts +2 -1
  41. package/types/extractor/generateTamaguiStudioConfig.d.ts +8 -0
  42. package/types/extractor/generateTamaguiStudioConfig.d.ts.map +1 -0
  43. package/types/extractor/loadTamagui.d.ts +18 -7
  44. package/types/extractor/loadTamagui.d.ts.map +1 -1
  45. package/types/require.d.ts +1 -2
  46. package/types/require.d.ts.map +1 -1
  47. package/src/extractor/generateTamaguiConfig.ts +0 -65
@@ -2,81 +2,51 @@ import { basename, dirname, extname, join, resolve } from 'path'
2
2
 
3
3
  import { getDefaultTamaguiConfig } from '@tamagui/config-default-node'
4
4
  import { createTamagui } from '@tamagui/core-node'
5
- import { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'
5
+ import { CLIResolvedOptions, CLIUserOptions, TamaguiOptions } from '@tamagui/types'
6
6
  import type { TamaguiInternalConfig } from '@tamagui/web'
7
7
  import esbuild from 'esbuild'
8
8
  import fs, { existsSync, pathExists, readJSON } from 'fs-extra'
9
9
 
10
10
  import { SHOULD_DEBUG } from '../constants.js'
11
- import { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'
12
- import { TamaguiOptions } from '../types.js'
11
+ import { getNameToPaths, registerRequire } from '../require.js'
13
12
  import {
14
- Props,
15
13
  TamaguiProjectInfo,
16
- bundleConfig,
17
14
  esbuildOptions,
15
+ getBundledConfig,
16
+ hasBundledConfigChanged,
18
17
  loadComponents,
19
18
  } from './bundleConfig.js'
20
- import { generateTamaguiConfig } from './generateTamaguiConfig.js'
21
-
22
- const cache = {}
23
-
24
- export async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {
25
- const key = JSON.stringify(props)
26
- if (cache[key]) {
27
- if (cache[key] instanceof Promise) {
28
- return await cache[key]
29
- }
30
- return cache[key]
31
- }
32
-
33
- let resolver: Function = () => {}
34
- cache[key] = new Promise((res) => {
35
- resolver = res
36
- })
37
-
38
- try {
39
- registerRequire()
40
- const bundleInfo = await bundleConfig(props)
41
-
42
- cache[key] = bundleInfo
43
-
44
- // init core-node
45
- createTamagui(cache[key].tamaguiConfig)
46
-
47
- resolver(cache[key])
48
-
49
- return cache[key]
50
- } finally {
51
- unregisterRequire()
52
- }
53
- }
54
-
55
- export function resolveWebOrNativeSpecificEntry(entry: string) {
56
- const workspaceRoot = resolve()
57
- const resolved = require.resolve(entry, { paths: [workspaceRoot] })
58
- const ext = extname(resolved)
59
- const fileName = basename(resolved).replace(ext, '')
60
- const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'
61
- const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)
62
- if (existsSync(specificFile)) {
63
- return specificFile
19
+ import {
20
+ generateTamaguiStudioConfig,
21
+ generateTamaguiStudioConfigSync,
22
+ } from './generateTamaguiStudioConfig.js'
23
+
24
+ const getFilledOptions = (propsIn: Partial<TamaguiOptions>): TamaguiOptions => ({
25
+ // defaults
26
+ config: 'tamagui.config.ts',
27
+ components: ['tamagui'],
28
+ ...(propsIn as Partial<TamaguiOptions>),
29
+ })
30
+
31
+ export async function loadTamagui(propsIn: TamaguiOptions): Promise<TamaguiProjectInfo> {
32
+ const props = getFilledOptions(propsIn)
33
+ const bundleInfo = await getBundledConfig(props)
34
+ if (!hasBundledConfigChanged()) {
35
+ return bundleInfo
64
36
  }
65
- return entry
37
+ await generateTamaguiStudioConfig(props, bundleInfo)
38
+ // init core-node
39
+ createTamagui(bundleInfo.tamaguiConfig)
40
+ return bundleInfo
66
41
  }
67
42
 
68
43
  // loads in-process using esbuild-register
69
- export function loadTamaguiSync(props: Props): TamaguiProjectInfo {
70
- const key = JSON.stringify(props)
71
- if (cache[key]) {
72
- return cache[key]
73
- }
74
-
44
+ export function loadTamaguiSync(propsIn: TamaguiOptions): TamaguiProjectInfo {
45
+ const props = getFilledOptions(propsIn)
75
46
  const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)
76
47
 
48
+ const unregisterRequire = registerRequire()
77
49
  try {
78
- registerRequire()
79
-
80
50
  // lets shim require and avoid importing react-native + react-native-web
81
51
  // we just need to read the config around them
82
52
  process.env.IS_STATIC = 'is_static'
@@ -116,11 +86,15 @@ export function loadTamaguiSync(props: Props): TamaguiProjectInfo {
116
86
  createTamagui(tamaguiConfig as any)
117
87
  }
118
88
 
119
- cache[key] = {
89
+ const info = {
120
90
  components,
121
91
  tamaguiConfig,
122
92
  nameToPaths: getNameToPaths(),
123
93
  }
94
+
95
+ generateTamaguiStudioConfigSync(props, info)
96
+
97
+ return info as any
124
98
  } catch (err) {
125
99
  if (err instanceof Error) {
126
100
  console.warn(
@@ -133,14 +107,13 @@ export function loadTamaguiSync(props: Props): TamaguiProjectInfo {
133
107
  } else {
134
108
  console.error(`Error loading tamagui.config.ts`, err)
135
109
  }
110
+
136
111
  return {
137
112
  components: [],
138
113
  tamaguiConfig: getDefaultTamaguiConfig(),
139
114
  nameToPaths: {},
140
115
  }
141
116
  }
142
-
143
- return cache[key]
144
117
  } finally {
145
118
  unregister()
146
119
  unregisterRequire()
@@ -180,41 +153,17 @@ export async function getOptions({
180
153
  }
181
154
  }
182
155
 
183
- export async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {
184
- if (process.env.TAMAGUI_ENABLE_STUDIO !== '1') {
185
- return
186
- }
187
-
188
- try {
189
- const options = await getOptions({ tamaguiOptions })
190
-
191
- if (!options.tamaguiOptions.config) return
192
-
193
- await generateTamaguiConfig(options)
194
- const context = await esbuild.context({
195
- entryPoints: [options.tamaguiOptions.config],
196
- sourcemap: false,
197
- // dont output just use esbuild as a watcher
198
- write: false,
199
-
200
- plugins: [
201
- {
202
- name: `on-rebuild`,
203
- setup({ onEnd }) {
204
- onEnd((res) => {
205
- generateTamaguiConfig(options)
206
- })
207
- },
208
- },
209
- ],
210
- })
211
-
212
- await context.watch()
213
- } catch (err) {
214
- console.warn(
215
- `Warning watching config error, you may need to restart on config changes: ${err}`
216
- )
156
+ export function resolveWebOrNativeSpecificEntry(entry: string) {
157
+ const workspaceRoot = resolve()
158
+ const resolved = require.resolve(entry, { paths: [workspaceRoot] })
159
+ const ext = extname(resolved)
160
+ const fileName = basename(resolved).replace(ext, '')
161
+ const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'
162
+ const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)
163
+ if (existsSync(specificFile)) {
164
+ return specificFile
217
165
  }
166
+ return entry
218
167
  }
219
168
 
220
169
  const defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]
@@ -233,3 +182,44 @@ async function getDefaultTamaguiConfigPath() {
233
182
  }
234
183
 
235
184
  export { TamaguiProjectInfo }
185
+
186
+ export async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {
187
+ const options = await getOptions({ tamaguiOptions })
188
+
189
+ if (!options.tamaguiOptions.config) {
190
+ throw new Error(`No config`)
191
+ }
192
+
193
+ // only after it ran once because it triggers immediately and we already build in `loadTamagui`
194
+ let hasRunOnce = false
195
+
196
+ const context = await esbuild.context({
197
+ entryPoints: [options.tamaguiOptions.config],
198
+ sourcemap: false,
199
+ // dont output just use esbuild as a watcher
200
+ write: false,
201
+
202
+ plugins: [
203
+ {
204
+ name: `on-rebuild`,
205
+ setup({ onEnd }) {
206
+ onEnd(() => {
207
+ if (!hasRunOnce) {
208
+ hasRunOnce = true
209
+ return
210
+ } else {
211
+ void generateTamaguiStudioConfig(options.tamaguiOptions, null, true)
212
+ }
213
+ })
214
+ },
215
+ },
216
+ ],
217
+ })
218
+
219
+ const promise = context.watch()
220
+
221
+ return {
222
+ context,
223
+ promise,
224
+ }
225
+ }
package/src/require.ts CHANGED
@@ -11,9 +11,8 @@ export const getNameToPaths = () => nameToPaths
11
11
 
12
12
  export function registerRequire() {
13
13
  if (Module.prototype.require !== globalThis['ogRequire']) {
14
- // eslint-disable-next-line no-console
15
- console.warn('didnt unregister before re-registering')
16
- process.exit(1)
14
+ // already registered
15
+ return () => {}
17
16
  }
18
17
 
19
18
  const proxyWorm = require('@tamagui/proxy-worm')
@@ -95,9 +94,8 @@ export function registerRequire() {
95
94
  }
96
95
  }
97
96
 
98
- return Module.prototype.require
99
- }
100
-
101
- export function unregisterRequire() {
102
- Module.prototype.require = og
97
+ return () => {
98
+ // unregister
99
+ Module.prototype.require = og
100
+ }
103
101
  }
@@ -1,4 +1,5 @@
1
1
  import type { StaticConfigParsed, TamaguiInternalConfig } from '@tamagui/web';
2
+ import { TamaguiOptions } from '../types.js';
2
3
  type NameToPaths = {
3
4
  [key: string]: Set<string>;
4
5
  };
@@ -13,11 +14,6 @@ export type TamaguiProjectInfo = {
13
14
  tamaguiConfig: TamaguiInternalConfig;
14
15
  nameToPaths: NameToPaths;
15
16
  };
16
- export type Props = {
17
- components: string[];
18
- config?: string;
19
- forceExports?: boolean;
20
- };
21
17
  export declare const esbuildOptions: {
22
18
  readonly loader: "tsx";
23
19
  readonly target: "es2018";
@@ -25,11 +21,18 @@ export declare const esbuildOptions: {
25
21
  readonly jsx: "transform";
26
22
  readonly platform: "node";
27
23
  };
28
- export declare function bundleConfig(props: Props): Promise<{
24
+ export type BundledConfig = Awaited<ReturnType<typeof bundleConfig>>;
25
+ export declare function hasBundledConfigChanged(): Promise<boolean>;
26
+ export declare function getBundledConfig(props: TamaguiOptions, rebuild?: boolean): Promise<{
27
+ components: LoadedComponents[];
28
+ nameToPaths: {};
29
+ tamaguiConfig: any;
30
+ }>;
31
+ export declare function bundleConfig(props: TamaguiOptions): Promise<{
29
32
  components: LoadedComponents[];
30
33
  nameToPaths: {};
31
34
  tamaguiConfig: any;
32
35
  }>;
33
- export declare function loadComponents(props: Props): null | LoadedComponents[];
36
+ export declare function loadComponents(props: TamaguiOptions): null | LoadedComponents[];
34
37
  export {};
35
38
  //# sourceMappingURL=bundleConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAS7E,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,kBAAkB,CAAA;KACjC,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,aAAa,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAWD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,wBAAsB,YAAY,CAAC,KAAK,EAAE,KAAK;;;;GAkH9C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,gBAAgB,EAAE,CAgHtE"}
1
+ {"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAK7E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAM5C,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,kBAAkB,CAAA;KACjC,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,aAAa,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAWD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;AAQpE,wBAAsB,uBAAuB,qBAM5C;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ;;;;GAS5E;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc;;;;GA4IvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,gBAAgB,EAAE,CAuH/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"createExtractor.d.ts","sourceRoot":"","sources":["../../src/extractor/createExtractor.ts"],"names":[],"mappings":"AAGA,OAAiB,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAajC,OAAO,KAAK,EAIV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EAGf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAatD,OAAO,EACL,iBAAiB,EAElB,MAAM,gCAAgC,CAAA;AAmCvC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAE1D,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAI9C,wBAAgB,eAAe,CAC7B,EAAE,MAAgB,EAAE,GAAE,gBAAsC;;;;;yBA4BjC,cAAc;6BAPhB,cAAc;;mBAwBtB,UAAU,SAAS,mBAAmB;;;;;;;eAIpC,UAAU,SAAS,mBAAmB;;;;;;;EA49D1D"}
1
+ {"version":3,"file":"createExtractor.d.ts","sourceRoot":"","sources":["../../src/extractor/createExtractor.ts"],"names":[],"mappings":"AAGA,OAAiB,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAajC,OAAO,KAAK,EAIV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EAGf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAatD,OAAO,EACL,iBAAiB,EAElB,MAAM,gCAAgC,CAAA;AAmCvC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAE1D,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAI9C,wBAAgB,eAAe,CAC7B,EAAE,MAAgB,EAAE,GAAE,gBAAsC;;;;;yBAyBjC,cAAc;6BAJhB,cAAc;;mBAkBtB,UAAU,SAAS,mBAAmB;;;;;;;eAIpC,UAAU,SAAS,mBAAmB;;;;;;;EA09D1D"}
@@ -1,3 +1,4 @@
1
1
  import { CLIResolvedOptions } from '@tamagui/types';
2
- export declare function generateTamaguiConfig(options: CLIResolvedOptions): Promise<void>;
2
+ import { BundledConfig } from './bundleConfig.js';
3
+ export declare function generateTamaguiConfig(options: CLIResolvedOptions, configIn?: BundledConfig): Promise<void>;
3
4
  //# sourceMappingURL=generateTamaguiConfig.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { TamaguiOptions } from '@tamagui/types';
2
+ import { BundledConfig } from './bundleConfig.js';
3
+ /**
4
+ * Sort of a super-set of bundleConfig(), this code needs some refactoring ideally
5
+ */
6
+ export declare function generateTamaguiStudioConfig(tamaguiOptions: TamaguiOptions, configIn?: BundledConfig | null, rebuild?: boolean): Promise<void>;
7
+ export declare function generateTamaguiStudioConfigSync(_tamaguiOptions: TamaguiOptions, config: BundledConfig): void;
8
+ //# sourceMappingURL=generateTamaguiStudioConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTamaguiStudioConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/generateTamaguiStudioConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAA;AAInE;;GAEG;AAEH,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,EAC/B,OAAO,UAAQ,iBAahB;AAED,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,cAAc,EAC/B,MAAM,EAAE,aAAa,QAYtB"}
@@ -1,10 +1,21 @@
1
- import { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types';
2
- import { TamaguiOptions } from '../types.js';
3
- import { Props, TamaguiProjectInfo } from './bundleConfig.js';
4
- export declare function loadTamagui(props: Props): Promise<TamaguiProjectInfo>;
5
- export declare function resolveWebOrNativeSpecificEntry(entry: string): string;
6
- export declare function loadTamaguiSync(props: Props): TamaguiProjectInfo;
1
+ import { CLIResolvedOptions, CLIUserOptions, TamaguiOptions } from '@tamagui/types';
2
+ import esbuild from 'esbuild';
3
+ import { TamaguiProjectInfo } from './bundleConfig.js';
4
+ export declare function loadTamagui(propsIn: TamaguiOptions): Promise<TamaguiProjectInfo>;
5
+ export declare function loadTamaguiSync(propsIn: TamaguiOptions): TamaguiProjectInfo;
7
6
  export declare function getOptions({ root, tsconfigPath, tamaguiOptions, host, debug, }?: Partial<CLIUserOptions>): Promise<CLIResolvedOptions>;
8
- export declare function watchTamaguiConfig(tamaguiOptions: TamaguiOptions): Promise<void>;
7
+ export declare function resolveWebOrNativeSpecificEntry(entry: string): string;
9
8
  export { TamaguiProjectInfo };
9
+ export declare function watchTamaguiConfig(tamaguiOptions: TamaguiOptions): Promise<{
10
+ context: esbuild.BuildContext<{
11
+ entryPoints: string[];
12
+ sourcemap: false;
13
+ write: false;
14
+ plugins: {
15
+ name: string;
16
+ setup({ onEnd }: esbuild.PluginBuild): void;
17
+ }[];
18
+ }>;
19
+ promise: Promise<void>;
20
+ }>;
10
21
  //# sourceMappingURL=loadTamagui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadTamagui.d.ts","sourceRoot":"","sources":["../../src/extractor/loadTamagui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAOnE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACL,KAAK,EACL,kBAAkB,EAInB,MAAM,mBAAmB,CAAA;AAK1B,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6B3E;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,UAW5D;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CA+EhE;AAED,wBAAsB,UAAU,CAAC,EAC/B,IAAoB,EACpB,YAA8B,EAC9B,cAAc,EACd,IAAI,EACJ,KAAK,GACN,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB5D;AAED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,cAAc,iBAmCtE;AAiBD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"loadTamagui.d.ts","sourceRoot":"","sources":["../../src/extractor/loadTamagui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEnF,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EACL,kBAAkB,EAKnB,MAAM,mBAAmB,CAAA;AAa1B,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAUtF;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CA6E3E;AAED,wBAAsB,UAAU,CAAC,EAC/B,IAAoB,EACpB,YAA8B,EAC9B,cAAc,EACd,IAAI,EACJ,KAAK,GACN,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB5D;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,UAW5D;AAiBD,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,cAAc;;;;;;;;;;;GAuCtE"}
@@ -1,4 +1,3 @@
1
1
  export declare const getNameToPaths: () => {};
2
- export declare function registerRequire(): any;
3
- export declare function unregisterRequire(): void;
2
+ export declare function registerRequire(): () => void;
4
3
  //# sourceMappingURL=require.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require.d.ts","sourceRoot":"","sources":["../src/require.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc,UAAoB,CAAA;AAE/C,wBAAgB,eAAe,QAuF9B;AAED,wBAAgB,iBAAiB,SAEhC"}
1
+ {"version":3,"file":"require.d.ts","sourceRoot":"","sources":["../src/require.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc,UAAoB,CAAA;AAE/C,wBAAgB,eAAe,eAyF9B"}
@@ -1,65 +0,0 @@
1
- import { getVariableValue } from '@tamagui/core-node'
2
- import { CLIResolvedOptions } from '@tamagui/types'
3
- import fs, { ensureDir } from 'fs-extra'
4
-
5
- import { bundleConfig } from './bundleConfig.js'
6
-
7
- async function getTamaguiConfig(options: CLIResolvedOptions) {
8
- return bundleConfig(options.tamaguiOptions)
9
- }
10
-
11
- export async function generateTamaguiConfig(options: CLIResolvedOptions) {
12
- await ensureDir(options.paths.dotDir)
13
- const config = await getTamaguiConfig(options)
14
- const { components, nameToPaths } = config
15
- const { themes, tokens } = config.tamaguiConfig
16
-
17
- // reduce down to usable, smaller json
18
-
19
- // slim themes, add name
20
- for (const key in themes) {
21
- const theme = themes[key]
22
- // @ts-ignore
23
- theme.id = key
24
- for (const tkey in theme) {
25
- theme[tkey] = getVariableValue(theme[tkey])
26
- }
27
- }
28
-
29
- // flatten variables
30
- for (const key in tokens) {
31
- const token = tokens[key]
32
- for (const tkey in token) {
33
- token[tkey] = getVariableValue(token[tkey])
34
- }
35
- }
36
-
37
- // remove bulky stuff in components
38
- for (const component of components) {
39
- for (const _ in component.nameToInfo) {
40
- delete component.nameToInfo[_].staticConfig['validStyles']
41
- delete component.nameToInfo[_].staticConfig['parentStaticConfig']
42
- }
43
- }
44
-
45
- // set to array
46
- for (const key in nameToPaths) {
47
- // @ts-ignore
48
- nameToPaths[key] = [...nameToPaths[key]]
49
- }
50
-
51
- // remove stuff we dont need to send
52
- const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } =
53
- config.tamaguiConfig
54
-
55
- await fs.writeJSON(
56
- options.paths.conf,
57
- {
58
- ...config,
59
- tamaguiConfig: cleanedConfig,
60
- },
61
- {
62
- spaces: 2,
63
- }
64
- )
65
- }