@tamagui/cli 1.59.2 → 1.59.4

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/dev.js CHANGED
@@ -35,6 +35,7 @@ var import_promises = require("fs/promises");
35
35
  var import_path = require("path");
36
36
  var import_vite_native_swc = __toESM(require("@tamagui/vite-native-swc"));
37
37
  var import_vite_plugin = require("@tamagui/vite-plugin");
38
+ var import_plugin_react_swc = __toESM(require("@vitejs/plugin-react-swc"));
38
39
  var import_chalk = __toESM(require("chalk"));
39
40
  var import_es_module_lexer = require("es-module-lexer");
40
41
  var import_fs_extra = require("fs-extra");
@@ -48,23 +49,15 @@ const dev = async (options) => {
48
49
  console.log((err == null ? void 0 : err.message) || err);
49
50
  });
50
51
  const packageRootDir = (0, import_path.join)(__dirname, "..");
51
- await (0, import_vite_plugin.nativePrebuild)();
52
52
  const port = options.port || 8081;
53
+ const tamaguiVitePlugin = (0, import_vite_plugin.tamaguiPlugin)({
54
+ ...options.tamaguiOptions,
55
+ // useReactNativeWebLite: true,
56
+ target: "web"
57
+ });
53
58
  const plugins = [
54
- // tamaguiPlugin({
55
- // ...options.tamaguiOptions,
56
- // target: 'native',
57
- // }),
58
- {
59
- name: "tamagui",
60
- config() {
61
- return {
62
- define: {
63
- "process.env.TAMAGUI_TARGET": JSON.stringify("native")
64
- }
65
- };
66
- }
67
- }
59
+ //
60
+ tamaguiVitePlugin
68
61
  ];
