@tamagui/static 1.15.0 → 1.15.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.
- package/dist/cjs/extractor/loadTamagui.js +26 -20
- package/dist/cjs/extractor/loadTamagui.js.map +2 -2
- package/dist/esm/extractor/loadTamagui.js +26 -20
- package/dist/esm/extractor/loadTamagui.js.map +2 -2
- package/dist/esm/extractor/loadTamagui.mjs +26 -20
- package/dist/esm/extractor/loadTamagui.mjs.map +2 -2
- package/package.json +15 -15
- package/src/extractor/loadTamagui.ts +30 -24
- package/types/extractor/loadTamagui.d.ts.map +1 -1
|
@@ -183,27 +183,33 @@ async function getOptions({
|
|
|
183
183
|
};
|
|
184
184
|
}
|
|
185
185
|
async function watchTamaguiConfig(tamaguiOptions) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
onEnd
|
|
200
|
-
(
|
|
201
|
-
|
|
186
|
+
try {
|
|
187
|
+
const options = await getOptions({ tamaguiOptions });
|
|
188
|
+
if (!options.tamaguiOptions.config)
|
|
189
|
+
return;
|
|
190
|
+
await (0, import_generateTamaguiConfig.generateTamaguiConfig)(options);
|
|
191
|
+
const context = await import_esbuild.default.context({
|
|
192
|
+
entryPoints: [options.tamaguiOptions.config],
|
|
193
|
+
sourcemap: false,
|
|
194
|
+
// dont output just use esbuild as a watcher
|
|
195
|
+
write: false,
|
|
196
|
+
plugins: [
|
|
197
|
+
{
|
|
198
|
+
name: `on-rebuild`,
|
|
199
|
+
setup({ onEnd }) {
|
|
200
|
+
onEnd((res) => {
|
|
201
|
+
(0, import_generateTamaguiConfig.generateTamaguiConfig)(options);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
202
204
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
]
|
|
206
|
+
});
|
|
207
|
+
await context.watch();
|
|
208
|
+
} catch (err) {
|
|
209
|
+
console.warn(
|
|
210
|
+
`Warning watching config error, you may need to restart on config changes: ${err}`
|
|
211
|
+
);
|
|
212
|
+
}
|
|
207
213
|
}
|
|
208
214
|
const defaultPaths = ["tamagui.config.ts", (0, import_path.join)("src", "tamagui.config.ts")];
|
|
209
215
|
let cachedPath = "";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/loadTamagui.ts"],
|
|
4
|
-
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n const options = await getOptions({ tamaguiOptions })\n\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n try {\n const options = await getOptions({ tamaguiOptions })\n\n if (!options.tamaguiOptions.config) return\n\n await generateTamaguiConfig(options)\n const context = await esbuild.context({\n entryPoints: [options.tamaguiOptions.config],\n sourcemap: false,\n // dont output just use esbuild as a watcher\n write: false,\n\n plugins: [\n {\n name: `on-rebuild`,\n setup({ onEnd }) {\n onEnd((res) => {\n generateTamaguiConfig(options)\n })\n },\n },\n ],\n })\n\n await context.watch()\n } catch (err) {\n console.warn(\n `Warning watching config error, you may need to restart on config changes: ${err}`\n )\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\n\nasync function getDefaultTamaguiConfigPath() {\n if (cachedPath) return cachedPath\n const existingPaths = await Promise.all(defaultPaths.map((path) => pathExists(path)))\n const existing = existingPaths.findIndex((x) => !!x)\n const found = defaultPaths[existing]\n if (!found) {\n throw new Error(`No found tamagui.config.ts`)\n }\n cachedPath = found\n return found\n}\n\nexport { TamaguiProjectInfo }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["fs", "esbuild"]
|
|
7
7
|
}
|
|
@@ -150,27 +150,33 @@ async function getOptions({
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
async function watchTamaguiConfig(tamaguiOptions) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
onEnd
|
|
167
|
-
|
|
168
|
-
|
|
153
|
+
try {
|
|
154
|
+
const options = await getOptions({ tamaguiOptions });
|
|
155
|
+
if (!options.tamaguiOptions.config)
|
|
156
|
+
return;
|
|
157
|
+
await generateTamaguiConfig(options);
|
|
158
|
+
const context = await esbuild.context({
|
|
159
|
+
entryPoints: [options.tamaguiOptions.config],
|
|
160
|
+
sourcemap: false,
|
|
161
|
+
// dont output just use esbuild as a watcher
|
|
162
|
+
write: false,
|
|
163
|
+
plugins: [
|
|
164
|
+
{
|
|
165
|
+
name: `on-rebuild`,
|
|
166
|
+
setup({ onEnd }) {
|
|
167
|
+
onEnd((res) => {
|
|
168
|
+
generateTamaguiConfig(options);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
169
171
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
]
|
|
173
|
+
});
|
|
174
|
+
await context.watch();
|
|
175
|
+
} catch (err) {
|
|
176
|
+
console.warn(
|
|
177
|
+
`Warning watching config error, you may need to restart on config changes: ${err}`
|
|
178
|
+
);
|
|
179
|
+
}
|
|
174
180
|
}
|
|
175
181
|
const defaultPaths = ["tamagui.config.ts", join("src", "tamagui.config.ts")];
|
|
176
182
|
let cachedPath = "";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/loadTamagui.ts"],
|
|
4
|
-
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n const options = await getOptions({ tamaguiOptions })\n\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n try {\n const options = await getOptions({ tamaguiOptions })\n\n if (!options.tamaguiOptions.config) return\n\n await generateTamaguiConfig(options)\n const context = await esbuild.context({\n entryPoints: [options.tamaguiOptions.config],\n sourcemap: false,\n // dont output just use esbuild as a watcher\n write: false,\n\n plugins: [\n {\n name: `on-rebuild`,\n setup({ onEnd }) {\n onEnd((res) => {\n generateTamaguiConfig(options)\n })\n },\n },\n ],\n })\n\n await context.watch()\n } catch (err) {\n console.warn(\n `Warning watching config error, you may need to restart on config changes: ${err}`\n )\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\n\nasync function getDefaultTamaguiConfigPath() {\n if (cachedPath) return cachedPath\n const existingPaths = await Promise.all(defaultPaths.map((path) => pathExists(path)))\n const existing = existingPaths.findIndex((x) => !!x)\n const found = defaultPaths[existing]\n if (!found) {\n throw new Error(`No found tamagui.config.ts`)\n }\n cachedPath = found\n return found\n}\n\nexport { TamaguiProjectInfo }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -150,27 +150,33 @@ async function getOptions({
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
async function watchTamaguiConfig(tamaguiOptions) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
onEnd
|
|
167
|
-
|
|
168
|
-
|
|
153
|
+
try {
|
|
154
|
+
const options = await getOptions({ tamaguiOptions });
|
|
155
|
+
if (!options.tamaguiOptions.config)
|
|
156
|
+
return;
|
|
157
|
+
await generateTamaguiConfig(options);
|
|
158
|
+
const context = await esbuild.context({
|
|
159
|
+
entryPoints: [options.tamaguiOptions.config],
|
|
160
|
+
sourcemap: false,
|
|
161
|
+
// dont output just use esbuild as a watcher
|
|
162
|
+
write: false,
|
|
163
|
+
plugins: [
|
|
164
|
+
{
|
|
165
|
+
name: `on-rebuild`,
|
|
166
|
+
setup({ onEnd }) {
|
|
167
|
+
onEnd((res) => {
|
|
168
|
+
generateTamaguiConfig(options);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
169
171
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
]
|
|
173
|
+
});
|
|
174
|
+
await context.watch();
|
|
175
|
+
} catch (err) {
|
|
176
|
+
console.warn(
|
|
177
|
+
`Warning watching config error, you may need to restart on config changes: ${err}`
|
|
178
|
+
);
|
|
179
|
+
}
|
|
174
180
|
}
|
|
175
181
|
const defaultPaths = ["tamagui.config.ts", join("src", "tamagui.config.ts")];
|
|
176
182
|
let cachedPath = "";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/loadTamagui.ts"],
|
|
4
|
-
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n const options = await getOptions({ tamaguiOptions })\n\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { basename, dirname, extname, join, resolve } from 'path'\n\nimport { getDefaultTamaguiConfig } from '@tamagui/config-default-node'\nimport { createTamagui } from '@tamagui/core-node'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport type { TamaguiInternalConfig } from '@tamagui/web'\nimport esbuild from 'esbuild'\nimport fs, { existsSync, pathExists, readJSON } from 'fs-extra'\n\nimport { SHOULD_DEBUG } from '../constants.js'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require.js'\nimport { TamaguiOptions } from '../types.js'\nimport {\n Props,\n TamaguiProjectInfo,\n bundleConfig,\n esbuildOptions,\n loadComponents,\n} from './bundleConfig.js'\nimport { generateTamaguiConfig } from './generateTamaguiConfig.js'\n\nconst cache = {}\n\nexport async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {\n const key = JSON.stringify(props)\n if (cache[key]) {\n if (cache[key] instanceof Promise) {\n return await cache[key]\n }\n return cache[key]\n }\n\n let resolver: Function = () => {}\n cache[key] = new Promise((res) => {\n resolver = res\n })\n\n try {\n registerRequire()\n const bundleInfo = await bundleConfig(props)\n\n cache[key] = bundleInfo\n\n // init core-node\n createTamagui(cache[key].tamaguiConfig)\n\n resolver(cache[key])\n\n return cache[key]\n } finally {\n unregisterRequire()\n }\n}\n\nexport function resolveWebOrNativeSpecificEntry(entry: string) {\n const workspaceRoot = resolve()\n const resolved = require.resolve(entry, { paths: [workspaceRoot] })\n const ext = extname(resolved)\n const fileName = basename(resolved).replace(ext, '')\n const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'\n const specificFile = join(dirname(resolved), fileName + '.' + specificExt + ext)\n if (existsSync(specificFile)) {\n return specificFile\n }\n return entry\n}\n\n// loads in-process using esbuild-register\nexport function loadTamaguiSync(props: Props): TamaguiProjectInfo {\n const key = JSON.stringify(props)\n if (cache[key]) {\n return cache[key]\n }\n\n const { unregister } = require('esbuild-register/dist/node').register(esbuildOptions)\n\n try {\n registerRequire()\n\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n const devValueOG = globalThis['__DEV__' as any]\n globalThis['__DEV__' as any] = process.env.NODE_ENV === 'development'\n\n try {\n // config\n let tamaguiConfig: TamaguiInternalConfig | null = null\n if (props.config) {\n const configPath = join(process.cwd(), props.config)\n const exp = require(configPath)\n tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n throw new Error(`Can't find valid config in ${confPath}:\n \n Be sure you \"export default\" the config.`)\n }\n }\n\n // components\n const components = loadComponents(props)\n if (!components) {\n throw new Error(`No components loaded`)\n }\n if (process.env.DEBUG === 'tamagui') {\n console.log(`components`, components)\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n globalThis['__DEV__' as any] = devValueOG\n\n // set up core-node\n if (props.config && tamaguiConfig) {\n createTamagui(tamaguiConfig as any)\n }\n\n cache[key] = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: [],\n tamaguiConfig: getDefaultTamaguiConfig(),\n nameToPaths: {},\n }\n }\n\n return cache[key]\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n if (!(await fs.pathExists(tsConfigFilePath)))\n throw new Error(`No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n return {\n mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',\n root,\n host: host || '127.0.0.1',\n pkgJson,\n debug,\n tsconfigPath,\n tamaguiOptions: {\n components: ['tamagui'],\n config: await getDefaultTamaguiConfigPath(),\n ...tamaguiOptions,\n },\n paths: {\n dotDir,\n conf: join(dotDir, 'tamagui.config.json'),\n types: join(dotDir, 'types.json'),\n },\n }\n}\n\nexport async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {\n try {\n const options = await getOptions({ tamaguiOptions })\n\n if (!options.tamaguiOptions.config) return\n\n await generateTamaguiConfig(options)\n const context = await esbuild.context({\n entryPoints: [options.tamaguiOptions.config],\n sourcemap: false,\n // dont output just use esbuild as a watcher\n write: false,\n\n plugins: [\n {\n name: `on-rebuild`,\n setup({ onEnd }) {\n onEnd((res) => {\n generateTamaguiConfig(options)\n })\n },\n },\n ],\n })\n\n await context.watch()\n } catch (err) {\n console.warn(\n `Warning watching config error, you may need to restart on config changes: ${err}`\n )\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\n\nasync function getDefaultTamaguiConfigPath() {\n if (cachedPath) return cachedPath\n const existingPaths = await Promise.all(defaultPaths.map((path) => pathExists(path)))\n const existing = existingPaths.findIndex((x) => !!x)\n const found = defaultPaths[existing]\n if (!found) {\n throw new Error(`No found tamagui.config.ts`)\n }\n cachedPath = found\n return found\n}\n\nexport { TamaguiProjectInfo }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/static",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.2",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -34,33 +34,33 @@
|
|
|
34
34
|
"@babel/plugin-transform-react-jsx": "^7.19.0",
|
|
35
35
|
"@babel/runtime": "^7.19.4",
|
|
36
36
|
"@babel/traverse": "^7.19.6",
|
|
37
|
-
"@tamagui/build": "1.15.
|
|
38
|
-
"@tamagui/cli-color": "1.15.
|
|
39
|
-
"@tamagui/config-default-node": "1.15.
|
|
40
|
-
"@tamagui/core-node": "1.15.
|
|
41
|
-
"@tamagui/fake-react-native": "1.15.
|
|
42
|
-
"@tamagui/helpers": "1.15.
|
|
43
|
-
"@tamagui/helpers-node": "1.15.
|
|
44
|
-
"@tamagui/proxy-worm": "1.15.
|
|
45
|
-
"@tamagui/shorthands": "1.15.
|
|
46
|
-
"@tamagui/types": "1.15.
|
|
37
|
+
"@tamagui/build": "1.15.2",
|
|
38
|
+
"@tamagui/cli-color": "1.15.2",
|
|
39
|
+
"@tamagui/config-default-node": "1.15.2",
|
|
40
|
+
"@tamagui/core-node": "1.15.2",
|
|
41
|
+
"@tamagui/fake-react-native": "1.15.2",
|
|
42
|
+
"@tamagui/helpers": "1.15.2",
|
|
43
|
+
"@tamagui/helpers-node": "1.15.2",
|
|
44
|
+
"@tamagui/proxy-worm": "1.15.2",
|
|
45
|
+
"@tamagui/shorthands": "1.15.2",
|
|
46
|
+
"@tamagui/types": "1.15.2",
|
|
47
47
|
"babel-literal-to-ast": "^2.1.0",
|
|
48
|
-
"esbuild": "^0.17.
|
|
48
|
+
"esbuild": "^0.17.16",
|
|
49
49
|
"esbuild-register": "^3.4.2",
|
|
50
50
|
"find-cache-dir": "^3.3.2",
|
|
51
51
|
"find-root": "^1.1.0",
|
|
52
52
|
"fs-extra": "^11.1.0",
|
|
53
53
|
"invariant": "^2.2.4",
|
|
54
54
|
"lodash": "^4.17.21",
|
|
55
|
-
"react-native-web-internals": "1.15.
|
|
56
|
-
"react-native-web-lite": "1.15.
|
|
55
|
+
"react-native-web-internals": "1.15.2",
|
|
56
|
+
"react-native-web-lite": "1.15.2"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@babel/plugin-syntax-typescript": "^7.18.6",
|
|
60
60
|
"@babel/types": "^7.19.4",
|
|
61
61
|
"@dish/babel-preset": "^0.0.6",
|
|
62
62
|
"@expo/match-media": "^0.4.0",
|
|
63
|
-
"@tamagui/test-design-system": "1.15.
|
|
63
|
+
"@tamagui/test-design-system": "1.15.2",
|
|
64
64
|
"@testing-library/react": "^13.4.0",
|
|
65
65
|
"@types/babel__generator": "^7.6.4",
|
|
66
66
|
"@types/babel__traverse": "^7.18.2",
|
|
@@ -181,30 +181,36 @@ export async function getOptions({
|
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
export async function watchTamaguiConfig(tamaguiOptions: TamaguiOptions) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
onEnd
|
|
200
|
-
|
|
201
|
-
|
|
184
|
+
try {
|
|
185
|
+
const options = await getOptions({ tamaguiOptions })
|
|
186
|
+
|
|
187
|
+
if (!options.tamaguiOptions.config) return
|
|
188
|
+
|
|
189
|
+
await generateTamaguiConfig(options)
|
|
190
|
+
const context = await esbuild.context({
|
|
191
|
+
entryPoints: [options.tamaguiOptions.config],
|
|
192
|
+
sourcemap: false,
|
|
193
|
+
// dont output just use esbuild as a watcher
|
|
194
|
+
write: false,
|
|
195
|
+
|
|
196
|
+
plugins: [
|
|
197
|
+
{
|
|
198
|
+
name: `on-rebuild`,
|
|
199
|
+
setup({ onEnd }) {
|
|
200
|
+
onEnd((res) => {
|
|
201
|
+
generateTamaguiConfig(options)
|
|
202
|
+
})
|
|
203
|
+
},
|
|
202
204
|
},
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
],
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
await context.watch()
|
|
209
|
+
} catch (err) {
|
|
210
|
+
console.warn(
|
|
211
|
+
`Warning watching config error, you may need to restart on config changes: ${err}`
|
|
212
|
+
)
|
|
213
|
+
}
|
|
208
214
|
}
|
|
209
215
|
|
|
210
216
|
const defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]
|
|
@@ -222,4 +228,4 @@ async function getDefaultTamaguiConfigPath() {
|
|
|
222
228
|
return found
|
|
223
229
|
}
|
|
224
230
|
|
|
225
|
-
export { TamaguiProjectInfo }
|
|
231
|
+
export { TamaguiProjectInfo }
|
|
@@ -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,
|
|
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,iBA+BtE;AAiBD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|