@tamagui/cli 1.7.6 → 1.7.8
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/dev.js +1 -0
- package/dist/cjs/dev.js.map +2 -2
- package/dist/esm/dev.js +1 -0
- package/dist/esm/dev.js.map +2 -2
- package/dist/esm/dev.mjs +1 -0
- package/dist/esm/dev.mjs.map +2 -2
- package/package.json +4 -4
- package/src/dev.ts +1 -0
- package/types/dev.d.ts.map +1 -1
package/dist/cjs/dev.js
CHANGED
package/dist/cjs/dev.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dev.ts"],
|
|
4
|
-
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AAEzB,kBAAqB;AAErB,mBAAkB;AAClB,sBAAe;AACf,kBAAoC;AAEpC,6BAAgC;AAChC,gCAAmC;AAEnC,mBAAgC;AAEzB,MAAM,MAAM,OAAO,YAA6B;AAbvD;AAcE,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAE9B,UAAQ,MAAM,QAAQ,IAAI,CAAC;AAE3B,QAAM,EAAE,eAAe,cAAc,eAAe,IAAI,MAAM,OAC5D,sBACF;AAGA,QAAM,eAAe;AAErB,QAAM,UAAU;AAAA,IACd,cAAc;AAAA,MACZ,YAAY,CAAC,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAEA,iBAAe,YAAY;AACzB,UAAM,mBAAe,kBAAK,QAAQ,IAAI,GAAG,YAAY,WAAW;AAChE,UAAM,aAAa,MAAM,cAAc;AAEvC,oBAAAA,QAAG,UAAU,cAAc,UAAU;AACrC,WAAO;AAAA,EACT;AAEA,iBAAe,gBAAgB;AAE7B,UAAM,cAAc,UAAM,mBAAM;AAAA,
|
|
4
|
+
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n // @ts-ignore\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["fs", "chalk", "_a"]
|
|
7
7
|
}
|
package/dist/esm/dev.js
CHANGED
package/dist/esm/dev.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dev.ts"],
|
|
4
|
-
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AAErB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,SAAS,OAAO,oBAAoB;AAEpC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,MAAM,OAAO,YAA6B;AAbvD;AAcE,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAE9B,UAAQ,MAAM,QAAQ,IAAI,CAAC;AAE3B,QAAM,EAAE,eAAe,cAAc,eAAe,IAAI,MAAM,OAC5D,sBACF;AAGA,QAAM,eAAe;AAErB,QAAM,UAAU;AAAA,IACd,cAAc;AAAA,MACZ,YAAY,CAAC,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAEA,iBAAe,YAAY;AACzB,UAAM,eAAe,KAAK,QAAQ,IAAI,GAAG,YAAY,WAAW;AAChE,UAAM,aAAa,MAAM,cAAc;AAEvC,OAAG,UAAU,cAAc,UAAU;AACrC,WAAO;AAAA,EACT;AAEA,iBAAe,gBAAgB;AAE7B,UAAM,cAAc,MAAM,MAAM;AAAA,
|
|
4
|
+
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n // @ts-ignore\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
package/dist/esm/dev.mjs
CHANGED
package/dist/esm/dev.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dev.ts"],
|
|
4
|
-
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AAErB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,SAAS,OAAO,oBAAoB;AAEpC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,MAAM,OAAO,YAA6B;AAbvD;AAcE,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAE9B,UAAQ,MAAM,QAAQ,IAAI,CAAC;AAE3B,QAAM,EAAE,eAAe,cAAc,eAAe,IAAI,MAAM,OAC5D,sBACF;AAGA,QAAM,eAAe;AAErB,QAAM,UAAU;AAAA,IACd,cAAc;AAAA,MACZ,YAAY,CAAC,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAEA,iBAAe,YAAY;AACzB,UAAM,eAAe,KAAK,QAAQ,IAAI,GAAG,YAAY,WAAW;AAChE,UAAM,aAAa,MAAM,cAAc;AAEvC,OAAG,UAAU,cAAc,UAAU;AACrC,WAAO;AAAA,EACT;AAEA,iBAAe,gBAAgB;AAE7B,UAAM,cAAc,MAAM,MAAM;AAAA,
|
|
4
|
+
"sourcesContent": ["import { readFile } from 'fs/promises'\nimport { AddressInfo } from 'net'\nimport { join } from 'path'\n\nimport chalk from 'chalk'\nimport fs from 'fs-extra'\nimport { build, createServer } from 'vite'\n\nimport { createDevServer } from './dev/createDevServer.js'\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\nimport { registerDispose } from './utils.js'\n\nexport const dev = async (options: ResolvedOptions) => {\n const { root, mode, paths } = options\n\n process.chdir(process.cwd())\n\n const { tamaguiPlugin, nativePlugin, nativePrebuild } = await import(\n '@tamagui/vite-plugin'\n )\n\n // build react-native\n await nativePrebuild()\n\n const plugins = [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n nativePlugin(),\n ]\n\n async function getBundle() {\n const outputJsPath = join(process.cwd(), '.tamagui', 'bundle.js')\n const outputCode = await getBundleCode()\n // debug out each time\n fs.writeFile(outputJsPath, outputCode)\n return outputCode\n }\n\n async function getBundleCode() {\n // build app\n const buildOutput = await build({\n // @ts-ignore\n plugins,\n appType: 'custom',\n root: join(root, 'src/index.ts'),\n build: {\n ssr: true,\n },\n ssr: {\n format: 'cjs',\n target: 'node',\n },\n mode: 'development',\n define: {\n __DEV__: 'true',\n 'process.env.NODE_ENV': `\"development\"`,\n },\n })\n\n const appCode = 'output' in buildOutput ? buildOutput.output[0].code : null\n\n if (!appCode) {\n throw `\u274C`\n }\n\n const [react, reactJsxRuntime, reactNative] = await Promise.all([\n readFile(join(process.cwd(), 'react.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-jsx-runtime.js'), 'utf-8'),\n readFile(join(process.cwd(), 'react-native.js'), 'utf-8'),\n ])\n\n const reactCode = react.replace(\n `module.exports = require_react_development();`,\n `return require_react_development()`\n )\n\n const reactJSXRuntimeCode = reactJsxRuntime.replace(\n `module.exports = require_react_jsx_runtime_production_min();`,\n `return require_react_jsx_runtime_production_min()`\n )\n\n const reactNativeCode = reactNative\n .replace(\n `module.exports = require_react_native();`,\n `return require_react_native()`\n )\n .replace(\n `renderable = /* @__PURE__ */ react(RootComponentWithMeaningfulName, null, renderable);`,\n ``\n )\n\n return (await readFile('template.js', 'utf-8'))\n .replace(`// -- react --`, reactCode)\n .replace(`// -- react-native --`, reactNativeCode)\n .replace(`// -- react/jsx-runtime --`, reactJSXRuntimeCode)\n .replace(`// -- app --`, appCode)\n }\n\n const server = await createServer({\n root: root,\n mode: 'development',\n plugins,\n server: {\n port: options.port,\n host: options.host || 'localhost',\n },\n })\n\n await server.listen()\n await watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n // react native port (it scans 19000 +5)\n const port = 8081\n\n const defaultResponse = {\n name: 'myapp',\n slug: 'myapp',\n scheme: 'myapp',\n version: '1.0.0',\n jsEngine: 'jsc',\n orientation: 'portrait',\n icon: './assets/icon.png',\n userInterfaceStyle: 'light',\n splash: {\n image: './assets/splash.png',\n resizeMode: 'contain',\n backgroundColor: '#ffffff',\n imageUrl: 'http://127.0.0.1:8081/assets/./assets/splash.png',\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: ['**/*'],\n ios: { supportsTablet: true, bundleIdentifier: 'com.natew.myapp' },\n android: {\n package: 'com.tamagui.myapp',\n adaptiveIcon: {\n foregroundImage: './assets/adaptive-icon.png',\n backgroundColor: '#FFFFFF',\n foregroundImageUrl: 'http://127.0.0.1:8081/assets/./assets/adaptive-icon.png',\n },\n },\n web: { favicon: './assets/favicon.png' },\n extra: { eas: { projectId: '061b4470-78c7-4d6a-b850-8167fb0a3434' } },\n _internal: {\n isDebug: false,\n projectRoot: '/Users/n8/tamagui/apps/kitchen-sink',\n dynamicConfigPath: null,\n staticConfigPath: '/Users/n8/tamagui/apps/kitchen-sink/app.json',\n packageJsonPath: '/Users/n8/tamagui/apps/kitchen-sink/package.json',\n },\n sdkVersion: '47.0.0',\n platforms: ['ios', 'android', 'web'],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: 'expo-cli', projectRoot: '/Users/n8/tamagui/apps/kitchen-sink' },\n packagerOpts: { dev: true },\n mainModuleName: 'index',\n __flipperHack: 'React Native packager is running',\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false`,\n id: '@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78',\n }\n\n // new server\n const dispose = await createDevServer(options, {\n getIndexBundle: getBundle,\n indexJson: defaultResponse,\n })\n\n // eslint-disable-next-line no-console\n console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))\n server.printUrls()\n\n registerDispose(() => {\n dispose()\n server.close()\n })\n\n await new Promise((res) => server.httpServer?.on('close', res))\n\n console.log('closed')\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AAErB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,SAAS,OAAO,oBAAoB;AAEpC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,MAAM,OAAO,YAA6B;AAbvD;AAcE,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAE9B,UAAQ,MAAM,QAAQ,IAAI,CAAC;AAE3B,QAAM,EAAE,eAAe,cAAc,eAAe,IAAI,MAAM,OAC5D,sBACF;AAGA,QAAM,eAAe;AAErB,QAAM,UAAU;AAAA,IACd,cAAc;AAAA,MACZ,YAAY,CAAC,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAEA,iBAAe,YAAY;AACzB,UAAM,eAAe,KAAK,QAAQ,IAAI,GAAG,YAAY,WAAW;AAChE,UAAM,aAAa,MAAM,cAAc;AAEvC,OAAG,UAAU,cAAc,UAAU;AACrC,WAAO;AAAA,EACT;AAEA,iBAAe,gBAAgB;AAE7B,UAAM,cAAc,MAAM,MAAM;AAAA;AAAA,MAE9B;AAAA,MACA,SAAS;AAAA,MACT,MAAM,KAAK,MAAM,cAAc;AAAA,MAC/B,OAAO;AAAA,QACL,KAAK;AAAA,MACP;AAAA,MACA,KAAK;AAAA,QACH,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,wBAAwB;AAAA,MAC1B;AAAA,IACF,CAAC;AAED,UAAM,UAAU,YAAY,cAAc,YAAY,OAAO,CAAC,EAAE,OAAO;AAEvE,QAAI,CAAC,SAAS;AACZ,YAAM;AAAA,IACR;AAEA,UAAM,CAAC,OAAO,iBAAiB,WAAW,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC9D,SAAS,KAAK,QAAQ,IAAI,GAAG,UAAU,GAAG,OAAO;AAAA,MACjD,SAAS,KAAK,QAAQ,IAAI,GAAG,sBAAsB,GAAG,OAAO;AAAA,MAC7D,SAAS,KAAK,QAAQ,IAAI,GAAG,iBAAiB,GAAG,OAAO;AAAA,IAC1D,CAAC;AAED,UAAM,YAAY,MAAM;AAAA,MACtB;AAAA,MACA;AAAA,IACF;AAEA,UAAM,sBAAsB,gBAAgB;AAAA,MAC1C;AAAA,MACA;AAAA,IACF;AAEA,UAAM,kBAAkB,YACrB;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC;AAAA,MACC;AAAA,MACA;AAAA,IACF;AAEF,YAAQ,MAAM,SAAS,eAAe,OAAO,GAC1C,QAAQ,kBAAkB,SAAS,EACnC,QAAQ,yBAAyB,eAAe,EAChD,QAAQ,8BAA8B,mBAAmB,EACzD,QAAQ,gBAAgB,OAAO;AAAA,EACpC;AAEA,QAAM,SAAS,MAAM,aAAa;AAAA,IAChC;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,MAAM,QAAQ,QAAQ;AAAA,IACxB;AAAA,EACF,CAAC;AAED,QAAM,OAAO,OAAO;AACpB,QAAM,mBAAmB,OAAO;AAEhC,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAGhC,QAAM,OAAO;AAEb,QAAM,kBAAkB;AAAA,IACtB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,aAAa;AAAA,IACb,MAAM;AAAA,IACN,oBAAoB;AAAA,IACpB,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,UAAU;AAAA,IACZ;AAAA,IACA,SAAS,EAAE,wBAAwB,EAAE;AAAA,IACrC,qBAAqB,CAAC,MAAM;AAAA,IAC5B,KAAK,EAAE,gBAAgB,MAAM,kBAAkB,kBAAkB;AAAA,IACjE,SAAS;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,QACZ,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,KAAK,EAAE,SAAS,uBAAuB;AAAA,IACvC,OAAO,EAAE,KAAK,EAAE,WAAW,uCAAuC,EAAE;AAAA,IACpE,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,IACnB;AAAA,IACA,YAAY;AAAA,IACZ,WAAW,CAAC,OAAO,WAAW,KAAK;AAAA,IACnC,SAAS,oBAAoB;AAAA,IAC7B,cAAc,aAAa;AAAA,IAC3B,QAAQ,oBAAoB;AAAA,IAC5B,WAAW,EAAE,MAAM,YAAY,aAAa,sCAAsC;AAAA,IAClF,cAAc,EAAE,KAAK,KAAK;AAAA,IAC1B,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,SAAS,aAAa;AAAA,IACtB,WAAW,oBAAoB;AAAA,IAC/B,IAAI;AAAA,EACN;AAGA,QAAM,UAAU,MAAM,gBAAgB,SAAS;AAAA,IAC7C,gBAAgB;AAAA,IAChB,WAAW;AAAA,EACb,CAAC;AAGD,UAAQ,IAAI,iBAAiB,MAAM,MAAM,oBAAoB,MAAM,CAAC;AACpE,SAAO,UAAU;AAEjB,kBAAgB,MAAM;AACpB,YAAQ;AACR,WAAO,MAAM;AAAA,EACf,CAAC;AAED,QAAM,IAAI,QAAQ,CAAC,QAAK;AAtL1B,QAAAA;AAsL6B,YAAAA,MAAA,OAAO,eAAP,gBAAAA,IAAmB,GAAG,SAAS;AAAA,GAAI;AAE9D,UAAQ,IAAI,QAAQ;AACtB;",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.8",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"@callstack/repack-debugger-app": "^1.0.0",
|
|
37
37
|
"@fastify/sensible": "^4.1.0",
|
|
38
38
|
"@fastify/static": "^5.0.2",
|
|
39
|
-
"@tamagui/build": "1.7.
|
|
40
|
-
"@tamagui/static": "1.7.
|
|
41
|
-
"@tamagui/vite-plugin": "1.7.
|
|
39
|
+
"@tamagui/build": "1.7.8",
|
|
40
|
+
"@tamagui/static": "1.7.8",
|
|
41
|
+
"@tamagui/vite-plugin": "1.7.8",
|
|
42
42
|
"@types/compression": "^1.7.2",
|
|
43
43
|
"@types/morgan": "^1.9.3",
|
|
44
44
|
"arg": "^5.0.2",
|
package/src/dev.ts
CHANGED
package/types/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,eAAO,MAAM,GAAG,YAAmB,eAAe,
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,eAAO,MAAM,GAAG,YAAmB,eAAe,kBA4KjD,CAAA"}
|