@tamagui/cli 1.2.9 → 1.2.10
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/esm/build.mjs +49 -0
- package/dist/esm/build.mjs.map +7 -0
- package/dist/esm/cli.mjs +138 -0
- package/dist/esm/cli.mjs.map +7 -0
- package/dist/esm/create.mjs +1 -0
- package/dist/esm/create.mjs.map +7 -0
- package/dist/esm/dev/createDevServer.mjs +141 -0
- package/dist/esm/dev/createDevServer.mjs.map +7 -0
- package/dist/esm/dev.mjs +151 -0
- package/dist/esm/dev.mjs.map +7 -0
- package/dist/esm/generate.mjs +49 -0
- package/dist/esm/generate.mjs.map +7 -0
- package/dist/esm/index.mjs +9 -0
- package/dist/esm/index.mjs.map +7 -0
- package/dist/esm/studio.mjs +61 -0
- package/dist/esm/studio.mjs.map +7 -0
- package/dist/esm/tamaguiConfigUtils.mjs +52 -0
- package/dist/esm/tamaguiConfigUtils.mjs.map +7 -0
- package/dist/esm/test.mjs +9 -0
- package/dist/esm/test.mjs.map +7 -0
- package/dist/esm/types.mjs +1 -0
- package/dist/esm/types.mjs.map +7 -0
- package/dist/esm/update.mjs +6 -0
- package/dist/esm/update.mjs.map +7 -0
- package/dist/esm/utils/constants.mjs +5 -0
- package/dist/esm/utils/constants.mjs.map +7 -0
- package/dist/esm/utils.mjs +78 -0
- package/dist/esm/utils.mjs.map +7 -0
- package/dist/esm/vendor/debugger-app/index.mjs +6 -0
- package/dist/esm/vendor/debugger-app/index.mjs.map +7 -0
- package/dist/esm/vendor/debugger-app/src/debuggerWorker.mjs +63 -0
- package/dist/esm/vendor/debugger-app/src/debuggerWorker.mjs.map +7 -0
- package/dist/esm/vendor/debugger-app/src/index.mjs +142 -0
- package/dist/esm/vendor/debugger-app/src/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/createServer.mjs +95 -0
- package/dist/esm/vendor/repack/dev-server/src/createServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/index.mjs +3 -0
- package/dist/esm/vendor/repack/dev-server/src/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/apiPlugin.mjs +37 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/apiPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.mjs +67 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/index.mjs +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/types.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.mjs +87 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.mjs +13 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/index.mjs +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.mjs +50 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/types.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.mjs +186 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/index.mjs +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.mjs +35 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/types.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.mjs +50 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.mjs +32 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/index.mjs +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/index.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.mjs +110 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.mjs +52 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.mjs +106 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs +62 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.mjs +154 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.mjs +76 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.mjs +330 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/types.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs +47 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/src/types.mjs +13 -0
- package/dist/esm/vendor/repack/dev-server/src/types.mjs.map +7 -0
- package/dist/esm/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.mjs.map +7 -0
- package/package.json +6 -6
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env node\n\nprocess.on('beforeExit', () => {\n process.stdout.write(`exiting22123??????`)\n})\n\nprocess.on('SIGINT', () => {\n process.stdout.write(`exiting33123??????`)\n})\n\nimport './cli.js'\n"],
|
|
5
|
+
"mappings": ";AAEA,QAAQ,GAAG,cAAc,MAAM;AAC7B,UAAQ,OAAO,MAAM,oBAAoB;AAC3C,CAAC;AAED,QAAQ,GAAG,UAAU,MAAM;AACzB,UAAQ,OAAO,MAAM,oBAAoB;AAC3C,CAAC;AAED,OAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createRequire } from "module";
|
|
2
|
+
import { dirname } from "path";
|
|
3
|
+
import { tamaguiPlugin } from "@tamagui/vite-plugin";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import express from "express";
|
|
6
|
+
import proxy from "express-http-proxy";
|
|
7
|
+
import fs from "fs-extra";
|
|
8
|
+
import morgan from "morgan";
|
|
9
|
+
import { createServer } from "vite";
|
|
10
|
+
import { watchTamaguiConfig } from "./tamaguiConfigUtils.js";
|
|
11
|
+
const resolve = "url" in import.meta ? createRequire(import.meta.url).resolve : require.resolve;
|
|
12
|
+
const studio = async (options) => {
|
|
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 server = await createServer({
|
|
18
|
+
root,
|
|
19
|
+
server: {
|
|
20
|
+
// open: true,
|
|
21
|
+
host: options.host,
|
|
22
|
+
port: 1420
|
|
23
|
+
},
|
|
24
|
+
plugins: [
|
|
25
|
+
tamaguiPlugin({
|
|
26
|
+
components: ["tamagui"]
|
|
27
|
+
})
|
|
28
|
+
]
|
|
29
|
+
});
|
|
30
|
+
const serverPromise = server.listen();
|
|
31
|
+
const configWatchPromise = watchTamaguiConfig(options);
|
|
32
|
+
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
|
+
const app = express();
|
|
38
|
+
app.disable("x-powered-by");
|
|
39
|
+
app.use(express.static(paths.dotDir, { maxAge: "2h" }));
|
|
40
|
+
app.use(morgan("tiny"));
|
|
41
|
+
app.get("/conf", async (req, res) => {
|
|
42
|
+
const conf = await fs.readJSON(paths.conf);
|
|
43
|
+
res.status(200).json(conf);
|
|
44
|
+
});
|
|
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,
|
|
50
|
+
configWatchPromise,
|
|
51
|
+
new Promise((res) => appServer.on("close", res))
|
|
52
|
+
];
|
|
53
|
+
setInterval(() => {
|
|
54
|
+
console.log(longRunning);
|
|
55
|
+
}, 1e4);
|
|
56
|
+
await Promise.allSettled(longRunning);
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
studio
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=studio.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { getVariableValue } from "@tamagui/core-node";
|
|
3
|
+
import fs, { ensureDir } from "fs-extra";
|
|
4
|
+
import { loadTamagui } from "./utils.js";
|
|
5
|
+
async function generateTamaguiConfig(options) {
|
|
6
|
+
await ensureDir(options.paths.dotDir);
|
|
7
|
+
const config = await getTamaguiConfig(options);
|
|
8
|
+
const { components, nameToPaths } = config;
|
|
9
|
+
const { themes, tokens } = config.tamaguiConfig;
|
|
10
|
+
for (const key in themes) {
|
|
11
|
+
const theme = themes[key];
|
|
12
|
+
theme.id = key;
|
|
13
|
+
for (const tkey in theme) {
|
|
14
|
+
theme[tkey] = getVariableValue(theme[tkey]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
for (const key in tokens) {
|
|
18
|
+
const token = tokens[key];
|
|
19
|
+
for (const tkey in token) {
|
|
20
|
+
token[tkey] = getVariableValue(token[tkey]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
for (const key in components) {
|
|
24
|
+
const component = components[key];
|
|
25
|
+
for (const _ in component.nameToInfo) {
|
|
26
|
+
delete component.nameToInfo[_].staticConfig["validStyles"];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (const key in nameToPaths) {
|
|
30
|
+
nameToPaths[key] = [...nameToPaths[key]];
|
|
31
|
+
}
|
|
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
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async function getTamaguiConfig(options) {
|
|
42
|
+
return loadTamagui(options.tamaguiOptions);
|
|
43
|
+
}
|
|
44
|
+
async function watchTamaguiConfig(options) {
|
|
45
|
+
console.warn("\u274C disabling watch conf");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
generateTamaguiConfig,
|
|
50
|
+
watchTamaguiConfig
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=tamaguiConfigUtils.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { loadTamagui as loadTamaguiStatic } from "@tamagui/static";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import fs, { pathExists, readJSON } from "fs-extra";
|
|
5
|
+
async function getOptions({
|
|
6
|
+
root = process.cwd(),
|
|
7
|
+
tsconfigPath = "tsconfig.json",
|
|
8
|
+
tamaguiOptions,
|
|
9
|
+
host,
|
|
10
|
+
debug
|
|
11
|
+
} = {}) {
|
|
12
|
+
const tsConfigFilePath = join(root, tsconfigPath);
|
|
13
|
+
ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`);
|
|
14
|
+
const dotDir = join(root, ".tamagui");
|
|
15
|
+
const pkgJson = await readJSON(join(root, "package.json"));
|
|
16
|
+
console.log("host", host);
|
|
17
|
+
return {
|
|
18
|
+
mode: process.env.NODE_ENV === "production" ? "production" : "development",
|
|
19
|
+
root,
|
|
20
|
+
host: host || "127.0.0.1",
|
|
21
|
+
pkgJson,
|
|
22
|
+
debug,
|
|
23
|
+
tsconfigPath,
|
|
24
|
+
tamaguiOptions: {
|
|
25
|
+
components: ["tamagui"],
|
|
26
|
+
config: await getDefaultTamaguiConfigPath(),
|
|
27
|
+
...tamaguiOptions
|
|
28
|
+
},
|
|
29
|
+
paths: {
|
|
30
|
+
dotDir,
|
|
31
|
+
conf: join(dotDir, "tamagui.config.json"),
|
|
32
|
+
types: join(dotDir, "types.json")
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function ensure(condition, message) {
|
|
37
|
+
if (!condition) {
|
|
38
|
+
console.error(chalk.red.bold("Error:"), chalk.yellow(`${message}`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const defaultPaths = ["tamagui.config.ts", join("src", "tamagui.config.ts")];
|
|
43
|
+
let cachedPath = "";
|
|
44
|
+
async function getDefaultTamaguiConfigPath() {
|
|
45
|
+
if (cachedPath)
|
|
46
|
+
return cachedPath;
|
|
47
|
+
const existingPaths = await Promise.all(defaultPaths.map((path) => pathExists(path)));
|
|
48
|
+
const existing = existingPaths.findIndex((x) => !!x);
|
|
49
|
+
const found = defaultPaths[existing];
|
|
50
|
+
if (!found) {
|
|
51
|
+
throw new Error(`No found tamagui.config.ts`);
|
|
52
|
+
}
|
|
53
|
+
cachedPath = found;
|
|
54
|
+
return found;
|
|
55
|
+
}
|
|
56
|
+
let cached = null;
|
|
57
|
+
const loadTamagui = async (opts) => {
|
|
58
|
+
return cached ??= await loadTamaguiStatic({
|
|
59
|
+
config: await getDefaultTamaguiConfigPath(),
|
|
60
|
+
components: ["tamagui"],
|
|
61
|
+
...opts
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const disposers = /* @__PURE__ */ new Set();
|
|
65
|
+
function registerDispose(cb) {
|
|
66
|
+
disposers.add(cb);
|
|
67
|
+
}
|
|
68
|
+
function disposeAll() {
|
|
69
|
+
disposers.forEach((cb) => cb());
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
disposeAll,
|
|
73
|
+
ensure,
|
|
74
|
+
getOptions,
|
|
75
|
+
loadTamagui,
|
|
76
|
+
registerDispose
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/vendor/debugger-app/index.js"],
|
|
4
|
+
"sourcesContent": ["import { URL, fileURLToPath } from 'url';\n\nexport default fileURLToPath(new URL('./dist', import.meta.url));\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,KAAK,qBAAqB;AAEnC,IAAO,uBAAQ,cAAc,IAAI,IAAI,UAAU,YAAY,GAAG,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
onmessage = function() {
|
|
2
|
+
var visibilityState;
|
|
3
|
+
var showVisibilityWarning = function() {
|
|
4
|
+
var hasWarned = false;
|
|
5
|
+
return function() {
|
|
6
|
+
if (hasWarned || console.warn.toString().includes("[native code]")) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
hasWarned = true;
|
|
10
|
+
console.warn(
|
|
11
|
+
"Remote debugger is in a background tab which may cause apps to perform slowly. Fix this by foregrounding the tab (or opening it in a separate window)."
|
|
12
|
+
);
|
|
13
|
+
};
|
|
14
|
+
}();
|
|
15
|
+
var messageHandlers = {
|
|
16
|
+
executeApplicationScript: function(message, sendReply) {
|
|
17
|
+
for (var key in message.inject) {
|
|
18
|
+
self[key] = JSON.parse(message.inject[key]);
|
|
19
|
+
}
|
|
20
|
+
var error;
|
|
21
|
+
try {
|
|
22
|
+
importScripts(message.url);
|
|
23
|
+
} catch (err) {
|
|
24
|
+
error = err.message;
|
|
25
|
+
}
|
|
26
|
+
sendReply(null, error);
|
|
27
|
+
},
|
|
28
|
+
setDebuggerVisibility: function(message) {
|
|
29
|
+
visibilityState = message.visibilityState;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
return function(message) {
|
|
33
|
+
if (visibilityState === "hidden") {
|
|
34
|
+
showVisibilityWarning();
|
|
35
|
+
}
|
|
36
|
+
var object = message.data;
|
|
37
|
+
var sendReply = function(result, error2) {
|
|
38
|
+
postMessage({ replyID: object.id, result, error: error2 });
|
|
39
|
+
};
|
|
40
|
+
var handler = messageHandlers[object.method];
|
|
41
|
+
if (handler) {
|
|
42
|
+
handler(object, sendReply);
|
|
43
|
+
} else {
|
|
44
|
+
var returnValue = [[], [], [], 0];
|
|
45
|
+
var error;
|
|
46
|
+
try {
|
|
47
|
+
if (typeof __fbBatchedBridge === "object") {
|
|
48
|
+
returnValue = __fbBatchedBridge[object.method].apply(
|
|
49
|
+
null,
|
|
50
|
+
object.arguments
|
|
51
|
+
);
|
|
52
|
+
} else {
|
|
53
|
+
error = "Failed to call function, __fbBatchedBridge is undefined";
|
|
54
|
+
}
|
|
55
|
+
} catch (err) {
|
|
56
|
+
error = err.message;
|
|
57
|
+
} finally {
|
|
58
|
+
sendReply(JSON.stringify(returnValue), error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}();
|
|
63
|
+
//# sourceMappingURL=debuggerWorker.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/vendor/debugger-app/src/debuggerWorker.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* global __fbBatchedBridge, importScripts */\n/* eslint no-unused-vars: 0 */\n/* eslint no-restricted-globals: 0 */\n\nonmessage = (function () {\n var visibilityState;\n var showVisibilityWarning = (function () {\n var hasWarned = false;\n return function () {\n // Wait until `YellowBox` gets initialized before displaying the warning.\n if (hasWarned || console.warn.toString().includes('[native code]')) {\n return;\n }\n hasWarned = true;\n console.warn(\n 'Remote debugger is in a background tab which may cause apps to ' +\n 'perform slowly. Fix this by foregrounding the tab (or opening it in ' +\n 'a separate window).'\n );\n };\n })();\n\n var messageHandlers = {\n executeApplicationScript: function (message, sendReply) {\n for (var key in message.inject) {\n self[key] = JSON.parse(message.inject[key]);\n }\n var error;\n try {\n importScripts(message.url);\n } catch (err) {\n error = err.message;\n }\n sendReply(null /* result */, error);\n },\n setDebuggerVisibility: function (message) {\n visibilityState = message.visibilityState;\n },\n };\n\n return function (message) {\n if (visibilityState === 'hidden') {\n showVisibilityWarning();\n }\n\n var object = message.data;\n\n var sendReply = function (result, error) {\n postMessage({ replyID: object.id, result: result, error: error });\n };\n\n var handler = messageHandlers[object.method];\n if (handler) {\n // Special cased handlers\n handler(object, sendReply);\n } else {\n // Other methods get called on the bridge\n var returnValue = [[], [], [], 0];\n var error;\n try {\n if (typeof __fbBatchedBridge === 'object') {\n returnValue = __fbBatchedBridge[object.method].apply(\n null,\n object.arguments\n );\n } else {\n error = 'Failed to call function, __fbBatchedBridge is undefined';\n }\n } catch (err) {\n error = err.message;\n } finally {\n sendReply(JSON.stringify(returnValue), error);\n }\n }\n };\n})();\n"],
|
|
5
|
+
"mappings": "AAYA,YAAa,WAAY;AACvB,MAAI;AACJ,MAAI,wBAAyB,WAAY;AACvC,QAAI,YAAY;AAChB,WAAO,WAAY;AAEjB,UAAI,aAAa,QAAQ,KAAK,SAAS,EAAE,SAAS,eAAe,GAAG;AAClE;AAAA,MACF;AACA,kBAAY;AACZ,cAAQ;AAAA,QACN;AAAA,MAGF;AAAA,IACF;AAAA,EACF,EAAG;AAEH,MAAI,kBAAkB;AAAA,IACpB,0BAA0B,SAAU,SAAS,WAAW;AACtD,eAAS,OAAO,QAAQ,QAAQ;AAC9B,aAAK,GAAG,IAAI,KAAK,MAAM,QAAQ,OAAO,GAAG,CAAC;AAAA,MAC5C;AACA,UAAI;AACJ,UAAI;AACF,sBAAc,QAAQ,GAAG;AAAA,MAC3B,SAAS,KAAP;AACA,gBAAQ,IAAI;AAAA,MACd;AACA,gBAAU,MAAmB,KAAK;AAAA,IACpC;AAAA,IACA,uBAAuB,SAAU,SAAS;AACxC,wBAAkB,QAAQ;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO,SAAU,SAAS;AACxB,QAAI,oBAAoB,UAAU;AAChC,4BAAsB;AAAA,IACxB;AAEA,QAAI,SAAS,QAAQ;AAErB,QAAI,YAAY,SAAU,QAAQA,QAAO;AACvC,kBAAY,EAAE,SAAS,OAAO,IAAI,QAAgB,OAAOA,OAAM,CAAC;AAAA,IAClE;AAEA,QAAI,UAAU,gBAAgB,OAAO,MAAM;AAC3C,QAAI,SAAS;AAEX,cAAQ,QAAQ,SAAS;AAAA,IAC3B,OAAO;AAEL,UAAI,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAChC,UAAI;AACJ,UAAI;AACF,YAAI,OAAO,sBAAsB,UAAU;AACzC,wBAAc,kBAAkB,OAAO,MAAM,EAAE;AAAA,YAC7C;AAAA,YACA,OAAO;AAAA,UACT;AAAA,QACF,OAAO;AACL,kBAAQ;AAAA,QACV;AAAA,MACF,SAAS,KAAP;AACA,gBAAQ,IAAI;AAAA,MACd,UAAE;AACA,kBAAU,KAAK,UAAU,WAAW,GAAG,KAAK;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF,EAAG;",
|
|
6
|
+
"names": ["error"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
import blueIcon from "./assets/blue-icon.png";
|
|
3
|
+
import grayIcon from "./assets/gray-icon.png";
|
|
4
|
+
import orangeIcon from "./assets/orange-icon.png";
|
|
5
|
+
import DebuggerWorker from "./debuggerWorker.js";
|
|
6
|
+
const isMacLike = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
|
|
7
|
+
const refreshShortcut = isMacLike ? "\u2318R" : "Ctrl R";
|
|
8
|
+
window.onload = function() {
|
|
9
|
+
if (!isMacLike) {
|
|
10
|
+
document.getElementById("shortcut").innerHTML = "Ctrl\u21E7J";
|
|
11
|
+
}
|
|
12
|
+
Page.render();
|
|
13
|
+
};
|
|
14
|
+
window.onReloadClicked = function() {
|
|
15
|
+
var xhr = new XMLHttpRequest();
|
|
16
|
+
xhr.open("GET", `${window.location.origin}/reload`, true);
|
|
17
|
+
xhr.send();
|
|
18
|
+
};
|
|
19
|
+
const Page = window.Page = {
|
|
20
|
+
state: {
|
|
21
|
+
isDark: localStorage.getItem("darkTheme") === null ? window.matchMedia("(prefers-color-scheme: dark)").matches : localStorage.getItem("darkTheme") === "on",
|
|
22
|
+
isPriorityMaintained: localStorage.getItem("maintainPriority") === "on",
|
|
23
|
+
status: { type: "disconnected" },
|
|
24
|
+
visibilityState: document.visibilityState
|
|
25
|
+
},
|
|
26
|
+
setState(partialState) {
|
|
27
|
+
Page.state = Object.assign({}, Page.state, partialState);
|
|
28
|
+
Page.render();
|
|
29
|
+
},
|
|
30
|
+
render() {
|
|
31
|
+
const { isDark, isPriorityMaintained, status, visibilityState } = Page.state;
|
|
32
|
+
const statusNode = document.getElementById("status");
|
|
33
|
+
switch (status.type) {
|
|
34
|
+
case "connected":
|
|
35
|
+
statusNode.innerHTML = "Debugger session #" + status.id + " active.";
|
|
36
|
+
break;
|
|
37
|
+
case "error":
|
|
38
|
+
statusNode.innerHTML = status.error.reason || "Disconnected from proxy. Attempting reconnection. Is node server running?";
|
|
39
|
+
break;
|
|
40
|
+
case "connecting":
|
|
41
|
+
case "disconnected":
|
|
42
|
+
default:
|
|
43
|
+
statusNode.innerHTML = 'Waiting, press <span class="shortcut">' + refreshShortcut + "</span> in simulator to reload and connect.";
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
const linkNode = document.querySelector("link[rel=icon]");
|
|
47
|
+
if (status.type === "disconnected" || status.type === "error") {
|
|
48
|
+
linkNode.href = grayIcon;
|
|
49
|
+
} else {
|
|
50
|
+
if (visibilityState === "visible" || isPriorityMaintained) {
|
|
51
|
+
linkNode.href = blueIcon;
|
|
52
|
+
} else {
|
|
53
|
+
linkNode.href = orangeIcon;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const darkCheckbox = document.getElementById("dark");
|
|
57
|
+
document.body.classList.toggle("dark", isDark);
|
|
58
|
+
darkCheckbox.checked = isDark;
|
|
59
|
+
localStorage.setItem("darkTheme", isDark ? "on" : "");
|
|
60
|
+
const maintainPriorityCheckbox = document.getElementById("maintain-priority");
|
|
61
|
+
maintainPriorityCheckbox.checked = isPriorityMaintained;
|
|
62
|
+
localStorage.setItem("maintainPriority", isPriorityMaintained ? "on" : "");
|
|
63
|
+
},
|
|
64
|
+
toggleDarkTheme() {
|
|
65
|
+
Page.setState({ isDark: !Page.state.isDark });
|
|
66
|
+
},
|
|
67
|
+
togglePriorityMaintenance() {
|
|
68
|
+
Page.setState({ isPriorityMaintained: !Page.state.isPriorityMaintained });
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
function connectToDebuggerProxy() {
|
|
72
|
+
const ws = new WebSocket(
|
|
73
|
+
"ws://" + window.location.host + "/debugger-proxy?role=debugger&name=Chrome"
|
|
74
|
+
);
|
|
75
|
+
let worker;
|
|
76
|
+
function createJSRuntime() {
|
|
77
|
+
worker = new DebuggerWorker();
|
|
78
|
+
worker.onmessage = function(message) {
|
|
79
|
+
ws.send(JSON.stringify(message.data));
|
|
80
|
+
};
|
|
81
|
+
window.onbeforeunload = function() {
|
|
82
|
+
return "If you reload this page, it is going to break the debugging session. Press " + refreshShortcut + " on the device to reload.";
|
|
83
|
+
};
|
|
84
|
+
updateVisibility();
|
|
85
|
+
}
|
|
86
|
+
function shutdownJSRuntime() {
|
|
87
|
+
if (worker) {
|
|
88
|
+
worker.terminate();
|
|
89
|
+
worker = null;
|
|
90
|
+
window.onbeforeunload = null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function updateVisibility() {
|
|
94
|
+
if (worker && !Page.state.isPriorityMaintained) {
|
|
95
|
+
worker.postMessage({
|
|
96
|
+
method: "setDebuggerVisibility",
|
|
97
|
+
visibilityState: document.visibilityState
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
Page.setState({ visibilityState: document.visibilityState });
|
|
101
|
+
}
|
|
102
|
+
ws.onopen = function() {
|
|
103
|
+
Page.setState({ status: { type: "connecting" } });
|
|
104
|
+
};
|
|
105
|
+
ws.onmessage = function(message) {
|
|
106
|
+
if (!message.data) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const object = JSON.parse(message.data);
|
|
110
|
+
if (object.$event === "client-disconnected") {
|
|
111
|
+
shutdownJSRuntime();
|
|
112
|
+
Page.setState({ status: { type: "disconnected" } });
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (!object.method) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (object.method === "prepareJSRuntime") {
|
|
119
|
+
shutdownJSRuntime();
|
|
120
|
+
console.clear();
|
|
121
|
+
createJSRuntime();
|
|
122
|
+
ws.send(JSON.stringify({ replyID: object.id }));
|
|
123
|
+
Page.setState({ status: { type: "connected", id: object.id } });
|
|
124
|
+
} else if (object.method === "$disconnected") {
|
|
125
|
+
shutdownJSRuntime();
|
|
126
|
+
Page.setState({ status: { type: "disconnected" } });
|
|
127
|
+
} else {
|
|
128
|
+
worker.postMessage(object);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
ws.onclose = function(error) {
|
|
132
|
+
shutdownJSRuntime();
|
|
133
|
+
Page.setState({ status: { type: "error", error } });
|
|
134
|
+
if (error.reason) {
|
|
135
|
+
console.warn(error.reason);
|
|
136
|
+
}
|
|
137
|
+
setTimeout(connectToDebuggerProxy, 500);
|
|
138
|
+
};
|
|
139
|
+
document.addEventListener("visibilitychange", updateVisibility, false);
|
|
140
|
+
}
|
|
141
|
+
connectToDebuggerProxy();
|
|
142
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/vendor/debugger-app/src/index.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* eslint-env browser */\nimport './index.css';\nimport blueIcon from './assets/blue-icon.png';\nimport grayIcon from './assets/gray-icon.png';\nimport orangeIcon from './assets/orange-icon.png';\nimport DebuggerWorker from './debuggerWorker.js';\n\nconst isMacLike = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\nconst refreshShortcut = isMacLike ? '\u2318R' : 'Ctrl R';\nwindow.onload = function () {\n if (!isMacLike) {\n document.getElementById('shortcut').innerHTML = 'Ctrl\u21E7J';\n }\n Page.render();\n};\n\nwindow.onReloadClicked = function () {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', `${window.location.origin}/reload`, true);\n xhr.send();\n};\n\nconst Page = (window.Page = {\n state: {\n isDark:\n localStorage.getItem('darkTheme') === null\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\n : localStorage.getItem('darkTheme') === 'on',\n isPriorityMaintained: localStorage.getItem('maintainPriority') === 'on',\n status: { type: 'disconnected' },\n visibilityState: document.visibilityState,\n },\n\n setState(partialState) {\n Page.state = Object.assign({}, Page.state, partialState);\n Page.render();\n },\n\n render() {\n const { isDark, isPriorityMaintained, status, visibilityState } =\n Page.state;\n\n const statusNode = document.getElementById('status');\n switch (status.type) {\n case 'connected':\n statusNode.innerHTML = 'Debugger session #' + status.id + ' active.';\n break;\n case 'error':\n statusNode.innerHTML =\n status.error.reason ||\n 'Disconnected from proxy. Attempting reconnection. Is node server running?';\n break;\n case 'connecting':\n case 'disconnected':\n // Fall through.\n default:\n statusNode.innerHTML =\n 'Waiting, press <span class=\"shortcut\">' +\n refreshShortcut +\n '</span> in simulator to reload and connect.';\n break;\n }\n\n const linkNode = document.querySelector('link[rel=icon]');\n if (status.type === 'disconnected' || status.type === 'error') {\n linkNode.href = grayIcon;\n } else {\n if (visibilityState === 'visible' || isPriorityMaintained) {\n linkNode.href = blueIcon;\n } else {\n linkNode.href = orangeIcon;\n }\n }\n\n const darkCheckbox = document.getElementById('dark');\n document.body.classList.toggle('dark', isDark);\n darkCheckbox.checked = isDark;\n localStorage.setItem('darkTheme', isDark ? 'on' : '');\n\n const maintainPriorityCheckbox =\n document.getElementById('maintain-priority');\n maintainPriorityCheckbox.checked = isPriorityMaintained;\n localStorage.setItem('maintainPriority', isPriorityMaintained ? 'on' : '');\n },\n\n toggleDarkTheme() {\n Page.setState({ isDark: !Page.state.isDark });\n },\n\n togglePriorityMaintenance() {\n Page.setState({ isPriorityMaintained: !Page.state.isPriorityMaintained });\n },\n});\n\nfunction connectToDebuggerProxy() {\n const ws = new WebSocket(\n 'ws://' + window.location.host + '/debugger-proxy?role=debugger&name=Chrome'\n );\n let worker;\n\n function createJSRuntime() {\n // This worker will run the application JavaScript code,\n // making sure that it's run in an environment without a global\n // document, to make it consistent with the JSC executor environment.\n worker = new DebuggerWorker();\n worker.onmessage = function (message) {\n ws.send(JSON.stringify(message.data));\n };\n window.onbeforeunload = function () {\n return (\n 'If you reload this page, it is going to break the debugging session. ' +\n 'Press ' +\n refreshShortcut +\n ' on the device to reload.'\n );\n };\n updateVisibility();\n }\n\n function shutdownJSRuntime() {\n if (worker) {\n worker.terminate();\n worker = null;\n window.onbeforeunload = null;\n }\n }\n\n function updateVisibility() {\n if (worker && !Page.state.isPriorityMaintained) {\n worker.postMessage({\n method: 'setDebuggerVisibility',\n visibilityState: document.visibilityState,\n });\n }\n Page.setState({ visibilityState: document.visibilityState });\n }\n\n ws.onopen = function () {\n Page.setState({ status: { type: 'connecting' } });\n };\n\n ws.onmessage = function (message) {\n if (!message.data) {\n return;\n }\n const object = JSON.parse(message.data);\n\n if (object.$event === 'client-disconnected') {\n shutdownJSRuntime();\n Page.setState({ status: { type: 'disconnected' } });\n return;\n }\n\n if (!object.method) {\n return;\n }\n\n // Special message that asks for a new JS runtime\n if (object.method === 'prepareJSRuntime') {\n shutdownJSRuntime();\n console.clear();\n createJSRuntime();\n ws.send(JSON.stringify({ replyID: object.id }));\n Page.setState({ status: { type: 'connected', id: object.id } });\n } else if (object.method === '$disconnected') {\n shutdownJSRuntime();\n Page.setState({ status: { type: 'disconnected' } });\n } else {\n worker.postMessage(object);\n }\n };\n\n ws.onclose = function (error) {\n shutdownJSRuntime();\n Page.setState({ status: { type: 'error', error } });\n if (error.reason) {\n console.warn(error.reason);\n }\n setTimeout(connectToDebuggerProxy, 500);\n };\n\n // Let debuggerWorker.js know when we're not visible so that we can warn about\n // poor performance when using remote debugging.\n document.addEventListener('visibilitychange', updateVisibility, false);\n}\n\nconnectToDebuggerProxy();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|