69
62
  if (process.env.IS_TAMAGUI_DEV) {
70
63
  const inspect = require("vite-plugin-inspect");
@@ -75,19 +68,28 @@ const dev = async (options) => {
75
68
  let serverConfig = {
76
69
  root,
77
70
  mode: "development",
78
- esbuild: false,
79
71
  clearScreen: false,
80
- appType: "custom",
72
+ // for expo-router
73
+ // optimizeDeps: {
74
+ // disabled: false,
75
+ // include: [
76
+ // 'escape-string-regexp',
77
+ // 'use-latest-callback',
78
+ // 'react-is',
79
+ // 'color',
80
+ // 'warn-once',
81
+ // '@bacons/react-views',
82
+ // 'invariant',
83
+ // 'compare-versions',
84
+ // 'expo-constants',
85
+ // 'url-parse',
86
+ // 'qs',
87
+ // '@expo/metro-runtime',
88
+ // ],
89
+ // },
81
90
  plugins: [
82
91
  ...plugins,
83
- (0, import_vite_native_swc.default)({
84
- tsDecorators: true,
85
- mode: "serve"
86
- }),
87
- (0, import_vite_plugin.nativePlugin)({
88
- port,
89
- mode: "serve"
90
- }),
92
+ (0, import_plugin_react_swc.default)(),
91
93
  {
92
94
  name: "tamagui-client-transform",
93
95
  async handleHotUpdate({ read, modules, file }) {
@@ -108,6 +110,8 @@ const dev = async (options) => {
108
110
  }
109
111
  let source = code;
110
112
  source = ((_a = await (0, import_vite_native_swc.transformForBuild)(id, source)) == null ? void 0 : _a.code) || "";
113
+ console.log("FROM-----", code);
114
+ console.log("TO------", source);
111
115
  const importsMap = {};
112
116
  const [imports] = (0, import_es_module_lexer.parse)(source);
113
117
  let accumulatedSliceOffset = 0;
@@ -115,6 +119,7 @@ const dev = async (options) => {
115
119
  const { n: importName, s: start } = specifier;
116
120
  if (importName) {
117
121
  const id2 = await (0, import_vite_plugin.getVitePath)(file, importName);
122
+ console.log("replace", importName, id2);
118
123
  if (!id2) {
119
124
  console.warn("???");
120
125
  continue;
@@ -136,6 +141,7 @@ const dev = async (options) => {
136
141
  const require = createRequire(${JSON.stringify(importsMap, null, 2)})
137
142
  ${source.replace(`import.meta.hot.accept(() => {})`, ``)};
138
143
  return exports })({})`;
144
+ console.log("hotUpdateSource", hotUpdateSource);
139
145
  hotUpdatedCJSFiles.set(id, hotUpdateSource);
140
146
  } catch (err) {
141
147
  console.log(`Error processing hmr update:`, err);
@@ -150,8 +156,7 @@ const dev = async (options) => {
150
156
  }
151
157
  };
152
158
  const resolvedConfig = await (0, import_vite.resolveConfig)(serverConfig, "serve");
153
- const viteRNClient = (0, import_clientInjectPlugin.clientInjectionsPlugin)(resolvedConfig);
154
- plugins.push(viteRNClient);
159
+ const viteRNClientPlugin = (0, import_clientInjectPlugin.clientInjectionsPlugin)(resolvedConfig);
155
160
  serverConfig = {
156
161
  ...serverConfig,
157
162
  plugins: [...serverConfig.plugins]
@@ -178,7 +183,6 @@ const dev = async (options) => {
178
183
  getIndexBundle: getBundleCode,
179
184
  indexJson: getIndexJsonReponse({ port, root })
180
185
  });
181
- getBundleCode();
182
186
  console.log(`Listening on:`, import_chalk.default.green(`http://localhost:${port}`));
183
187
  server.printUrls();
184
188
  (0, import_utils.registerDispose)(() => {
@@ -190,14 +194,6 @@ const dev = async (options) => {
190
194
  return (_a = server.httpServer) == null ? void 0 : _a.on("close", res);
191
195
  });
192
196
  async function getBundleCode() {
193
- if (isBuilding) {
194
- const res = await isBuilding;
195
- return res;
196
- }
197
- let done;
198
- isBuilding = new Promise((res) => {
199
- done = res;
200
- });
201
197
  const tmpBundle = (0, import_path.join)(process.cwd(), "bundle.tmp.js");
202
198
  if (await (0, import_fs_extra.pathExists)(tmpBundle)) {
203
199
  console.log(
@@ -206,9 +202,35 @@ const dev = async (options) => {
206
202
  );
207
203
  return await (0, import_promises.readFile)(tmpBundle, "utf-8");
208
204
  }
209
- const buildOutput = await (0, import_vite.build)({
205
+ if (isBuilding) {
206
+ const res = await isBuilding;
207
+ return res;
208
+ }
209
+ let done;
210
+ isBuilding = new Promise((res) => {
211
+ done = res;
212
+ });
213
+ const buildConfig = {
210
214
  plugins: [
211
- ...plugins,
215
+ {
216
+ name: "tamagui-env-native",
217
+ config() {
218
+ return {
219
+ define: {
220
+ "process.env.TAMAGUI_TARGET": JSON.stringify("native")
221
+ }
222
+ };
223
+ }
224
+ },
225
+ viteRNClientPlugin,
226
+ // viteReactPlugin({
227
+ // tsDecorators: true,
228
+ // mode: 'serve',
229
+ // }),
230
+ // nativePlugin({
231
+ // port,
232
+ // mode: 'serve',
233
+ // }),
212
234
  (0, import_vite_plugin.nativePlugin)({
213
235
  port,
214
236
  mode: "build"
@@ -237,7 +259,9 @@ const dev = async (options) => {
237
259
  __DEV__: "true",
238
260
  "process.env.NODE_ENV": `"development"`
239
261
  }
240
- });
262
+ };
263
+ await (0, import_vite.resolveConfig)(buildConfig, "build");
264
+ const buildOutput = await (0, import_vite.build)(buildConfig);
241
265
  if (!("output" in buildOutput)) {
242
266
  throw `\u274C`;
243
267
  }
@@ -257,8 +281,9 @@ ___modules___["${module2.fileName}"] = ((exports, module2) => {
257
281
 
258
282
  ${module2.isEntry ? `
259
283
  // run entry
260
- __specialRequire("node_modules/react-native/index.js")
261
- __specialRequire("${module2.fileName}")
284
+ const __require = createRequire({})
285
+ __require("react-native")
286
+ __require("${module2.fileName}")
262
287
  ` : ""}
263
288
  `;
264
289
  }
package/dist/dev.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/dev.ts"],
4
- "mappings": "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",
5
- "names": ["viteReactPlugin", "module", "id", "chalk"]
4
+ "mappings": "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",
5
+ "names": ["react", "module", "id", "chalk", "viteReactPlugin"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/cli",
3
- "version": "1.59.2",
3
+ "version": "1.59.4",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist",
@@ -28,14 +28,14 @@
28
28
  "@callstack/repack-debugger-app": "^1.0.0",
29
29
  "@fastify/sensible": "^4.1.0",
30
30
  "@fastify/static": "^5.0.2",
31
- "@tamagui/build": "1.59.2",
32
- "@tamagui/create-theme": "1.59.2",
33
- "@tamagui/generate-themes": "1.59.2",
34
- "@tamagui/static": "1.59.2",
35
- "@tamagui/types": "1.59.2",
36
- "@tamagui/vite-native-hmr": "1.59.2",
37
- "@tamagui/vite-native-swc": "1.59.2",
38
- "@tamagui/vite-plugin": "1.59.2",
31
+ "@tamagui/build": "1.59.4",
32
+ "@tamagui/create-theme": "1.59.4",
33
+ "@tamagui/generate-themes": "1.59.4",
34
+ "@tamagui/static": "1.59.4",
35
+ "@tamagui/types": "1.59.4",
36
+ "@tamagui/vite-native-hmr": "1.59.4",
37
+ "@tamagui/vite-native-swc": "1.59.4",
38
+ "@tamagui/vite-plugin": "1.59.4",
39
39
  "@types/compression": "^1.7.2",
40
40
  "@types/morgan": "^1.9.3",
41
41
  "@vitejs/plugin-react": "^4.0.4",
package/src/dev.ts CHANGED
@@ -6,7 +6,8 @@ import viteReactPlugin, {
6
6
  swcTransform,
7
7
  transformForBuild,
8
8
  } from '@tamagui/vite-native-swc'
9
- import { getVitePath, nativePlugin, nativePrebuild } from '@tamagui/vite-plugin'
9
+ import { getVitePath, nativePlugin, tamaguiPlugin } from '@tamagui/vite-plugin'
10
+ import react from '@vitejs/plugin-react-swc'
10
11
  import chalk from 'chalk'
11
12
  import { parse } from 'es-module-lexer'
12
13
  import { pathExists } from 'fs-extra'
@@ -21,32 +22,24 @@ export const dev = async (options: CLIResolvedOptions) => {
21
22
  const { root } = options
22
23
 
23
24
  process.on('uncaughtException', (err) => {
25
+ // rome-ignore lint/suspicious/noConsoleLog: <explanation>
24
26
  console.log(err?.message || err)
25
27
  })
26
28
 
27
29
  const packageRootDir = join(__dirname, '..')
28
30
 
29
- // build react-native
30
- await nativePrebuild()
31
-
32
31
  // react native port (it scans 19000 +5)
33
32
  const port = options.port || 8081
34
33
 
34
+ const tamaguiVitePlugin = tamaguiPlugin({
35
+ ...options.tamaguiOptions,
36
+ // useReactNativeWebLite: true,
37
+ target: 'web',
38
+ })
39
+
35
40
  const plugins = [
36
- // tamaguiPlugin({
37
- // ...options.tamaguiOptions,
38
- // target: 'native',
39
- // }),
40
- {
41
- name: 'tamagui',
42
- config() {
43
- return {
44
- define: {
45
- 'process.env.TAMAGUI_TARGET': JSON.stringify('native'),
46
- },
47
- }
48
- },
49
- },
41
+ //
42
+ tamaguiVitePlugin,
50
43
  ] satisfies InlineConfig['plugins']
51
44
 
52
45
  if (process.env.IS_TAMAGUI_DEV) {
@@ -61,22 +54,31 @@ export const dev = async (options: CLIResolvedOptions) => {
61
54
  let serverConfig = {
62
55
  root,
63
56
  mode: 'development',
64
- esbuild: false,
65
57
  clearScreen: false,
66
- appType: 'custom',
58
+
59
+ // for expo-router
60
+ // optimizeDeps: {
61
+ // disabled: false,
62
+ // include: [
63
+ // 'escape-string-regexp',
64
+ // 'use-latest-callback',
65
+ // 'react-is',
66
+ // 'color',
67
+ // 'warn-once',
68
+ // '@bacons/react-views',
69
+ // 'invariant',
70
+ // 'compare-versions',
71
+ // 'expo-constants',
72
+ // 'url-parse',
73
+ // 'qs',
74
+ // '@expo/metro-runtime',
75
+ // ],
76
+ // },
67
77
 
68
78
  plugins: [
69
79
  ...plugins,
70
80
 
71
- viteReactPlugin({
72
- tsDecorators: true,
73
- mode: 'serve',
74
- }),
75
-
76
- nativePlugin({
77
- port,
78
- mode: 'serve',
79
- }),
81
+ react(),
80
82
 
81
83
  {
82
84
  name: 'tamagui-client-transform',
@@ -106,6 +108,9 @@ export const dev = async (options: CLIResolvedOptions) => {
106
108
  // we have to remove jsx before we can parse imports...
107
109
  source = (await transformForBuild(id, source))?.code || ''
108
110
 
111
+ console.log('FROM-----', code)
112
+ console.log('TO------', source)
113
+
109
114
  const importsMap = {}
110
115
 
111
116
  // parse imports of modules into ids:
@@ -119,6 +124,7 @@ export const dev = async (options: CLIResolvedOptions) => {
119
124
 
120
125
  if (importName) {
121
126
  const id = await getVitePath(file, importName)
127
+ console.log('replace', importName, id)
122
128
  if (!id) {
123
129
  console.warn('???')
124
130
  continue
@@ -154,8 +160,11 @@ export const dev = async (options: CLIResolvedOptions) => {
154
160
  ${source.replace(`import.meta.hot.accept(() => {})`, ``)};
155
161
  return exports })({})`
156
162
 
163
+ console.log('hotUpdateSource', hotUpdateSource)
164
+
157
165
  hotUpdatedCJSFiles.set(id, hotUpdateSource)
158
166
  } catch (err) {
167
+ // rome-ignore lint/suspicious/noConsoleLog: <explanation>
159
168
  console.log(`Error processing hmr update:`, err)
160
169
  }
161
170
  },
@@ -171,10 +180,7 @@ export const dev = async (options: CLIResolvedOptions) => {
171
180
  // first resolve config so we can pass into client plugin, then add client plugin:
172
181
  const resolvedConfig = await resolveConfig(serverConfig, 'serve')
173
182
 
174
- const viteRNClient = clientInjectionsPlugin(resolvedConfig)
175
-
176
- // @ts-ignore
177
- plugins.push(viteRNClient)
183
+ const viteRNClientPlugin = clientInjectionsPlugin(resolvedConfig)
178
184
 
179
185
  serverConfig = {
180
186
  ...serverConfig,
@@ -193,6 +199,7 @@ export const dev = async (options: CLIResolvedOptions) => {
193
199
  void server.transformRequest(id)
194
200
  } catch (err) {
195
201
  // ok
202
+ // rome-ignore lint/suspicious/noConsoleLog: <explanation>
196
203
  console.log('err', err)
197
204
  }
198
205
  })
@@ -210,8 +217,6 @@ export const dev = async (options: CLIResolvedOptions) => {
210
217
  indexJson: getIndexJsonReponse({ port, root }),
211
218
  })
212
219
 
213
- getBundleCode()
214
-
215
220
  // rome-ignore lint/suspicious/noConsoleLog: ok
216
221
  console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))
217
222
  server.printUrls()
@@ -224,16 +229,6 @@ export const dev = async (options: CLIResolvedOptions) => {
224
229
  await new Promise((res) => server.httpServer?.on('close', res))
225
230
 
226
231
  async function getBundleCode() {
227
- if (isBuilding) {
228
- const res = await isBuilding
229
- return res
230
- }
231
-
232
- let done
233
- isBuilding = new Promise((res) => {
234
- done = res
235
- })
236
-
237
232
  // for easier quick testing things:
238
233
  const tmpBundle = join(process.cwd(), 'bundle.tmp.js')
239
234
  if (await pathExists(tmpBundle)) {
@@ -245,14 +240,47 @@ export const dev = async (options: CLIResolvedOptions) => {
245
240
  return await readFile(tmpBundle, 'utf-8')
246
241
  }
247
242
 
243
+ if (isBuilding) {
244
+ const res = await isBuilding
245
+ return res
246
+ }
247
+
248
+ let done
249
+ isBuilding = new Promise((res) => {
250
+ done = res
251
+ })
252
+
248
253
  // build app
249
- const buildOutput = await build({
254
+ const buildConfig = {
250
255
  plugins: [
251
- ...plugins,
256
+ {
257
+ name: 'tamagui-env-native',
258
+ config() {
259
+ return {
260
+ define: {
261
+ 'process.env.TAMAGUI_TARGET': JSON.stringify('native'),
262
+ },
263
+ }
264
+ },
265
+ },
266
+
267
+ viteRNClientPlugin,
268
+
269
+ // viteReactPlugin({
270
+ // tsDecorators: true,
271
+ // mode: 'serve',
272
+ // }),
273
+
274
+ // nativePlugin({
275
+ // port,
276
+ // mode: 'serve',
277
+ // }),
278
+
252
279
  nativePlugin({
253
280
  port,
254
281
  mode: 'build',
255
282
  }),
283
+
256
284
  viteReactPlugin({
257
285
  tsDecorators: true,
258
286
  mode: 'build',
@@ -277,7 +305,12 @@ export const dev = async (options: CLIResolvedOptions) => {
277
305
  __DEV__: 'true',
278
306
  'process.env.NODE_ENV': `"development"`,
279
307
  },
280
- })
308
+ } satisfies InlineConfig
309
+
310
+ // this fixes my swap-react-native plugin not being called pre 😳
311
+ await resolveConfig(buildConfig, 'build')
312
+
313
+ const buildOutput = await build(buildConfig)
281
314
 
282
315
  if (!('output' in buildOutput)) {
283
316
  throw `❌`
@@ -307,8 +340,9 @@ ${
307
340
  module.isEntry
308
341
  ? `
309
342
  // run entry
310
- __specialRequire("node_modules/react-native/index.js")
311
- __specialRequire("${module.fileName}")
343
+ const __require = createRequire({})
344
+ __require("react-native")
345
+ __require("${module.fileName}")
312
346
  `
313
347
  : ''
314
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAgBnD,eAAO,MAAM,GAAG,YAAmB,kBAAkB,kBAgVpD,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAiBnD,eAAO,MAAM,GAAG,YAAmB,kBAAkB,kBAiXpD,CAAA"}