@tamagui/cli 1.74.3 → 1.74.5

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 (67) hide show
  1. package/dist/cli.js +0 -15
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cli.native.js +0 -15
  4. package/dist/cli.native.js.map +1 -1
  5. package/dist/dev/clientInjectPlugin.js +1 -1
  6. package/dist/dev/clientInjectPlugin.js.map +1 -1
  7. package/dist/dev/clientInjectPlugin.native.js +1 -1
  8. package/dist/dev/clientInjectPlugin.native.js.map +1 -1
  9. package/dist/dev.js +40 -6
  10. package/dist/dev.js.map +2 -2
  11. package/dist/dev.native.js +40 -6
  12. package/dist/dev.native.js.map +2 -2
  13. package/dist/vendor/repack/dev-server/src/createServer.js +1 -1
  14. package/dist/vendor/repack/dev-server/src/createServer.js.map +1 -1
  15. package/dist/vendor/repack/dev-server/src/createServer.native.js +1 -1
  16. package/dist/vendor/repack/dev-server/src/createServer.native.js.map +1 -1
  17. package/package.json +10 -38
  18. package/src/cli.ts +0 -18
  19. package/types/dev.d.ts.map +1 -1
  20. package/src/dev/clientInjectPlugin.ts +0 -112
  21. package/src/dev/createDevServer.ts +0 -250
  22. package/src/dev/types.ts +0 -1
  23. package/src/dev.ts +0 -475
  24. package/src/test.ts +0 -12
  25. package/src/utils/constants.ts +0 -1
  26. package/src/vendor/debugger-app/index.d.ts +0 -2
  27. package/src/vendor/debugger-app/index.js +0 -3
  28. package/src/vendor/debugger-app/public/index.html +0 -49
  29. package/src/vendor/debugger-app/src/assets/blue-icon.png +0 -0
  30. package/src/vendor/debugger-app/src/assets/gray-icon.png +0 -0
  31. package/src/vendor/debugger-app/src/assets/orange-icon.png +0 -0
  32. package/src/vendor/debugger-app/src/debuggerWorker.js +0 -84
  33. package/src/vendor/debugger-app/src/index.css +0 -37
  34. package/src/vendor/debugger-app/src/index.js +0 -199
  35. package/src/vendor/debugger-app/webpack.config.cjs +0 -73
  36. package/src/vendor/repack/dev-server/src/createServer.ts +0 -155
  37. package/src/vendor/repack/dev-server/src/img/favicon.ico +0 -0
  38. package/src/vendor/repack/dev-server/src/index.ts +0 -2
  39. package/src/vendor/repack/dev-server/src/plugins/api/apiPlugin.ts +0 -50
  40. package/src/vendor/repack/dev-server/src/plugins/api/index.ts +0 -1
  41. package/src/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.ts +0 -84
  42. package/src/vendor/repack/dev-server/src/plugins/compiler/index.ts +0 -2
  43. package/src/vendor/repack/dev-server/src/plugins/compiler/types.ts +0 -37
  44. package/src/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.ts +0 -107
  45. package/src/vendor/repack/dev-server/src/plugins/devtools/index.ts +0 -1
  46. package/src/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.ts +0 -14
  47. package/src/vendor/repack/dev-server/src/plugins/favicon/index.ts +0 -1
  48. package/src/vendor/repack/dev-server/src/plugins/multipart/index.ts +0 -2
  49. package/src/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.ts +0 -77
  50. package/src/vendor/repack/dev-server/src/plugins/multipart/types.ts +0 -13
  51. package/src/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.ts +0 -233
  52. package/src/vendor/repack/dev-server/src/plugins/symbolicate/index.ts +0 -3
  53. package/src/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts +0 -48
  54. package/src/vendor/repack/dev-server/src/plugins/symbolicate/types.ts +0 -71
  55. package/src/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.ts +0 -74
  56. package/src/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.ts +0 -60
  57. package/src/vendor/repack/dev-server/src/plugins/wss/index.ts +0 -3
  58. package/src/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.ts +0 -158
  59. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.ts +0 -69
  60. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.ts +0 -134
  61. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.ts +0 -74
  62. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.ts +0 -205
  63. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.ts +0 -97
  64. package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.ts +0 -401
  65. package/src/vendor/repack/dev-server/src/plugins/wss/types.ts +0 -17
  66. package/src/vendor/repack/dev-server/src/plugins/wss/wssPlugin.ts +0 -73
  67. package/src/vendor/repack/dev-server/src/types.ts +0 -206
