@tamagui/cli 1.61.1 → 1.61.3

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
@@ -33,6 +33,7 @@ __export(dev_exports, {
33
33
  module.exports = __toCommonJS(dev_exports);
34
34
  var import_promises = require("fs/promises");
35
35
  var import_path = require("path");
36
+ var babel = __toESM(require("@babel/core"));
36
37
  var import_vite_native_swc = __toESM(require("@tamagui/vite-native-swc"));
37
38
  var import_vite_plugin = require("@tamagui/vite-plugin");
38
39
  var import_plugin_react_swc = __toESM(require("@vitejs/plugin-react-swc"));
@@ -69,24 +70,6 @@ const dev = async (options) => {
69
70
  root,
70
71
  mode: "development",
71
72
  clearScreen: false,
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
- // },
90
73
  plugins: [
91
74
  ...plugins,
92
75
  (0, import_plugin_react_swc.default)(),
@@ -110,8 +93,6 @@ const dev = async (options) => {
110
93
  }
111
94
  let source = code;
112
95
  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);
115
96
  const importsMap = {};
116
97
  const [imports] = (0, import_es_module_lexer.parse)(source);
117
98
  let accumulatedSliceOffset = 0;
@@ -119,7 +100,6 @@ const dev = async (options) => {
119
100
  const { n: importName, s: start } = specifier;
120
101
  if (importName) {
121
102
  const id2 = await (0, import_vite_plugin.getVitePath)(file, importName);
122
- console.log("replace", importName, id2);
123
103
  if (!id2) {
124
104
  console.warn("???");
125
105
  continue;
@@ -139,9 +119,11 @@ const dev = async (options) => {
139
119
  }
140
120
  const hotUpdateSource = `exports = ((exports) => {
141
121
  const require = createRequire(${JSON.stringify(importsMap, null, 2)})
142
- ${source.replace(`import.meta.hot.accept(() => {})`, ``)};
122
+ ${source.replace(`import.meta.hot.accept(() => {})`, ``).replaceAll(
123
+ /import.meta.glob\(.*\)/gi,
124
+ `globalThis['__importMetaGlobbed'] || {}`
125
+ )};
143
126
  return exports })({})`;
144
- console.log("hotUpdateSource", hotUpdateSource);
145
127
  hotUpdatedCJSFiles.set(id, hotUpdateSource);
146
128
  } catch (err) {
147
129
  console.log(`Error processing hmr update:`, err);
@@ -210,8 +192,88 @@ const dev = async (options) => {
210
192
  isBuilding = new Promise((res) => {
211
193
  done = res;
212
194
  });
195
+ const jsxRuntime = {
196
+ alias: "virtual:react-jsx",
197
+ contents: await (0, import_promises.readFile)(
198
+ require.resolve("@tamagui/react-native-prebuilt/jsx-runtime"),
199
+ "utf-8"
200
+ )
201
+ };
202
+ const virtualModules = {
203
+ "react-native": {
204
+ alias: "virtual:react-native",
205
+ contents: await (0, import_promises.readFile)(
206
+ require.resolve("@tamagui/react-native-prebuilt"),
207
+ "utf-8"
208
+ )
209
+ },
210
+ react: {
211
+ alias: "virtual:react",
212
+ contents: await (0, import_promises.readFile)(
213
+ require.resolve("@tamagui/react-native-prebuilt/react"),
214
+ "utf-8"
215
+ )
216
+ },
217
+ "react/jsx-runtime": jsxRuntime,
218
+ "react/jsx-dev-runtime": jsxRuntime
219
+ };
220
+ const swapRnPlugin = {
221
+ name: `swap-react-native`,
222
+ enforce: "pre",
223
+ resolveId(id) {
224
+ if (id.startsWith("react-native/Libraries")) {
225
+ return `virtual:rn-internals:${id}`;
226
+ }
227
+ for (const targetId in virtualModules) {
228
+ if (id === targetId || id.includes(`node_modules/${targetId}/`)) {
229
+ const info = virtualModules[targetId];
230
+ return info.alias;
231
+ }
232
+ }
233
+ },
234
+ load(id) {
235
+ if (id.startsWith("virtual:rn-internals")) {
236
+ const idOut = id.replace("virtual:rn-internals:", "");
237
+ return `const val = __cachedModules["${idOut}"]
238
+ export const PressabilityDebugView = val.PressabilityDebugView
239
+ export default val ? val.default || val : val`;
240
+ }
241
+ for (const targetId in virtualModules) {
242
+ const info = virtualModules[targetId];
243
+ if (id === info.alias) {
244
+ return info.contents;
245
+ }
246
+ }
247
+ }
248
+ };
249
+ async function babelReanimated(input, filename) {
250
+ return await new Promise((res, rej) => {
251
+ babel.transform(
252
+ input,
253
+ {
254
+ plugins: ["react-native-reanimated/plugin"],
255
+ filename
256
+ },
257
+ (err, result) => {
258
+ if (!result || err)
259
+ rej(err || "no res");
260
+ res(result.code);
261
+ }
262
+ );
263
+ });
264
+ }
213
265
  const buildConfig = {
214
266
  plugins: [
267
+ swapRnPlugin,
268
+ {
269
+ name: "reanimated",
270
+ async transform(code, id) {
271
+ if (code.includes("worklet")) {
272
+ const out2 = await babelReanimated(code, id);
273
+ return out2;
274
+ }
275
+ }
276
+ },
215
277
  {
216
278
  name: "tamagui-env-native",
217
279
  config() {
@@ -223,14 +285,6 @@ const dev = async (options) => {
223
285
  }
224
286
  },
225
287
  viteRNClientPlugin,
226
- // viteReactPlugin({
227
- // tsDecorators: true,
228
- // mode: 'serve',
229
- // }),
230
- // nativePlugin({
231
- // port,
232
- // mode: 'serve',
233
- // }),
234
288
  (0, import_vite_plugin.nativePlugin)({
235
289
  port,
236
290
  mode: "build"
@@ -246,17 +300,20 @@ const dev = async (options) => {
246
300
  build: {
247
301
  ssr: false,
248
302
  minify: false,
303
+ commonjsOptions: {
304
+ transformMixedEsModules: true
305
+ },
249
306
  rollupOptions: {
250
307
  treeshake: false,
251
308
  preserveEntrySignatures: "strict",
252
309
  output: {
310
+ preserveModules: true,
253
311
  format: "cjs"
254
312
  }
255
313
  }
256
314
  },
257
315
  mode: "development",
258
316
  define: {
259
- __DEV__: "true",
260
317
  "process.env.NODE_ENV": `"development"`
261
318
  }
262
319
  };
@@ -273,10 +330,10 @@ const dev = async (options) => {
273
330
  importsMap[relativePath[0] === "." ? relativePath : "./" + relativePath] = imp;
274
331
  }
275
332
  return `
276
- ___modules___["${module2.fileName}"] = ((exports, module2) => {
333
+ ___modules___["${module2.fileName}"] = ((exports, module) => {
277
334
  const require = createRequire(${JSON.stringify(importsMap, null, 2)})
278
335
 
279
- ${module2.code.replace(`'use strict';`, "").replace("module.exports = ", "module2.exports = ")}
336
+ ${module2.code}
280
337
  })
281
338
 
282
339
  ${module2.isEntry ? `
@@ -291,22 +348,10 @@ __require("${module2.fileName}")
291
348
  if (!appCode) {
292
349
  throw `\u274C`;
293
350
  }
294
- appCode = appCode.replace("undefined.accept(() => {})", "").replace("undefined.accept(function() {});", "").replace(
295
- `var require_react_refresh_runtime_development =`,
296
- `var require_react_refresh_runtime_development = globalThis['__RequireReactRefreshRuntime__'] = `
297
- ).replace(
298
- `var require_Pressability = `,
299
- `var require_Pressability = globalThis['__ReactPressability__'] =`
300
- ).replace(
301
- `var require_Pressability = `,
302
- `var require_Pressability = globalThis['__ReactPressability__'] =`
303
- ).replace(
304
- `var require_usePressability = `,
305
- `var require_usePressability = globalThis['__ReactUsePressability__'] =`
306
- );
351
+ appCode = appCode.replaceAll("undefined.accept(() => {})", "").replaceAll("undefined.accept(function() {});", "");
307
352
  const templateFile = (0, import_path.join)(packageRootDir, "react-native-template.js");
308
353
  const out = await (0, import_promises.readFile)(templateFile, "utf-8") + appCode;
309
- await (0, import_promises.writeFile)((0, import_path.join)(process.cwd(), ".tamagui", "bundle.js"), out, "utf-8");
354
+ void (0, import_promises.writeFile)((0, import_path.join)(process.cwd(), ".tamagui", "bundle.js"), out, "utf-8");
310
355
  done(out);
311
356
  isBuilding = null;
312
357
  return out;
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": ["react", "module", "id", "chalk", "viteReactPlugin"]
4
+ "mappings": "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",
5
+ "names": ["react", "module", "id", "chalk", "out", "viteReactPlugin"]
6
6
  }
@@ -31,10 +31,12 @@ __export(createServer_exports, {
31
31
  createServer: () => createServer
32
32
  });
33
33
  module.exports = __toCommonJS(createServer_exports);
34
+ var import_path = require("path");
34
35
  var import_stream = require("stream");
35
36
  var import_sensible = __toESM(require("@fastify/sensible"));
36
37
  var import_static = __toESM(require("@fastify/static"));
37
38
  var import_fastify = __toESM(require("fastify"));
39
+ var import_fs_extra = require("fs-extra");
38
40
  var import_api = __toESM(require("./plugins/api"));
39
41
  var import_compiler = __toESM(require("./plugins/compiler"));
40
42
  var import_devtools = __toESM(require("./plugins/devtools"));
@@ -59,6 +61,19 @@ async function createServer(config) {
59
61
  },
60
62
  ...config.options.https ? { https: config.options.https } : void 0
61
63
  });
64
+ async function startServer() {
65
+ const serverPath = (0, import_path.join)(config.options.rootDir, "server.ts");
66
+ if (await (0, import_fs_extra.pathExists)(serverPath)) {
67
+ const { register } = require("esbuild-register/dist/node");
68
+ const { unregister } = register();
69
+ try {
70
+ const serverEndpoint = require(serverPath).default;
71
+ serverEndpoint(instance);
72
+ } finally {
73
+ unregister();
74
+ }
75
+ }
76
+ }
62
77
  delegate = config.delegate({
63
78
  log: instance.log,
64
79
  notifyBuildStart: (platform) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vendor/repack/dev-server/src/createServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyB;AAGzB,sBAA4B;AAC5B,oBAA0B;AAC1B,qBAAoB;AAEpB,iBAAsB;AACtB,sBAA2B;AAC3B,sBAA2B;AAE3B,uBAA4B;AAC5B,yBAA8B;AAC9B,iBAAsB;AACtB,mBAAiC;AAQjC,eAAsB,aAAa,QAAuB;AACxD,MAAI;AAGJ,QAAM,eAAW,eAAAA,SAAQ;AAAA,IACvB,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,IAAI,uBAAS;AAAA,QACnB,OAAO,CAAC,OAAO,WAAW,aAAa;AA9B/C;AA+BU,gBAAM,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AACvC,+CAAU,OAAO,UAAU;AAC3B,yBAAS,QAAT,mBAAc,UAAU,KAAK;AAC7B,mBAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,GAAI,OAAO,QAAQ,QAAQ,EAAE,OAAO,OAAO,QAAQ,MAAM,IAAI;AAAA,EAC/D,CAAC;AAED,aAAW,OAAO,SAAS;AAAA,IACzB,KAAK,SAAS;AAAA,IACd,kBAAkB,CAAC,aAAa;AAC9B,eAAS,IAAI,UAAU,KAAK;AAAA,QAC1B,OAAO,sBAAS,WAAW;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,gBAAgB,CAAC,aAAa;AAC5B,eAAS,IAAI,UAAU,KAAK;AAAA,QAC1B,OAAO,sBAAS,WAAW;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,uBAAuB,CAAC,OAAO,UAAU,cAAc;AACrD,eAAS,IAAI,UAAU,KAAK,OAAO,UAAU,SAAS;AAAA,IACxD;AAAA,IACA,2BAA2B,CAAC,EAAE,QAAQ,OAAO,MAAM;AACjD,eAAS,IAAI,cAAc,UAAU,QAAQ,MAAM;AAAA,IACrD;AAAA,EACF,CAAC;AAGD,WAAS,SAAS,OAAO,SAAS;AAChC,SAAK,IAAI,SAAS,OAAO,KAAK,UAAU;AACtC,YAAM,QAAQ,IAAI;AAClB,YAAM,SAAS,SAAS,SAAS,UAAU,MAAM,IAAI;AACrD,YAAM,KAAK,MAAM;AAAA,IACnB,CAAC;AAAA,EACH,CAAC;AAGD,QAAM,SAAS,SAAS,gBAAAC,OAAe;AACvC,QAAM,SAAS,SAAS,WAAAC,SAAW;AAAA,IACjC,SAAS,OAAO;AAAA,IAChB;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,iBAAAC,OAAe;AACvC,QAAM,SAAS,SAAS,WAAAC,SAAW;AAAA,IACjC;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AACD,QAAM,SAAS,SAAS,gBAAAC,SAAgB;AAAA,IACtC;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,mBAAAC,SAAmB;AAAA,IACzC;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,gBAAAC,SAAgB;AAAA,IACtC,SAAS,OAAO;AAAA,EAClB,CAAC;AAED,QAAM,mBAAmB,MAAM,OAAO,gCAAgC,GAAG;AAEzE,QAAM,SAAS,SAAS,cAAAC,SAAe;AAAA,IACrC,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,0BAA0B;AAAA,EAC5B,CAAC;AAMD,WAAS,QAAQ,UAAU,OAAO,SAAS,OAAO,YAAY;AAC5D,UAAM,OAAO,0BAA0B,SAAS;AAEhD,UAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,GAAG;AACxC,QAAI,SAAS,SAAS,MAAM,GAAG;AAC7B,YAAM,OAAO,+BAA+B,qBAAqB;AAAA,IACnE;AAEA,WAAO;AAAA,EACT,CAAC;AAGD,WAAS,IAAI,KAAK,YAAY,SAAS,SAAS,SAAS,CAAC;AAC1D,WAAS,IAAI,WAAW,YAAY,SAAS,SAAS,UAAU,CAAC;AAGjE,iBAAe,QAAQ;AACrB,UAAM,SAAS,OAAO,OAAO,QAAQ,MAAM,OAAO,QAAQ,IAAI;AAAA,EAChE;AAGA,iBAAe,OAAO;AACpB,UAAM,SAAS,MAAM;AAAA,EACvB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AACrB,oBAAyB;AAGzB,sBAA4B;AAC5B,oBAA0B;AAC1B,qBAAoB;AACpB,sBAA2B;AAE3B,iBAAsB;AACtB,sBAA2B;AAC3B,sBAA2B;AAE3B,uBAA4B;AAC5B,yBAA8B;AAC9B,iBAAsB;AACtB,mBAAiC;AAQjC,eAAsB,aAAa,QAAuB;AACxD,MAAI;AAGJ,QAAM,eAAW,eAAAA,SAAQ;AAAA,IACvB,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,IAAI,uBAAS;AAAA,QACnB,OAAO,CAAC,OAAO,WAAW,aAAa;AAhC/C;AAiCU,gBAAM,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AACvC,+CAAU,OAAO,UAAU;AAC3B,yBAAS,QAAT,mBAAc,UAAU,KAAK;AAC7B,mBAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,GAAI,OAAO,QAAQ,QAAQ,EAAE,OAAO,OAAO,QAAQ,MAAM,IAAI;AAAA,EAC/D,CAAC;AAED,iBAAe,cAAc;AAC3B,UAAM,iBAAa,kBAAK,OAAO,QAAQ,SAAS,WAAW;AAC3D,QAAI,UAAM,4BAAW,UAAU,GAAG;AAChC,YAAM,EAAE,SAAS,IAAI,QAAQ,4BAA4B;AACzD,YAAM,EAAE,WAAW,IAAI,SAAS;AAChC,UAAI;AACF,cAAM,iBAAiB,QAAQ,UAAU,EAAE;AAC3C,uBAAe,QAAQ;AAAA,MACzB,UAAE;AACA,mBAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAKA,aAAW,OAAO,SAAS;AAAA,IACzB,KAAK,SAAS;AAAA,IACd,kBAAkB,CAAC,aAAa;AAC9B,eAAS,IAAI,UAAU,KAAK;AAAA,QAC1B,OAAO,sBAAS,WAAW;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,gBAAgB,CAAC,aAAa;AAC5B,eAAS,IAAI,UAAU,KAAK;AAAA,QAC1B,OAAO,sBAAS,WAAW;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,uBAAuB,CAAC,OAAO,UAAU,cAAc;AACrD,eAAS,IAAI,UAAU,KAAK,OAAO,UAAU,SAAS;AAAA,IACxD;AAAA,IACA,2BAA2B,CAAC,EAAE,QAAQ,OAAO,MAAM;AACjD,eAAS,IAAI,cAAc,UAAU,QAAQ,MAAM;AAAA,IACrD;AAAA,EACF,CAAC;AAGD,WAAS,SAAS,OAAO,SAAS;AAChC,SAAK,IAAI,SAAS,OAAO,KAAK,UAAU;AACtC,YAAM,QAAQ,IAAI;AAClB,YAAM,SAAS,SAAS,SAAS,UAAU,MAAM,IAAI;AACrD,YAAM,KAAK,MAAM;AAAA,IACnB,CAAC;AAAA,EACH,CAAC;AAGD,QAAM,SAAS,SAAS,gBAAAC,OAAe;AACvC,QAAM,SAAS,SAAS,WAAAC,SAAW;AAAA,IACjC,SAAS,OAAO;AAAA,IAChB;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,iBAAAC,OAAe;AACvC,QAAM,SAAS,SAAS,WAAAC,SAAW;AAAA,IACjC;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AACD,QAAM,SAAS,SAAS,gBAAAC,SAAgB;AAAA,IACtC;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,mBAAAC,SAAmB;AAAA,IACzC;AAAA,EACF,CAAC;AACD,QAAM,SAAS,SAAS,gBAAAC,SAAgB;AAAA,IACtC,SAAS,OAAO;AAAA,EAClB,CAAC;AAED,QAAM,mBAAmB,MAAM,OAAO,gCAAgC,GAAG;AAEzE,QAAM,SAAS,SAAS,cAAAC,SAAe;AAAA,IACrC,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,0BAA0B;AAAA,EAC5B,CAAC;AAMD,WAAS,QAAQ,UAAU,OAAO,SAAS,OAAO,YAAY;AAC5D,UAAM,OAAO,0BAA0B,SAAS;AAEhD,UAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,GAAG;AACxC,QAAI,SAAS,SAAS,MAAM,GAAG;AAC7B,YAAM,OAAO,+BAA+B,qBAAqB;AAAA,IACnE;AAEA,WAAO;AAAA,EACT,CAAC;AAGD,WAAS,IAAI,KAAK,YAAY,SAAS,SAAS,SAAS,CAAC;AAC1D,WAAS,IAAI,WAAW,YAAY,SAAS,SAAS,UAAU,CAAC;AAGjE,iBAAe,QAAQ;AACrB,UAAM,SAAS,OAAO,OAAO,QAAQ,MAAM,OAAO,QAAQ,IAAI;AAAA,EAChE;AAGA,iBAAe,OAAO;AACpB,UAAM,SAAS,MAAM;AAAA,EACvB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": ["Fastify", "fastifySensible", "wssPlugin", "multipartPlugin", "apiPlugin", "compilerPlugin", "symbolicatePlugin", "devtoolsPlugin", "fastifyStatic"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/cli",
3
- "version": "1.61.1",
3
+ "version": "1.61.3",
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.61.1",
32
- "@tamagui/create-theme": "1.61.1",
33
- "@tamagui/generate-themes": "1.61.1",
34
- "@tamagui/static": "1.61.1",
35
- "@tamagui/types": "1.61.1",
36
- "@tamagui/vite-native-hmr": "1.61.1",
37
- "@tamagui/vite-native-swc": "1.61.1",
38
- "@tamagui/vite-plugin": "1.61.1",
31
+ "@tamagui/build": "1.61.3",
32
+ "@tamagui/create-theme": "1.61.3",
33
+ "@tamagui/generate-themes": "1.61.3",
34
+ "@tamagui/static": "1.61.3",
35
+ "@tamagui/types": "1.61.3",
36
+ "@tamagui/vite-native-hmr": "1.61.3",
37
+ "@tamagui/vite-native-swc": "1.61.3",
38
+ "@tamagui/vite-plugin": "1.61.3",
39
39
  "@types/compression": "^1.7.2",
40
40
  "@types/morgan": "^1.9.3",
41
41
  "@vitejs/plugin-react": "^4.0.4",
@@ -58,6 +58,8 @@
58
58
  "fs-extra": "^11.1.0",
59
59
  "get-port": "^6.1.2",
60
60
  "graphology": "^0.24.1",
61
+ "graphql": "^16.8.0",
62
+ "graphql-yoga": "^4.0.4",
61
63
  "http-proxy-middleware": "^2.0.6",
62
64
  "kill-port": "^2.0.1",
63
65
  "lodash.debounce": "^4.0.8",
package/src/dev.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { readFile, writeFile } from 'fs/promises'
2
2
  import { dirname, join, relative } from 'path'
3
3
 
4
+ import * as babel from '@babel/core'
4
5
  import { CLIResolvedOptions } from '@tamagui/types'
5
6
  import viteReactPlugin, {
6
7
  swcTransform,
@@ -56,25 +57,6 @@ export const dev = async (options: CLIResolvedOptions) => {
56
57
  mode: 'development',
57
58
  clearScreen: false,
58
59
 
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
- // },
77
-
78
60
  plugins: [
79
61
  ...plugins,
80
62
 
@@ -108,9 +90,6 @@ export const dev = async (options: CLIResolvedOptions) => {
108
90
  // we have to remove jsx before we can parse imports...
109
91
  source = (await transformForBuild(id, source))?.code || ''
110
92
 
111
- console.log('FROM-----', code)
112
- console.log('TO------', source)
113
-
114
93
  const importsMap = {}
115
94
 
116
95
  // parse imports of modules into ids:
@@ -124,7 +103,6 @@ export const dev = async (options: CLIResolvedOptions) => {
124
103
 
125
104
  if (importName) {
126
105
  const id = await getVitePath(file, importName)
127
- console.log('replace', importName, id)
128
106
  if (!id) {
129
107
  console.warn('???')
130
108
  continue
@@ -157,11 +135,15 @@ export const dev = async (options: CLIResolvedOptions) => {
157
135
 
158
136
  const hotUpdateSource = `exports = ((exports) => {
159
137
  const require = createRequire(${JSON.stringify(importsMap, null, 2)})
160
- ${source.replace(`import.meta.hot.accept(() => {})`, ``)};
138
+ ${source
139
+ .replace(`import.meta.hot.accept(() => {})`, ``)
140
+ // replace import.meta.glob with empty array in hot reloads
141
+ .replaceAll(
142
+ /import.meta.glob\(.*\)/gi,
143
+ `globalThis['__importMetaGlobbed'] || {}`
144
+ )};
161
145
  return exports })({})`
162
146
 
163
- console.log('hotUpdateSource', hotUpdateSource)
164
-
165
147
  hotUpdatedCJSFiles.set(id, hotUpdateSource)
166
148
  } catch (err) {
167
149
  // rome-ignore lint/suspicious/noConsoleLog: <explanation>
@@ -250,9 +232,99 @@ export const dev = async (options: CLIResolvedOptions) => {
250
232
  done = res
251
233
  })
252
234
 
235
+ const jsxRuntime = {
236
+ alias: 'virtual:react-jsx',
237
+ contents: await readFile(
238
+ require.resolve('@tamagui/react-native-prebuilt/jsx-runtime'),
239
+ 'utf-8'
240
+ ),
241
+ } as const
242
+
243
+ const virtualModules = {
244
+ 'react-native': {
245
+ alias: 'virtual:react-native',
246
+ contents: await readFile(
247
+ require.resolve('@tamagui/react-native-prebuilt'),
248
+ 'utf-8'
249
+ ),
250
+ },
251
+ react: {
252
+ alias: 'virtual:react',
253
+ contents: await readFile(
254
+ require.resolve('@tamagui/react-native-prebuilt/react'),
255
+ 'utf-8'
256
+ ),
257
+ },
258
+ 'react/jsx-runtime': jsxRuntime,
259
+ 'react/jsx-dev-runtime': jsxRuntime,
260
+ } as const
261
+
262
+ const swapRnPlugin = {
263
+ name: `swap-react-native`,
264
+ enforce: 'pre',
265
+
266
+ resolveId(id) {
267
+ if (id.startsWith('react-native/Libraries')) {
268
+ return `virtual:rn-internals:${id}`
269
+ }
270
+
271
+ for (const targetId in virtualModules) {
272
+ if (id === targetId || id.includes(`node_modules/${targetId}/`)) {
273
+ const info = virtualModules[targetId]
274
+ return info.alias
275
+ }
276
+ }
277
+ },
278
+
279
+ load(id) {
280
+ if (id.startsWith('virtual:rn-internals')) {
281
+ const idOut = id.replace('virtual:rn-internals:', '')
282
+ return `const val = __cachedModules["${idOut}"]
283
+ export const PressabilityDebugView = val.PressabilityDebugView
284
+ export default val ? val.default || val : val`
285
+ }
286
+
287
+ for (const targetId in virtualModules) {
288
+ const info = virtualModules[targetId as keyof typeof virtualModules]
289
+ if (id === info.alias) {
290
+ return info.contents
291
+ }
292
+ }
293
+ },
294
+ } as const
295
+
296
+ async function babelReanimated(input: string, filename: string) {
297
+ return await new Promise<string>((res, rej) => {
298
+ babel.transform(
299
+ input,
300
+ {
301
+ plugins: ['react-native-reanimated/plugin'],
302
+ filename,
303
+ },
304
+ (err: any, result) => {
305
+ if (!result || err) rej(err || 'no res')
306
+ res(result!.code!)
307
+ }
308
+ )
309
+ })
310
+ }
311
+
253
312
  // build app
254
313
  const buildConfig = {
255
314
  plugins: [
315
+ swapRnPlugin,
316
+
317
+ {
318
+ name: 'reanimated',
319
+
320
+ async transform(code, id) {
321
+ if (code.includes('worklet')) {
322
+ const out = await babelReanimated(code, id)
323
+ return out
324
+ }
325
+ },
326
+ },
327
+
256
328
  {
257
329
  name: 'tamagui-env-native',
258
330
  config() {
@@ -266,16 +338,6 @@ export const dev = async (options: CLIResolvedOptions) => {
266
338
 
267
339
  viteRNClientPlugin,
268
340
 
269
- // viteReactPlugin({
270
- // tsDecorators: true,
271
- // mode: 'serve',
272
- // }),
273
-
274
- // nativePlugin({
275
- // port,
276
- // mode: 'serve',
277
- // }),
278
-
279
341
  nativePlugin({
280
342
  port,
281
343
  mode: 'build',
@@ -292,17 +354,20 @@ export const dev = async (options: CLIResolvedOptions) => {
292
354
  build: {
293
355
  ssr: false,
294
356
  minify: false,
357
+ commonjsOptions: {
358
+ transformMixedEsModules: true,
359
+ },
295
360
  rollupOptions: {
296
361
  treeshake: false,
297
362
  preserveEntrySignatures: 'strict',
298
363
  output: {
364
+ preserveModules: true,
299
365
  format: 'cjs',
300
366
  },
301
367
  },
302
368
  },
303
369
  mode: 'development',
304
370
  define: {
305
- __DEV__: 'true',
306
371
  'process.env.NODE_ENV': `"development"`,
307
372
  },
308
373
  } satisfies InlineConfig
@@ -328,12 +393,10 @@ export const dev = async (options: CLIResolvedOptions) => {
328
393
  }
329
394
 
330
395
  return `
331
- ___modules___["${module.fileName}"] = ((exports, module2) => {
396
+ ___modules___["${module.fileName}"] = ((exports, module) => {
332
397
  const require = createRequire(${JSON.stringify(importsMap, null, 2)})
333
398
 
334
- ${module.code
335
- .replace(`'use strict';`, '')
336
- .replace('module.exports = ', 'module2.exports = ')}
399
+ ${module.code}
337
400
  })
338
401
 
339
402
  ${
@@ -357,30 +420,14 @@ __require("${module.fileName}")
357
420
 
358
421
  appCode = appCode
359
422
  // this can be done in the individual file transform
360
- .replace('undefined.accept(() => {})', '')
361
- .replace('undefined.accept(function() {});', '') // swc
362
- .replace(
363
- `var require_react_refresh_runtime_development =`,
364
- `var require_react_refresh_runtime_development = globalThis['__RequireReactRefreshRuntime__'] = `
365
- )
366
- .replace(
367
- `var require_Pressability = `,
368
- `var require_Pressability = globalThis['__ReactPressability__'] =`
369
- )
370
- .replace(
371
- `var require_Pressability = `,
372
- `var require_Pressability = globalThis['__ReactPressability__'] =`
373
- )
374
- .replace(
375
- `var require_usePressability = `,
376
- `var require_usePressability = globalThis['__ReactUsePressability__'] =`
377
- )
423
+ .replaceAll('undefined.accept(() => {})', '')
424
+ .replaceAll('undefined.accept(function() {});', '') // swc
378
425
 
379
426
  const templateFile = join(packageRootDir, 'react-native-template.js')
380
427
 
381
428
  const out = (await readFile(templateFile, 'utf-8')) + appCode
382
429
 
383
- await writeFile(join(process.cwd(), '.tamagui', 'bundle.js'), out, 'utf-8')
430
+ void writeFile(join(process.cwd(), '.tamagui', 'bundle.js'), out, 'utf-8')
384
431
 
385
432
  done(out)
386
433
  isBuilding = null
@@ -1,9 +1,11 @@
1
+ import { join } from 'path'
1
2
  import { Writable } from 'stream'
2
3
 
3
4
  // import debuggerAppPath from '@callstack/repack-debugger-app'
4
5
  import fastifySensible from '@fastify/sensible'
5
6
  import fastifyStatic from '@fastify/static'
6
7
  import Fastify from 'fastify'
8
+ import { pathExists } from 'fs-extra'
7
9
 
8
10
  import apiPlugin from './plugins/api'
9
11
  import compilerPlugin from './plugins/compiler'
@@ -39,6 +41,23 @@ export async function createServer(config: Server.Config) {
39
41
  ...(config.options.https ? { https: config.options.https } : undefined),
40
42
  })
41
43
 
44
+ async function startServer() {
45
+ const serverPath = join(config.options.rootDir, 'server.ts')
46
+ if (await pathExists(serverPath)) {
47
+ const { register } = require('esbuild-register/dist/node')
48
+ const { unregister } = register()
49
+ try {
50
+ const serverEndpoint = require(serverPath).default
51
+ serverEndpoint(instance)
52
+ } finally {
53
+ unregister()
54
+ }
55
+ }
56
+ }
57
+
58
+ // disable for demo
59
+ // void startServer()
60
+
42
61
  delegate = config.delegate({
43
62
  log: instance.log,
44
63
  notifyBuildStart: (platform) => {
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAiBnD,eAAO,MAAM,GAAG,YAAmB,kBAAkB,kBA+ZpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../../../../src/vendor/repack/dev-server/src/createServer.ts"],"names":[],"mappings":";AAcA,OAAO,EAAY,MAAM,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;;;;GAiHvD"}
1
+ {"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../../../../src/vendor/repack/dev-server/src/createServer.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAY,MAAM,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;;;;GAkIvD"}