@tamagui/cli 1.6.3 → 1.7.1

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.
@@ -48,12 +48,20 @@ const studio = async (options) => {
48
48
  const { default: getPort } = await import("get-port");
49
49
  const { paths } = options;
50
50
  const root = (0, import_path.dirname)(resolve("@takeout/studio/entry"));
51
+ const [serverPort, vitePort] = await Promise.all([
52
+ getPort({
53
+ port: 1421
54
+ }),
55
+ getPort({
56
+ port: 1422
57
+ })
58
+ ]);
51
59
  const server = await (0, import_vite.createServer)({
52
60
  root,
53
61
  server: {
54
62
  // open: true,
55
63
  host: options.host,
56
- port: 1420
64
+ port: vitePort
57
65
  },
58
66
  plugins: [
59
67
  (0, import_vite_plugin.tamaguiPlugin)({
@@ -61,13 +69,9 @@ const studio = async (options) => {
61
69
  })
62
70
  ]
63
71
  });
64
- const serverPromise = server.listen();
72
+ await server.listen();
65
73
  const configWatchPromise = (0, import_tamaguiConfigUtils.watchTamaguiConfig)(options);
66
74
  const info = (_a = server.httpServer) == null ? void 0 : _a.address();
67
- console.log("devServerInfo", info);
68
- const port = await getPort({
69
- port: info.port + 1
70
- });
71
75
  const app = (0, import_express.default)();
72
76
  app.disable("x-powered-by");
73
77
  app.use(import_express.default.static(paths.dotDir, { maxAge: "2h" }));
@@ -76,18 +80,13 @@ const studio = async (options) => {
76
80
  const conf = await import_fs_extra.default.readJSON(paths.conf);
77
81
  res.status(200).json(conf);
78
82
  });
79
- app.use("/", (0, import_express_http_proxy.default)(`${info.address}:${info.port}`));
80
- const appServer = app.listen(port);
81
- console.log(`Listening on`, import_chalk.default.green(`http://localhost:${port}`));
82
- const longRunning = [
83
- serverPromise,
83
+ app.use("/", (0, import_express_http_proxy.default)(`${info.address}:${vitePort}`));
84
+ const appServer = app.listen(serverPort);
85
+ console.log(`Listening on`, import_chalk.default.green(`http://localhost:${serverPort}`));
86
+ await Promise.allSettled([
84
87
  configWatchPromise,
85
88
  new Promise((res) => appServer.on("close", res))
86
- ];
87
- setInterval(() => {
88
- console.log(longRunning);
89
- }, 1e4);
90
- await Promise.allSettled(longRunning);
89
+ ]);
91
90
  };
92
91
  // Annotate the CommonJS export names for ESM import in node:
