@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.
- package/dist/cjs/build.js.map +2 -2
- package/dist/cjs/cli.js +8 -2
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/dev/createDevServer.js.map +2 -2
- package/dist/cjs/dev.js.map +2 -2
- package/dist/cjs/generate.js.map +2 -2
- package/dist/cjs/index.js +0 -6
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/studio.js +54 -42
- package/dist/cjs/studio.js.map +3 -3
- package/dist/cjs/tamaguiConfigUtils.js +34 -12
- package/dist/cjs/tamaguiConfigUtils.js.map +3 -3
- package/dist/cjs/test.js.map +2 -2
- package/dist/cjs/utils.js +0 -1
- package/dist/cjs/utils.js.map +2 -2
- package/dist/cjs/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +0 -1
- package/dist/cjs/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +2 -2
- package/dist/esm/build.js.map +2 -2
- package/dist/esm/build.mjs.map +2 -2
- package/dist/esm/cli.js +8 -2
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/cli.mjs +8 -2
- package/dist/esm/cli.mjs.map +2 -2
- package/dist/esm/dev/createDevServer.js.map +2 -2
- package/dist/esm/dev/createDevServer.mjs.map +2 -2
- package/dist/esm/dev.js.map +2 -2
- package/dist/esm/dev.mjs.map +2 -2
- package/dist/esm/generate.js.map +2 -2
- package/dist/esm/generate.mjs.map +2 -2
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +0 -6
- package/dist/esm/index.mjs.map +2 -2
- package/dist/esm/studio.js +54 -42
- package/dist/esm/studio.js.map +2 -2
- package/dist/esm/studio.mjs +54 -42
- package/dist/esm/studio.mjs.map +2 -2
- package/dist/esm/tamaguiConfigUtils.js +34 -12
- package/dist/esm/tamaguiConfigUtils.js.map +2 -2
- package/dist/esm/tamaguiConfigUtils.mjs +34 -12
- package/dist/esm/tamaguiConfigUtils.mjs.map +2 -2
- package/dist/esm/test.js.map +2 -2
- package/dist/esm/test.mjs.map +2 -2
- package/dist/esm/utils.js +0 -1
- package/dist/esm/utils.js.map +2 -2
- package/dist/esm/utils.mjs +0 -1
- package/dist/esm/utils.mjs.map +2 -2
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +0 -1
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +2 -2
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs +0 -1
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs.map +2 -2
- package/package.json +9 -9
- package/src/build.ts +2 -3
- package/src/cli.ts +8 -2
- package/src/dev/createDevServer.ts +3 -2
- package/src/dev.ts +2 -2
- package/src/generate.ts +5 -5
- package/src/index.ts +0 -7
- package/src/studio.ts +61 -47
- package/src/tamaguiConfigUtils.ts +38 -42
- package/src/test.ts +2 -2
- package/src/utils.ts +3 -7
- package/src/vendor/repack/dev-server/src/plugins/wss/wssPlugin.ts +0 -2
- package/types/build.d.ts +2 -2
- package/types/build.d.ts.map +1 -1
- package/types/dev/createDevServer.d.ts +2 -2
- package/types/dev/createDevServer.d.ts.map +1 -1
- package/types/dev.d.ts +2 -2
- package/types/dev.d.ts.map +1 -1
- package/types/generate.d.ts +3 -3
- package/types/generate.d.ts.map +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/studio.d.ts +2 -2
- package/types/studio.d.ts.map +1 -1
- package/types/tamaguiConfigUtils.d.ts +3 -3
- package/types/tamaguiConfigUtils.d.ts.map +1 -1
- package/types/test.d.ts +2 -2
- package/types/test.d.ts.map +1 -1
- package/types/utils.d.ts +2 -2
- package/types/utils.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.d.ts.map +1 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/wssPlugin.d.ts +1 -2
- package/types/vendor/repack/dev-server/src/plugins/wss/wssPlugin.d.ts.map +1 -1
- package/src/types.ts +0 -31
- package/types/types.d.ts +0 -30
|
@@ -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\
|
|
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;
|
|
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
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -36,11 +36,14 @@
|
|
|
36
36
|
"@callstack/repack-debugger-app": "^1.0.0",
|
|
37
37
|
"@fastify/sensible": "^4.1.0",
|
|
38
38
|
"@fastify/static": "^5.0.2",
|
|
39
|
-
"@
|
|
40
|
-
"@tamagui/
|
|
41
|
-
"@tamagui/
|
|
39
|
+
"@takeout/studio": "1.5.24",
|
|
40
|
+
"@tamagui/build": "1.15.0",
|
|
41
|
+
"@tamagui/static": "1.15.0",
|
|
42
|
+
"@tamagui/types": "1.15.0",
|
|
43
|
+
"@tamagui/vite-plugin": "1.15.0",
|
|
42
44
|
"@types/compression": "^1.7.2",
|
|
43
45
|
"@types/morgan": "^1.9.3",
|
|
46
|
+
"@vitejs/plugin-react-swc": "^3.2.0",
|
|
44
47
|
"arg": "^5.0.2",
|
|
45
48
|
"chalk": "^4.1.2",
|
|
46
49
|
"chokidar": "^3.5.2",
|
|
@@ -65,13 +68,10 @@
|
|
|
65
68
|
"pretty-format": "^28.1.0",
|
|
66
69
|
"source-map": "^0.7.3",
|
|
67
70
|
"ts-morph": "^15.1.0",
|
|
68
|
-
"typescript": "^
|
|
71
|
+
"typescript": "^5.0.4",
|
|
69
72
|
"url": "^0.11.0",
|
|
70
|
-
"vite": "^4.
|
|
73
|
+
"vite": "^4.2.1",
|
|
71
74
|
"ws": "^8.7.0",
|
|
72
75
|
"zx": "^7.1.1"
|
|
73
|
-
},
|
|
74
|
-
"devDependencies": {
|
|
75
|
-
"@takeout/studio": "1.5.24"
|
|
76
76
|
}
|
|
77
77
|
}
|
package/src/build.ts
CHANGED
|
@@ -2,12 +2,11 @@ import { writeFile } from 'fs'
|
|
|
2
2
|
import { basename, dirname, join, resolve } from 'path'
|
|
3
3
|
|
|
4
4
|
import { createExtractor, extractToClassNames, loadTamagui } from '@tamagui/static'
|
|
5
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
5
6
|
import chokidar from 'chokidar'
|
|
6
7
|
import { readFile } from 'fs-extra'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export const build = async (options: ResolvedOptions) => {
|
|
9
|
+
export const build = async (options: CLIResolvedOptions) => {
|
|
11
10
|
// const tamagui = await loadTamagui(options.tamaguiOptions)
|
|
12
11
|
|
|
13
12
|
const entry = options.pkgJson.source
|
package/src/cli.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { disposeAll, getOptions } from './utils.js'
|
|
|
8
8
|
process.on(_, () => {
|
|
9
9
|
process.stdout.write(`bye\n`)
|
|
10
10
|
disposeAll()
|
|
11
|
+
process.exit()
|
|
11
12
|
})
|
|
12
13
|
})
|
|
13
14
|
|
|
@@ -61,14 +62,19 @@ const COMMAND_MAP = {
|
|
|
61
62
|
studio: {
|
|
62
63
|
shorthands: ['s'],
|
|
63
64
|
description: `Studio`,
|
|
64
|
-
flags: {
|
|
65
|
+
flags: {
|
|
66
|
+
'--help': Boolean,
|
|
67
|
+
'--debug': Boolean,
|
|
68
|
+
'--verbose': Boolean,
|
|
69
|
+
'--local': Boolean,
|
|
70
|
+
},
|
|
65
71
|
async run() {
|
|
66
72
|
const { _, ...flags } = arg(this.flags)
|
|
67
73
|
const { studio } = await import('./studio.js')
|
|
68
74
|
const options = await getOptions({
|
|
69
75
|
debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
70
76
|
})
|
|
71
|
-
await studio(options)
|
|
77
|
+
await studio(options, !flags['--local'])
|
|
72
78
|
},
|
|
73
79
|
},
|
|
74
80
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { readFile } from 'fs/promises'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
4
|
+
|
|
4
5
|
import { DEFAULT_PORT } from '../utils/constants.js'
|
|
5
6
|
import { Server, createServer } from '../vendor/repack/dev-server/src'
|
|
6
7
|
|
|
7
8
|
export async function createDevServer(
|
|
8
|
-
options:
|
|
9
|
+
options: CLIResolvedOptions,
|
|
9
10
|
{
|
|
10
11
|
indexJson,
|
|
11
12
|
getIndexBundle,
|
package/src/dev.ts
CHANGED
|
@@ -2,16 +2,16 @@ import { readFile } from 'fs/promises'
|
|
|
2
2
|
import { AddressInfo } from 'net'
|
|
3
3
|
import { join } from 'path'
|
|
4
4
|
|
|
5
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
5
6
|
import chalk from 'chalk'
|
|
6
7
|
import fs from 'fs-extra'
|
|
7
8
|
import { build, createServer } from 'vite'
|
|
8
9
|
|
|
9
10
|
import { createDevServer } from './dev/createDevServer.js'
|
|
10
11
|
import { watchTamaguiConfig } from './tamaguiConfigUtils.js'
|
|
11
|
-
import { ResolvedOptions } from './types.js'
|
|
12
12
|
import { registerDispose } from './utils.js'
|
|
13
13
|
|
|
14
|
-
export const dev = async (options:
|
|
14
|
+
export const dev = async (options: CLIResolvedOptions) => {
|
|
15
15
|
const { root, mode, paths } = options
|
|
16
16
|
|
|
17
17
|
process.chdir(process.cwd())
|
package/src/generate.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
3
4
|
import fs from 'fs-extra'
|
|
4
5
|
import { Project } from 'ts-morph'
|
|
5
6
|
|
|
6
|
-
import { ResolvedOptions } from './types.js'
|
|
7
7
|
import { loadTamagui } from './utils.js'
|
|
8
8
|
|
|
9
|
-
export async function generateTypes(options:
|
|
9
|
+
export async function generateTypes(options: CLIResolvedOptions) {
|
|
10
10
|
const types = await getTypes(options)
|
|
11
11
|
await fs.writeJSON(options.paths.types, types, {
|
|
12
12
|
spaces: 2,
|
|
13
13
|
})
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export async function getTypes(options:
|
|
16
|
+
export async function getTypes(options: CLIResolvedOptions) {
|
|
17
17
|
const tamagui = await loadTamagui(options.tamaguiOptions)
|
|
18
18
|
|
|
19
19
|
const uniqueViewExportingPaths = new Set(
|
|
20
20
|
Object.keys(tamagui.nameToPaths).map((name) => {
|
|
21
21
|
return `${[...tamagui.nameToPaths[name]][0]}.ts*`
|
|
22
|
-
})
|
|
22
|
+
})
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
const project = new Project({
|
|
@@ -51,7 +51,7 @@ export async function getTypes(options: ResolvedOptions) {
|
|
|
51
51
|
}),
|
|
52
52
|
]
|
|
53
53
|
})
|
|
54
|
-
})
|
|
54
|
+
})
|
|
55
55
|
)
|
|
56
56
|
|
|
57
57
|
// console.log(
|
package/src/index.ts
CHANGED
package/src/studio.ts
CHANGED
|
@@ -2,74 +2,88 @@ import { createRequire } from 'module'
|
|
|
2
2
|
import { AddressInfo } from 'net'
|
|
3
3
|
import { dirname } from 'path'
|
|
4
4
|
|
|
5
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
5
6
|
import { tamaguiPlugin } from '@tamagui/vite-plugin'
|
|
7
|
+
import viteReactPlugin from '@vitejs/plugin-react-swc'
|
|
6
8
|
import chalk from 'chalk'
|
|
7
9
|
import express from 'express'
|
|
8
10
|
import proxy from 'express-http-proxy'
|
|
9
11
|
import fs from 'fs-extra'
|
|
10
|
-
import morgan from 'morgan'
|
|
11
12
|
import { createServer } from 'vite'
|
|
12
13
|
|
|
13
14
|
import { watchTamaguiConfig } from './tamaguiConfigUtils.js'
|
|
14
|
-
import { ResolvedOptions } from './types.js'
|
|
15
15
|
|
|
16
16
|
const resolve =
|
|
17
17
|
'url' in import.meta ? createRequire(import.meta.url).resolve : require.resolve
|
|
18
18
|
|
|
19
|
-
export const studio = async (options:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
root
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
components: ['tamagui'],
|
|
19
|
+
export const studio = async (options: CLIResolvedOptions, isRemote = true) => {
|
|
20
|
+
process.env.TAMAGUI_TARGET = 'web'
|
|
21
|
+
|
|
22
|
+
const configWatchPromise = watchTamaguiConfig(options)
|
|
23
|
+
let localServerPromise = new Promise(() => {})
|
|
24
|
+
if (!isRemote) {
|
|
25
|
+
process.env.VITE_IS_LOCAL = '1'
|
|
26
|
+
|
|
27
|
+
process.stdout.on('error', function (err) {
|
|
28
|
+
if (err.code == 'EPIPE') {
|
|
29
|
+
process.exit(0)
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
const { default: getPort } = await import('get-port')
|
|
33
|
+
const { paths } = options
|
|
34
|
+
const root = dirname(resolve('@takeout/studio/entry'))
|
|
35
|
+
|
|
36
|
+
const [serverPort, vitePort] = await Promise.all([
|
|
37
|
+
getPort({
|
|
38
|
+
port: 1421,
|
|
39
|
+
}),
|
|
40
|
+
getPort({
|
|
41
|
+
port: 1422,
|
|
43
42
|
}),
|
|
44
|
-
]
|
|
45
|
-
})
|
|
43
|
+
])
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
const server = await createServer({
|
|
46
|
+
root,
|
|
47
|
+
server: {
|
|
48
|
+
host: options.host,
|
|
49
|
+
port: vitePort,
|
|
50
|
+
hmr: true,
|
|
51
|
+
cors: true,
|
|
52
|
+
},
|
|
53
|
+
plugins: [
|
|
54
|
+
tamaguiPlugin({
|
|
55
|
+
components: ['tamagui'],
|
|
56
|
+
}),
|
|
57
|
+
viteReactPlugin(),
|
|
58
|
+
],
|
|
59
|
+
})
|
|
49
60
|
|
|
50
|
-
|
|
61
|
+
// these can be lazy loaded (eventually should put in own process)
|
|
62
|
+
await server.listen()
|
|
63
|
+
|
|
64
|
+
const info = server.httpServer?.address() as AddressInfo
|
|
51
65
|
|
|
52
|
-
|
|
66
|
+
const app = express()
|
|
53
67
|
|
|
54
|
-
|
|
68
|
+
app.disable('x-powered-by')
|
|
69
|
+
app.use(express.static(paths.dotDir, { maxAge: '2h' }))
|
|
70
|
+
// app.use(morgan('tiny'))
|
|
55
71
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
app.get('/conf.json', async (req, res) => {
|
|
73
|
+
const conf = await fs.readJSON(paths.conf)
|
|
74
|
+
res.status(200).json(conf)
|
|
75
|
+
})
|
|
59
76
|
|
|
60
|
-
|
|
61
|
-
const conf = await fs.readJSON(paths.conf)
|
|
62
|
-
res.status(200).json(conf)
|
|
63
|
-
})
|
|
77
|
+
app.use('/', proxy(`${info.address}:${vitePort}`))
|
|
64
78
|
|
|
65
|
-
|
|
79
|
+
const appServer = app.listen(serverPort)
|
|
66
80
|
|
|
67
|
-
|
|
81
|
+
localServerPromise = new Promise((res) => appServer.on('close', res))
|
|
68
82
|
|
|
69
|
-
|
|
83
|
+
console.log(`Listening on`, chalk.green(`http://localhost:${serverPort}`))
|
|
84
|
+
} else {
|
|
85
|
+
console.log(`Open `, chalk.green(`https://studio.tamagui.dev`), ` to load studio`)
|
|
86
|
+
}
|
|
70
87
|
|
|
71
|
-
await Promise.allSettled([
|
|
72
|
-
configWatchPromise,
|
|
73
|
-
new Promise((res) => appServer.on('close', res)),
|
|
74
|
-
])
|
|
88
|
+
await Promise.allSettled([configWatchPromise, localServerPromise])
|
|
75
89
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { getVariableValue } from '@tamagui/core-node'
|
|
4
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
4
5
|
import esbuild from 'esbuild'
|
|
5
6
|
import fs, { ensureDir } from 'fs-extra'
|
|
6
7
|
|
|
7
|
-
import { ResolvedOptions } from './types.js'
|
|
8
8
|
import { loadTamagui } from './utils.js'
|
|
9
9
|
|
|
10
|
-
export async function generateTamaguiConfig(options:
|
|
10
|
+
export async function generateTamaguiConfig(options: CLIResolvedOptions) {
|
|
11
11
|
await ensureDir(options.paths.dotDir)
|
|
12
12
|
const config = await getTamaguiConfig(options)
|
|
13
13
|
const { components, nameToPaths } = config
|
|
@@ -34,10 +34,10 @@ export async function generateTamaguiConfig(options: ResolvedOptions) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// remove bulky stuff in components
|
|
37
|
-
for (const
|
|
38
|
-
const component = components[key]
|
|
37
|
+
for (const component of components) {
|
|
39
38
|
for (const _ in component.nameToInfo) {
|
|
40
39
|
delete component.nameToInfo[_].staticConfig['validStyles']
|
|
40
|
+
delete component.nameToInfo[_].staticConfig['parentStaticConfig']
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -47,50 +47,46 @@ export async function generateTamaguiConfig(options: ResolvedOptions) {
|
|
|
47
47
|
nameToPaths[key] = [...nameToPaths[key]]
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
delete config.tamaguiConfig['fontsParsed']
|
|
55
|
-
// @ts-ignore
|
|
56
|
-
delete config.tamaguiConfig['getCSS']
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
delete config.tamaguiConfig['tokensParsed']
|
|
59
|
-
// @ts-ignore
|
|
60
|
-
delete config.tamaguiConfig['themeConfig']
|
|
50
|
+
// remove stuff we dont need to send
|
|
51
|
+
const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } =
|
|
52
|
+
config.tamaguiConfig
|
|
61
53
|
|
|
62
|
-
await fs.writeJSON(
|
|
63
|
-
|
|
64
|
-
|
|
54
|
+
await fs.writeJSON(
|
|
55
|
+
options.paths.conf,
|
|
56
|
+
{
|
|
57
|
+
...config,
|
|
58
|
+
tamaguiConfig: cleanedConfig,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
spaces: 2,
|
|
62
|
+
}
|
|
63
|
+
)
|
|
65
64
|
}
|
|
66
65
|
|
|
67
|
-
async function getTamaguiConfig(options:
|
|
66
|
+
async function getTamaguiConfig(options: CLIResolvedOptions) {
|
|
68
67
|
return loadTamagui(options.tamaguiOptions)
|
|
69
68
|
}
|
|
70
69
|
|
|
71
|
-
export async function watchTamaguiConfig(options:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// // dont output just use esbuild as a watcher
|
|
80
|
-
// write: false,
|
|
70
|
+
export async function watchTamaguiConfig(options: CLIResolvedOptions) {
|
|
71
|
+
if (!options.tamaguiOptions.config) return
|
|
72
|
+
await generateTamaguiConfig(options)
|
|
73
|
+
const context = await esbuild.context({
|
|
74
|
+
entryPoints: [options.tamaguiOptions.config],
|
|
75
|
+
sourcemap: false,
|
|
76
|
+
// dont output just use esbuild as a watcher
|
|
77
|
+
write: false,
|
|
81
78
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
79
|
+
plugins: [
|
|
80
|
+
{
|
|
81
|
+
name: `on-rebuild`,
|
|
82
|
+
setup({ onEnd }) {
|
|
83
|
+
onEnd((res) => {
|
|
84
|
+
generateTamaguiConfig(options)
|
|
85
|
+
})
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
})
|
|
93
90
|
|
|
94
|
-
|
|
95
|
-
// console.log('done watching')
|
|
91
|
+
await context.watch()
|
|
96
92
|
}
|
package/src/test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import {
|
|
2
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
3
3
|
|
|
4
|
-
export const test = async (options:
|
|
4
|
+
export const test = async (options: CLIResolvedOptions) => {
|
|
5
5
|
const { dev } = await import('./dev.js')
|
|
6
6
|
|
|
7
7
|
// failing on startup "Tamagui error bundling components require() of ES Module"
|
package/src/utils.ts
CHANGED
|
@@ -2,11 +2,9 @@ import { join } from 'path'
|
|
|
2
2
|
|
|
3
3
|
import type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static'
|
|
4
4
|
import { loadTamagui as loadTamaguiStatic } from '@tamagui/static'
|
|
5
|
+
import { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types'
|
|
5
6
|
import chalk from 'chalk'
|
|
6
7
|
import fs, { pathExists, readJSON } from 'fs-extra'
|
|
7
|
-
import { ViteDevServer } from 'vite'
|
|
8
|
-
|
|
9
|
-
import { ResolvedOptions, UserOptions } from './types.js'
|
|
10
8
|
|
|
11
9
|
export async function getOptions({
|
|
12
10
|
root = process.cwd(),
|
|
@@ -14,14 +12,12 @@ export async function getOptions({
|
|
|
14
12
|
tamaguiOptions,
|
|
15
13
|
host,
|
|
16
14
|
debug,
|
|
17
|
-
}: Partial<
|
|
15
|
+
}: Partial<CLIUserOptions> = {}): Promise<CLIResolvedOptions> {
|
|
18
16
|
const tsConfigFilePath = join(root, tsconfigPath)
|
|
19
17
|
ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`)
|
|
20
18
|
const dotDir = join(root, '.tamagui')
|
|
21
19
|
const pkgJson = await readJSON(join(root, 'package.json'))
|
|
22
20
|
|
|
23
|
-
console.log('host', host)
|
|
24
|
-
|
|
25
21
|
return {
|
|
26
22
|
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
|
27
23
|
root,
|
|
@@ -82,4 +78,4 @@ export function registerDispose(cb: () => void) {
|
|
|
82
78
|
|
|
83
79
|
export function disposeAll() {
|
|
84
80
|
disposers.forEach((cb) => cb())
|
|
85
|
-
}
|
|
81
|
+
}
|
|
@@ -11,8 +11,6 @@ import { WebSocketHMRServer } from './servers/WebSocketHMRServer'
|
|
|
11
11
|
import { WebSocketMessageServer } from './servers/WebSocketMessageServer'
|
|
12
12
|
import { WebSocketRouter } from './WebSocketRouter'
|
|
13
13
|
|
|
14
|
-
console.log('HermesInspectorProxy disabled')
|
|
15
|
-
|
|
16
14
|
declare module 'fastify' {
|
|
17
15
|
interface FastifyInstance {
|
|
18
16
|
wss: {
|
package/types/build.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const build: (options:
|
|
1
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
+
export declare const build: (options: CLIResolvedOptions) => Promise<void>;
|
|
3
3
|
//# sourceMappingURL=build.d.ts.map
|
package/types/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,eAAO,MAAM,KAAK,YAAmB,kBAAkB,kBAoDtD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function createDevServer(options:
|
|
1
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
+
export declare function createDevServer(options: CLIResolvedOptions, { indexJson, getIndexBundle, }: {
|
|
3
3
|
indexJson: Object;
|
|
4
4
|
getIndexBundle: () => Promise<string>;
|
|
5
5
|
}): Promise<() => Promise<void>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDevServer.d.ts","sourceRoot":"","sources":["../../src/dev/createDevServer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createDevServer.d.ts","sourceRoot":"","sources":["../../src/dev/createDevServer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAKnD,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,EACE,SAAS,EACT,cAAc,GACf,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,gCAgKhE;AAyBD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAA;IACrC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CAC5B"}
|
package/types/dev.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const dev: (options:
|
|
1
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
+
export declare const dev: (options: CLIResolvedOptions) => Promise<void>;
|
|
3
3
|
//# sourceMappingURL=dev.d.ts.map
|
package/types/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AASnD,eAAO,MAAM,GAAG,YAAmB,kBAAkB,kBA4KpD,CAAA"}
|
package/types/generate.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
export declare function generateTypes(options:
|
|
4
|
-
export declare function getTypes(options:
|
|
2
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
3
|
+
export declare function generateTypes(options: CLIResolvedOptions): Promise<void>;
|
|
4
|
+
export declare function getTypes(options: CLIResolvedOptions): Promise<{
|
|
5
5
|
[k: string]: (string | undefined)[][];
|
|
6
6
|
}>;
|
|
7
7
|
//# sourceMappingURL=generate.d.ts.map
|
package/types/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAMnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,iBAK9D;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,kBAAkB;;GAwDzD"}
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,UAAU,CAAA"}
|
package/types/studio.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const studio: (options:
|
|
1
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
+
export declare const studio: (options: CLIResolvedOptions, isRemote?: boolean) => Promise<void>;
|
|
3
3
|
//# sourceMappingURL=studio.d.ts.map
|
package/types/studio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../src/studio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../src/studio.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAcnD,eAAO,MAAM,MAAM,YAAmB,kBAAkB,sCAsEvD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
export declare function generateTamaguiConfig(options:
|
|
4
|
-
export declare function watchTamaguiConfig(options:
|
|
2
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
3
|
+
export declare function generateTamaguiConfig(options: CLIResolvedOptions): Promise<void>;
|
|
4
|
+
export declare function watchTamaguiConfig(options: CLIResolvedOptions): Promise<void>;
|
|
5
5
|
//# sourceMappingURL=tamaguiConfigUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tamaguiConfigUtils.d.ts","sourceRoot":"","sources":["../src/tamaguiConfigUtils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"tamaguiConfigUtils.d.ts","sourceRoot":"","sources":["../src/tamaguiConfigUtils.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAMnD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,iBAsDtE;AAMD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,iBAsBnE"}
|
package/types/test.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const test: (options:
|
|
1
|
+
import { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
+
export declare const test: (options: CLIResolvedOptions) => Promise<void>;
|
|
3
3
|
//# sourceMappingURL=test.d.ts.map
|
package/types/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,eAAO,MAAM,IAAI,YAAmB,kBAAkB,kBAQrD,CAAA"}
|
package/types/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TamaguiOptions, TamaguiProjectInfo } from '@tamagui/static';
|
|
2
|
-
import {
|
|
3
|
-
export declare function getOptions({ root, tsconfigPath, tamaguiOptions, host, debug, }?: Partial<
|
|
2
|
+
import { CLIResolvedOptions, CLIUserOptions } from '@tamagui/types';
|
|
3
|
+
export declare function getOptions({ root, tsconfigPath, tamaguiOptions, host, debug, }?: Partial<CLIUserOptions>): Promise<CLIResolvedOptions>;
|
|
4
4
|
export declare function ensure(condition: boolean, message: string): void;
|
|
5
5
|
export declare const loadTamagui: (opts: Partial<TamaguiOptions>) => Promise<TamaguiProjectInfo>;
|
|
6
6
|
export declare function registerDispose(cb: () => void): void;
|
package/types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAInE,wBAAsB,UAAU,CAAC,EAC/B,IAAoB,EACpB,YAA8B,EAC9B,cAAc,EACd,IAAI,EACJ,KAAK,GACN,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwB5D;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAKzD;AAiBD,eAAO,MAAM,WAAW,SAChB,QAAQ,cAAc,CAAC,KAC5B,QAAQ,kBAAkB,CAM5B,CAAA;AAID,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,QAE7C;AAED,wBAAgB,UAAU,SAEzB"}
|