@tamagui/cli 1.14.8 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/build.js.map +2 -2
  2. package/dist/cjs/cli.js +8 -2
  3. package/dist/cjs/cli.js.map +2 -2
  4. package/dist/cjs/dev/createDevServer.js.map +2 -2
  5. package/dist/cjs/dev.js.map +2 -2
  6. package/dist/cjs/generate.js.map +2 -2
  7. package/dist/cjs/index.js +0 -6
  8. package/dist/cjs/index.js.map +2 -2
  9. package/dist/cjs/studio.js +54 -42
  10. package/dist/cjs/studio.js.map +3 -3
  11. package/dist/cjs/tamaguiConfigUtils.js +34 -12
  12. package/dist/cjs/tamaguiConfigUtils.js.map +3 -3
  13. package/dist/cjs/test.js.map +2 -2
  14. package/dist/cjs/utils.js +0 -1
  15. package/dist/cjs/utils.js.map +2 -2
  16. package/dist/cjs/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +0 -1
  17. package/dist/cjs/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +2 -2
  18. package/dist/esm/build.js.map +2 -2
  19. package/dist/esm/build.mjs.map +2 -2
  20. package/dist/esm/cli.js +8 -2
  21. package/dist/esm/cli.js.map +2 -2
  22. package/dist/esm/cli.mjs +8 -2
  23. package/dist/esm/cli.mjs.map +2 -2
  24. package/dist/esm/dev/createDevServer.js.map +2 -2
  25. package/dist/esm/dev/createDevServer.mjs.map +2 -2
  26. package/dist/esm/dev.js.map +2 -2
  27. package/dist/esm/dev.mjs.map +2 -2
  28. package/dist/esm/generate.js.map +2 -2
  29. package/dist/esm/generate.mjs.map +2 -2
  30. package/dist/esm/index.js +0 -6
  31. package/dist/esm/index.js.map +2 -2
  32. package/dist/esm/index.mjs +0 -6
  33. package/dist/esm/index.mjs.map +2 -2
  34. package/dist/esm/studio.js +54 -42
  35. package/dist/esm/studio.js.map +2 -2
  36. package/dist/esm/studio.mjs +54 -42
  37. package/dist/esm/studio.mjs.map +2 -2
  38. package/dist/esm/tamaguiConfigUtils.js +34 -12
  39. package/dist/esm/tamaguiConfigUtils.js.map +2 -2
  40. package/dist/esm/tamaguiConfigUtils.mjs +34 -12
  41. package/dist/esm/tamaguiConfigUtils.mjs.map +2 -2
  42. package/dist/esm/test.js.map +2 -2
  43. package/dist/esm/test.mjs.map +2 -2
  44. package/dist/esm/utils.js +0 -1
  45. package/dist/esm/utils.js.map +2 -2
  46. package/dist/esm/utils.mjs +0 -1
  47. package/dist/esm/utils.mjs.map +2 -2
  48. package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +0 -1
  49. package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +2 -2
  50. package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs +0 -1
  51. package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs.map +2 -2
  52. package/package.json +9 -9
  53. package/src/build.ts +2 -3
  54. package/src/cli.ts +8 -2
  55. package/src/dev/createDevServer.ts +3 -2
  56. package/src/dev.ts +2 -2
  57. package/src/generate.ts +5 -5
  58. package/src/index.ts +0 -7
  59. package/src/studio.ts +61 -47
  60. package/src/tamaguiConfigUtils.ts +38 -42
  61. package/src/test.ts +2 -2
  62. package/src/utils.ts +3 -7
  63. package/src/vendor/repack/dev-server/src/plugins/wss/wssPlugin.ts +0 -2
  64. package/types/build.d.ts +2 -2
  65. package/types/build.d.ts.map +1 -1
  66. package/types/dev/createDevServer.d.ts +2 -2
  67. package/types/dev/createDevServer.d.ts.map +1 -1
  68. package/types/dev.d.ts +2 -2
  69. package/types/dev.d.ts.map +1 -1
  70. package/types/generate.d.ts +3 -3
  71. package/types/generate.d.ts.map +1 -1
  72. package/types/index.d.ts.map +1 -1
  73. package/types/studio.d.ts +2 -2
  74. package/types/studio.d.ts.map +1 -1
  75. package/types/tamaguiConfigUtils.d.ts +3 -3
  76. package/types/tamaguiConfigUtils.d.ts.map +1 -1
  77. package/types/test.d.ts +2 -2
  78. package/types/test.d.ts.map +1 -1
  79. package/types/utils.d.ts +2 -2
  80. package/types/utils.d.ts.map +1 -1
  81. package/types/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.d.ts +1 -2
  82. package/types/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.d.ts.map +1 -1
  83. package/types/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.d.ts +1 -2
  84. package/types/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.d.ts.map +1 -1
  85. package/types/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.d.ts +1 -2
  86. package/types/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.d.ts.map +1 -1
  87. package/types/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.d.ts +1 -2
  88. package/types/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.d.ts.map +1 -1
  89. package/types/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.d.ts +1 -2
  90. package/types/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.d.ts.map +1 -1
  91. package/types/vendor/repack/dev-server/src/plugins/wss/wssPlugin.d.ts +1 -2
  92. package/types/vendor/repack/dev-server/src/plugins/wss/wssPlugin.d.ts.map +1 -1
  93. package/src/types.ts +0 -31
  94. package/types/types.d.ts +0 -30
@@ -1,58 +1,70 @@
1
1
  import { createRequire } from "module";
2
2
  import { dirname } from "path";
3
3
  import { tamaguiPlugin } from "@tamagui/vite-plugin";
4
+ import viteReactPlugin from "@vitejs/plugin-react-swc";
4
5
  import chalk from "chalk";
5
6
  import express from "express";
6
7
  import proxy from "express-http-proxy";
7
8
  import fs from "fs-extra";
8
- import morgan from "morgan";
9
9
  import { createServer } from "vite";
10
10
  import { watchTamaguiConfig } from "./tamaguiConfigUtils.js";
11
11
  const resolve = "url" in import.meta ? createRequire(import.meta.url).resolve : require.resolve;
12
- const studio = async (options) => {
12
+ const studio = async (options, isRemote = true) => {
13
13
  var _a;
14
- const { default: getPort } = await import("get-port");
15
- const { paths } = options;
16
- const root = dirname(resolve("@takeout/studio/entry"));
17
- const [serverPort, vitePort] = await Promise.all([
18
- getPort({
19
- port: 1421
20
- }),
21
- getPort({
22
- port: 1422
23
- })
24
- ]);
25
- const server = await createServer({
26
- root,
27
- server: {
28
- // open: true,
29
- host: options.host,
30
- port: vitePort
31
- },
32
- plugins: [
33
- tamaguiPlugin({
34
- components: ["tamagui"]
35
- })
36
- ]
37
- });
38
- await server.listen();
14
+ process.env.TAMAGUI_TARGET = "web";
39
15
  const configWatchPromise = watchTamaguiConfig(options);
40
- const info = (_a = server.httpServer) == null ? void 0 : _a.address();
41
- const app = express();
42
- app.disable("x-powered-by");
43
- app.use(express.static(paths.dotDir, { maxAge: "2h" }));
44
- app.use(morgan("tiny"));
45
- app.get("/conf", async (req, res) => {
46
- const conf = await fs.readJSON(paths.conf);
47
- res.status(200).json(conf);
16
+ let localServerPromise = new Promise(() => {
48
17
  });
49
- app.use("/", proxy(`${info.address}:${vitePort}`));
50
- const appServer = app.listen(serverPort);
51
- console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`));
52
- await Promise.allSettled([
53
- configWatchPromise,
54
- new Promise((res) => appServer.on("close", res))
55
- ]);
18
+ if (!isRemote) {
19
+ process.env.VITE_IS_LOCAL = "1";
20
+ process.stdout.on("error", function(err) {
21
+ if (err.code == "EPIPE") {
22
+ process.exit(0);
23
+ }
24
+ });
25
+ const { default: getPort } = await import("get-port");
26
+ const { paths } = options;
27
+ const root = dirname(resolve("@takeout/studio/entry"));
28
+ const [serverPort, vitePort] = await Promise.all([
29
+ getPort({
30
+ port: 1421
31
+ }),
32
+ getPort({
33
+ port: 1422
34
+ })
35
+ ]);
36
+ const server = await createServer({
37
+ root,
38
+ server: {
39
+ host: options.host,
40
+ port: vitePort,
41
+ hmr: true,
42
+ cors: true
43
+ },
44
+ plugins: [
45
+ tamaguiPlugin({
46
+ components: ["tamagui"]
47
+ }),
48
+ viteReactPlugin()
49
+ ]
50
+ });
51
+ await server.listen();
52
+ const info = (_a = server.httpServer) == null ? void 0 : _a.address();
53
+ const app = express();
54
+ app.disable("x-powered-by");
55
+ app.use(express.static(paths.dotDir, { maxAge: "2h" }));
56
+ app.get("/conf.json", async (req, res) => {
57
+ const conf = await fs.readJSON(paths.conf);
58
+ res.status(200).json(conf);
59
+ });
60
+ app.use("/", proxy(`${info.address}:${vitePort}`));
61
+ const appServer = app.listen(serverPort);
62
+ localServerPromise = new Promise((res) => appServer.on("close", res));
63
+ console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`));
64
+ } else {
65
+ console.log(`Open `, chalk.green(`https://studio.tamagui.dev`), ` to load studio`);
66
+ }
67
+ await Promise.allSettled([configWatchPromise, localServerPromise]);
56
68
  };