93
92
  0 && (module.exports = {
@@ -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 const server = await createServer({\n root,\n server: {\n // open: true,\n host: options.host,\n port: 1420,\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 const serverPromise = server.listen()\n const configWatchPromise = watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n console.log('devServerInfo', info)\n\n const port = await getPort({\n port: info.port + 1,\n })\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}:${info.port}`))\n\n const appServer = app.listen(port)\n\n console.log(`Listening on`, chalk.green(`http://localhost:${port}`))\n\n const longRunning = [\n serverPromise,\n configWatchPromise,\n new Promise((res) => appServer.on('close', res)),\n ]\n\n setInterval(() => {\n console.log(longRunning)\n }, 10_000)\n\n await Promise.allSettled(longRunning)\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAE9B,kBAAwB;AAExB,yBAA8B;AAC9B,mBAAkB;AAClB,qBAAoB;AACpB,gCAAkB;AAClB,sBAAe;AACf,oBAAmB;AACnB,kBAA6B;AAE7B,gCAAmC;AAZnC;AAeA,MAAM,UACJ,SAAS,kBAAc,6BAAc,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,WAAO,qBAAQ,QAAQ,uBAAuB,CAAC;AACrD,QAAM,SAAS,UAAM,0BAAa;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA;AAAA,MAEN,MAAM,QAAQ;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,UACP,kCAAc;AAAA,QACZ,YAAY,CAAC,SAAS;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAGD,QAAM,gBAAgB,OAAO,OAAO;AACpC,QAAM,yBAAqB,8CAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAChC,UAAQ,IAAI,iBAAiB,IAAI;AAEjC,QAAM,OAAO,MAAM,QAAQ;AAAA,IACzB,MAAM,KAAK,OAAO;AAAA,EACpB,CAAC;AAED,QAAM,UAAM,eAAAA,SAAQ;AAEpB,MAAI,QAAQ,cAAc;AAC1B,MAAI,IAAI,eAAAA,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AACtD,MAAI,QAAI,cAAAC,SAAO,MAAM,CAAC;AAEtB,MAAI,IAAI,SAAS,OAAO,KAAK,QAAQ;AACnC,UAAM,OAAO,MAAM,gBAAAC,QAAG,SAAS,MAAM,IAAI;AACzC,QAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,EAC3B,CAAC;AAED,MAAI,IAAI,SAAK,0BAAAC,SAAM,GAAG,KAAK,WAAW,KAAK,MAAM,CAAC;AAElD,QAAM,YAAY,IAAI,OAAO,IAAI;AAEjC,UAAQ,IAAI,gBAAgB,aAAAC,QAAM,MAAM,oBAAoB,MAAM,CAAC;AAEnE,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAAA,EACjD;AAEA,cAAY,MAAM;AAChB,YAAQ,IAAI,WAAW;AAAA,EACzB,GAAG,GAAM;AAET,QAAM,QAAQ,WAAW,WAAW;AACtC;",
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;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAE9B,kBAAwB;AAExB,yBAA8B;AAC9B,mBAAkB;AAClB,qBAAoB;AACpB,gCAAkB;AAClB,sBAAe;AACf,oBAAmB;AACnB,kBAA6B;AAE7B,gCAAmC;AAZnC;AAeA,MAAM,UACJ,SAAS,kBAAc,6BAAc,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,WAAO,qBAAQ,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,UAAM,0BAAa;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA;AAAA,MAEN,MAAM,QAAQ;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,UACP,kCAAc;AAAA,QACZ,YAAY,CAAC,SAAS;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAGD,QAAM,OAAO,OAAO;AAEpB,QAAM,yBAAqB,8CAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAEhC,QAAM,UAAM,eAAAA,SAAQ;AAEpB,MAAI,QAAQ,cAAc;AAC1B,MAAI,IAAI,eAAAA,QAAQ,OAAO,MAAM,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AACtD,MAAI,QAAI,cAAAC,SAAO,MAAM,CAAC;AAEtB,MAAI,IAAI,SAAS,OAAO,KAAK,QAAQ;AACnC,UAAM,OAAO,MAAM,gBAAAC,QAAG,SAAS,MAAM,IAAI;AACzC,QAAI,OAAO,GAAG,EAAE,KAAK,IAAI;AAAA,EAC3B,CAAC;AAED,MAAI,IAAI,SAAK,0BAAAC,SAAM,GAAG,KAAK,WAAW,UAAU,CAAC;AAEjD,QAAM,YAAY,IAAI,OAAO,UAAU;AAEvC,UAAQ,IAAI,gBAAgB,aAAAC,QAAM,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;",
6
6
  "names": ["express", "morgan", "fs", "proxy", "chalk"]
7
7
  }
@@ -14,12 +14,20 @@ const studio = async (options) => {
14
14
  const { default: getPort } = await import("get-port");
15
15
  const { paths } = options;
16
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
+ ]);
17
25
  const server = await createServer({
18
26
  root,
19
27
  server: {
20
28
  // open: true,
21
29
  host: options.host,
22
- port: 1420
30
+ port: vitePort
23
31
  },
24
32
  plugins: [
25
33
  tamaguiPlugin({
@@ -27,13 +35,9 @@ const studio = async (options) => {
27
35
  })
28
36
  ]
29
37
  });
30
- const serverPromise = server.listen();
38
+ await server.listen();
31
39
  const configWatchPromise = watchTamaguiConfig(options);
32
40
  const info = (_a = server.httpServer) == null ? void 0 : _a.address();
33
- console.log("devServerInfo", info);
34
- const port = await getPort({
35
- port: info.port + 1
36
- });
37
41
  const app = express();
38
42
  app.disable("x-powered-by");
39
43
  app.use(express.static(paths.dotDir, { maxAge: "2h" }));
@@ -42,18 +46,13 @@ const studio = async (options) => {
42
46
  const conf = await fs.readJSON(paths.conf);
43
47
  res.status(200).json(conf);
44
48
  });
45
- app.use("/", proxy(`${info.address}:${info.port}`));
46
- const appServer = app.listen(port);
47
- console.log(`Listening on`, chalk.green(`http://localhost:${port}`));
48
- const longRunning = [
49
- serverPromise,
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([
50
53
  configWatchPromise,
51
54
  new Promise((res) => appServer.on("close", res))
52
- ];
53
- setInterval(() => {
54
- console.log(longRunning);
55
- }, 1e4);
56
- await Promise.allSettled(longRunning);
55
+ ]);
57
56
  };
58
57
  export {
59
58
  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 const server = await createServer({\n root,\n server: {\n // open: true,\n host: options.host,\n port: 1420,\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 const serverPromise = server.listen()\n const configWatchPromise = watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n console.log('devServerInfo', info)\n\n const port = await getPort({\n port: info.port + 1,\n })\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}:${info.port}`))\n\n const appServer = app.listen(port)\n\n console.log(`Listening on`, chalk.green(`http://localhost:${port}`))\n\n const longRunning = [\n serverPromise,\n configWatchPromise,\n new Promise((res) => appServer.on('close', res)),\n ]\n\n setInterval(() => {\n console.log(longRunning)\n }, 10_000)\n\n await Promise.allSettled(longRunning)\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;AACrD,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,gBAAgB,OAAO,OAAO;AACpC,QAAM,qBAAqB,mBAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAChC,UAAQ,IAAI,iBAAiB,IAAI;AAEjC,QAAM,OAAO,MAAM,QAAQ;AAAA,IACzB,MAAM,KAAK,OAAO;AAAA,EACpB,CAAC;AAED,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,KAAK,MAAM,CAAC;AAElD,QAAM,YAAY,IAAI,OAAO,IAAI;AAEjC,UAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,MAAM,CAAC;AAEnE,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAAA,EACjD;AAEA,cAAY,MAAM;AAChB,YAAQ,IAAI,WAAW;AAAA,EACzB,GAAG,GAAM;AAET,QAAM,QAAQ,WAAW,WAAW;AACtC;",
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;",
6
6
  "names": []
7
7
  }
@@ -14,12 +14,20 @@ const studio = async (options) => {
14
14
  const { default: getPort } = await import("get-port");
15
15
  const { paths } = options;
16
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
+ ]);
17
25
  const server = await createServer({
18
26
  root,
19
27
  server: {
20
28
  // open: true,
21
29
  host: options.host,
22
- port: 1420
30
+ port: vitePort
23
31
  },
24
32
  plugins: [
25
33
  tamaguiPlugin({
@@ -27,13 +35,9 @@ const studio = async (options) => {
27
35
  })
28
36
  ]
29
37
  });
30
- const serverPromise = server.listen();
38
+ await server.listen();
31
39
  const configWatchPromise = watchTamaguiConfig(options);
32
40
  const info = (_a = server.httpServer) == null ? void 0 : _a.address();
33
- console.log("devServerInfo", info);
34
- const port = await getPort({
35
- port: info.port + 1
36
- });
37
41
  const app = express();
38
42
  app.disable("x-powered-by");
39
43
  app.use(express.static(paths.dotDir, { maxAge: "2h" }));
@@ -42,18 +46,13 @@ const studio = async (options) => {
42
46
  const conf = await fs.readJSON(paths.conf);
43
47
  res.status(200).json(conf);
44
48
  });
45
- app.use("/", proxy(`${info.address}:${info.port}`));
46
- const appServer = app.listen(port);
47
- console.log(`Listening on`, chalk.green(`http://localhost:${port}`));
48
- const longRunning = [
49
- serverPromise,
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([
50
53
  configWatchPromise,
51
54
  new Promise((res) => appServer.on("close", res))
52
- ];
53
- setInterval(() => {
54
- console.log(longRunning);
55
- }, 1e4);
56
- await Promise.allSettled(longRunning);
55
+ ]);
57
56
  };
58
57
  export {
59
58
  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 const server = await createServer({\n root,\n server: {\n // open: true,\n host: options.host,\n port: 1420,\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 const serverPromise = server.listen()\n const configWatchPromise = watchTamaguiConfig(options)\n\n const info = server.httpServer?.address() as AddressInfo\n console.log('devServerInfo', info)\n\n const port = await getPort({\n port: info.port + 1,\n })\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}:${info.port}`))\n\n const appServer = app.listen(port)\n\n console.log(`Listening on`, chalk.green(`http://localhost:${port}`))\n\n const longRunning = [\n serverPromise,\n configWatchPromise,\n new Promise((res) => appServer.on('close', res)),\n ]\n\n setInterval(() => {\n console.log(longRunning)\n }, 10_000)\n\n await Promise.allSettled(longRunning)\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;AACrD,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,gBAAgB,OAAO,OAAO;AACpC,QAAM,qBAAqB,mBAAmB,OAAO;AAErD,QAAM,QAAO,YAAO,eAAP,mBAAmB;AAChC,UAAQ,IAAI,iBAAiB,IAAI;AAEjC,QAAM,OAAO,MAAM,QAAQ;AAAA,IACzB,MAAM,KAAK,OAAO;AAAA,EACpB,CAAC;AAED,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,KAAK,MAAM,CAAC;AAElD,QAAM,YAAY,IAAI,OAAO,IAAI;AAEjC,UAAQ,IAAI,gBAAgB,MAAM,MAAM,oBAAoB,MAAM,CAAC;AAEnE,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA,IAAI,QAAQ,CAAC,QAAQ,UAAU,GAAG,SAAS,GAAG,CAAC;AAAA,EACjD;AAEA,cAAY,MAAM;AAChB,YAAQ,IAAI,WAAW;AAAA,EACzB,GAAG,GAAM;AAET,QAAM,QAAQ,WAAW,WAAW;AACtC;",
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;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/cli",
3
- "version": "1.6.3",
3
+ "version": "1.7.1",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "module": "dist/esm",
@@ -36,9 +36,9 @@
36
36
  "@callstack/repack-debugger-app": "^1.0.0",
37
37
  "@fastify/sensible": "^4.1.0",
38
38
  "@fastify/static": "^5.0.2",
39
- "@tamagui/build": "1.6.3",
40
- "@tamagui/static": "1.6.3",
41
- "@tamagui/vite-plugin": "1.6.3",
39
+ "@tamagui/build": "1.7.1",
40
+ "@tamagui/static": "1.7.1",
41
+ "@tamagui/vite-plugin": "1.7.1",
42
42
  "@types/compression": "^1.7.2",
43
43
  "@types/morgan": "^1.9.3",
44
44
  "arg": "^5.0.2",
package/src/studio.ts CHANGED
@@ -20,12 +20,22 @@ export const studio = async (options: ResolvedOptions) => {
20
20
  const { default: getPort } = await import('get-port')
21
21
  const { paths } = options
22
22
  const root = dirname(resolve('@takeout/studio/entry'))
23
+
24
+ const [serverPort, vitePort] = await Promise.all([
25
+ getPort({
26
+ port: 1421,
27
+ }),
28
+ getPort({
29
+ port: 1422,
30
+ }),
31
+ ])
32
+
23
33
  const server = await createServer({
24
34
  root,
25
35
  server: {
26
36
  // open: true,
27
37
  host: options.host,
28
- port: 1420,
38
+ port: vitePort,
29
39
  },
30
40
  plugins: [
31
41
  tamaguiPlugin({
@@ -35,15 +45,11 @@ export const studio = async (options: ResolvedOptions) => {
35
45
  })
36
46
 
37
47
  // these can be lazy loaded (eventually should put in own process)
38
- const serverPromise = server.listen()
48
+ await server.listen()
49
+
39
50
  const configWatchPromise = watchTamaguiConfig(options)
40
51
 
41
52
  const info = server.httpServer?.address() as AddressInfo
42
- console.log('devServerInfo', info)
43
-
44
- const port = await getPort({
45
- port: info.port + 1,
46
- })
47
53
 
48
54
  const app = express()
49
55
 
@@ -56,21 +62,14 @@ export const studio = async (options: ResolvedOptions) => {
56
62
  res.status(200).json(conf)
57
63
  })
58
64
 
59
- app.use('/', proxy(`${info.address}:${info.port}`))
65
+ app.use('/', proxy(`${info.address}:${vitePort}`))
60
66
 
61
- const appServer = app.listen(port)
67
+ const appServer = app.listen(serverPort)
62
68
 
63
- console.log(`Listening on`, chalk.green(`http://localhost:${port}`))
69
+ console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))
64
70
 
65
- const longRunning = [
66
- serverPromise,
71
+ await Promise.allSettled([
67
72
  configWatchPromise,
68
73
  new Promise((res) => appServer.on('close', res)),
69
- ]
70
-
71
- setInterval(() => {
72
- console.log(longRunning)
73
- }, 10_000)
74
-
75
- await Promise.allSettled(longRunning)
74
+ ])
76
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../src/studio.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK5C,eAAO,MAAM,MAAM,YAAmB,eAAe,kBAyDpD,CAAA"}
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../src/studio.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK5C,eAAO,MAAM,MAAM,YAAmB,eAAe,kBAwDpD,CAAA"}