@@ -1,112 +0,0 @@
1
- import path from 'node:path'
2
-
3
- import type { HmrOptions, Plugin, ResolvedConfig, UserConfig } from 'vite'
4
-
5
- const process_env_NODE_ENV_RE = /(\bglobal(This)?\.)?\bprocess\.env\.NODE_ENV\b/g
6
-
7
- const isObject = (x: any): x is Object => x && typeof x === 'object'
8
-
9
- /**
10
- * some values used by the client needs to be dynamically injected by the server
11
- * @server-only
12
- */
13
- export function clientInjectionsPlugin(config: ResolvedConfig): Plugin {
14
- let injectConfigValues: (code: string) => string
15
-
16
- return {
17
- name: 'vite:client-inject',
18
-
19
- async buildStart() {
20
- const resolvedServerHostname = '127.0.0.1'
21
- const resolvedServerPort = config.server!.port! || 5173
22
- const devBase = config.base || '/'
23
-
24
- const serverHost = `${resolvedServerHostname}:${resolvedServerPort}${devBase}`
25
-
26
- let hmrConfig = config.server!.hmr
27
- hmrConfig = isObject(hmrConfig) ? (hmrConfig as HmrOptions) : undefined
28
-
29
- const host = hmrConfig?.host || null
30
- const protocol = hmrConfig?.protocol || null
31
- const timeout = hmrConfig?.timeout || 30000
32
- const overlay = hmrConfig?.overlay !== false
33
- const isHmrServerSpecified = !!hmrConfig?.server
34
-
35
- // hmr.clientPort -> hmr.port
36
- // -> (24678 if middleware mode and HMR server is not specified) -> new URL(import.meta.url).port
37
- let port = hmrConfig?.clientPort || hmrConfig?.port || null
38
- if (config.server.middlewareMode && !isHmrServerSpecified) {
39
- port ||= 24678
40
- }
41
-
42
- let directTarget = hmrConfig?.host || resolvedServerHostname
43
- directTarget += `:${hmrConfig?.port || resolvedServerPort}`
44
- directTarget += devBase
45
-
46
- let hmrBase = devBase
47
- if (hmrConfig?.path) {
48
- hmrBase = path.posix.join(hmrBase, hmrConfig.path)
49
- }
50
-
51
- const serializedDefines = serializeDefine(config.define || {})
52
-
53
- const modeReplacement = escapeReplacement(config.mode!)
54
- const baseReplacement = escapeReplacement(devBase)
55
- const definesReplacement = () => serializedDefines
56
- const serverHostReplacement = escapeReplacement(serverHost)
57
- const hmrProtocolReplacement = escapeReplacement(protocol)
58
- const hmrHostnameReplacement = escapeReplacement(host)
59
- const hmrPortReplacement = escapeReplacement(port)
60
- const hmrDirectTargetReplacement = escapeReplacement(directTarget)
61
- const hmrBaseReplacement = escapeReplacement(hmrBase)
62
- const hmrTimeoutReplacement = escapeReplacement(timeout)
63
- const hmrEnableOverlayReplacement = escapeReplacement(overlay)
64
-
65
- injectConfigValues = (code: string) => {
66
- return code
67
- .replace(`__MODE__`, modeReplacement)
68
- .replace(/__BASE__/g, baseReplacement)
69
- .replace(`__DEFINES__`, definesReplacement)
70
- .replace(`__SERVER_HOST__`, serverHostReplacement)
71
- .replace(`__HMR_PROTOCOL__`, hmrProtocolReplacement)
72
- .replace(`__HMR_HOSTNAME__`, hmrHostnameReplacement)
73
- .replace(`__HMR_PORT__`, hmrPortReplacement)
74
- .replace(`__HMR_DIRECT_TARGET__`, hmrDirectTargetReplacement)
75
- .replace(`__HMR_BASE__`, hmrBaseReplacement)
76
- .replace(`__HMR_TIMEOUT__`, hmrTimeoutReplacement)
77
- .replace(`__HMR_ENABLE_OVERLAY__`, hmrEnableOverlayReplacement)
78
- }
79
- },
80
-
81
- transform(code, id, options) {
82
- if (id.endsWith('vite-native-client/dist/esm/client.js')) {
83
- return injectConfigValues(code)
84
- } else if (!options?.ssr && code.includes('process.env.NODE_ENV')) {
85
- // replace process.env.NODE_ENV instead of defining a global
86
- // for it to avoid shimming a `process` object during dev,
87
- // avoiding inconsistencies between dev and build
88
- // return code.replace(
89
- // process_env_NODE_ENV_RE,
90
- // config.define?.['process.env.NODE_ENV'] ||
91
- // JSON.stringify(process.env.NODE_ENV || config.mode)
92
- // )
93
- }
94
- },
95
- }
96
- }
97
-
98
- function escapeReplacement(value: string | number | boolean | null) {
99
- const jsonValue = JSON.stringify(value)
100
- return () => jsonValue
101
- }
102
-
103
- function serializeDefine(define: Record<string, any>): string {
104
- let res = `{`
105
- for (const key in define) {
106
- const val = define[key]
107
- res += `${JSON.stringify(key)}: ${
108
- typeof val === 'string' ? `(${val})` : JSON.stringify(val)
109
- }, `
110
- }
111
- return res + `}`
112
- }
@@ -1,250 +0,0 @@
1
- import { CLIResolvedOptions } from '@tamagui/types'
2
- import mime from 'mime/lite'
3
-
4
- import { DEFAULT_PORT } from '../utils/constants'
5
- import { Server, createServer } from '../vendor/repack/dev-server/src'
6
- import { HMRListener } from './types'
7
-
8
- export async function createDevServer(
9
- options: CLIResolvedOptions,
10
- {
11
- indexJson,
12
- listenForHMR,
13
- getIndexBundle,
14
- hotUpdatedCJSFiles,
15
- }: {
16
- indexJson: Object
17
- getIndexBundle: () => Promise<string>
18
- listenForHMR: (cb: HMRListener) => void
19
- hotUpdatedCJSFiles: Map<string, string>
20
- }
21
- ) {
22
- const { start, stop } = await createServer({
23
- options: {
24
- rootDir: options.root,
25
- host: options.host,
26
- port: options.port ?? DEFAULT_PORT,
27
- // https: args.https
28
- // ? {
29
- // cert: args.cert,
30
- // key: args.key,
31
- // }
32
- // : undefined,
33
- },
34
-
35
- delegate: (ctx): Server.Delegate => {
36
- // if (args.interactive) {
37
- // bindKeypressInput(ctx)
38
- // }
39
-
40
- // if (reversePort && args.port) {
41
- // runAdbReverse(ctx, args.port)
42
- // }
43
-
44
- // let lastStats: webpack.StatsCompilation | undefined
45
-
46
- // compiler.on('watchRun', ({ platform }) => {
47
- // ctx.notifyBuildStart(platform)
48
- // if (platform === 'android') {
49
- // runAdbReverse(ctx, args.port ?? DEFAULT_PORT)
50
- // }
51
- // })
52
-
53
- // compiler.on('invalid', ({ platform }) => {
54
- // ctx.notifyBuildStart(platform)
55
- // ctx.broadcastToHmrClients({ action: 'building' }, platform)
56
- // })
57
-
58
- const platform = 'ios'
59
- listenForHMR((update) => {
60
- ctx.notifyBuildEnd(platform)
61
- ctx.broadcastToHmrClients(
62
- {
63
- action: 'built',
64
- body: createHmrBody({
65
- errors: [],
66
- warnings: [],
67
- hash: `${Math.random()}`,
68
- modules: {},
69
- name: '',
70
- time: 0,
71
- }),
72
- },
73
- platform
74
- )
75
- })
76
-
77
- return {
78
- hotFiles: {
79
- getSource: (path) => {
80
- const next = hotUpdatedCJSFiles.get(path)
81
- // hotUpdatedCJSFiles.delete(path) // memory leak prevent
82
- return next || ''
83
- },
84
- },
85
-
86
- compiler: {
87
- getAsset: async (filename, platform, sendProgress) => {
88
- console.log('[GET] - ', filename)
89
- if (filename === 'index.bundle') {
90
- return await getIndexBundle()
91
- }
92
- return ''
93
- // return (await compiler.getAsset(filename, platform, sendProgress)).data
94
- },
95
-
96
- getMimeType: (filename) => {
97
- return mime.getType(filename) || 'application/javascript'
98
- },
99
-
100
- inferPlatform: (uri) => {
101
- return 'ios'
102
-
103
- const url = new URL(uri, 'protocol://domain')
104
- if (!url.searchParams.get('platform')) {
105
- const [, platform] = /^\/(.+)\/.+$/.exec(url.pathname) ?? []
106
- return platform
107
- }
108
-
109
- return undefined
110
- },
111
- },
112
-
113
- symbolicator: {
114
- getSource: async (fileUrl) => {
115
- console.log('get source', fileUrl)
116
- // const { filename, platform } = parseFileUrl(fileUrl)
117
- // return compiler.getSource(filename, platform)
118
- return ''
119
- },
120
- getSourceMap: async (fileUrl) => {
121
- // const { filename, platform } = parseFileUrl(fileUrl)
122
- // if (!platform) {
123
- // throw new Error('Cannot infer platform for file URL')
124
- // }
125
-
126
- // return compiler.getSourceMap(filename, platform)
127
- return ''
128
- },
129
- shouldIncludeFrame: (frame) => {
130
- // If the frame points to internal bootstrap/module system logic, skip the code frame.
131
- return !/webpack[/\\]runtime[/\\].+\s/.test(frame.file)
132
- },
133
- },
134
-
135
- hmr: {
136
- getUriPath: () => '/__hmr',
137
- onClientConnected: (platform, clientId) => {
138
- // biome-ignore lint/suspicious/noConsoleLog: <explanation>
139
- // todo
140
- // const lastStats = {}
141
- // ctx.broadcastToHmrClients(
142
- // { action: 'sync', body: createHmrBody(lastStats) },
143
- // platform,
144
- // [clientId]
145
- // )
146
- },
147
- },
148
-
149
- messages: {
150
- getHello: () => indexJson,
151
- getStatus: () => 'packager-status:running',
152
- },
153
-
154
- logger: {
155
- onMessage: (log) => {
156
- const logEntry = makeLogEntryFromFastifyLog(log)
157
- logEntry.issuer = 'DevServer'
158
-
159
- // ignore for now
160
- if (logEntry.type === 'debug') return
161
-
162
- // error DevServer, warn DevServer
163
- // biome-ignore lint/suspicious/noConsoleLog: <explanation>
164
- console.log(
165
- '[logger]',
166
- logEntry.type === 'info' ? '' : logEntry.type,
167
- logEntry.message
168
- .map((m) => {
169
- return `${m.msg}`
170
- })
171
- .join(', ')
172
- )
173
- // reporter.process(logEntry)
174
- },
175
- },
176
-
177
- api: {
178
- // getPlatforms: async () => Object.keys(compiler.workers),
179
- getPlatforms: async () => ['ios'],
180
- getAssets: async (platform) => {
181
- console.log('get assets', platform)
182
- return []
183
- // return Object.entries(compiler.assetsCache[platform] ?? {}).map(([name, asset]) => ({
184
- // name,
185
- // size: asset.info.size,
186
- // })),
187
- },
188
- getCompilationStats: async (platform) => {
189
- return null
190
- // return compiler.statsCache[platform] ?? null
191
- },
192
- },
193
- }
194
- },
195
- })
196
-
197
- await start()
198
-
199
- return async () => {
200
- await stop()
201
- }
202
- }
203
-
204
- function createHmrBody(body: HMRMessageBody): HMRMessageBody | null {
205
- return body
206
- }
207
-
208
- /**
209
- * Represent Hot Module Replacement Update body.
210
- *
211
- * @internal
212
- */
213
- export interface HMRMessageBody {
214
- name: string
215
- time: number
216
- hash: string
217
- warnings: any
218
- errors: any
219
- modules: Record<string, string>
220
- }
221
-
222
- /**
223
- * Represent Hot Module Replacement Update message.
224
- *
225
- * @internal
226
- */
227
- export interface HMRMessage {
228
- action: 'building' | 'built' | 'sync'
229
- body: HMRMessageBody | null
230
- }
231
-
232
- function makeLogEntryFromFastifyLog(data: any): any {
233
- const { level, time, pid, hostname, ...rest } = data
234
-
235
- const levelToTypeMapping: Record<number, any> = {
236
- 10: 'debug',
237
- 20: 'debug',
238
- 30: 'info',
239
- 40: 'warn',
240
- 50: 'error',
241
- 60: 'error',
242
- }
243
-
244
- return {
245
- type: levelToTypeMapping[level],
246
- timestamp: time,
247
- issuer: '',
248
- message: [rest],
249
- }
250
- }
package/src/dev/types.ts DELETED
@@ -1 +0,0 @@
1
- export type HMRListener = (update: { file: string; contents: string }) => void