57
69
  export {
58
70
  studio
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/studio.ts"],
4
- "sourcesContent": ["import { createRequire } from 'module'\nimport { AddressInfo } from 'net'\nimport { dirname } from 'path'\n\nimport { tamaguiPlugin } from '@tamagui/vite-plugin'\nimport chalk from 'chalk'\nimport express from 'express'\nimport proxy from 'express-http-proxy'\nimport fs from 'fs-extra'\nimport morgan from 'morgan'\nimport { createServer } from 'vite'\n\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\n\nconst resolve =\n 'url' in import.meta ? createRequire(import.meta.url).resolve : require.resolve\n\nexport const studio = async (options: ResolvedOptions) => {\n const { default: getPort } = await import('get-port')\n const { paths } = options\n const root = dirname(resolve('@takeout/studio/entry'))\n\n const [serverPort, vitePort] = await Promise.all([\n getPort({\n port: 1421,\n }),\n getPort({\n port: 1422,\n }),\n ])\n\n const server = await createServer({\n root,\n server: {\n // open: true,\n host: options.host,\n port: vitePort,\n },\n plugins: [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n ],\n })\n\n // these can be lazy loaded (eventually should put in own process)\n await server.listen()\n\n const configWatchPromise = watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n const app = express()\n\n app.disable('x-powered-by')\n app.use(express.static(paths.dotDir, { maxAge: '2h' }))\n app.use(morgan('tiny'))\n\n app.get('/conf', async (req, res) => {\n const conf = await fs.readJSON(paths.conf)\n res.status(200).json(conf)\n })\n\n app.use('/', proxy(`${info.address}:${vitePort}`))\n\n const appServer = app.listen(serverPort)\n\n console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))\n\n await Promise.allSettled([\n configWatchPromise,\n new Promise((res) => appServer.on('close', res)),\n ])\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,eAAe;AAExB,SAAS,qBAAqB;AAC9B,OAAO,WAAW;AAClB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,OAAO,YAAY;AACnB,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAGnC,MAAM,UACJ,SAAS,cAAc,cAAc,YAAY,GAAG,EAAE,UAAU,QAAQ;AAEnE,MAAM,SAAS,OAAO,YAA6B;AAlB1D;AAmBE,QAAM,EAAE,SAAS,QAAQ,IAAI,MAAM,OAAO,UAAU;AACpD,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,OAAO,QAAQ,QAAQ,uBAAuB,CAAC;AAErD,QAAM,CAAC,YAAY,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC/C,QAAQ;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AAED,QAAM,SAAS,MAAM,aAAa;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA;AAAA,MAEN,MAAM,QAAQ;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,cAAc;AAAA,QACZ,YAAY,CAAC,SAAS;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAGD,QAAM,OAAO,OAAO;AAEpB,QAAM,qBAAqB,mBAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAEhC,QAAM,MAAM,QAAQ;AAEpB,MAAI,QAAQ,cAAc;AAC1B,MAAI,IAAI,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AACtD,MAAI,IAAI,OAAO,MAAM,CAAC;AAEtB,MAAI,IAAI,SAAS,OAAO,KAAK,QAAQ;AACnC,UAAM,OAAO,MAAM,GAAG,SAAS,MAAM,IAAI;AACzC,QAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,EAC3B,CAAC;AAED,MAAI,IAAI,KAAK,MAAM,GAAG,KAAK,WAAW,UAAU,CAAC;AAEjD,QAAM,YAAY,IAAI,OAAO,UAAU;AAEvC,UAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,YAAY,CAAC;AAEzE,QAAM,QAAQ,WAAW;AAAA,IACvB;AAAA,IACA,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAAA,EACjD,CAAC;AACH;",
4
+ "sourcesContent": ["import { createRequire } from 'module'\nimport { AddressInfo } from 'net'\nimport { dirname } from 'path'\n\nimport { CLIResolvedOptions } from '@tamagui/types'\nimport { tamaguiPlugin } from '@tamagui/vite-plugin'\nimport viteReactPlugin from '@vitejs/plugin-react-swc'\nimport chalk from 'chalk'\nimport express from 'express'\nimport proxy from 'express-http-proxy'\nimport fs from 'fs-extra'\nimport { createServer } from 'vite'\n\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\n\nconst resolve =\n 'url' in import.meta ? createRequire(import.meta.url).resolve : require.resolve\n\nexport const studio = async (options: CLIResolvedOptions, isRemote = true) => {\n process.env.TAMAGUI_TARGET = 'web'\n\n const configWatchPromise = watchTamaguiConfig(options)\n let localServerPromise = new Promise(() => {})\n if (!isRemote) {\n process.env.VITE_IS_LOCAL = '1'\n\n process.stdout.on('error', function (err) {\n if (err.code == 'EPIPE') {\n process.exit(0)\n }\n })\n const { default: getPort } = await import('get-port')\n const { paths } = options\n const root = dirname(resolve('@takeout/studio/entry'))\n\n const [serverPort, vitePort] = await Promise.all([\n getPort({\n port: 1421,\n }),\n getPort({\n port: 1422,\n }),\n ])\n\n const server = await createServer({\n root,\n server: {\n host: options.host,\n port: vitePort,\n hmr: true,\n cors: true,\n },\n plugins: [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n viteReactPlugin(),\n ],\n })\n\n // these can be lazy loaded (eventually should put in own process)\n await server.listen()\n\n const info = server.httpServer?.address() as AddressInfo\n\n const app = express()\n\n app.disable('x-powered-by')\n app.use(express.static(paths.dotDir, { maxAge: '2h' }))\n // app.use(morgan('tiny'))\n\n app.get('/conf.json', async (req, res) => {\n const conf = await fs.readJSON(paths.conf)\n res.status(200).json(conf)\n })\n\n app.use('/', proxy(`${info.address}:${vitePort}`))\n\n const appServer = app.listen(serverPort)\n\n localServerPromise = new Promise((res) => appServer.on('close', res))\n\n console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))\n } else {\n console.log(`Open `, chalk.green(`https://studio.tamagui.dev`), ` to load studio`)\n }\n\n await Promise.allSettled([configWatchPromise, localServerPromise])\n}\n"],
5
+ "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,eAAe;AAGxB,SAAS,qBAAqB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,WAAW;AAClB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAEnC,MAAM,UACJ,SAAS,cAAc,cAAc,YAAY,GAAG,EAAE,UAAU,QAAQ;AAEnE,MAAM,SAAS,OAAO,SAA6B,WAAW,SAAS;AAlB9E;AAmBE,UAAQ,IAAI,iBAAiB;AAE7B,QAAM,qBAAqB,mBAAmB,OAAO;AACrD,MAAI,qBAAqB,IAAI,QAAQ,MAAM;AAAA,EAAC,CAAC;AAC7C,MAAI,CAAC,UAAU;AACb,YAAQ,IAAI,gBAAgB;AAE5B,YAAQ,OAAO,GAAG,SAAS,SAAU,KAAK;AACxC,UAAI,IAAI,QAAQ,SAAS;AACvB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AACD,UAAM,EAAE,SAAS,QAAQ,IAAI,MAAM,OAAO,UAAU;AACpD,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,OAAO,QAAQ,QAAQ,uBAAuB,CAAC;AAErD,UAAM,CAAC,YAAY,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC/C,QAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAC;AAAA,MACD,QAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAC;AAAA,IACH,CAAC;AAED,UAAM,SAAS,MAAM,aAAa;AAAA,MAChC;AAAA,MACA,QAAQ;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,SAAS;AAAA,QACP,cAAc;AAAA,UACZ,YAAY,CAAC,SAAS;AAAA,QACxB,CAAC;AAAA,QACD,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAGD,UAAM,OAAO,OAAO;AAEpB,UAAM,QAAO,YAAO,eAAP,mBAAmB;AAEhC,UAAM,MAAM,QAAQ;AAEpB,QAAI,QAAQ,cAAc;AAC1B,QAAI,IAAI,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AAGtD,QAAI,IAAI,cAAc,OAAO,KAAK,QAAQ;AACxC,YAAM,OAAO,MAAM,GAAG,SAAS,MAAM,IAAI;AACzC,UAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,IAC3B,CAAC;AAED,QAAI,IAAI,KAAK,MAAM,GAAG,KAAK,WAAW,UAAU,CAAC;AAEjD,UAAM,YAAY,IAAI,OAAO,UAAU;AAEvC,yBAAqB,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAEpE,YAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,YAAY,CAAC;AAAA,EAC3E,OAAO;AACL,YAAQ,IAAI,SAAS,MAAM,MAAM,4BAA4B,GAAG,iBAAiB;AAAA,EACnF;AAEA,QAAM,QAAQ,WAAW,CAAC,oBAAoB,kBAAkB,CAAC;AACnE;",
6
6
  "names": []
7
7
  }
@@ -1,58 +1,70 @@
1
1
  import { createRequire } from "module";
2
2
  import { dirname } from "path";
3
3
  import { tamaguiPlugin } from "@tamagui/vite-plugin";
4
+ import viteReactPlugin from "@vitejs/plugin-react-swc";
4
5
  import chalk from "chalk";
5
6
  import express from "express";
6
7
  import proxy from "express-http-proxy";
7
8
  import fs from "fs-extra";
8
- import morgan from "morgan";
9
9
  import { createServer } from "vite";
10
10
  import { watchTamaguiConfig } from "./tamaguiConfigUtils.js";
11
11
  const resolve = "url" in import.meta ? createRequire(import.meta.url).resolve : require.resolve;
12
- const studio = async (options) => {
12
+ const studio = async (options, isRemote = true) => {
13
13
  var _a;
14
- const { default: getPort } = await import("get-port");
15
- const { paths } = options;
16
- const root = dirname(resolve("@takeout/studio/entry"));
17
- const [serverPort, vitePort] = await Promise.all([
18
- getPort({
19
- port: 1421
20
- }),
21
- getPort({
22
- port: 1422
23
- })
24
- ]);
25
- const server = await createServer({
26
- root,
27
- server: {
28
- // open: true,
29
- host: options.host,
30
- port: vitePort
31
- },
32
- plugins: [
33
- tamaguiPlugin({
34
- components: ["tamagui"]
35
- })
36
- ]
37
- });
38
- await server.listen();
14
+ process.env.TAMAGUI_TARGET = "web";
39
15
  const configWatchPromise = watchTamaguiConfig(options);
40
- const info = (_a = server.httpServer) == null ? void 0 : _a.address();
41
- const app = express();
42
- app.disable("x-powered-by");
43
- app.use(express.static(paths.dotDir, { maxAge: "2h" }));
44
- app.use(morgan("tiny"));
45
- app.get("/conf", async (req, res) => {
46
- const conf = await fs.readJSON(paths.conf);
47
- res.status(200).json(conf);
16
+ let localServerPromise = new Promise(() => {
48
17
  });
49
- app.use("/", proxy(`${info.address}:${vitePort}`));
50
- const appServer = app.listen(serverPort);
51
- console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`));
52
- await Promise.allSettled([
53
- configWatchPromise,
54
- new Promise((res) => appServer.on("close", res))
55
- ]);
18
+ if (!isRemote) {
19
+ process.env.VITE_IS_LOCAL = "1";
20
+ process.stdout.on("error", function(err) {
21
+ if (err.code == "EPIPE") {
22
+ process.exit(0);
23
+ }
24
+ });
25
+ const { default: getPort } = await import("get-port");
26
+ const { paths } = options;
27
+ const root = dirname(resolve("@takeout/studio/entry"));
28
+ const [serverPort, vitePort] = await Promise.all([
29
+ getPort({
30
+ port: 1421
31
+ }),
32
+ getPort({
33
+ port: 1422
34
+ })
35
+ ]);
36
+ const server = await createServer({
37
+ root,
38
+ server: {
39
+ host: options.host,
40
+ port: vitePort,
41
+ hmr: true,
42
+ cors: true
43
+ },
44
+ plugins: [
45
+ tamaguiPlugin({
46
+ components: ["tamagui"]
47
+ }),
48
+ viteReactPlugin()
49
+ ]
50
+ });
51
+ await server.listen();
52
+ const info = (_a = server.httpServer) == null ? void 0 : _a.address();
53
+ const app = express();
54
+ app.disable("x-powered-by");
55
+ app.use(express.static(paths.dotDir, { maxAge: "2h" }));
56
+ app.get("/conf.json", async (req, res) => {
57
+ const conf = await fs.readJSON(paths.conf);
58
+ res.status(200).json(conf);
59
+ });
60
+ app.use("/", proxy(`${info.address}:${vitePort}`));
61
+ const appServer = app.listen(serverPort);
62
+ localServerPromise = new Promise((res) => appServer.on("close", res));
63
+ console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`));
64
+ } else {
65
+ console.log(`Open `, chalk.green(`https://studio.tamagui.dev`), ` to load studio`);
66
+ }
67
+ await Promise.allSettled([configWatchPromise, localServerPromise]);
56
68
  };
57
69
  export {
58
70
  studio
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/studio.ts"],
4
- "sourcesContent": ["import { createRequire } from 'module'\nimport { AddressInfo } from 'net'\nimport { dirname } from 'path'\n\nimport { tamaguiPlugin } from '@tamagui/vite-plugin'\nimport chalk from 'chalk'\nimport express from 'express'\nimport proxy from 'express-http-proxy'\nimport fs from 'fs-extra'\nimport morgan from 'morgan'\nimport { createServer } from 'vite'\n\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\nimport { ResolvedOptions } from './types.js'\n\nconst resolve =\n 'url' in import.meta ? createRequire(import.meta.url).resolve : require.resolve\n\nexport const studio = async (options: ResolvedOptions) => {\n const { default: getPort } = await import('get-port')\n const { paths } = options\n const root = dirname(resolve('@takeout/studio/entry'))\n\n const [serverPort, vitePort] = await Promise.all([\n getPort({\n port: 1421,\n }),\n getPort({\n port: 1422,\n }),\n ])\n\n const server = await createServer({\n root,\n server: {\n // open: true,\n host: options.host,\n port: vitePort,\n },\n plugins: [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n ],\n })\n\n // these can be lazy loaded (eventually should put in own process)\n await server.listen()\n\n const configWatchPromise = watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n\n const app = express()\n\n app.disable('x-powered-by')\n app.use(express.static(paths.dotDir, { maxAge: '2h' }))\n app.use(morgan('tiny'))\n\n app.get('/conf', async (req, res) => {\n const conf = await fs.readJSON(paths.conf)\n res.status(200).json(conf)\n })\n\n app.use('/', proxy(`${info.address}:${vitePort}`))\n\n const appServer = app.listen(serverPort)\n\n console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))\n\n await Promise.allSettled([\n configWatchPromise,\n new Promise((res) => appServer.on('close', res)),\n ])\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,eAAe;AAExB,SAAS,qBAAqB;AAC9B,OAAO,WAAW;AAClB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,OAAO,YAAY;AACnB,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAGnC,MAAM,UACJ,SAAS,cAAc,cAAc,YAAY,GAAG,EAAE,UAAU,QAAQ;AAEnE,MAAM,SAAS,OAAO,YAA6B;AAlB1D;AAmBE,QAAM,EAAE,SAAS,QAAQ,IAAI,MAAM,OAAO,UAAU;AACpD,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,OAAO,QAAQ,QAAQ,uBAAuB,CAAC;AAErD,QAAM,CAAC,YAAY,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC/C,QAAQ;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AAED,QAAM,SAAS,MAAM,aAAa;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA;AAAA,MAEN,MAAM,QAAQ;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,cAAc;AAAA,QACZ,YAAY,CAAC,SAAS;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAGD,QAAM,OAAO,OAAO;AAEpB,QAAM,qBAAqB,mBAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAEhC,QAAM,MAAM,QAAQ;AAEpB,MAAI,QAAQ,cAAc;AAC1B,MAAI,IAAI,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AACtD,MAAI,IAAI,OAAO,MAAM,CAAC;AAEtB,MAAI,IAAI,SAAS,OAAO,KAAK,QAAQ;AACnC,UAAM,OAAO,MAAM,GAAG,SAAS,MAAM,IAAI;AACzC,QAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,EAC3B,CAAC;AAED,MAAI,IAAI,KAAK,MAAM,GAAG,KAAK,WAAW,UAAU,CAAC;AAEjD,QAAM,YAAY,IAAI,OAAO,UAAU;AAEvC,UAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,YAAY,CAAC;AAEzE,QAAM,QAAQ,WAAW;AAAA,IACvB;AAAA,IACA,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAAA,EACjD,CAAC;AACH;",
4
+ "sourcesContent": ["import { createRequire } from 'module'\nimport { AddressInfo } from 'net'\nimport { dirname } from 'path'\n\nimport { CLIResolvedOptions } from '@tamagui/types'\nimport { tamaguiPlugin } from '@tamagui/vite-plugin'\nimport viteReactPlugin from '@vitejs/plugin-react-swc'\nimport chalk from 'chalk'\nimport express from 'express'\nimport proxy from 'express-http-proxy'\nimport fs from 'fs-extra'\nimport { createServer } from 'vite'\n\nimport { watchTamaguiConfig } from './tamaguiConfigUtils.js'\n\nconst resolve =\n 'url' in import.meta ? createRequire(import.meta.url).resolve : require.resolve\n\nexport const studio = async (options: CLIResolvedOptions, isRemote = true) => {\n process.env.TAMAGUI_TARGET = 'web'\n\n const configWatchPromise = watchTamaguiConfig(options)\n let localServerPromise = new Promise(() => {})\n if (!isRemote) {\n process.env.VITE_IS_LOCAL = '1'\n\n process.stdout.on('error', function (err) {\n if (err.code == 'EPIPE') {\n process.exit(0)\n }\n })\n const { default: getPort } = await import('get-port')\n const { paths } = options\n const root = dirname(resolve('@takeout/studio/entry'))\n\n const [serverPort, vitePort] = await Promise.all([\n getPort({\n port: 1421,\n }),\n getPort({\n port: 1422,\n }),\n ])\n\n const server = await createServer({\n root,\n server: {\n host: options.host,\n port: vitePort,\n hmr: true,\n cors: true,\n },\n plugins: [\n tamaguiPlugin({\n components: ['tamagui'],\n }),\n viteReactPlugin(),\n ],\n })\n\n // these can be lazy loaded (eventually should put in own process)\n await server.listen()\n\n const info = server.httpServer?.address() as AddressInfo\n\n const app = express()\n\n app.disable('x-powered-by')\n app.use(express.static(paths.dotDir, { maxAge: '2h' }))\n // app.use(morgan('tiny'))\n\n app.get('/conf.json', async (req, res) => {\n const conf = await fs.readJSON(paths.conf)\n res.status(200).json(conf)\n })\n\n app.use('/', proxy(`${info.address}:${vitePort}`))\n\n const appServer = app.listen(serverPort)\n\n localServerPromise = new Promise((res) => appServer.on('close', res))\n\n console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))\n } else {\n console.log(`Open `, chalk.green(`https://studio.tamagui.dev`), ` to load studio`)\n }\n\n await Promise.allSettled([configWatchPromise, localServerPromise])\n}\n"],
5
+ "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,eAAe;AAGxB,SAAS,qBAAqB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,WAAW;AAClB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,QAAQ;AACf,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAEnC,MAAM,UACJ,SAAS,cAAc,cAAc,YAAY,GAAG,EAAE,UAAU,QAAQ;AAEnE,MAAM,SAAS,OAAO,SAA6B,WAAW,SAAS;AAlB9E;AAmBE,UAAQ,IAAI,iBAAiB;AAE7B,QAAM,qBAAqB,mBAAmB,OAAO;AACrD,MAAI,qBAAqB,IAAI,QAAQ,MAAM;AAAA,EAAC,CAAC;AAC7C,MAAI,CAAC,UAAU;AACb,YAAQ,IAAI,gBAAgB;AAE5B,YAAQ,OAAO,GAAG,SAAS,SAAU,KAAK;AACxC,UAAI,IAAI,QAAQ,SAAS;AACvB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AACD,UAAM,EAAE,SAAS,QAAQ,IAAI,MAAM,OAAO,UAAU;AACpD,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,OAAO,QAAQ,QAAQ,uBAAuB,CAAC;AAErD,UAAM,CAAC,YAAY,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC/C,QAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAC;AAAA,MACD,QAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAC;AAAA,IACH,CAAC;AAED,UAAM,SAAS,MAAM,aAAa;AAAA,MAChC;AAAA,MACA,QAAQ;AAAA,QACN,MAAM,QAAQ;AAAA,QACd,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,SAAS;AAAA,QACP,cAAc;AAAA,UACZ,YAAY,CAAC,SAAS;AAAA,QACxB,CAAC;AAAA,QACD,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAGD,UAAM,OAAO,OAAO;AAEpB,UAAM,QAAO,YAAO,eAAP,mBAAmB;AAEhC,UAAM,MAAM,QAAQ;AAEpB,QAAI,QAAQ,cAAc;AAC1B,QAAI,IAAI,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AAGtD,QAAI,IAAI,cAAc,OAAO,KAAK,QAAQ;AACxC,YAAM,OAAO,MAAM,GAAG,SAAS,MAAM,IAAI;AACzC,UAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,IAC3B,CAAC;AAED,QAAI,IAAI,KAAK,MAAM,GAAG,KAAK,WAAW,UAAU,CAAC;AAEjD,UAAM,YAAY,IAAI,OAAO,UAAU;AAEvC,yBAAqB,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAEpE,YAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,YAAY,CAAC;AAAA,EAC3E,OAAO;AACL,YAAQ,IAAI,SAAS,MAAM,MAAM,4BAA4B,GAAG,iBAAiB;AAAA,EACnF;AAEA,QAAM,QAAQ,WAAW,CAAC,oBAAoB,kBAAkB,CAAC;AACnE;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { getVariableValue } from "@tamagui/core-node";
3
+ import esbuild from "esbuild";
3
4
  import fs, { ensureDir } from "fs-extra";
4
5
  import { loadTamagui } from "./utils.js";
5
6
  async function generateTamaguiConfig(options) {
@@ -20,30 +21,51 @@ async function generateTamaguiConfig(options) {
20
21
  token[tkey] = getVariableValue(token[tkey]);
21
22
  }
22
23
  }
23
- for (const key in components) {
24
- const component = components[key];
24
+ for (const component of components) {
25
25
  for (const _ in component.nameToInfo) {
26
26
  delete component.nameToInfo[_].staticConfig["validStyles"];
27
+ delete component.nameToInfo[_].staticConfig["parentStaticConfig"];
27
28
  }
28
29
  }
29
30
  for (const key in nameToPaths) {
30
31
  nameToPaths[key] = [...nameToPaths[key]];
31
32
  }
32
- delete config.tamaguiConfig["Provider"];
33
- delete config.tamaguiConfig["fontsParsed"];
34
- delete config.tamaguiConfig["getCSS"];
35
- delete config.tamaguiConfig["tokensParsed"];
36
- delete config.tamaguiConfig["themeConfig"];
37
- await fs.writeJSON(options.paths.conf, config, {
38
- spaces: 2
39
- });
33
+ const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } = config.tamaguiConfig;
34
+ await fs.writeJSON(
35
+ options.paths.conf,
36
+ {
37
+ ...config,
38
+ tamaguiConfig: cleanedConfig
39
+ },
40
+ {
41
+ spaces: 2
42
+ }
43
+ );
40
44
  }
41
45
  async function getTamaguiConfig(options) {
42
46
  return loadTamagui(options.tamaguiOptions);
43
47
  }
44
48
  async function watchTamaguiConfig(options) {
45
- console.warn("\u274C disabling watch conf");
46
- return;
49
+ if (!options.tamaguiOptions.config)
50
+ return;
51
+ await generateTamaguiConfig(options);
52
+ const context = await esbuild.context({
53
+ entryPoints: [options.tamaguiOptions.config],
54
+ sourcemap: false,
55
+ // dont output just use esbuild as a watcher
56
+ write: false,
57
+ plugins: [
58
+ {
59
+ name: `on-rebuild`,
60
+ setup({ onEnd }) {
61
+ onEnd((res) => {
62
+ generateTamaguiConfig(options);
63
+ });
64
+ }
65
+ }
66
+ ]
67
+ });
68
+ await context.watch();
47
69
  }
48
70
  export {
49
71
  generateTamaguiConfig,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tamaguiConfigUtils.ts"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\nimport { getVariableValue } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\nimport fs, { ensureDir } from 'fs-extra'\n\nimport { ResolvedOptions } from './types.js'\nimport { loadTamagui } from './utils.js'\n\nexport async function generateTamaguiConfig(options: ResolvedOptions) {\n await ensureDir(options.paths.dotDir)\n const config = await getTamaguiConfig(options)\n const { components, nameToPaths } = config\n const { themes, tokens } = config.tamaguiConfig\n\n // reduce down to usable, smaller json\n\n // slim themes, add name\n for (const key in themes) {\n const theme = themes[key]\n // @ts-ignore\n theme.id = key\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey])\n }\n }\n\n // flatten variables\n for (const key in tokens) {\n const token = tokens[key]\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey])\n }\n }\n\n // remove bulky stuff in components\n for (const key in components) {\n const component = components[key]\n for (const _ in component.nameToInfo) {\n delete component.nameToInfo[_].staticConfig['validStyles']\n }\n }\n\n // set to array\n for (const key in nameToPaths) {\n // @ts-ignore\n nameToPaths[key] = [...nameToPaths[key]]\n }\n\n // cleanup other stuff\n // @ts-ignore\n delete config.tamaguiConfig['Provider']\n // @ts-ignore\n delete config.tamaguiConfig['fontsParsed']\n // @ts-ignore\n delete config.tamaguiConfig['getCSS']\n // @ts-ignore\n delete config.tamaguiConfig['tokensParsed']\n // @ts-ignore\n delete config.tamaguiConfig['themeConfig']\n\n await fs.writeJSON(options.paths.conf, config, {\n spaces: 2,\n })\n}\n\nasync function getTamaguiConfig(options: ResolvedOptions) {\n return loadTamagui(options.tamaguiOptions)\n}\n\nexport async function watchTamaguiConfig(options: ResolvedOptions) {\n console.warn('\u274C disabling watch conf')\n return\n // if (!options.tamaguiOptions.config) return\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 // console.log('done watching')\n}\n"],
5
- "mappings": ";AAEA,SAAS,wBAAwB;AAEjC,OAAO,MAAM,iBAAiB;AAG9B,SAAS,mBAAmB;AAE5B,eAAsB,sBAAsB,SAA0B;AACpE,QAAM,UAAU,QAAQ,MAAM,MAAM;AACpC,QAAM,SAAS,MAAM,iBAAiB,OAAO;AAC7C,QAAM,EAAE,YAAY,YAAY,IAAI;AACpC,QAAM,EAAE,QAAQ,OAAO,IAAI,OAAO;AAKlC,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AAExB,UAAM,KAAK;AACX,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AACxB,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,YAAY;AAC5B,UAAM,YAAY,WAAW,GAAG;AAChC,eAAW,KAAK,UAAU,YAAY;AACpC,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,aAAa;AAAA,IAC3D;AAAA,EACF;AAGA,aAAW,OAAO,aAAa;AAE7B,gBAAY,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC;AAAA,EACzC;AAIA,SAAO,OAAO,cAAc,UAAU;AAEtC,SAAO,OAAO,cAAc,aAAa;AAEzC,SAAO,OAAO,cAAc,QAAQ;AAEpC,SAAO,OAAO,cAAc,cAAc;AAE1C,SAAO,OAAO,cAAc,aAAa;AAEzC,QAAM,GAAG,UAAU,QAAQ,MAAM,MAAM,QAAQ;AAAA,IAC7C,QAAQ;AAAA,EACV,CAAC;AACH;AAEA,eAAe,iBAAiB,SAA0B;AACxD,SAAO,YAAY,QAAQ,cAAc;AAC3C;AAEA,eAAsB,mBAAmB,SAA0B;AACjE,UAAQ,KAAK,6BAAwB;AACrC;AAuBF;",
4
+ "sourcesContent": ["#!/usr/bin/env node\n\nimport { getVariableValue } from '@tamagui/core-node'\nimport { CLIResolvedOptions } from '@tamagui/types'\nimport esbuild from 'esbuild'\nimport fs, { ensureDir } from 'fs-extra'\n\nimport { loadTamagui } from './utils.js'\n\nexport async function generateTamaguiConfig(options: CLIResolvedOptions) {\n await ensureDir(options.paths.dotDir)\n const config = await getTamaguiConfig(options)\n const { components, nameToPaths } = config\n const { themes, tokens } = config.tamaguiConfig\n\n // reduce down to usable, smaller json\n\n // slim themes, add name\n for (const key in themes) {\n const theme = themes[key]\n // @ts-ignore\n theme.id = key\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey])\n }\n }\n\n // flatten variables\n for (const key in tokens) {\n const token = tokens[key]\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey])\n }\n }\n\n // remove bulky stuff in components\n for (const component of components) {\n for (const _ in component.nameToInfo) {\n delete component.nameToInfo[_].staticConfig['validStyles']\n delete component.nameToInfo[_].staticConfig['parentStaticConfig']\n }\n }\n\n // set to array\n for (const key in nameToPaths) {\n // @ts-ignore\n nameToPaths[key] = [...nameToPaths[key]]\n }\n\n // remove stuff we dont need to send\n const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } =\n config.tamaguiConfig\n\n await fs.writeJSON(\n options.paths.conf,\n {\n ...config,\n tamaguiConfig: cleanedConfig,\n },\n {\n spaces: 2,\n }\n )\n}\n\nasync function getTamaguiConfig(options: CLIResolvedOptions) {\n return loadTamagui(options.tamaguiOptions)\n}\n\nexport async function watchTamaguiConfig(options: CLIResolvedOptions) {\n if (!options.tamaguiOptions.config) return\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}\n"],
5
+ "mappings": ";AAEA,SAAS,wBAAwB;AAEjC,OAAO,aAAa;AACpB,OAAO,MAAM,iBAAiB;AAE9B,SAAS,mBAAmB;AAE5B,eAAsB,sBAAsB,SAA6B;AACvE,QAAM,UAAU,QAAQ,MAAM,MAAM;AACpC,QAAM,SAAS,MAAM,iBAAiB,OAAO;AAC7C,QAAM,EAAE,YAAY,YAAY,IAAI;AACpC,QAAM,EAAE,QAAQ,OAAO,IAAI,OAAO;AAKlC,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AAExB,UAAM,KAAK;AACX,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AACxB,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,aAAa,YAAY;AAClC,eAAW,KAAK,UAAU,YAAY;AACpC,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,aAAa;AACzD,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,oBAAoB;AAAA,IAClE;AAAA,EACF;AAGA,aAAW,OAAO,aAAa;AAE7B,gBAAY,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC;AAAA,EACzC;AAGA,QAAM,EAAE,aAAa,QAAQ,cAAc,aAAa,GAAG,cAAc,IACvE,OAAO;AAET,QAAM,GAAG;AAAA,IACP,QAAQ,MAAM;AAAA,IACd;AAAA,MACE,GAAG;AAAA,MACH,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEA,eAAe,iBAAiB,SAA6B;AAC3D,SAAO,YAAY,QAAQ,cAAc;AAC3C;AAEA,eAAsB,mBAAmB,SAA6B;AACpE,MAAI,CAAC,QAAQ,eAAe;AAAQ;AACpC,QAAM,sBAAsB,OAAO;AACnC,QAAM,UAAU,MAAM,QAAQ,QAAQ;AAAA,IACpC,aAAa,CAAC,QAAQ,eAAe,MAAM;AAAA,IAC3C,WAAW;AAAA;AAAA,IAEX,OAAO;AAAA,IAEP,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,EAAE,MAAM,GAAG;AACf,gBAAM,CAAC,QAAQ;AACb,kCAAsB,OAAO;AAAA,UAC/B,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,QAAQ,MAAM;AACtB;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { getVariableValue } from "@tamagui/core-node";
3
+ import esbuild from "esbuild";
3
4
  import fs, { ensureDir } from "fs-extra";
4
5
  import { loadTamagui } from "./utils.js";
5
6
  async function generateTamaguiConfig(options) {
@@ -20,30 +21,51 @@ async function generateTamaguiConfig(options) {
20
21
  token[tkey] = getVariableValue(token[tkey]);
21
22
  }
22
23
  }
23
- for (const key in components) {
24
- const component = components[key];
24
+ for (const component of components) {
25
25
  for (const _ in component.nameToInfo) {
26
26
  delete component.nameToInfo[_].staticConfig["validStyles"];
27
+ delete component.nameToInfo[_].staticConfig["parentStaticConfig"];
27
28
  }
28
29
  }
29
30
  for (const key in nameToPaths) {
30
31
  nameToPaths[key] = [...nameToPaths[key]];
31
32
  }
32
- delete config.tamaguiConfig["Provider"];
33
- delete config.tamaguiConfig["fontsParsed"];
34
- delete config.tamaguiConfig["getCSS"];
35
- delete config.tamaguiConfig["tokensParsed"];
36
- delete config.tamaguiConfig["themeConfig"];
37
- await fs.writeJSON(options.paths.conf, config, {
38
- spaces: 2
39
- });
33
+ const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } = config.tamaguiConfig;
34
+ await fs.writeJSON(
35
+ options.paths.conf,
36
+ {
37
+ ...config,
38
+ tamaguiConfig: cleanedConfig
39
+ },
40
+ {
41
+ spaces: 2
42
+ }
43
+ );
40
44
  }
41
45
  async function getTamaguiConfig(options) {
42
46
  return loadTamagui(options.tamaguiOptions);
43
47
  }
44
48
  async function watchTamaguiConfig(options) {
45
- console.warn("\u274C disabling watch conf");
46
- return;
49
+ if (!options.tamaguiOptions.config)
50
+ return;
51
+ await generateTamaguiConfig(options);
52
+ const context = await esbuild.context({
53
+ entryPoints: [options.tamaguiOptions.config],
54
+ sourcemap: false,
55
+ // dont output just use esbuild as a watcher
56
+ write: false,
57
+ plugins: [
58
+ {
59
+ name: `on-rebuild`,
60
+ setup({ onEnd }) {
61
+ onEnd((res) => {
62
+ generateTamaguiConfig(options);
63
+ });
64
+ }
65
+ }
66
+ ]
67
+ });
68
+ await context.watch();
47
69
  }
48
70
  export {
49
71
  generateTamaguiConfig,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tamaguiConfigUtils.ts"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\nimport { getVariableValue } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\nimport fs, { ensureDir } from 'fs-extra'\n\nimport { ResolvedOptions } from './types.js'\nimport { loadTamagui } from './utils.js'\n\nexport async function generateTamaguiConfig(options: ResolvedOptions) {\n await ensureDir(options.paths.dotDir)\n const config = await getTamaguiConfig(options)\n const { components, nameToPaths } = config\n const { themes, tokens } = config.tamaguiConfig\n\n // reduce down to usable, smaller json\n\n // slim themes, add name\n for (const key in themes) {\n const theme = themes[key]\n // @ts-ignore\n theme.id = key\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey])\n }\n }\n\n // flatten variables\n for (const key in tokens) {\n const token = tokens[key]\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey])\n }\n }\n\n // remove bulky stuff in components\n for (const key in components) {\n const component = components[key]\n for (const _ in component.nameToInfo) {\n delete component.nameToInfo[_].staticConfig['validStyles']\n }\n }\n\n // set to array\n for (const key in nameToPaths) {\n // @ts-ignore\n nameToPaths[key] = [...nameToPaths[key]]\n }\n\n // cleanup other stuff\n // @ts-ignore\n delete config.tamaguiConfig['Provider']\n // @ts-ignore\n delete config.tamaguiConfig['fontsParsed']\n // @ts-ignore\n delete config.tamaguiConfig['getCSS']\n // @ts-ignore\n delete config.tamaguiConfig['tokensParsed']\n // @ts-ignore\n delete config.tamaguiConfig['themeConfig']\n\n await fs.writeJSON(options.paths.conf, config, {\n spaces: 2,\n })\n}\n\nasync function getTamaguiConfig(options: ResolvedOptions) {\n return loadTamagui(options.tamaguiOptions)\n}\n\nexport async function watchTamaguiConfig(options: ResolvedOptions) {\n console.warn('\u274C disabling watch conf')\n return\n // if (!options.tamaguiOptions.config) return\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 // console.log('done watching')\n}\n"],
5
- "mappings": ";AAEA,SAAS,wBAAwB;AAEjC,OAAO,MAAM,iBAAiB;AAG9B,SAAS,mBAAmB;AAE5B,eAAsB,sBAAsB,SAA0B;AACpE,QAAM,UAAU,QAAQ,MAAM,MAAM;AACpC,QAAM,SAAS,MAAM,iBAAiB,OAAO;AAC7C,QAAM,EAAE,YAAY,YAAY,IAAI;AACpC,QAAM,EAAE,QAAQ,OAAO,IAAI,OAAO;AAKlC,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AAExB,UAAM,KAAK;AACX,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AACxB,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,YAAY;AAC5B,UAAM,YAAY,WAAW,GAAG;AAChC,eAAW,KAAK,UAAU,YAAY;AACpC,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,aAAa;AAAA,IAC3D;AAAA,EACF;AAGA,aAAW,OAAO,aAAa;AAE7B,gBAAY,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC;AAAA,EACzC;AAIA,SAAO,OAAO,cAAc,UAAU;AAEtC,SAAO,OAAO,cAAc,aAAa;AAEzC,SAAO,OAAO,cAAc,QAAQ;AAEpC,SAAO,OAAO,cAAc,cAAc;AAE1C,SAAO,OAAO,cAAc,aAAa;AAEzC,QAAM,GAAG,UAAU,QAAQ,MAAM,MAAM,QAAQ;AAAA,IAC7C,QAAQ;AAAA,EACV,CAAC;AACH;AAEA,eAAe,iBAAiB,SAA0B;AACxD,SAAO,YAAY,QAAQ,cAAc;AAC3C;AAEA,eAAsB,mBAAmB,SAA0B;AACjE,UAAQ,KAAK,6BAAwB;AACrC;AAuBF;",
4
+ "sourcesContent": ["#!/usr/bin/env node\n\nimport { getVariableValue } from '@tamagui/core-node'\nimport { CLIResolvedOptions } from '@tamagui/types'\nimport esbuild from 'esbuild'\nimport fs, { ensureDir } from 'fs-extra'\n\nimport { loadTamagui } from './utils.js'\n\nexport async function generateTamaguiConfig(options: CLIResolvedOptions) {\n await ensureDir(options.paths.dotDir)\n const config = await getTamaguiConfig(options)\n const { components, nameToPaths } = config\n const { themes, tokens } = config.tamaguiConfig\n\n // reduce down to usable, smaller json\n\n // slim themes, add name\n for (const key in themes) {\n const theme = themes[key]\n // @ts-ignore\n theme.id = key\n for (const tkey in theme) {\n theme[tkey] = getVariableValue(theme[tkey])\n }\n }\n\n // flatten variables\n for (const key in tokens) {\n const token = tokens[key]\n for (const tkey in token) {\n token[tkey] = getVariableValue(token[tkey])\n }\n }\n\n // remove bulky stuff in components\n for (const component of components) {\n for (const _ in component.nameToInfo) {\n delete component.nameToInfo[_].staticConfig['validStyles']\n delete component.nameToInfo[_].staticConfig['parentStaticConfig']\n }\n }\n\n // set to array\n for (const key in nameToPaths) {\n // @ts-ignore\n nameToPaths[key] = [...nameToPaths[key]]\n }\n\n // remove stuff we dont need to send\n const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } =\n config.tamaguiConfig\n\n await fs.writeJSON(\n options.paths.conf,\n {\n ...config,\n tamaguiConfig: cleanedConfig,\n },\n {\n spaces: 2,\n }\n )\n}\n\nasync function getTamaguiConfig(options: CLIResolvedOptions) {\n return loadTamagui(options.tamaguiOptions)\n}\n\nexport async function watchTamaguiConfig(options: CLIResolvedOptions) {\n if (!options.tamaguiOptions.config) return\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}\n"],
5
+ "mappings": ";AAEA,SAAS,wBAAwB;AAEjC,OAAO,aAAa;AACpB,OAAO,MAAM,iBAAiB;AAE9B,SAAS,mBAAmB;AAE5B,eAAsB,sBAAsB,SAA6B;AACvE,QAAM,UAAU,QAAQ,MAAM,MAAM;AACpC,QAAM,SAAS,MAAM,iBAAiB,OAAO;AAC7C,QAAM,EAAE,YAAY,YAAY,IAAI;AACpC,QAAM,EAAE,QAAQ,OAAO,IAAI,OAAO;AAKlC,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AAExB,UAAM,KAAK;AACX,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AACxB,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,aAAa,YAAY;AAClC,eAAW,KAAK,UAAU,YAAY;AACpC,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,aAAa;AACzD,aAAO,UAAU,WAAW,CAAC,EAAE,aAAa,oBAAoB;AAAA,IAClE;AAAA,EACF;AAGA,aAAW,OAAO,aAAa;AAE7B,gBAAY,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC;AAAA,EACzC;AAGA,QAAM,EAAE,aAAa,QAAQ,cAAc,aAAa,GAAG,cAAc,IACvE,OAAO;AAET,QAAM,GAAG;AAAA,IACP,QAAQ,MAAM;AAAA,IACd;AAAA,MACE,GAAG;AAAA,MACH,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEA,eAAe,iBAAiB,SAA6B;AAC3D,SAAO,YAAY,QAAQ,cAAc;AAC3C;AAEA,eAAsB,mBAAmB,SAA6B;AACpE,MAAI,CAAC,QAAQ,eAAe;AAAQ;AACpC,QAAM,sBAAsB,OAAO;AACnC,QAAM,UAAU,MAAM,QAAQ,QAAQ;AAAA,IACpC,aAAa,CAAC,QAAQ,eAAe,MAAM;AAAA,IAC3C,WAAW;AAAA;AAAA,IAEX,OAAO;AAAA,IAEP,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,EAAE,MAAM,GAAG;AACf,gBAAM,CAAC,QAAQ;AACb,kCAAsB,OAAO;AAAA,UAC/B,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,QAAQ,MAAM;AACtB;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/test.ts"],
4
- "sourcesContent": ["/* eslint-disable no-console */\nimport { ResolvedOptions } from './types.js'\n\nexport const test = async (options: ResolvedOptions) => {\n const { dev } = await import('./dev.js')\n\n // failing on startup \"Tamagui error bundling components require() of ES Module\"\n\n void dev(options)\n\n console.log('run tests')\n}\n"],
5
- "mappings": "AAGO,MAAM,OAAO,OAAO,YAA6B;AACtD,QAAM,EAAE,IAAI,IAAI,MAAM,OAAO,UAAU;AAIvC,OAAK,IAAI,OAAO;AAEhB,UAAQ,IAAI,WAAW;AACzB;",
4
+ "sourcesContent": ["/* eslint-disable no-console */\nimport { CLIResolvedOptions } from '@tamagui/types'\n\nexport const test = async (options: CLIResolvedOptions) => {\n const { dev } = await import('./dev.js')\n\n // failing on startup \"Tamagui error bundling components require() of ES Module\"\n\n void dev(options)\n\n console.log('run tests')\n}\n"],
5
+ "mappings": "AAGO,MAAM,OAAO,OAAO,YAAgC;AACzD,QAAM,EAAE,IAAI,IAAI,MAAM,OAAO,UAAU;AAIvC,OAAK,IAAI,OAAO;AAEhB,UAAQ,IAAI,WAAW;AACzB;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/test.ts"],
4
- "sourcesContent": ["/* eslint-disable no-console */\nimport { ResolvedOptions } from './types.js'\n\nexport const test = async (options: ResolvedOptions) => {\n const { dev } = await import('./dev.js')\n\n // failing on startup \"Tamagui error bundling components require() of ES Module\"\n\n void dev(options)\n\n console.log('run tests')\n}\n"],
5
- "mappings": "AAGO,MAAM,OAAO,OAAO,YAA6B;AACtD,QAAM,EAAE,IAAI,IAAI,MAAM,OAAO,UAAU;AAIvC,OAAK,IAAI,OAAO;AAEhB,UAAQ,IAAI,WAAW;AACzB;",
4
+ "sourcesContent": ["/* eslint-disable no-console */\nimport { CLIResolvedOptions } from '@tamagui/types'\n\nexport const test = async (options: CLIResolvedOptions) => {\n const { dev } = await import('./dev.js')\n\n // failing on startup \"Tamagui error bundling components require() of ES Module\"\n\n void dev(options)\n\n console.log('run tests')\n}\n"],
5
+ "mappings": "AAGO,MAAM,OAAO,OAAO,YAAgC;AACzD,QAAM,EAAE,IAAI,IAAI,MAAM,OAAO,UAAU;AAIvC,OAAK,IAAI,OAAO;AAEhB,UAAQ,IAAI,WAAW;AACzB;",
6
6
  "names": []
7
7
  }
package/dist/esm/utils.js CHANGED
@@ -13,7 +13,6 @@ async function getOptions({
13
13
  ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`);
14
14
  const dotDir = join(root, ".tamagui");
15
15
  const pkgJson = await readJSON(join(root, "package.json"));
16
- console.log("host", host);
17
16
  return {
18
17
  mode: process.env.NODE_ENV === "production" ? "production" : "development",
19
18
  root,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils.ts"],
4
- "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static'\nimport { loadTamagui as loadTamaguiStatic } from '@tamagui/static'\nimport chalk from 'chalk'\nimport fs, { pathExists, readJSON } from 'fs-extra'\nimport { ViteDevServer } from 'vite'\n\nimport { ResolvedOptions, UserOptions } from './types.js'\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<UserOptions> = {}): Promise<ResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n console.log('host', host)\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 function ensure(condition: boolean, message: string) {\n if (!condition) {\n console.error(chalk.red.bold('Error:'), chalk.yellow(`${message}`))\n process.exit(1)\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\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\nlet cached: TamaguiProjectInfo | null = null\nexport const loadTamagui = async (\n opts: Partial<TamaguiOptions>\n): Promise<TamaguiProjectInfo> => {\n return (cached ??= await loadTamaguiStatic({\n config: await getDefaultTamaguiConfigPath(),\n components: ['tamagui'],\n ...opts,\n }))\n}\n\nconst disposers = new Set<Function>()\n\nexport function registerDispose(cb: () => void) {\n disposers.add(cb)\n}\n\nexport function disposeAll() {\n disposers.forEach((cb) => cb())\n}\n"],
5
- "mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AACjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAKzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA0B,CAAC,GAA6B;AACtD,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;AAEzD,UAAQ,IAAI,QAAQ,IAAI;AAExB,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB,QAAQ,MAAM,4BAA4B;AAAA,MAC1C,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,MAAM,KAAK,QAAQ,qBAAqB;AAAA,MACxC,OAAO,KAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,KAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACgC;AAChC,SAAQ,WAAW,MAAM,kBAAkB;AAAA,IACzC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACH;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
4
+ "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static'\nimport { loadTamagui as loadTamaguiStatic } from '@tamagui/static'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport chalk from 'chalk'\nimport fs, { pathExists, readJSON } from 'fs-extra'\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 ensure(await fs.pathExists(tsConfigFilePath), `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 function ensure(condition: boolean, message: string) {\n if (!condition) {\n console.error(chalk.red.bold('Error:'), chalk.yellow(`${message}`))\n process.exit(1)\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\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\nlet cached: TamaguiProjectInfo | null = null\nexport const loadTamagui = async (\n opts: Partial<TamaguiOptions>\n): Promise<TamaguiProjectInfo> => {\n return (cached ??= await loadTamaguiStatic({\n config: await getDefaultTamaguiConfigPath(),\n components: ['tamagui'],\n ...opts,\n }))\n}\n\nconst disposers = new Set<Function>()\n\nexport function registerDispose(cb: () => void) {\n disposers.add(cb)\n}\n\nexport function disposeAll() {\n disposers.forEach((cb) => cb())\n}"],
5
+ "mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AAEjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;AAEzD,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB,QAAQ,MAAM,4BAA4B;AAAA,MAC1C,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,MAAM,KAAK,QAAQ,qBAAqB;AAAA,MACxC,OAAO,KAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,KAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACgC;AAChC,SAAQ,WAAW,MAAM,kBAAkB;AAAA,IACzC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACH;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
6
6
  "names": []
7
7
  }
@@ -13,7 +13,6 @@ async function getOptions({
13
13
  ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`);
14
14
  const dotDir = join(root, ".tamagui");
15
15
  const pkgJson = await readJSON(join(root, "package.json"));
16
- console.log("host", host);
17
16
  return {
18
17
  mode: process.env.NODE_ENV === "production" ? "production" : "development",
19
18
  root,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils.ts"],
4
- "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static'\nimport { loadTamagui as loadTamaguiStatic } from '@tamagui/static'\nimport chalk from 'chalk'\nimport fs, { pathExists, readJSON } from 'fs-extra'\nimport { ViteDevServer } from 'vite'\n\nimport { ResolvedOptions, UserOptions } from './types.js'\n\nexport async function getOptions({\n root = process.cwd(),\n tsconfigPath = 'tsconfig.json',\n tamaguiOptions,\n host,\n debug,\n}: Partial<UserOptions> = {}): Promise<ResolvedOptions> {\n const tsConfigFilePath = join(root, tsconfigPath)\n ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`)\n const dotDir = join(root, '.tamagui')\n const pkgJson = await readJSON(join(root, 'package.json'))\n\n console.log('host', host)\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 function ensure(condition: boolean, message: string) {\n if (!condition) {\n console.error(chalk.red.bold('Error:'), chalk.yellow(`${message}`))\n process.exit(1)\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\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\nlet cached: TamaguiProjectInfo | null = null\nexport const loadTamagui = async (\n opts: Partial<TamaguiOptions>\n): Promise<TamaguiProjectInfo> => {\n return (cached ??= await loadTamaguiStatic({\n config: await getDefaultTamaguiConfigPath(),\n components: ['tamagui'],\n ...opts,\n }))\n}\n\nconst disposers = new Set<Function>()\n\nexport function registerDispose(cb: () => void) {\n disposers.add(cb)\n}\n\nexport function disposeAll() {\n disposers.forEach((cb) => cb())\n}\n"],
5
- "mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AACjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAKzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA0B,CAAC,GAA6B;AACtD,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;AAEzD,UAAQ,IAAI,QAAQ,IAAI;AAExB,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB,QAAQ,MAAM,4BAA4B;AAAA,MAC1C,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,MAAM,KAAK,QAAQ,qBAAqB;AAAA,MACxC,OAAO,KAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,KAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACgC;AAChC,SAAQ,WAAW,MAAM,kBAAkB;AAAA,IACzC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACH;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
4
+ "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static'\nimport { loadTamagui as loadTamaguiStatic } from '@tamagui/static'\nimport { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'\nimport chalk from 'chalk'\nimport fs, { pathExists, readJSON } from 'fs-extra'\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 ensure(await fs.pathExists(tsConfigFilePath), `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 function ensure(condition: boolean, message: string) {\n if (!condition) {\n console.error(chalk.red.bold('Error:'), chalk.yellow(`${message}`))\n process.exit(1)\n }\n}\n\nconst defaultPaths = ['tamagui.config.ts', join('src', 'tamagui.config.ts')]\nlet cachedPath = ''\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\nlet cached: TamaguiProjectInfo | null = null\nexport const loadTamagui = async (\n opts: Partial<TamaguiOptions>\n): Promise<TamaguiProjectInfo> => {\n return (cached ??= await loadTamaguiStatic({\n config: await getDefaultTamaguiConfigPath(),\n components: ['tamagui'],\n ...opts,\n }))\n}\n\nconst disposers = new Set<Function>()\n\nexport function registerDispose(cb: () => void) {\n disposers.add(cb)\n}\n\nexport function disposeAll() {\n disposers.forEach((cb) => cb())\n}"],
5
+ "mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AAEjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;AAEzD,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB,QAAQ,MAAM,4BAA4B;AAAA,MAC1C,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,MAAM,KAAK,QAAQ,qBAAqB;AAAA,MACxC,OAAO,KAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,KAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACgC;AAChC,SAAQ,WAAW,MAAM,kBAAkB;AAAA,IACzC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACH;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
6
6
  "names": []
7
7
  }
@@ -6,7 +6,6 @@ import { WebSocketEventsServer } from "./servers/WebSocketEventsServer";
6
6
  import { WebSocketHMRServer } from "./servers/WebSocketHMRServer";
7
7
  import { WebSocketMessageServer } from "./servers/WebSocketMessageServer";
8
8
  import { WebSocketRouter } from "./WebSocketRouter";
9
- console.log("HermesInspectorProxy disabled");
10
9
  async function wssPlugin(instance, {
11
10
  options,
12
11
  delegate
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/wssPlugin.ts"],
4
- "sourcesContent": ["import type { FastifyInstance } from 'fastify'\nimport fastifyPlugin from 'fastify-plugin'\n\nimport type { Server } from '../../types'\n// import { HermesInspectorProxy } from './servers/HermesInspectorProxy'\nimport { WebSocketApiServer } from './servers/WebSocketApiServer'\nimport { WebSocketDebuggerServer } from './servers/WebSocketDebuggerServer'\nimport { WebSocketDevClientServer } from './servers/WebSocketDevClientServer'\nimport { WebSocketEventsServer } from './servers/WebSocketEventsServer'\nimport { WebSocketHMRServer } from './servers/WebSocketHMRServer'\nimport { WebSocketMessageServer } from './servers/WebSocketMessageServer'\nimport { WebSocketRouter } from './WebSocketRouter'\n\nconsole.log('HermesInspectorProxy disabled')\n\ndeclare module 'fastify' {\n interface FastifyInstance {\n wss: {\n debuggerServer: WebSocketDebuggerServer\n devClientServer: WebSocketDevClientServer\n messageServer: WebSocketMessageServer\n eventsServer: WebSocketEventsServer\n // hermesInspectorProxy: HermesInspectorProxy\n apiServer: WebSocketApiServer\n hmrServer: WebSocketHMRServer\n router: WebSocketRouter\n }\n }\n}\n\nasync function wssPlugin(\n instance: FastifyInstance,\n {\n options,\n delegate,\n }: {\n options: Server.Options\n delegate: Server.Delegate\n }\n) {\n const router = new WebSocketRouter(instance)\n\n console.log('setting up websocket')\n\n const debuggerServer = new WebSocketDebuggerServer(instance)\n const devClientServer = new WebSocketDevClientServer(instance)\n const messageServer = new WebSocketMessageServer(instance)\n const eventsServer = new WebSocketEventsServer(instance, {\n webSocketMessageServer: messageServer,\n })\n // const hermesInspectorProxy = new HermesInspectorProxy(instance, options)\n const apiServer = new WebSocketApiServer(instance)\n const hmrServer = new WebSocketHMRServer(instance, delegate.hmr)\n\n router.registerServer(debuggerServer)\n router.registerServer(devClientServer)\n router.registerServer(messageServer)\n router.registerServer(eventsServer)\n // router.registerServer(hermesInspectorProxy)\n router.registerServer(apiServer)\n router.registerServer(hmrServer)\n\n instance.decorate('wss', {\n debuggerServer,\n devClientServer,\n messageServer,\n eventsServer,\n // hermesInspectorProxy,\n apiServer,\n hmrServer,\n router,\n })\n}\n\nexport default fastifyPlugin(wssPlugin, {\n name: 'wss-plugin',\n})\n"],
5
- "mappings": "AACA,OAAO,mBAAmB;AAI1B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAEhC,QAAQ,IAAI,+BAA+B;AAiB3C,eAAe,UACb,UACA;AAAA,EACE;AAAA,EACA;AACF,GAIA;AACA,QAAM,SAAS,IAAI,gBAAgB,QAAQ;AAE3C,UAAQ,IAAI,sBAAsB;AAElC,QAAM,iBAAiB,IAAI,wBAAwB,QAAQ;AAC3D,QAAM,kBAAkB,IAAI,yBAAyB,QAAQ;AAC7D,QAAM,gBAAgB,IAAI,uBAAuB,QAAQ;AACzD,QAAM,eAAe,IAAI,sBAAsB,UAAU;AAAA,IACvD,wBAAwB;AAAA,EAC1B,CAAC;AAED,QAAM,YAAY,IAAI,mBAAmB,QAAQ;AACjD,QAAM,YAAY,IAAI,mBAAmB,UAAU,SAAS,GAAG;AAE/D,SAAO,eAAe,cAAc;AACpC,SAAO,eAAe,eAAe;AACrC,SAAO,eAAe,aAAa;AACnC,SAAO,eAAe,YAAY;AAElC,SAAO,eAAe,SAAS;AAC/B,SAAO,eAAe,SAAS;AAE/B,WAAS,SAAS,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAEA,IAAO,oBAAQ,cAAc,WAAW;AAAA,EACtC,MAAM;AACR,CAAC;",
4
+ "sourcesContent": ["import type { FastifyInstance } from 'fastify'\nimport fastifyPlugin from 'fastify-plugin'\n\nimport type { Server } from '../../types'\n// import { HermesInspectorProxy } from './servers/HermesInspectorProxy'\nimport { WebSocketApiServer } from './servers/WebSocketApiServer'\nimport { WebSocketDebuggerServer } from './servers/WebSocketDebuggerServer'\nimport { WebSocketDevClientServer } from './servers/WebSocketDevClientServer'\nimport { WebSocketEventsServer } from './servers/WebSocketEventsServer'\nimport { WebSocketHMRServer } from './servers/WebSocketHMRServer'\nimport { WebSocketMessageServer } from './servers/WebSocketMessageServer'\nimport { WebSocketRouter } from './WebSocketRouter'\n\ndeclare module 'fastify' {\n interface FastifyInstance {\n wss: {\n debuggerServer: WebSocketDebuggerServer\n devClientServer: WebSocketDevClientServer\n messageServer: WebSocketMessageServer\n eventsServer: WebSocketEventsServer\n // hermesInspectorProxy: HermesInspectorProxy\n apiServer: WebSocketApiServer\n hmrServer: WebSocketHMRServer\n router: WebSocketRouter\n }\n }\n}\n\nasync function wssPlugin(\n instance: FastifyInstance,\n {\n options,\n delegate,\n }: {\n options: Server.Options\n delegate: Server.Delegate\n }\n) {\n const router = new WebSocketRouter(instance)\n\n console.log('setting up websocket')\n\n const debuggerServer = new WebSocketDebuggerServer(instance)\n const devClientServer = new WebSocketDevClientServer(instance)\n const messageServer = new WebSocketMessageServer(instance)\n const eventsServer = new WebSocketEventsServer(instance, {\n webSocketMessageServer: messageServer,\n })\n // const hermesInspectorProxy = new HermesInspectorProxy(instance, options)\n const apiServer = new WebSocketApiServer(instance)\n const hmrServer = new WebSocketHMRServer(instance, delegate.hmr)\n\n router.registerServer(debuggerServer)\n router.registerServer(devClientServer)\n router.registerServer(messageServer)\n router.registerServer(eventsServer)\n // router.registerServer(hermesInspectorProxy)\n router.registerServer(apiServer)\n router.registerServer(hmrServer)\n\n instance.decorate('wss', {\n debuggerServer,\n devClientServer,\n messageServer,\n eventsServer,\n // hermesInspectorProxy,\n apiServer,\n hmrServer,\n router,\n })\n}\n\nexport default fastifyPlugin(wssPlugin, {\n name: 'wss-plugin',\n})\n"],
5
+ "mappings": "AACA,OAAO,mBAAmB;AAI1B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAiBhC,eAAe,UACb,UACA;AAAA,EACE;AAAA,EACA;AACF,GAIA;AACA,QAAM,SAAS,IAAI,gBAAgB,QAAQ;AAE3C,UAAQ,IAAI,sBAAsB;AAElC,QAAM,iBAAiB,IAAI,wBAAwB,QAAQ;AAC3D,QAAM,kBAAkB,IAAI,yBAAyB,QAAQ;AAC7D,QAAM,gBAAgB,IAAI,uBAAuB,QAAQ;AACzD,QAAM,eAAe,IAAI,sBAAsB,UAAU;AAAA,IACvD,wBAAwB;AAAA,EAC1B,CAAC;AAED,QAAM,YAAY,IAAI,mBAAmB,QAAQ;AACjD,QAAM,YAAY,IAAI,mBAAmB,UAAU,SAAS,GAAG;AAE/D,SAAO,eAAe,cAAc;AACpC,SAAO,eAAe,eAAe;AACrC,SAAO,eAAe,aAAa;AACnC,SAAO,eAAe,YAAY;AAElC,SAAO,eAAe,SAAS;AAC/B,SAAO,eAAe,SAAS;AAE/B,WAAS,SAAS,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAEA,IAAO,oBAAQ,cAAc,WAAW;AAAA,EACtC,MAAM;AACR,CAAC;",
6
6
  "names": []
7
7
  }