@geektech/tsone-cli 0.2.2 → 0.3.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/README.md +14 -4
- package/dist/cli.d.ts +4 -1
- package/dist/cli.js +14 -4
- package/dist/cli.js.map +3 -3
- package/dist/create.d.ts +16 -0
- package/dist/{index-y6qrqbwv.js → index-r68229k4.js} +165 -8
- package/dist/{index-y6qrqbwv.js.map → index-r68229k4.js.map} +4 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -124,17 +124,23 @@ document.
|
|
|
124
124
|
|
|
125
125
|
## Command Line
|
|
126
126
|
|
|
127
|
+
`tsone create` scaffolds a basic TSone project into the current directory:
|
|
128
|
+
`package.json`, `tsone.config.ts`, `tsconfig.json`, `.gitignore`, and a
|
|
129
|
+
`src/main.ts` homepage that shows the TSone name and a link to the framework
|
|
130
|
+
GitHub repository. It refuses to overwrite existing files.
|
|
131
|
+
|
|
127
132
|
Development and build options are deliberately separate:
|
|
128
133
|
|
|
129
134
|
```text
|
|
135
|
+
tsone create
|
|
130
136
|
tsone dev [--host <host>] [--port <port>] [--no-watch]
|
|
131
137
|
tsone build [--out-dir <path>]
|
|
132
138
|
```
|
|
133
139
|
|
|
134
|
-
`dev` accepts `--host`, `--port`, and `--no-watch`;
|
|
135
|
-
`--out-dir`. Options override `tsone.config.ts`. Both
|
|
136
|
-
forms work, for example `--port 3000`, `--port=3000`,
|
|
137
|
-
`--out-dir=output`.
|
|
140
|
+
`create` takes no options. `dev` accepts `--host`, `--port`, and `--no-watch`;
|
|
141
|
+
`build` accepts only `--out-dir`. Options override `tsone.config.ts`. Both
|
|
142
|
+
separated and equals forms work, for example `--port 3000`, `--port=3000`,
|
|
143
|
+
`--out-dir output`, and `--out-dir=output`.
|
|
138
144
|
|
|
139
145
|
`tsone dev` watches the project by default: when a source, style, or config
|
|
140
146
|
file changes it rebuilds the current page and notifies connected browsers to
|
|
@@ -178,6 +184,7 @@ All tooling APIs come from `@geektech/tsone-cli`, not from the framework root:
|
|
|
178
184
|
```typescript
|
|
179
185
|
import {
|
|
180
186
|
build,
|
|
187
|
+
createProject,
|
|
181
188
|
defineConfig,
|
|
182
189
|
resolveConfig,
|
|
183
190
|
startDevServer,
|
|
@@ -206,6 +213,9 @@ console.log(result.root, result.outDir, result.assetsBuilt);
|
|
|
206
213
|
server. The caller owns its lifecycle and must call `server.stop()`.
|
|
207
214
|
- `build(options?)` validates the entry and output path, then returns
|
|
208
215
|
`{ root, outDir, assetsBuilt }`; the paths in the result are absolute.
|
|
216
|
+
- `createProject(options?)` writes a basic TSone scaffold into `options.root`
|
|
217
|
+
(defaults to the current working directory) and returns
|
|
218
|
+
`{ root, files }`; it refuses to overwrite existing files.
|
|
209
219
|
|
|
210
220
|
## Version 1 Scope
|
|
211
221
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export interface CreateCliArgs {
|
|
2
|
+
command: 'create';
|
|
3
|
+
}
|
|
1
4
|
export interface DevCliArgs {
|
|
2
5
|
command: 'dev';
|
|
3
6
|
host?: string;
|
|
@@ -8,6 +11,6 @@ export interface BuildCliArgs {
|
|
|
8
11
|
command: 'build';
|
|
9
12
|
outDir?: string;
|
|
10
13
|
}
|
|
11
|
-
export type CliArgs = DevCliArgs | BuildCliArgs;
|
|
14
|
+
export type CliArgs = CreateCliArgs | DevCliArgs | BuildCliArgs;
|
|
12
15
|
export declare function parseCliArgs(argv: string[]): CliArgs;
|
|
13
16
|
export declare function runCli(argv?: string[]): Promise<void>;
|
package/dist/cli.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
build,
|
|
4
|
+
createProject,
|
|
4
5
|
startDevServer
|
|
5
|
-
} from "./index-
|
|
6
|
+
} from "./index-r68229k4.js";
|
|
6
7
|
|
|
7
8
|
// src/cli.ts
|
|
8
9
|
var USAGE = [
|
|
9
10
|
"Usage:",
|
|
11
|
+
" tsone create",
|
|
10
12
|
" tsone dev [--host <host>] [--port <port>] [--no-watch]",
|
|
11
13
|
" tsone build [--out-dir <path>]"
|
|
12
14
|
].join(`
|
|
@@ -14,7 +16,7 @@ var USAGE = [
|
|
|
14
16
|
var FLAG_OPTIONS = new Set(["--no-watch"]);
|
|
15
17
|
function parseCliArgs(argv) {
|
|
16
18
|
const command = argv[0];
|
|
17
|
-
if (command !== "dev" && command !== "build") {
|
|
19
|
+
if (command !== "create" && command !== "dev" && command !== "build") {
|
|
18
20
|
throw parseError(command === undefined ? "Missing command" : `Unknown command: ${command}`);
|
|
19
21
|
}
|
|
20
22
|
const options = new Map;
|
|
@@ -42,6 +44,9 @@ function parseCliArgs(argv) {
|
|
|
42
44
|
}
|
|
43
45
|
options.set(name, value);
|
|
44
46
|
}
|
|
47
|
+
if (command === "create") {
|
|
48
|
+
return { command };
|
|
49
|
+
}
|
|
45
50
|
if (command === "dev") {
|
|
46
51
|
const port = options.get("--port");
|
|
47
52
|
return {
|
|
@@ -58,6 +63,11 @@ function parseCliArgs(argv) {
|
|
|
58
63
|
}
|
|
59
64
|
async function runCli(argv = process.argv.slice(2)) {
|
|
60
65
|
const args = parseCliArgs(argv);
|
|
66
|
+
if (args.command === "create") {
|
|
67
|
+
const result2 = createProject();
|
|
68
|
+
console.log(`TSone project created at ${result2.root} (${result2.files.length} files)`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
61
71
|
if (args.command === "dev") {
|
|
62
72
|
const server = await startDevServer({
|
|
63
73
|
...args.host === undefined ? {} : { host: args.host },
|
|
@@ -87,7 +97,7 @@ function assertKnownOption(name) {
|
|
|
87
97
|
throw parseError(`Unknown option: ${name}`);
|
|
88
98
|
}
|
|
89
99
|
function assertSupportedOption(command, name) {
|
|
90
|
-
const supported = command === "dev" && (name === "--host" || name === "--port" || name === "--no-watch") || command === "build" && name === "--out-dir";
|
|
100
|
+
const supported = command === "create" && false || command === "dev" && (name === "--host" || name === "--port" || name === "--no-watch") || command === "build" && name === "--out-dir";
|
|
91
101
|
if (!supported) {
|
|
92
102
|
throw parseError(`Option ${name} is not supported for ${command}`);
|
|
93
103
|
}
|
|
@@ -112,5 +122,5 @@ export {
|
|
|
112
122
|
runCli
|
|
113
123
|
};
|
|
114
124
|
|
|
115
|
-
//# debugId=
|
|
125
|
+
//# debugId=F28094E403DF7A3D64756E2164756E21
|
|
116
126
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/cli.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { build } from './build';\nimport { startDevServer } from './server';\n\nconst USAGE = [\n 'Usage:',\n ' tsone dev [--host <host>] [--port <port>] [--no-watch]',\n ' tsone build [--out-dir <path>]',\n].join('\\n');\n\nconst FLAG_OPTIONS = new Set(['--no-watch']);\n\nexport interface DevCliArgs {\n command: 'dev';\n host?: string;\n port?: number;\n noWatch?: boolean;\n}\n\nexport interface BuildCliArgs {\n command: 'build';\n outDir?: string;\n}\n\nexport type CliArgs = DevCliArgs | BuildCliArgs;\n\nexport function parseCliArgs(argv: string[]): CliArgs {\n const command = argv[0];\n if (command !== 'dev' && command !== 'build') {\n throw parseError(\n command === undefined ? 'Missing command' : `Unknown command: ${command}`\n );\n }\n\n const options = new Map<string, string>();\n for (let index = 1; index < argv.length; index += 1) {\n const token = argv[index];\n if (!token.startsWith('--')) {\n throw parseError(`Unexpected positional argument: ${token}`);\n }\n\n const { name, inlineValue } = splitOption(token);\n assertKnownOption(name);\n assertSupportedOption(command, name);\n if (options.has(name)) {\n throw parseError(`Duplicate option: ${name}`);\n }\n if (FLAG_OPTIONS.has(name)) {\n options.set(name, 'true');\n continue;\n }\n\n const value = inlineValue ?? argv[index + 1];\n if (value === undefined || value === '' || value.startsWith('--')) {\n throw parseError(`Missing value for option: ${name}`);\n }\n if (inlineValue === undefined) {\n index += 1;\n }\n options.set(name, value);\n }\n\n if (command === 'dev') {\n const port = options.get('--port');\n return {\n command,\n ...(options.has('--host') ? { host: options.get('--host') } : {}),\n ...(port === undefined ? {} : { port: parsePort(port) }),\n ...(options.has('--no-watch') ? { noWatch: true } : {}),\n };\n }\n\n return {\n command,\n ...(options.has('--out-dir') ? { outDir: options.get('--out-dir') } : {}),\n };\n}\n\nexport async function runCli(\n argv: string[] = process.argv.slice(2)\n): Promise<void> {\n const args = parseCliArgs(argv);\n\n if (args.command === 'dev') {\n const server = await startDevServer({\n ...(args.host === undefined ? {} : { host: args.host }),\n ...(args.port === undefined ? {} : { port: args.port }),\n watch: !args.noWatch,\n });\n console.log(\n `TSone dev server listening at http://${server.hostname}:${server.port}`\n );\n return;\n }\n\n const result = await build(\n args.outDir === undefined ? {} : { outDir: args.outDir }\n );\n console.log(\n `TSone build completed: ${result.outDir} (${result.assetsBuilt.length} assets)`\n );\n}\n\nfunction splitOption(token: string): { name: string; inlineValue?: string } {\n const equalsIndex = token.indexOf('=');\n if (equalsIndex === -1) {\n return { name: token };\n }\n\n return {\n name: token.slice(0, equalsIndex),\n inlineValue: token.slice(equalsIndex + 1),\n };\n}\n\nfunction assertKnownOption(name: string): void {\n if (\n name === '--host' ||\n name === '--port' ||\n name === '--out-dir' ||\n name === '--no-watch'\n ) {\n return;\n }\n\n throw parseError(`Unknown option: ${name}`);\n}\n\nfunction assertSupportedOption(\n command: CliArgs['command'],\n name: string\n): void {\n const supported =\n (command === 'dev' &&\n (name === '--host' || name === '--port' || name === '--no-watch')) ||\n (command === 'build' && name === '--out-dir');\n\n if (!supported) {\n throw parseError(`Option ${name} is not supported for ${command}`);\n }\n}\n\nfunction parsePort(value: string): number {\n if (!/^\\d+$/.test(value)) {\n throw parseError('Port must be an integer between 0 and 65535');\n }\n\n const port = Number(value);\n if (!Number.isInteger(port) || port < 0 || port > 65535) {\n throw parseError('Port must be an integer between 0 and 65535');\n }\n\n return port;\n}\n\nfunction parseError(message: string): Error {\n return new Error(`${message}\\n\\n${USAGE}`);\n}\n"
|
|
5
|
+
"import { build } from './build';\nimport { createProject } from './create';\nimport { startDevServer } from './server';\n\nconst USAGE = [\n 'Usage:',\n ' tsone create',\n ' tsone dev [--host <host>] [--port <port>] [--no-watch]',\n ' tsone build [--out-dir <path>]',\n].join('\\n');\n\nconst FLAG_OPTIONS = new Set(['--no-watch']);\n\nexport interface CreateCliArgs {\n command: 'create';\n}\n\nexport interface DevCliArgs {\n command: 'dev';\n host?: string;\n port?: number;\n noWatch?: boolean;\n}\n\nexport interface BuildCliArgs {\n command: 'build';\n outDir?: string;\n}\n\nexport type CliArgs = CreateCliArgs | DevCliArgs | BuildCliArgs;\n\nexport function parseCliArgs(argv: string[]): CliArgs {\n const command = argv[0];\n if (command !== 'create' && command !== 'dev' && command !== 'build') {\n throw parseError(\n command === undefined ? 'Missing command' : `Unknown command: ${command}`\n );\n }\n\n const options = new Map<string, string>();\n for (let index = 1; index < argv.length; index += 1) {\n const token = argv[index];\n if (!token.startsWith('--')) {\n throw parseError(`Unexpected positional argument: ${token}`);\n }\n\n const { name, inlineValue } = splitOption(token);\n assertKnownOption(name);\n assertSupportedOption(command, name);\n if (options.has(name)) {\n throw parseError(`Duplicate option: ${name}`);\n }\n if (FLAG_OPTIONS.has(name)) {\n options.set(name, 'true');\n continue;\n }\n\n const value = inlineValue ?? argv[index + 1];\n if (value === undefined || value === '' || value.startsWith('--')) {\n throw parseError(`Missing value for option: ${name}`);\n }\n if (inlineValue === undefined) {\n index += 1;\n }\n options.set(name, value);\n }\n\n if (command === 'create') {\n return { command };\n }\n\n if (command === 'dev') {\n const port = options.get('--port');\n return {\n command,\n ...(options.has('--host') ? { host: options.get('--host') } : {}),\n ...(port === undefined ? {} : { port: parsePort(port) }),\n ...(options.has('--no-watch') ? { noWatch: true } : {}),\n };\n }\n\n return {\n command,\n ...(options.has('--out-dir') ? { outDir: options.get('--out-dir') } : {}),\n };\n}\n\nexport async function runCli(\n argv: string[] = process.argv.slice(2)\n): Promise<void> {\n const args = parseCliArgs(argv);\n\n if (args.command === 'create') {\n const result = createProject();\n console.log(\n `TSone project created at ${result.root} (${result.files.length} files)`\n );\n return;\n }\n\n if (args.command === 'dev') {\n const server = await startDevServer({\n ...(args.host === undefined ? {} : { host: args.host }),\n ...(args.port === undefined ? {} : { port: args.port }),\n watch: !args.noWatch,\n });\n console.log(\n `TSone dev server listening at http://${server.hostname}:${server.port}`\n );\n return;\n }\n\n const result = await build(\n args.outDir === undefined ? {} : { outDir: args.outDir }\n );\n console.log(\n `TSone build completed: ${result.outDir} (${result.assetsBuilt.length} assets)`\n );\n}\n\nfunction splitOption(token: string): { name: string; inlineValue?: string } {\n const equalsIndex = token.indexOf('=');\n if (equalsIndex === -1) {\n return { name: token };\n }\n\n return {\n name: token.slice(0, equalsIndex),\n inlineValue: token.slice(equalsIndex + 1),\n };\n}\n\nfunction assertKnownOption(name: string): void {\n if (\n name === '--host' ||\n name === '--port' ||\n name === '--out-dir' ||\n name === '--no-watch'\n ) {\n return;\n }\n\n throw parseError(`Unknown option: ${name}`);\n}\n\nfunction assertSupportedOption(\n command: CliArgs['command'],\n name: string\n): void {\n const supported =\n (command === 'create' && false) ||\n (command === 'dev' &&\n (name === '--host' || name === '--port' || name === '--no-watch')) ||\n (command === 'build' && name === '--out-dir');\n\n if (!supported) {\n throw parseError(`Option ${name} is not supported for ${command}`);\n }\n}\n\nfunction parsePort(value: string): number {\n if (!/^\\d+$/.test(value)) {\n throw parseError('Port must be an integer between 0 and 65535');\n }\n\n const port = Number(value);\n if (!Number.isInteger(port) || port < 0 || port > 65535) {\n throw parseError('Port must be an integer between 0 and 65535');\n }\n\n return port;\n}\n\nfunction parseError(message: string): Error {\n return new Error(`${message}\\n\\n${USAGE}`);\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "F28094E403DF7A3D64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/create.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CreateProjectOptions {
|
|
2
|
+
/** Target directory; defaults to the current working directory. */
|
|
3
|
+
root?: string;
|
|
4
|
+
/** Package name; defaults to the target directory basename. */
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CreateProjectResult {
|
|
8
|
+
root: string;
|
|
9
|
+
files: string[];
|
|
10
|
+
}
|
|
11
|
+
/** Published framework version referenced by generated projects. */
|
|
12
|
+
export declare const TSONE_FRAMEWORK_VERSION = "0.2.1";
|
|
13
|
+
/** Published CLI version referenced by generated projects. */
|
|
14
|
+
export declare const TSONE_CLI_VERSION = "0.2.2";
|
|
15
|
+
export declare const GITHUB_URL = "https://github.com/geektech-team/tsone";
|
|
16
|
+
export declare function createProject(options?: CreateProjectOptions): CreateProjectResult;
|
|
@@ -2163,10 +2163,167 @@ function errorMessage(error) {
|
|
|
2163
2163
|
return error instanceof Error ? error.message : String(error);
|
|
2164
2164
|
}
|
|
2165
2165
|
|
|
2166
|
+
// src/create.ts
|
|
2167
|
+
import { existsSync as existsSync2, mkdirSync, writeFileSync } from "fs";
|
|
2168
|
+
import { basename, join } from "path";
|
|
2169
|
+
var TSONE_FRAMEWORK_VERSION = "0.2.1";
|
|
2170
|
+
var TSONE_CLI_VERSION = "0.2.2";
|
|
2171
|
+
var GITHUB_URL = "https://github.com/geektech-team/tsone";
|
|
2172
|
+
function createProject(options = {}) {
|
|
2173
|
+
const root = options.root ?? process.cwd();
|
|
2174
|
+
const name = options.name ?? basename(root);
|
|
2175
|
+
const files = scaffoldFiles(name);
|
|
2176
|
+
const existing = files.filter((file) => existsSync2(join(root, file.path)));
|
|
2177
|
+
if (existing.length > 0) {
|
|
2178
|
+
throw new Error(`Refusing to overwrite existing TSone project files: ${existing.map((file) => file.path).join(", ")}`);
|
|
2179
|
+
}
|
|
2180
|
+
mkdirSync(join(root, "src"), { recursive: true });
|
|
2181
|
+
const created = [];
|
|
2182
|
+
for (const file of files) {
|
|
2183
|
+
writeFileSync(join(root, file.path), file.content, "utf8");
|
|
2184
|
+
created.push(file.path);
|
|
2185
|
+
}
|
|
2186
|
+
return { root, files: created };
|
|
2187
|
+
}
|
|
2188
|
+
function scaffoldFiles(name) {
|
|
2189
|
+
return [
|
|
2190
|
+
{
|
|
2191
|
+
path: "package.json",
|
|
2192
|
+
content: `${JSON.stringify({
|
|
2193
|
+
name,
|
|
2194
|
+
private: true,
|
|
2195
|
+
type: "module",
|
|
2196
|
+
scripts: {
|
|
2197
|
+
dev: "tsone dev",
|
|
2198
|
+
build: "tsone build",
|
|
2199
|
+
typecheck: "bunx tsc --noEmit"
|
|
2200
|
+
},
|
|
2201
|
+
dependencies: {
|
|
2202
|
+
"@geektech/tsone": `^${TSONE_FRAMEWORK_VERSION}`
|
|
2203
|
+
},
|
|
2204
|
+
devDependencies: {
|
|
2205
|
+
"@geektech/tsone-cli": `^${TSONE_CLI_VERSION}`
|
|
2206
|
+
}
|
|
2207
|
+
}, null, 2)}
|
|
2208
|
+
`
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
path: "tsone.config.ts",
|
|
2212
|
+
content: `import { defineConfig } from '@geektech/tsone-cli';
|
|
2213
|
+
|
|
2214
|
+
export default defineConfig({
|
|
2215
|
+
entry: 'src/main.ts',
|
|
2216
|
+
});
|
|
2217
|
+
`
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
path: "tsconfig.json",
|
|
2221
|
+
content: `${JSON.stringify({
|
|
2222
|
+
compilerOptions: {
|
|
2223
|
+
target: "ESNext",
|
|
2224
|
+
module: "ESNext",
|
|
2225
|
+
moduleResolution: "Bundler",
|
|
2226
|
+
lib: ["ESNext", "DOM", "DOM.Iterable"],
|
|
2227
|
+
strict: true,
|
|
2228
|
+
noEmit: true,
|
|
2229
|
+
skipLibCheck: true,
|
|
2230
|
+
verbatimModuleSyntax: true
|
|
2231
|
+
},
|
|
2232
|
+
include: ["src/**/*", "tsone.config.ts"]
|
|
2233
|
+
}, null, 2)}
|
|
2234
|
+
`
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
path: ".gitignore",
|
|
2238
|
+
content: `node_modules/
|
|
2239
|
+
dist/
|
|
2240
|
+
.tsone/
|
|
2241
|
+
`
|
|
2242
|
+
},
|
|
2243
|
+
{
|
|
2244
|
+
path: "src/main.ts",
|
|
2245
|
+
content: `import { Component, createApp, h, type VNode } from '@geektech/tsone';
|
|
2246
|
+
|
|
2247
|
+
class App extends Component<object, object> {
|
|
2248
|
+
protected initState(): object {
|
|
2249
|
+
return {};
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
protected initStyles(): void {
|
|
2253
|
+
this.styleManager.addStyle('app-body', {
|
|
2254
|
+
selector: 'body',
|
|
2255
|
+
properties: {
|
|
2256
|
+
margin: 0,
|
|
2257
|
+
background: '#f7fbf6',
|
|
2258
|
+
color: '#142216',
|
|
2259
|
+
fontFamily:
|
|
2260
|
+
"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif",
|
|
2261
|
+
},
|
|
2262
|
+
});
|
|
2263
|
+
this.styleManager.addStyle('app-shell', {
|
|
2264
|
+
selector: '.app-shell',
|
|
2265
|
+
properties: {
|
|
2266
|
+
alignItems: 'center',
|
|
2267
|
+
display: 'flex',
|
|
2268
|
+
flexDirection: 'column',
|
|
2269
|
+
gap: '14px',
|
|
2270
|
+
justifyContent: 'center',
|
|
2271
|
+
minHeight: '100vh',
|
|
2272
|
+
},
|
|
2273
|
+
});
|
|
2274
|
+
this.styleManager.addStyle('app-title', {
|
|
2275
|
+
selector: '.app-title',
|
|
2276
|
+
properties: {
|
|
2277
|
+
fontSize: '64px',
|
|
2278
|
+
letterSpacing: 0,
|
|
2279
|
+
lineHeight: 1.05,
|
|
2280
|
+
margin: 0,
|
|
2281
|
+
},
|
|
2282
|
+
});
|
|
2283
|
+
this.styleManager.addStyle('app-link', {
|
|
2284
|
+
selector: '.app-link',
|
|
2285
|
+
properties: {
|
|
2286
|
+
color: '#2f7c39',
|
|
2287
|
+
fontSize: '16px',
|
|
2288
|
+
textDecoration: 'none',
|
|
2289
|
+
},
|
|
2290
|
+
hover: {
|
|
2291
|
+
textDecoration: 'underline',
|
|
2292
|
+
},
|
|
2293
|
+
});
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
protected render(): VNode {
|
|
2297
|
+
return h('main', { className: 'app-shell' }, [
|
|
2298
|
+
h('h1', { className: 'app-title' }, ['TSone']),
|
|
2299
|
+
h(
|
|
2300
|
+
'a',
|
|
2301
|
+
{ className: 'app-link', href: '${GITHUB_URL}' },
|
|
2302
|
+
['GitHub']
|
|
2303
|
+
),
|
|
2304
|
+
]);
|
|
2305
|
+
}
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
export const app = createApp({
|
|
2309
|
+
root: App,
|
|
2310
|
+
document: {
|
|
2311
|
+
lang: 'zh-CN',
|
|
2312
|
+
title: 'TSone',
|
|
2313
|
+
description: '\u8F7B\u91CF\u7EA7\u7EAF TypeScript \u524D\u7AEF\u6846\u67B6',
|
|
2314
|
+
},
|
|
2315
|
+
});
|
|
2316
|
+
|
|
2317
|
+
app.mount();
|
|
2318
|
+
`
|
|
2319
|
+
}
|
|
2320
|
+
];
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2166
2323
|
// src/server.ts
|
|
2167
2324
|
import { randomUUID } from "crypto";
|
|
2168
2325
|
import {
|
|
2169
|
-
basename,
|
|
2326
|
+
basename as basename2,
|
|
2170
2327
|
extname,
|
|
2171
2328
|
isAbsolute as isAbsolute4,
|
|
2172
2329
|
relative as relative4,
|
|
@@ -2259,7 +2416,7 @@ function filterHeaders(source) {
|
|
|
2259
2416
|
// src/watch.ts
|
|
2260
2417
|
import { watch } from "fs";
|
|
2261
2418
|
import { readdir, stat } from "fs/promises";
|
|
2262
|
-
import { isAbsolute as isAbsolute3, join, relative as relative3 } from "path";
|
|
2419
|
+
import { isAbsolute as isAbsolute3, join as join2, relative as relative3 } from "path";
|
|
2263
2420
|
var RECURSIVE_WATCH_UNSUPPORTED_ERROR = "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM";
|
|
2264
2421
|
var DEFAULT_DEBOUNCE_MS = 100;
|
|
2265
2422
|
var DEFAULT_POLL_INTERVAL_MS = 300;
|
|
@@ -2370,7 +2527,7 @@ async function collectRelevantFiles(root, isRelevant, output) {
|
|
|
2370
2527
|
if (relativeDirectory === undefined) {
|
|
2371
2528
|
break;
|
|
2372
2529
|
}
|
|
2373
|
-
const absoluteDirectory =
|
|
2530
|
+
const absoluteDirectory = join2(root, relativeDirectory);
|
|
2374
2531
|
let entries;
|
|
2375
2532
|
try {
|
|
2376
2533
|
entries = await readdir(absoluteDirectory, { withFileTypes: true });
|
|
@@ -2387,7 +2544,7 @@ async function collectRelevantFiles(root, isRelevant, output) {
|
|
|
2387
2544
|
continue;
|
|
2388
2545
|
}
|
|
2389
2546
|
try {
|
|
2390
|
-
const info = await stat(
|
|
2547
|
+
const info = await stat(join2(root, relativePath));
|
|
2391
2548
|
output.set(relativePath, { mtimeMs: info.mtimeMs, size: info.size });
|
|
2392
2549
|
} catch {}
|
|
2393
2550
|
}
|
|
@@ -2701,7 +2858,7 @@ function isWatchedFile(instance, relativePath) {
|
|
|
2701
2858
|
if (isWithinOrEqual(instance.config.build.outDir, absolutePath)) {
|
|
2702
2859
|
return false;
|
|
2703
2860
|
}
|
|
2704
|
-
const base =
|
|
2861
|
+
const base = basename2(absolutePath);
|
|
2705
2862
|
if (base.startsWith(".") && absolutePath !== instance.config.configFile) {
|
|
2706
2863
|
return false;
|
|
2707
2864
|
}
|
|
@@ -2815,7 +2972,7 @@ function buildFailureResponse() {
|
|
|
2815
2972
|
});
|
|
2816
2973
|
}
|
|
2817
2974
|
|
|
2818
|
-
export { defineConfig, resolveConfig, build, startDevServer };
|
|
2975
|
+
export { defineConfig, resolveConfig, build, createProject, startDevServer };
|
|
2819
2976
|
|
|
2820
|
-
//# debugId=
|
|
2821
|
-
//# sourceMappingURL=index-
|
|
2977
|
+
//# debugId=948B20A93B1A828264756E2164756E21
|
|
2978
|
+
//# sourceMappingURL=index-r68229k4.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/config.ts", "../src/build.ts", "../src/build-output.ts", "../../tsone/dist/dom/index.js", "../src/project.ts", "../src/safe-path.ts", "../src/server.ts", "../src/proxy.ts", "../src/watch.ts"],
|
|
3
|
+
"sources": ["../src/config.ts", "../src/build.ts", "../src/build-output.ts", "../../tsone/dist/dom/index.js", "../src/project.ts", "../src/safe-path.ts", "../src/create.ts", "../src/server.ts", "../src/proxy.ts", "../src/watch.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport type {\n BuildConfig,\n ProxyOptions,\n ResolveConfigOptions,\n ResolvedConfig,\n ServerConfig,\n UserConfig,\n} from './types';\n\ninterface MergedConfig {\n entry: string;\n pages?: Record<string, string>;\n server: {\n host: string;\n port: number;\n proxy: Record<string, string | ProxyOptions>;\n };\n build: {\n outDir: string;\n };\n}\n\ntype ConfigFileLoadResult =\n | { exists: false }\n | { exists: true; config: unknown };\n\nconst DEFAULT_CONFIG: MergedConfig = {\n entry: 'src/main.ts',\n server: {\n host: '127.0.0.1',\n port: 52211,\n proxy: {},\n },\n build: {\n outDir: 'dist',\n },\n};\n\nexport function defineConfig(config: UserConfig): UserConfig {\n return config;\n}\n\nexport async function resolveConfig(\n options: ResolveConfigOptions = {}\n): Promise<ResolvedConfig> {\n const root = resolve(options.root ?? process.cwd());\n const configFile = resolve(root, 'tsone.config.ts');\n const hasInlineConfig = options.config !== undefined;\n const loadedConfig: ConfigFileLoadResult = hasInlineConfig\n ? { exists: false }\n : await loadConfigFile(configFile);\n let fileConfig: UserConfig = {};\n if (loadedConfig.exists) {\n const config = loadedConfig.config;\n validateUserConfig(config);\n fileConfig = config;\n }\n if (hasInlineConfig) {\n validateUserConfig(options.config);\n }\n const inlineOverrides = toInlineOverrides(options);\n validateUserConfig(inlineOverrides);\n const config = mergeConfig(fileConfig, options.config ?? {}, inlineOverrides);\n\n const entry = resolve(root, config.entry);\n if (!existsSync(entry)) {\n throw new Error(`Entry file does not exist: ${entry}`);\n }\n const pages = await resolvePages(root, entry, config.pages);\n\n return {\n root,\n ...(loadedConfig.exists ? { configFile } : {}),\n entry,\n pages,\n server: {\n host: config.server.host,\n port: config.server.port,\n proxy: config.server.proxy,\n },\n build: {\n outDir: resolve(root, config.build.outDir),\n },\n };\n}\n\nasync function resolvePages(\n root: string,\n entry: string,\n pages: Record<string, string> | undefined\n): Promise<Record<string, string>> {\n const resolved: Record<string, string> = { '/': entry };\n for (const [route, pageEntry] of Object.entries(pages ?? {})) {\n const normalized = normalizePageRoute(route);\n const absolute = resolve(root, pageEntry);\n if (!existsSync(absolute)) {\n throw new Error(\n `Page entry file does not exist for \"${normalized}\": ${absolute}`\n );\n }\n resolved[normalized] = absolute;\n }\n return resolved;\n}\n\nfunction normalizePageRoute(route: string): string {\n if (route === '/') {\n throw new Error(\n 'Config pages must not redefine the root page \"/\"; use config.entry instead'\n );\n }\n const normalized = route.replace(/\\/+$/, '');\n if (normalized === '') {\n throw new Error(`Page route must not be empty: ${route}`);\n }\n return normalized;\n}\n\nlet configLoadSequence = 0;\n\nasync function loadConfigFile(\n configFile: string\n): Promise<ConfigFileLoadResult> {\n if (!existsSync(configFile)) {\n return { exists: false };\n }\n\n configLoadSequence += 1;\n const module = await import(\n `${configFile}?tsone_config=${configLoadSequence}`\n );\n return { exists: true, config: module.default };\n}\n\nfunction toInlineOverrides(options: ResolveConfigOptions): UserConfig {\n const server: ServerConfig = {};\n const build: BuildConfig = {};\n\n if (options.host !== undefined) {\n server.host = options.host;\n }\n if (options.port !== undefined) {\n server.port = options.port;\n }\n if (options.outDir !== undefined) {\n build.outDir = options.outDir;\n }\n\n return {\n ...(Object.keys(server).length > 0 ? { server } : {}),\n ...(Object.keys(build).length > 0 ? { build } : {}),\n };\n}\n\nfunction mergeConfig(...configs: UserConfig[]): MergedConfig {\n return configs.reduce<MergedConfig>((merged, config) => {\n const server = config.server;\n const build = config.build;\n\n return {\n entry: config.entry ?? merged.entry,\n pages: config.pages ?? merged.pages,\n server: {\n host: server?.host ?? merged.server.host,\n port: server?.port ?? merged.server.port,\n proxy: {\n ...merged.server.proxy,\n ...server?.proxy,\n },\n },\n build: {\n outDir: build?.outDir ?? merged.build.outDir,\n },\n };\n }, DEFAULT_CONFIG);\n}\n\nfunction validateUserConfig(config: unknown): asserts config is UserConfig {\n assertRecord(config, 'Config');\n\n if (config.entry !== undefined && typeof config.entry !== 'string') {\n throw new Error('Config entry must be a string');\n }\n if (config.pages !== undefined) {\n validatePagesConfig(config.pages);\n }\n if (config.server !== undefined) {\n validateServerConfig(config.server);\n }\n if (config.build !== undefined) {\n validateBuildConfig(config.build);\n }\n}\n\nfunction validatePagesConfig(\n pages: unknown\n): asserts pages is Record<string, string> {\n assertRecord(pages, 'Config pages');\n\n for (const [route, entry] of Object.entries(pages)) {\n if (!route.startsWith('/')) {\n throw new Error(`Page route must start with \"/\": ${route}`);\n }\n if (typeof entry !== 'string') {\n throw new Error(`Page entry for \"${route}\" must be a string`);\n }\n }\n}\n\nfunction validateServerConfig(server: unknown): asserts server is ServerConfig {\n assertRecord(server, 'Config server');\n\n if (server.host !== undefined && typeof server.host !== 'string') {\n throw new Error('Config server.host must be a string');\n }\n const port = server.port;\n if (\n port !== undefined &&\n (typeof port !== 'number' ||\n !Number.isInteger(port) ||\n port < 0 ||\n port > 65535)\n ) {\n throw new Error(\n 'Config server.port must be an integer between 0 and 65535'\n );\n }\n if (server.proxy === undefined) {\n return;\n }\n assertRecord(server.proxy, 'Config server.proxy');\n\n for (const [prefix, value] of Object.entries(server.proxy)) {\n if (!prefix.startsWith('/')) {\n throw new Error(`Proxy prefix must start with \"/\": ${prefix}`);\n }\n\n const target = getProxyTarget(value);\n validateProxyTarget(target);\n }\n}\n\nfunction validateBuildConfig(build: unknown): asserts build is BuildConfig {\n assertRecord(build, 'Config build');\n if (build.outDir !== undefined && typeof build.outDir !== 'string') {\n throw new Error('Config build.outDir must be a string');\n }\n}\n\nfunction getProxyTarget(value: unknown): string {\n if (typeof value === 'string') {\n return value;\n }\n\n assertRecord(value, 'Proxy options');\n if (typeof value.target !== 'string') {\n throw new Error('Proxy target must be a string');\n }\n if (\n value.changeOrigin !== undefined &&\n typeof value.changeOrigin !== 'boolean'\n ) {\n throw new Error('Proxy changeOrigin must be a boolean');\n }\n if (value.rewrite !== undefined && typeof value.rewrite !== 'function') {\n throw new Error('Proxy rewrite must be a function');\n }\n\n return value.target;\n}\n\nfunction validateProxyTarget(target: string): void {\n try {\n const url = new URL(target);\n if (url.protocol === 'http:' || url.protocol === 'https:') {\n return;\n }\n } catch {\n // Keep the public error stable for malformed URLs and unsupported protocols.\n }\n\n throw new Error(`Proxy target must use http or https: ${target}`);\n}\n\nfunction assertRecord(\n value: unknown,\n name: string\n): asserts value is Record<string, unknown> {\n if (\n typeof value !== 'object' ||\n value === null ||\n Array.isArray(value) ||\n (Object.getPrototypeOf(value) !== Object.prototype &&\n Object.getPrototypeOf(value) !== null)\n ) {\n throw new Error(`${name} must be an object`);\n }\n}\n",
|
|
6
6
|
"import { mkdir, rm, writeFile } from 'node:fs/promises';\nimport { dirname, isAbsolute, relative, resolve, sep } from 'node:path';\nimport { isEntryJavaScriptOutput, isStylesheetOutput } from './build-output';\nimport { resolveConfig } from './config';\nimport { renderProjectHtml } from './project';\nimport { assertSafeSubdirectoryDoesNotContain } from './safe-path';\nimport type { BuildOptions, BuildResult } from './types';\n\nconst INVALID_OUTPUT_DIRECTORY_MESSAGE =\n 'Build output must be a subdirectory of the project root';\n\ninterface BuiltPage {\n route: string;\n entry: string;\n assets: string[];\n javascriptAssets: string[];\n stylesheetAssets: string[];\n}\n\nexport async function build(options: BuildOptions = {}): Promise<BuildResult> {\n const config = await resolveConfig(options);\n\n for (const entry of Object.values(config.pages)) {\n await assertSafeSubdirectoryDoesNotContain(\n config.root,\n config.build.outDir,\n entry,\n INVALID_OUTPUT_DIRECTORY_MESSAGE\n );\n }\n for (const entry of Object.values(config.pages)) {\n await renderProjectHtml(config, {}, entry);\n }\n\n await rm(config.build.outDir, { recursive: true, force: true });\n await mkdir(config.build.outDir, { recursive: true });\n\n const pages: BuiltPage[] = [];\n const failures: string[] = [];\n for (const [route, entry] of Object.entries(config.pages)) {\n const built = await buildPage(config, route, entry);\n if (typeof built === 'string') {\n failures.push(built);\n continue;\n }\n pages.push(built);\n }\n if (failures.length > 0) {\n throw buildFailure(failures);\n }\n\n const assetsBuilt: string[] = [];\n for (const page of pages) {\n const html = await renderProjectHtml(\n config,\n {\n head: page.stylesheetAssets.map((asset) => ({\n tag: 'link',\n attributes: {\n rel: 'stylesheet',\n href: toAssetUrl(\n config.build.outDir,\n htmlPath(config, page.route),\n asset\n ),\n },\n })),\n scripts: page.javascriptAssets.map((asset) => ({\n type: 'module',\n src: toAssetUrl(\n config.build.outDir,\n htmlPath(config, page.route),\n asset\n ),\n })),\n },\n page.entry\n );\n const pageHtmlPath = htmlPath(config, page.route);\n await mkdir(dirname(pageHtmlPath), { recursive: true });\n await writeFile(pageHtmlPath, html);\n assetsBuilt.push(...page.assets, pageHtmlPath);\n }\n\n return {\n root: config.root,\n outDir: config.build.outDir,\n assetsBuilt,\n };\n}\n\nasync function buildPage(\n config: Awaited<ReturnType<typeof resolveConfig>>,\n route: string,\n entry: string\n): Promise<BuiltPage | string> {\n let result: Awaited<ReturnType<typeof Bun.build>>;\n try {\n result = await Bun.build({\n entrypoints: [entry],\n outdir: config.build.outDir,\n target: 'browser',\n format: 'esm',\n // 生产构建默认压缩;TSONE_MINIFY=0 时生成未压缩产物,便于排查问题\n minify: process.env.TSONE_MINIFY !== '0',\n naming: { entry: '[name].[ext]', chunk: '[name]-[hash].[ext]' },\n throw: false,\n });\n } catch (error: unknown) {\n return pageFailureReason(route, [errorMessage(error)]);\n }\n const assets = result.outputs.map((output) => resolve(output.path));\n const javascriptAssets = result.outputs\n .filter(isEntryJavaScriptOutput)\n .map((output) => resolve(output.path));\n const stylesheetAssets = result.outputs\n .filter(isStylesheetOutput)\n .map((output) => resolve(output.path));\n\n if (!result.success || assets.length === 0 || javascriptAssets.length === 0) {\n return pageFailureReason(\n route,\n result.logs.map((log) => log.message),\n {\n success: result.success,\n hasOutput: assets.length > 0,\n hasJavaScript: javascriptAssets.length > 0,\n }\n );\n }\n\n return {\n route,\n entry,\n assets,\n javascriptAssets,\n stylesheetAssets,\n };\n}\n\nfunction pageFailureReason(\n route: string,\n logs: string[],\n state?: { success: boolean; hasOutput: boolean; hasJavaScript: boolean }\n): string {\n const pageContext = route === '/' ? '' : `Page ${route}: `;\n const reasons = [\n state && !state.success ? 'Bun build reported failure' : '',\n state && !state.hasOutput ? 'Bun emitted no output files' : '',\n state && !state.hasJavaScript ? 'Bun emitted no JavaScript output' : '',\n ...logs,\n ].filter((reason) => reason !== '');\n\n return `${pageContext}${reasons.join('\\n')}`;\n}\n\nfunction buildFailure(failures: string[]): Error {\n if (failures.length === 1) {\n return new Error(`Failed to build TSone application: ${failures[0]}`);\n }\n return new Error(\n `Failed to build TSone application:\\n${failures\n .map((failure) => `- ${failure}`)\n .join('\\n')}`\n );\n}\n\nfunction htmlPath(\n config: Awaited<ReturnType<typeof resolveConfig>>,\n route: string\n): string {\n if (route === '/') {\n return resolve(config.build.outDir, 'index.html');\n }\n return resolve(config.build.outDir, `${route.replace(/^\\/+/, '')}.html`);\n}\n\nfunction toAssetUrl(\n outDir: string,\n fromHtmlFile: string,\n asset: string\n): string {\n const fromOutDir = relative(outDir, asset).split(sep).join('/');\n if (\n fromOutDir === '' ||\n fromOutDir === '..' ||\n fromOutDir.startsWith('../') ||\n isAbsolute(fromOutDir)\n ) {\n throw new Error(\n `Build asset must be inside the output directory: ${asset}`\n );\n }\n\n const fromHtmlDir = dirname(fromHtmlFile);\n const assetPath = relative(fromHtmlDir, asset).split(sep).join('/');\n return `./${assetPath}`;\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n",
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
"var ce;((s)=>{s[s.ELEMENT_NODE=1]=\"ELEMENT_NODE\";s[s.TEXT_NODE=3]=\"TEXT_NODE\";s[s.COMMENT_NODE=8]=\"COMMENT_NODE\";s[s.DOCUMENT_NODE=9]=\"DOCUMENT_NODE\";s[s.DOCUMENT_FRAGMENT_NODE=11]=\"DOCUMENT_FRAGMENT_NODE\"})(ce||={});class K extends Error{code;constructor(e,t=\"Error\"){super(e);this.name=t,this.code=0}}class A{listenerMap=new Map;addEventListener(e,t,n){if(!t)return;let i=typeof n===\"boolean\"?n:n?.capture??!1,r=typeof n===\"object\"?n.once??!1:!1,s=typeof n===\"object\"?n.passive??!1:!1,l=this.listenerMap.get(e);if(!l)l=[],this.listenerMap.set(e,l);if(l.some((a)=>a.listener===t&&a.capture===i))return;l.push({listener:t,capture:i,once:r,passive:s})}removeEventListener(e,t,n){if(!t)return;let i=typeof n===\"boolean\"?n:n?.capture??!1,r=this.listenerMap.get(e);if(!r)return;let s=r.findIndex((l)=>l.listener===t&&l.capture===i);if(s>=0)r.splice(s,1);if(r.length===0)this.listenerMap.delete(e)}dispatchEvent(e){if(!(e instanceof c))throw TypeError(\"dispatchEvent requires an Event instance\");if(e.dispatched)throw Error(\"Event has already been dispatched\");return pe(this,e)}getListeners(e){return this.listenerMap.get(e)??[]}}class c{static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;type;bubbles;cancelable;composed;target=null;currentTarget=null;eventPhase=c.NONE;defaultPrevented=!1;isTrusted=!1;timeStamp;cancelBubble=!1;dispatched=!1;propagationStopped=!1;immediateStopped=!1;canceled=!1;constructor(e,t){this.type=e,this.bubbles=t?.bubbles??!1,this.cancelable=t?.cancelable??!1,this.composed=t?.composed??!1,this.timeStamp=Date.now()}preventDefault(){if(this.cancelable)this.canceled=!0}stopPropagation(){this.propagationStopped=!0,this.cancelBubble=!0}stopImmediatePropagation(){this.propagationStopped=!0,this.immediateStopped=!0,this.cancelBubble=!0}propagationPrevented(){return this.propagationStopped}immediatePrevented(){return this.immediateStopped}wasCanceled(){return this.canceled}}class I extends c{detail;constructor(e,t){super(e,t);this.detail=t?.detail}}class O extends c{clientX;clientY;button;buttons;relatedTarget;constructor(e,t){super(e,t);this.clientX=t?.clientX??0,this.clientY=t?.clientY??0,this.button=t?.button??0,this.buttons=t?.buttons??0,this.relatedTarget=t?.relatedTarget??null}}class H extends c{key;code;constructor(e,t){super(e,t);this.key=t?.key??\"\",this.code=t?.code??\"\"}}function de(e,t){let n=e.listener;if(typeof n===\"function\")n.call(t.currentTarget,t);else n.handleEvent(t)}function pe(e,t){t.dispatched=!0,t.target=e;let i=[...he(e)].reverse(),r=i.length-1;t.eventPhase=c.CAPTURING_PHASE;for(let s=0;s<r;s+=1){let l=i[s];if(t.propagationPrevented())break;t.currentTarget=l,x(l,t,!0)}if(!t.propagationPrevented()){if(t.eventPhase=c.AT_TARGET,t.currentTarget=e,x(e,t,!0),!t.immediatePrevented())x(e,t,!1)}if(t.bubbles&&!t.propagationPrevented()){t.eventPhase=c.BUBBLING_PHASE;for(let s=i.length-2;s>=0;s-=1){let l=i[s];if(t.propagationPrevented())break;t.currentTarget=l,x(l,t,!1)}}return t.eventPhase=c.NONE,t.currentTarget=null,!t.wasCanceled()}function x(e,t,n){let i=e.getListeners(t.type);for(let r of[...i]){if(r.capture!==n)continue;if(t.immediatePrevented())break;if(r.once)e.removeEventListener(t.type,r.listener,{capture:r.capture});de(r,t)}}function he(e){let t=[],n=e;while(n){t.push(n);let i=n;if(i.nodeType===9){let s=i.defaultView;if(s)t.push(s);break}let r=i.parentNode;if(r){n=r;continue}break}return t}class X{element;attributeName;constructor(e,t=\"class\"){this.element=e,this.attributeName=t}get length(){return this.tokens().length}get value(){return this.element.getAttribute(this.attributeName)??\"\"}set value(e){this.setTokens(q(e))}item(e){return this.tokens()[e]??null}contains(e){return this.tokens().includes(e)}add(...e){let t=new Set(this.tokens());for(let n of e)if(n)t.add(n);this.setTokens([...t])}remove(...e){let t=new Set(this.tokens());for(let n of e)t.delete(n);this.setTokens([...t])}toggle(e,t){let n=new Set(this.tokens()),i=t??!n.has(e);if(i)n.add(e);else n.delete(e);return this.setTokens([...n]),i}replace(e,t){let n=this.tokens(),i=n.indexOf(e);if(i<0)return!1;return n[i]=t,this.setTokens(n),!0}[Symbol.iterator](){return this.tokens()[Symbol.iterator]()}forEach(e){this.tokens().forEach((t,n)=>e(t,n,this))}toString(){return this.value}tokens(){return q(this.element.getAttribute(this.attributeName)??\"\")}setTokens(e){let t=e.filter(Boolean).join(\" \");if(t)this.element.setAttribute(this.attributeName,t);else this.element.removeAttribute(this.attributeName)}}function q(e){return e.trim().split(/\\s+/).filter(Boolean)}function L(e){return e.replace(/[A-Z]/g,(t)=>`-${t.toLowerCase()}`)}function R(){let e=new Map,t={properties:e,setProperty(i,r,s=\"\"){let l=L(i);if(r===\"\")e.delete(l);else e.set(l,{value:r,priority:s})},getPropertyValue(i){return e.get(L(i))?.value??\"\"},getPropertyPriority(i){return e.get(L(i))?.priority??\"\"},removeProperty(i){let r=L(i),s=e.get(r)?.value??\"\";return e.delete(r),s},item(i){return[...e.keys()][i]??\"\"},get length(){return e.size},get cssText(){return[...e.entries()].map(([i,r])=>`${i}: ${r.value}${r.priority?` ${r.priority}`:\"\"};`).join(\" \")},set cssText(i){e.clear();for(let r of i.split(\";\")){let s=r.trim();if(!s)continue;let l=s.indexOf(\":\");if(l<0)continue;let a=s.slice(0,l).trim(),o=s.slice(l+1).trim();if(a)t.setProperty(a,o)}}};return new Proxy(t,{get(i,r,s){if(typeof r===\"symbol\")return Reflect.get(i,r,s);if(r in i){let l=Reflect.get(i,r,s);return typeof l===\"function\"?l.bind(i):l}return i.getPropertyValue(r)},set(i,r,s,l){if(typeof r===\"symbol\")return Reflect.set(i,r,s,l);if(r in i)return Reflect.set(i,r,s,l);return i.setProperty(r,String(s)),!0},has(i,r){if(typeof r===\"symbol\")return Reflect.has(i,r);if(r in i)return!0;return i.getPropertyValue(r)!==\"\"},ownKeys(){return[...Reflect.ownKeys(t),...[...e.keys()].map((i)=>be(i))]},getOwnPropertyDescriptor(i,r){if(typeof r===\"symbol\")return Reflect.getOwnPropertyDescriptor(i,r);if(r in i)return Reflect.getOwnPropertyDescriptor(i,r);let s=i.getPropertyValue(r);if(s!==\"\")return{configurable:!0,enumerable:!0,writable:!0,value:s};return}})}function be(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}class f{items;constructor(e=[]){this.items=e;for(let t=0;t<e.length;t+=1)Object.defineProperty(this,String(t),{configurable:!0,enumerable:!0,get:()=>this.items[t]})}get length(){return this.items.length}item(e){return this.items[e]??null}[Symbol.iterator](){return this.items[Symbol.iterator]()}forEach(e){this.items.forEach((t,n)=>e(t,n,this))}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}toArray(){return[...this.items]}}class b extends A{static ELEMENT_NODE=1;static TEXT_NODE=3;static COMMENT_NODE=8;static DOCUMENT_NODE=9;static DOCUMENT_FRAGMENT_NODE=11;nodeType;nodeName;parentNode=null;ownerDocument=null;childList=[];constructor(e,t){super();this.nodeType=e,this.nodeName=t}get parentElement(){let e=this.parentNode;return e instanceof M?e:null}get childNodes(){return new f([...this.childList])}get firstChild(){return this.childList[0]??null}get lastChild(){return this.childList[this.childList.length-1]??null}get nextSibling(){let e=this.parentNode;if(!e)return null;let t=e.childList.indexOf(this);return t>=0?e.childList[t+1]??null:null}get previousSibling(){let e=this.parentNode;if(!e)return null;let t=e.childList.indexOf(this);return t>0?e.childList[t-1]:null}get textContent(){let e=\"\";for(let t of this.childList)if(t.nodeType===3)e+=t.data;else if(t.nodeType===1)e+=t.textContent;return e}set textContent(e){if(this.childList=[],e){let t=new u(e);t.ownerDocument=this.ownerDocument,t.parentNode=this,this.childList.push(t)}}hasChildNodes(){return this.childList.length>0}appendChild(e){if(e===this)throw Error(\"Cannot append a node to itself\");return this.insertBefore(e,null),e}insertBefore(e,t){if(e===this)throw Error(\"Cannot insert a node before itself\");if(e.parentNode)e.parentNode.removeChild(e);if(e.parentNode=this,e.ownerDocument===null)e.ownerDocument=this.ownerDocument;if(t===null)return this.childList.push(e),e;let n=this.childList.indexOf(t);if(n<0)throw Error(\"Reference node is not a child of this node\");return this.childList.splice(n,0,e),e}removeChild(e){let t=this.childList.indexOf(e);if(t<0)throw Error(\"Node is not a child of this node\");return this.childList.splice(t,1),e.parentNode=null,e}replaceChild(e,t){let n=this.childList.indexOf(t);if(n<0)throw Error(\"Old child is not a child of this node\");if(e.parentNode)e.parentNode.removeChild(e);if(e.parentNode=this,e.ownerDocument===null)e.ownerDocument=this.ownerDocument;return this.childList[n]=e,t.parentNode=null,e}replaceChildren(...e){for(let t of[...this.childList])this.removeChild(t);for(let t of e)this.appendChild(t)}contains(e){if(!e)return!1;let t=e;while(t){if(t===this)return!0;t=t.parentNode}return!1}remove(){this.parentNode?.removeChild(this)}cloneNode(e=!1){let t=this.createClone();if(e)for(let n of this.childList)t.appendChild(n.cloneNode(!0));return t}createClone(){let e=new b(this.nodeType,this.nodeName);return e.ownerDocument=this.ownerDocument,e}getRootNode(){if(!this.parentNode)return this;let e=this.parentNode;while(e.parentNode)e=e.parentNode;return e}isConnected(){return this.getRootNode().nodeType===9}}class M extends b{namespaceURI;attributeList=[];styleValue;classListValue;datasetProxy;constructor(e,t=null){super(1,e.toUpperCase());this.namespaceURI=t}get tagName(){return this.nodeName}get localName(){return this.nodeName.toLowerCase()}get id(){return this.getAttribute(\"id\")??\"\"}set id(e){this.setAttribute(\"id\",e)}get className(){return this.getAttribute(\"class\")??\"\"}set className(e){this.setAttribute(\"class\",e)}get classList(){if(!this.classListValue)this.classListValue=new X(this,\"class\");return this.classListValue}get style(){if(!this.styleValue)this.styleValue=R();return this.styleValue}get dataset(){if(!this.datasetProxy)this.datasetProxy=Ce(this);return this.datasetProxy}get children(){return new f(this.childList.filter((e)=>e.nodeType===1))}get firstElementChild(){return this.children.item(0)}get lastElementChild(){return this.children.item(this.children.length-1)}get childElementCount(){return this.children.length}get attributes(){return new Z(this)}getAttribute(e){let t=this.findAttribute(e);return t?t.value:null}getAttributeNames(){return this.attributeList.map((e)=>e.name)}setAttribute(e,t){let n=String(t);if(e===\"style\")this.styleValue=R(),this.styleValue.cssText=n;let i=this.findAttribute(e);if(i)i.value=n;else this.attributeList.push({name:e,value:n})}removeAttribute(e){if(e===\"style\")this.styleValue=R();let t=this.attributeList.findIndex((n)=>n.name===e);if(t>=0)this.attributeList.splice(t,1)}hasAttribute(e){return this.findAttribute(e)!==void 0}toggleAttribute(e,t){let n=t??!this.hasAttribute(e);if(n)this.setAttribute(e,\"\");else this.removeAttribute(e);return n}hasAttributes(){return this.attributeList.length>0}get innerHTML(){return oe(this)}set innerHTML(e){this.replaceChildren(...ye(e,this.ownerDocument))}get outerHTML(){return le(this)}get value(){return this.getAttribute(\"value\")??\"\"}set value(e){this.setAttribute(\"value\",e)}querySelector(e){return C(this,e).item(0)}querySelectorAll(e){return C(this,e)}getElementsByTagName(e){let t=e.toLowerCase(),n=[];return N(this,(i)=>{if(i.localName===t)n.push(i)}),new f(n)}matches(e){return ue(this,e)}closest(e){if(this.matches(e))return this;let t=this.parentElement;while(t){if(t.matches(e))return t;t=t.parentElement}return null}getBoundingClientRect(){return{x:0,y:0,top:0,left:0,right:0,bottom:0,width:0,height:0,toJSON(){return{x:0,y:0,top:0,left:0,right:0,bottom:0,width:0,height:0}}}}scrollIntoView(){}focus(){}blur(){}click(){this.dispatchEvent(new O(\"click\",{bubbles:!0,cancelable:!0}))}append(...e){for(let t of e)if(typeof t===\"string\"){let n=new u(t);n.ownerDocument=this.ownerDocument,this.appendChild(n)}else this.appendChild(t)}prepend(...e){let t=this.firstChild;for(let n of e)if(typeof n===\"string\"){let i=new u(n);i.ownerDocument=this.ownerDocument,this.insertBefore(i,t)}else this.insertBefore(n,t)}before(...e){let t=this.parentNode;if(!t)return;for(let n of e)if(typeof n===\"string\"){let i=new u(n);i.ownerDocument=this.ownerDocument,t.insertBefore(i,this)}else t.insertBefore(n,this)}after(...e){let t=this.parentNode;if(!t)return;let n=this.nextSibling;for(let i of e)if(typeof i===\"string\"){let r=new u(i);r.ownerDocument=this.ownerDocument,t.insertBefore(r,n)}else t.insertBefore(i,n)}replaceWith(...e){let t=this.parentNode;if(!t)return;let n=this.nextSibling;t.removeChild(this);for(let i of e)if(typeof i===\"string\"){let r=new u(i);r.ownerDocument=this.ownerDocument,t.insertBefore(r,n)}else t.insertBefore(i,n)}setAttributeNS(e,t,n){this.setAttribute(t,n)}removeAttributeNS(e,t){this.removeAttribute(t)}hasAttributeNS(e,t){return this.hasAttribute(t)}getAttributeNS(e,t){return this.getAttribute(t)}findAttribute(e){return this.attributeList.find((t)=>t.name===e)}attributeEntries(){return[...this.attributeList]}inlineStyleText(){return this.styleValue?.cssText??\"\"}createClone(){let e=m(this.localName,this.ownerDocument);for(let t of this.attributeList)e.setAttribute(t.name,t.value);return e}}class p extends M{constructor(e){super(e)}}class Z{element;constructor(e){this.element=e;for(let t=0;t<e.attributeEntries().length;t+=1)Object.defineProperty(this,String(t),{configurable:!0,enumerable:!0,get:()=>this.element.attributeEntries()[t]??null})}get length(){return this.element.attributeEntries().length}item(e){return this.element.attributeEntries()[e]??null}getNamedItem(e){return this.element.findAttribute(e)??null}setNamedItem(e){this.element.setAttribute(e.name,e.value)}removeNamedItem(e){this.element.removeAttribute(e)}[Symbol.iterator](){return this.element.attributeEntries()[Symbol.iterator]()}}class k extends p{selectedValue;constructor(e=\"option\"){super(e)}get value(){return this.getAttribute(\"value\")??this.textContent}set value(e){this.setAttribute(\"value\",e)}get text(){return this.textContent}get label(){return this.getAttribute(\"label\")??this.textContent}get selected(){return this.hasSelectedValue()}set selected(e){if(this.setSelectedRaw(e),e){let t=this.parentElement;if(t instanceof P&&!t.multiple){for(let n of t.options.toArray())if(n!==this)n.setSelectedRaw(!1)}}}setSelectedRaw(e){if(this.selectedValue=e,e)this.setAttribute(\"selected\",\"\");else this.removeAttribute(\"selected\")}hasSelectedValue(){if(this.selectedValue!==void 0)return this.selectedValue;return this.hasAttribute(\"selected\")}}class P extends p{constructor(e=\"select\"){super(e)}get multiple(){return this.hasAttribute(\"multiple\")}set multiple(e){if(e)this.setAttribute(\"multiple\",\"\");else this.removeAttribute(\"multiple\")}get options(){let e=[];return N(this,(t)=>{if(t instanceof k)e.push(t)}),new Q(e)}get selectedOptions(){return new f(this.options.toArray().filter((e)=>e.hasSelectedValue()))}get selectedIndex(){return this.options.toArray().findIndex((e)=>e.hasSelectedValue())}set selectedIndex(e){this.options.toArray().forEach((n,i)=>n.setSelectedRaw(i===e))}get value(){let e=this.options.toArray(),t=e.find((n)=>n.hasSelectedValue());if(t)return t.value;if(!this.multiple&&e.length>0)return e[0].value;return\"\"}set value(e){let t=this.options.toArray();for(let n of t)if(n.value===e)if(this.multiple)n.setSelectedRaw(!0);else{for(let r of t)r.setSelectedRaw(r===n);return}}add(e){this.appendChild(e)}removeOption(e){let n=this.options.toArray()[e];if(n)n.remove()}}class Q{items;constructor(e){this.items=e;for(let t=0;t<e.length;t+=1)Object.defineProperty(this,String(t),{configurable:!0,enumerable:!0,get:()=>this.items[t]})}get length(){return this.items.length}item(e){return this.items[e]??null}get value(){return this.items.find((e)=>e.hasSelectedValue())?.value??\"\"}get selectedIndex(){return this.items.findIndex((e)=>e.hasSelectedValue())}toArray(){return[...this.items]}[Symbol.iterator](){return this.items[Symbol.iterator]()}}class U extends p{inputValue;checkedValue;constructor(e=\"input\"){super(e)}get type(){return this.getAttribute(\"type\")??\"text\"}set type(e){this.setAttribute(\"type\",e)}get name(){return this.getAttribute(\"name\")??\"\"}set name(e){this.setAttribute(\"name\",e)}get value(){return this.inputValue??this.getAttribute(\"value\")??\"\"}set value(e){this.inputValue=e}get defaultValue(){return this.getAttribute(\"value\")??\"\"}get checked(){return this.checkedValue??this.hasAttribute(\"checked\")}set checked(e){this.checkedValue=e}get disabled(){return this.hasAttribute(\"disabled\")}set disabled(e){if(e)this.setAttribute(\"disabled\",\"\");else this.removeAttribute(\"disabled\")}createClone(){let e=super.createClone();return e.inputValue=this.inputValue,e.checkedValue=this.checkedValue,e}}class B extends p{textareaValue;constructor(e=\"textarea\"){super(e)}get value(){return this.textareaValue??this.textContent}set value(e){this.textareaValue=e}}class W extends p{constructor(e=\"button\"){super(e)}get type(){return this.getAttribute(\"type\")??\"submit\"}}class z extends p{constructor(e=\"style\"){super(e)}}class G extends p{constructor(e=\"a\"){super(e)}get href(){return this.getAttribute(\"href\")??\"\"}set href(e){this.setAttribute(\"href\",e)}}class u extends b{data;constructor(e=\"\"){super(3,\"#text\");this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}get textContent(){return this.data}set textContent(e){this.data=e}get wholeText(){return this.data}createClone(){let e=new u(this.data);return e.ownerDocument=this.ownerDocument,e}}class w extends b{data;constructor(e=\"\"){super(8,\"#comment\");this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}createClone(){let e=new w(this.data);return e.ownerDocument=this.ownerDocument,e}}class _ extends b{constructor(){super(11,\"#document-fragment\")}}class S extends b{defaultView=null;constructor(){super(9,\"#document\")}createElement(e){return m(e,this)}createElementNS(e,t){let n=m(t,this);return n.namespaceURI=e,n}createTextNode(e){let t=new u(e);return t.ownerDocument=this,t}createComment(e){let t=new w(e);return t.ownerDocument=this,t}createDocumentFragment(){let e=new _;return e.ownerDocument=this,e}createEvent(e){if(e===\"MouseEvent\"||e===\"mouseevent\")return new O(\"\");if(e===\"KeyboardEvent\"||e===\"keyboardevent\")return new H(\"\");if(e===\"CustomEvent\"||e===\"customevent\")return new I(\"\");return new c(\"\")}get documentElement(){let e=this.childList.find((n)=>n.nodeType===1);if(e)return e;let t=m(\"html\",this);return this.appendChild(t),t}get head(){return this.ensureDocumentChild(\"head\")}get body(){return this.ensureDocumentChild(\"body\")}get title(){return this.querySelector(\"title\")?.textContent??\"\"}set title(e){let t=this.querySelector(\"title\");if(!t)t=m(\"title\",this),this.head.appendChild(t);t.textContent=e}querySelector(e){return C(this,e).item(0)}querySelectorAll(e){return C(this,e)}getElementById(e){let t=null;return N(this,(n)=>{if(!t&&n.id===e)t=n}),t}getElementsByTagName(e){return this.documentElement.getElementsByTagName(e)}createClone(){return new S}ensureDocumentChild(e){let t=this.documentElement,n=t.childList.find((i)=>i.nodeType===1&&i.localName===e);if(!n)n=m(e,this),t.appendChild(n);return n}}class Y{url;constructor(e){this.url=new URL(e)}get href(){return this.url.href}set href(e){this.url=new URL(e,this.url.href)}get origin(){return this.url.origin}get protocol(){return this.url.protocol}get host(){return this.url.host}get hostname(){return this.url.hostname}get port(){return this.url.port}get pathname(){return this.url.pathname}set pathname(e){let t=this.url,n=new URL(e,t.href);t.pathname=n.pathname}get search(){return this.url.search}set search(e){this.url.search=e.startsWith(\"?\")?e:`?${e}`}get hash(){return this.url.hash}set hash(e){let t=e.startsWith(\"#\")?e:`#${e}`;this.url.hash=t}get username(){return this.url.username}get password(){return this.url.password}assign(e){this.url=new URL(e,this.url.href)}replace(e){this.url=new URL(e,this.url.href)}reload(){}toString(){return this.url.href}getHashPath(){return this.url.hash.slice(1)}getHrefWithoutHash(){let e=this.url;return`${e.origin}${e.pathname}${e.search}`}}class J{windowRef;entries=[];index=0;scrollRestoration=\"auto\";constructor(e){this.windowRef=e,this.entries=[{state:null,url:e.location.href}]}get length(){return this.entries.length}get state(){return this.entries[this.index]?.state??null}pushState(e,t,n){let i=n?new URL(n,this.windowRef.location.href).href:this.windowRef.location.href;this.entries=this.entries.slice(0,this.index+1),this.entries.push({state:e,url:i}),this.index=this.entries.length-1,this.windowRef.setLocationUrl(i)}replaceState(e,t,n){let i=n?new URL(n,this.windowRef.location.href).href:this.windowRef.location.href;this.entries[this.index]={state:e,url:i},this.windowRef.setLocationUrl(i)}back(){this.go(-1)}forward(){this.go(1)}go(e=0){let t=this.index+e;if(t<0||t>=this.entries.length)return;this.index=t,this.windowRef.setLocationUrl(this.entries[t].url),this.windowRef.dispatchEvent(new c(\"popstate\",{bubbles:!1,cancelable:!1}))}}class ee{store=new Map;get length(){return this.store.size}key(e){return[...this.store.keys()][e]??null}getItem(e){return this.store.has(e)?this.store.get(e):null}setItem(e,t){this.store.set(e,String(t))}removeItem(e){this.store.delete(e)}clear(){this.store.clear()}}class te{userAgent=\"TSone/0.2.1\";platform=\"TSone\";language=\"zh-CN\";languages=[\"zh-CN\"];onLine=!0;maxTouchPoints=0}function ge(e,t){let n=new Set,i=!1,r={media:t,matches:!1,onchange:null,addEventListener(s,l){if(s===\"change\")n.add(l)},removeEventListener(s,l){if(s===\"change\")n.delete(l)},addListener(s){n.add(s)},removeListener(s){n.delete(s)},dispatchEvent(s){for(let l of[...n])if(typeof l===\"function\")l.call(r,s);else l.handleEvent(s);return!0}};return r}class me{observe(){}unobserve(){}disconnect(){}}var fe=[\"window\",\"document\",\"Node\",\"Text\",\"Comment\",\"Element\",\"HTMLElement\",\"HTMLInputElement\",\"HTMLTextAreaElement\",\"HTMLSelectElement\",\"HTMLButtonElement\",\"HTMLOptionElement\",\"HTMLStyleElement\",\"HTMLAnchorElement\",\"DocumentFragment\",\"Document\",\"Event\",\"MouseEvent\",\"KeyboardEvent\",\"CustomEvent\",\"EventTarget\",\"DOMException\",\"history\",\"location\",\"navigator\",\"localStorage\",\"matchMedia\",\"getComputedStyle\",\"requestAnimationFrame\",\"cancelAnimationFrame\",\"ResizeObserver\"];class ne extends A{window=this;document;location;history;localStorage=new ee;navigator=new te;Node=b;Text=u;Comment=w;Element=M;HTMLElement=p;HTMLInputElement=U;HTMLTextAreaElement=B;HTMLSelectElement=P;HTMLButtonElement=W;HTMLOptionElement=k;HTMLStyleElement=z;HTMLAnchorElement=G;DocumentFragment=_;Document=S;Event=c;MouseEvent=O;KeyboardEvent=H;CustomEvent=I;EventTarget=A;DOMException=K;NodeList=f;constructor(e={}){super();let t=e.url??\"http://localhost/\";this.location=new Y(t),this.history=new J(this),this.document=new S,this.document.defaultView=this,Se(this.document)}matchMedia(e){return ge(this,e)}getComputedStyle(e){return e.style}requestAnimationFrame(e){return setTimeout(()=>e(Date.now()),0)}cancelAnimationFrame(e){clearTimeout(e)}setLocationUrl(e){this.location.href=e}installKeys(){return[...fe]}}function ke(e={}){return new ne(e)}function Pe(e,t=globalThis){let n=new Map,i=e.installKeys();for(let r of i)n.set(r,Object.getOwnPropertyDescriptor(t,r));for(let r of i)Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:e[r]});return Object.defineProperty(t,\"window\",{configurable:!0,enumerable:!0,writable:!0,value:e}),()=>{for(let r of i){let s=n.get(r);if(s)Object.defineProperty(t,r,s);else Reflect.deleteProperty(t,r)}}}function ye(e,t){let n=new _;if(t)n.ownerDocument=t;return Ee(n,e,t),[...n.childList]}function Ee(e,t,n){let i=[],r=e,s=0,l=t.length,a=(o)=>{if(o.ownerDocument===null)o.ownerDocument=n;r.appendChild(o)};while(s<l){let o=t.indexOf(\"<\",s);if(o<0){a(new u(t.slice(s)));break}if(o>s)a(new u(t.slice(s,o)));if(t.startsWith(\"<!--\",o)){let d=t.indexOf(\"-->\",o+4),E=d<0?l:d;a(new w(t.slice(o+4,E))),s=d<0?l:d+3;continue}let h=ve(t,o);if(h<0){a(new u(t.slice(o)));break}let T=t.slice(o+1,h).trim();if(T.startsWith(\"/\")){let d=T.slice(1).trim().toLowerCase();if(i.length>0&&i[i.length-1].localName===d)i.pop(),r=i[i.length-1]??e;s=h+1;continue}let ae=T.endsWith(\"/\"),y=we(T.replace(/\\/$/,\"\").trim());if(!y){s=h+1;continue}let v=m(y.name,n);for(let d of y.attributes)v.setAttribute(d.name,d.value);if(a(v),ie.has(y.name)||ae){s=h+1;continue}if(re.has(y.name)){let d=`</${y.name}>`,E=t.toLowerCase().indexOf(d,h+1),j=t.slice(h+1,E<0?l:E);v.appendChild(n?.createTextNode(j)??new u(j)),s=E<0?l:E+d.length;continue}i.push(v),r=v,s=h+1}}var ie=new Set([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"]),re=new Set([\"script\",\"style\",\"textarea\",\"title\"]);function ve(e,t){let n=null;for(let i=t+1;i<e.length;i+=1){let r=e[i];if(n){if(r===n)n=null;continue}if(r==='\"'||r===\"'\"){n=r;continue}if(r===\">\")return i}return-1}function we(e){let t=e.match(/^([a-zA-Z][a-zA-Z0-9-]*)\\s*(.*)$/);if(!t)return null;let n=t[1].toLowerCase(),i=[],r=t[2],s=/([a-zA-Z_:][a-zA-Z0-9_:.-]*)(?:\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|([^\\s\"'=<>`]+)))?/g,l;while((l=s.exec(r))!==null){let a=l[1],o=l[2]??l[3]??l[4]??\"\";i.push({name:a,value:Ne(o)})}return{name:n,attributes:i}}function Ne(e){return e.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\").replace(/"/g,'\"').replace(/'/g,\"'\").replace(/ /g,\" \")}function se(e){return e.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")}function F(e){return se(e).replace(/\"/g,\""\")}function le(e){switch(e.nodeType){case 3:return se(e.data);case 8:return`<!--${e.data}-->`;case 1:return Te(e);default:return\"\"}}function Te(e){let t=e.localName,n=[];for(let s of e.attributeEntries()){if(s.name===\"style\")continue;n.push(`${s.name}=\"${F(s.value)}\"`)}let i=e.inlineStyleText();if(i)n.push(`style=\"${F(i)}\"`);let r=n.length>0?` ${n.join(\" \")}`:\"\";if(ie.has(t))return`<${t}${r}>`;if(re.has(t))return`<${t}${r}>${e.textContent}</${t}>`;return`<${t}${r}>${oe(e)}</${t}>`}function oe(e){return e.childList.map((t)=>le(t)).join(\"\")}function xe(e){return e.split(\",\").map((t)=>{let n=[],i=0;while(i<t.length){while(i<t.length&&t[i]===\" \")i+=1;if(i>=t.length)break;if(t[i]===\">\"){n.push({type:\"child\"}),i+=1;continue}let r=i;while(i<t.length&&t[i]!==\" \"&&t[i]!==\">\")i+=1;n.push(Le(t.slice(r,i)))}return n})}function Le(e){let t=[],n=0;while(n<e.length){let i=e[n];if(i===\"*\")t.push({type:\"universal\"}),n+=1;else if(i===\"#\"){let r=V(e,n+1);t.push({type:\"id\",id:e.slice(n+1,r)}),n=r}else if(i===\".\"){let r=V(e,n+1);t.push({type:\"class\",className:e.slice(n+1,r)}),n=r}else if(i===\"[\"){let r=e.indexOf(\"]\",n),s=e.slice(n+1,r<0?e.length:r).trim(),l=s.match(/^([a-zA-Z_:][a-zA-Z0-9_:.-]*)(?:([~|^$*]?=)(?:\"([^\"]*)\"|'([^']*)'|([^\\s\"'=<>`]+)))?$/);if(l)t.push({type:\"attribute\",name:l[1],operator:l[2],value:l[3]??l[4]??l[5]});else t.push({type:\"attribute\",name:s});n=r<0?e.length:r+1}else if(/[a-zA-Z_]/.test(i)){let r=V(e,n);t.push({type:\"tag\",name:e.slice(n,r).toLowerCase()}),n=r}else n+=1}if(t.length===1)return t[0];return{type:\"compound\",parts:t}}function V(e,t){let n=t;while(n<e.length&&/[a-zA-Z0-9:_-]/.test(e[n]))n+=1;return n}function ue(e,t){return xe(t).some((i)=>De(e,i))}function De(e,t){let n=t.length-1;if(n<0)return!0;if(!D(e,t[n]))return!1;if(n===0)return!0;let i=e.parentElement;n-=1;while(i){let r=t[n];if(!r)return!0;if(r.type===\"child\"){let s=t[n-1];if(!s||!D(i,s))return!1;if(n-=2,n<0)return!0;i=i.parentElement;continue}if(D(i,r)){if(n-=1,n<0)return!0}i=i.parentElement}return!1}function D(e,t){switch(t.type){case\"universal\":return!0;case\"tag\":return e.localName===t.name;case\"id\":return e.id===t.id;case\"class\":return e.classList.contains(t.className);case\"attribute\":return Ae(e,t);case\"compound\":return t.parts.every((n)=>D(e,n));case\"child\":return!1;default:return!1}}function Ae(e,t){let n=e.getAttribute(t.name);if(!t.operator)return n!==null;if(n===null)return!1;let i=t.value??\"\";switch(t.operator){case\"=\":return n===i;case\"~=\":return n.split(/\\s+/).includes(i);case\"|=\":return n===i||n.startsWith(`${i}-`);case\"^=\":return n.startsWith(i);case\"$=\":return n.endsWith(i);case\"*=\":return n.includes(i);default:return!1}}function C(e,t){let n=[];return N(e,(i)=>{if(i!==e&&ue(i,t))n.push(i)}),new f(n)}function N(e,t){for(let n of e.childList)if(n.nodeType===1)t(n),N(n,t)}function m(e,t){let n=e.toLowerCase(),i;if(n===\"input\")i=new U(n);else if(n===\"textarea\")i=new B(n);else if(n===\"select\")i=new P(n);else if(n===\"option\")i=new k(n);else if(n===\"button\")i=new W(n);else if(n===\"style\")i=new z(n);else if(n===\"a\")i=new G(n);else i=new p(n);return i.ownerDocument=t,i}function Se(e){let t=e.createElement(\"html\");t.setAttribute(\"lang\",\"en\"),e.appendChild(t);let n=e.createElement(\"head\"),i=e.createElement(\"body\");t.appendChild(n),t.appendChild(i)}function Ce(e){return new Proxy({},{get(n,i){if(typeof i===\"symbol\")return;return e.getAttribute(`data-${g(i)}`)??\"\"},set(n,i,r){if(typeof i===\"symbol\")return!0;if(r===\"\"||r===null||r===void 0)e.removeAttribute(`data-${g(i)}`);else e.setAttribute(`data-${g(i)}`,String(r));return!0},deleteProperty(n,i){if(typeof i!==\"symbol\")e.removeAttribute(`data-${g(i)}`);return!0},has(n,i){if(typeof i===\"symbol\")return!1;return e.hasAttribute(`data-${g(i)}`)},ownKeys(){let n=[];for(let i of e.attributeEntries())if(i.name.startsWith(\"data-\"))n.push(Oe(i.name.slice(5)));return n},getOwnPropertyDescriptor(n,i){if(typeof i===\"symbol\")return;if(e.hasAttribute(`data-${g(i)}`))return{configurable:!0,enumerable:!0,writable:!0,value:e.getAttribute(`data-${g(i)}`)};return}})}function g(e){return e.replace(/[A-Z]/g,(t)=>`-${t.toLowerCase()}`)}function Oe(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}export{w as Comment,I as CustomEvent,K as DOMException,X as DOMTokenList,fe as DOM_GLOBAL_KEYS,S as Document,_ as DocumentFragment,ce as DomNodeType,ne as DomWindow,M as Element,c as Event,A as EventTarget,G as HTMLAnchorElement,W as HTMLButtonElement,p as HTMLElement,U as HTMLInputElement,k as HTMLOptionElement,Q as HTMLOptionsCollection,P as HTMLSelectElement,z as HTMLStyleElement,B as HTMLTextAreaElement,J as History,H as KeyboardEvent,Y as Location,O as MouseEvent,Z as NamedNodeMap,te as Navigator,b as Node,f as NodeList,me as ResizeObserver,ee as Storage,u as Text,ke as createDomWindow,ge as createMatchMedia,R as createStyleDeclaration,Pe as installDomGlobals,ye as parseHtmlFragment};\n\n//# debugId=918ACBAD8F24DC0564756E2164756E21\n//# sourceMappingURL=index.js.map\n",
|
|
9
9
|
"import {\n createDomWindow,\n installDomGlobals,\n DOM_GLOBAL_KEYS,\n} from '@geektech/tsone/dom';\nimport type { AppDocumentRenderOptions, OneApp } from '@geektech/tsone';\nimport type { ResolvedConfig } from './types';\n\nconst PROJECT_GLOBAL_KEYS = [...DOM_GLOBAL_KEYS, '__APP__'];\n\ntype ProjectGlobalKey = (typeof PROJECT_GLOBAL_KEYS)[number];\ntype GlobalDescriptorMap = Map<\n ProjectGlobalKey,\n PropertyDescriptor | undefined\n>;\n\ninterface ProjectEntryModule {\n app?: unknown;\n}\n\nlet projectDomQueue: Promise<void> = Promise.resolve();\n\nexport async function renderProjectHtml(\n config: ResolvedConfig,\n options: AppDocumentRenderOptions,\n entry: string = config.entry\n): Promise<string> {\n return withProjectDom(async () => {\n const module = await importProjectEntry(entry);\n const app = module.app as Partial<OneApp> | undefined;\n if (!app || typeof app.renderHtmlDocument !== 'function') {\n throw new Error(\n `TSone entry ${entry} must export an app with renderHtmlDocument()`\n );\n }\n\n return app.renderHtmlDocument(options);\n });\n}\n\nasync function withProjectDom<T>(callback: () => Promise<T>): Promise<T> {\n const task = projectDomQueue.then(() => runWithProjectDom(callback));\n projectDomQueue = task.then(\n () => undefined,\n () => undefined\n );\n\n return task;\n}\n\nasync function runWithProjectDom<T>(callback: () => Promise<T>): Promise<T> {\n const windowRef = createDomWindow({ url: 'http://127.0.0.1/' });\n Object.assign(windowRef, {\n Error,\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n });\n const descriptors = captureGlobalDescriptors();\n\n try {\n installDomGlobals(windowRef);\n return await callback();\n } finally {\n restoreGlobalDescriptors(descriptors);\n }\n}\n\nlet projectEntrySequence = 0;\n\nasync function importProjectEntry(entry: string): Promise<ProjectEntryModule> {\n projectEntrySequence += 1;\n return (await import(\n `${entry}?tsone_entry=${projectEntrySequence}`\n )) as ProjectEntryModule;\n}\n\nfunction captureGlobalDescriptors(): GlobalDescriptorMap {\n return new Map(\n PROJECT_GLOBAL_KEYS.map((key) => [\n key,\n Object.getOwnPropertyDescriptor(globalThis, key),\n ])\n );\n}\n\nfunction restoreGlobalDescriptors(descriptors: GlobalDescriptorMap): void {\n PROJECT_GLOBAL_KEYS.forEach((key) => {\n const descriptor = descriptors.get(key);\n if (descriptor) {\n Object.defineProperty(globalThis, key, descriptor);\n return;\n }\n\n delete (globalThis as Record<string, unknown>)[key];\n });\n}\n",
|
|
10
10
|
"import { lstat, realpath } from 'node:fs/promises';\nimport { dirname, isAbsolute, relative, resolve, sep } from 'node:path';\n\nexport async function assertSafeSubdirectory(\n root: string,\n path: string,\n errorMessage: string\n): Promise<void> {\n try {\n const canonicalRoot = await realpath(root);\n const canonicalPath = await canonicalizePotentialPath(path);\n\n if (!isStrictSubdirectory(canonicalRoot, canonicalPath)) {\n throw new Error(errorMessage);\n }\n } catch {\n throw new Error(errorMessage);\n }\n}\n\nexport async function assertSafeSubdirectoryDoesNotContain(\n root: string,\n path: string,\n protectedPath: string,\n errorMessage: string\n): Promise<void> {\n try {\n const lexicalPath = resolve(path);\n const lexicalProtectedPath = resolve(protectedPath);\n const canonicalRoot = await realpath(root);\n const canonicalPath = await canonicalizePotentialPath(path);\n const canonicalProtectedPath = await realpath(protectedPath);\n\n if (\n !isStrictSubdirectory(canonicalRoot, canonicalPath) ||\n isPathWithinOrEqual(lexicalPath, lexicalProtectedPath) ||\n isPathWithinOrEqual(canonicalPath, canonicalProtectedPath)\n ) {\n throw new Error(errorMessage);\n }\n } catch {\n throw new Error(errorMessage);\n }\n}\n\nasync function canonicalizePotentialPath(path: string): Promise<string> {\n const ancestor = await findExistingAncestor(path);\n const canonicalAncestor = await realpath(ancestor);\n return resolve(canonicalAncestor, relative(ancestor, path));\n}\n\nasync function findExistingAncestor(path: string): Promise<string> {\n let candidate = path;\n\n while (candidate !== dirname(candidate)) {\n try {\n await lstat(candidate);\n return candidate;\n } catch (error: unknown) {\n if (!isMissingPathError(error)) {\n throw error;\n }\n }\n\n candidate = dirname(candidate);\n }\n\n await lstat(candidate);\n return candidate;\n}\n\nfunction isMissingPathError(error: unknown): boolean {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'code' in error &&\n error.code === 'ENOENT'\n );\n}\n\nfunction isStrictSubdirectory(root: string, path: string): boolean {\n const pathFromRoot = relative(root, path);\n return (\n pathFromRoot !== '' &&\n pathFromRoot !== '..' &&\n !pathFromRoot.startsWith(`..${sep}`) &&\n !isAbsolute(pathFromRoot)\n );\n}\n\nfunction isPathWithinOrEqual(parent: string, candidate: string): boolean {\n const pathFromParent = relative(parent, candidate);\n return (\n pathFromParent === '' ||\n (pathFromParent !== '..' &&\n !pathFromParent.startsWith(`..${sep}`) &&\n !isAbsolute(pathFromParent))\n );\n}\n",
|
|
11
|
+
"import { existsSync, mkdirSync, writeFileSync } from 'node:fs';\nimport { basename, join } from 'node:path';\n\nexport interface CreateProjectOptions {\n /** Target directory; defaults to the current working directory. */\n root?: string;\n /** Package name; defaults to the target directory basename. */\n name?: string;\n}\n\nexport interface CreateProjectResult {\n root: string;\n files: string[];\n}\n\n/** Published framework version referenced by generated projects. */\nexport const TSONE_FRAMEWORK_VERSION = '0.2.1';\n/** Published CLI version referenced by generated projects. */\nexport const TSONE_CLI_VERSION = '0.2.2';\n\nexport const GITHUB_URL = 'https://github.com/geektech-team/tsone';\n\ninterface ScaffoldFile {\n path: string;\n content: string;\n}\n\nexport function createProject(\n options: CreateProjectOptions = {}\n): CreateProjectResult {\n const root = options.root ?? process.cwd();\n const name = options.name ?? basename(root);\n const files = scaffoldFiles(name);\n\n const existing = files.filter((file) => existsSync(join(root, file.path)));\n if (existing.length > 0) {\n throw new Error(\n `Refusing to overwrite existing TSone project files: ${existing\n .map((file) => file.path)\n .join(', ')}`\n );\n }\n\n mkdirSync(join(root, 'src'), { recursive: true });\n const created: string[] = [];\n for (const file of files) {\n writeFileSync(join(root, file.path), file.content, 'utf8');\n created.push(file.path);\n }\n\n return { root, files: created };\n}\n\nfunction scaffoldFiles(name: string): ScaffoldFile[] {\n return [\n {\n path: 'package.json',\n content: `${JSON.stringify(\n {\n name,\n private: true,\n type: 'module',\n scripts: {\n dev: 'tsone dev',\n build: 'tsone build',\n typecheck: 'bunx tsc --noEmit',\n },\n dependencies: {\n '@geektech/tsone': `^${TSONE_FRAMEWORK_VERSION}`,\n },\n devDependencies: {\n '@geektech/tsone-cli': `^${TSONE_CLI_VERSION}`,\n },\n },\n null,\n 2\n )}\\n`,\n },\n {\n path: 'tsone.config.ts',\n content: `import { defineConfig } from '@geektech/tsone-cli';\\n\\nexport default defineConfig({\\n entry: 'src/main.ts',\\n});\\n`,\n },\n {\n path: 'tsconfig.json',\n content: `${JSON.stringify(\n {\n compilerOptions: {\n target: 'ESNext',\n module: 'ESNext',\n moduleResolution: 'Bundler',\n lib: ['ESNext', 'DOM', 'DOM.Iterable'],\n strict: true,\n noEmit: true,\n skipLibCheck: true,\n verbatimModuleSyntax: true,\n },\n include: ['src/**/*', 'tsone.config.ts'],\n },\n null,\n 2\n )}\\n`,\n },\n {\n path: '.gitignore',\n content: 'node_modules/\\ndist/\\n.tsone/\\n',\n },\n {\n path: 'src/main.ts',\n content: `import { Component, createApp, h, type VNode } from '@geektech/tsone';\\n\\nclass App extends Component<object, object> {\\n protected initState(): object {\\n return {};\\n }\\n\\n protected initStyles(): void {\\n this.styleManager.addStyle('app-body', {\\n selector: 'body',\\n properties: {\\n margin: 0,\\n background: '#f7fbf6',\\n color: '#142216',\\n fontFamily:\\n \"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif\",\\n },\\n });\\n this.styleManager.addStyle('app-shell', {\\n selector: '.app-shell',\\n properties: {\\n alignItems: 'center',\\n display: 'flex',\\n flexDirection: 'column',\\n gap: '14px',\\n justifyContent: 'center',\\n minHeight: '100vh',\\n },\\n });\\n this.styleManager.addStyle('app-title', {\\n selector: '.app-title',\\n properties: {\\n fontSize: '64px',\\n letterSpacing: 0,\\n lineHeight: 1.05,\\n margin: 0,\\n },\\n });\\n this.styleManager.addStyle('app-link', {\\n selector: '.app-link',\\n properties: {\\n color: '#2f7c39',\\n fontSize: '16px',\\n textDecoration: 'none',\\n },\\n hover: {\\n textDecoration: 'underline',\\n },\\n });\\n }\\n\\n protected render(): VNode {\\n return h('main', { className: 'app-shell' }, [\\n h('h1', { className: 'app-title' }, ['TSone']),\\n h(\\n 'a',\\n { className: 'app-link', href: '${GITHUB_URL}' },\\n ['GitHub']\\n ),\\n ]);\\n }\\n}\\n\\nexport const app = createApp({\\n root: App,\\n document: {\\n lang: 'zh-CN',\\n title: 'TSone',\\n description: '轻量级纯 TypeScript 前端框架',\\n },\\n});\\n\\napp.mount();\\n`,\n },\n ];\n}\n",
|
|
11
12
|
"import { randomUUID } from 'node:crypto';\nimport {\n basename,\n extname,\n isAbsolute,\n relative,\n resolve,\n sep,\n} from 'node:path';\nimport { isEntryJavaScriptOutput, isStylesheetOutput } from './build-output';\nimport { resolveConfig } from './config';\nimport { renderProjectHtml } from './project';\nimport { createProxyHandler } from './proxy';\nimport { assertSafeSubdirectory } from './safe-path';\nimport { createFileWatcher, type FileWatcher } from './watch';\nimport type { ResolveConfigOptions, ResolvedConfig } from './types';\n\nconst DEVELOPMENT_URL_PREFIX = '/dev';\nconst INVALID_DEVELOPMENT_DIRECTORY_MESSAGE =\n 'Development output must be a subdirectory of the project root';\nconst LIVE_RELOAD_PATH = '/__tsone/reload';\nconst WATCHED_EXTENSIONS = new Set([\n '.ts',\n '.js',\n '.mjs',\n '.cjs',\n '.json',\n '.css',\n '.html',\n]);\nconst IGNORED_WATCH_SEGMENTS = new Set([\n '.tsone',\n 'node_modules',\n '.git',\n '.worktrees',\n]);\nconst LIVE_RELOAD_CLIENT_SCRIPT = [\n '<script type=\"module\">',\n 'const tsoneReloadSource=new EventSource(',\n JSON.stringify(LIVE_RELOAD_PATH),\n ');',\n 'tsoneReloadSource.addEventListener(\"reload\",()=>location.reload());',\n '</script>',\n].join('');\n\ntype DevServer = ReturnType<typeof Bun.serve>;\n\nexport interface StartDevServerOptions extends ResolveConfigOptions {\n watch?: boolean;\n}\n\nexport async function startDevServer(\n options: StartDevServerOptions = {}\n): Promise<DevServer> {\n if (options.watch) {\n return startWatchingDevServer(options);\n }\n const instance = await createServerInstance(options, false);\n return instance.server;\n}\n\nasync function startWatchingDevServer(\n options: StartDevServerOptions\n): Promise<DevServer> {\n let instance = await createServerInstance(options, true);\n let watcher = createProjectWatcher(instance, onChange);\n\n async function onChange(changedPath: string): Promise<void> {\n const configFile = instance.config.configFile;\n const configRelativePath =\n configFile === undefined\n ? undefined\n : toRelativePath(instance.config.root, configFile);\n if (configRelativePath === changedPath) {\n await restart();\n return;\n }\n await rebuildAndReload();\n }\n\n async function rebuildAndReload(): Promise<void> {\n const routes = Object.keys(instance.config.pages);\n instance.markDirty(routes);\n for (const route of routes) {\n const bundle = await instance.getBundle(route);\n if (bundle instanceof Response) {\n console.error('TSone rebuild failed; keeping the last working page.');\n return;\n }\n }\n instance.liveReload?.broadcast();\n }\n\n async function restart(): Promise<void> {\n watcher.dispose();\n instance.server.stop(true);\n instance = await createServerInstance(options, true);\n watcher = createProjectWatcher(instance, onChange);\n console.log(\n `TSone dev server restarted at http://${instance.server.hostname}:${instance.server.port}`\n );\n }\n\n return createServerHandle(\n () => instance,\n () => watcher.dispose()\n );\n}\n\nfunction createProjectWatcher(\n instance: DevServerInstance,\n onChange: (changedPath: string) => Promise<void>\n): FileWatcher {\n return createFileWatcher({\n root: instance.config.root,\n isRelevant: (relativePath) => isWatchedFile(instance, relativePath),\n onChange: (changedPath) => {\n void onChange(changedPath);\n },\n });\n}\n\ninterface DevServerInstance {\n server: DevServer;\n config: ResolvedConfig;\n getBundle: (route: string) => Promise<DevelopmentBundle | Response>;\n markDirty: (routes: string[]) => void;\n liveReload: LiveReloadHub | undefined;\n}\n\nasync function createServerInstance(\n options: StartDevServerOptions,\n watch: boolean\n): Promise<DevServerInstance> {\n const config = await resolveConfig(options);\n for (const entry of Object.values(config.pages)) {\n await renderProjectHtml(config, {}, entry);\n }\n const developmentOutDir = resolve(config.root, '.tsone', 'dev');\n await assertSafeSubdirectory(\n config.root,\n developmentOutDir,\n INVALID_DEVELOPMENT_DIRECTORY_MESSAGE\n );\n const proxy = createProxyHandler(config.server.proxy);\n const sessionId = createGenerationId();\n const sessionOutDir = resolve(developmentOutDir, sessionId);\n const artifacts = new Map<string, DevelopmentOutput>();\n const buildProject = createDevelopmentBuilder(\n config,\n sessionId,\n sessionOutDir\n );\n const liveReload = watch ? createLiveReloadHub() : undefined;\n const bundles = new Map<string, DevelopmentBundle>();\n const dirtyRoutes = new Set<string>();\n\n const getBundle = async (\n route: string\n ): Promise<DevelopmentBundle | Response> => {\n const cached = bundles.get(route);\n if (watch && cached !== undefined && !dirtyRoutes.has(route)) {\n return cached;\n }\n const bundle = await buildProject(route);\n if (bundle instanceof Response) {\n if (watch) {\n dirtyRoutes.add(route);\n }\n return bundle;\n }\n if (watch) {\n bundles.set(route, bundle);\n dirtyRoutes.delete(route);\n }\n return bundle;\n };\n\n const server = Bun.serve({\n hostname: config.server.host,\n port: config.server.port,\n fetch: async (request) => {\n const reloadResponse = liveReload?.handleRequest(request);\n if (reloadResponse) {\n return reloadResponse;\n }\n return (\n (await proxy(request)) ??\n serveProjectRequest(\n request,\n config,\n config.pages,\n getBundle,\n artifacts,\n liveReload\n )\n );\n },\n });\n\n return {\n server,\n config,\n getBundle,\n markDirty: (routes) => {\n routes.forEach((route) => dirtyRoutes.add(route));\n },\n liveReload,\n };\n}\n\nfunction createServerHandle(\n getInstance: () => DevServerInstance,\n disposeWatcher: () => void\n): DevServer {\n return new Proxy({} as DevServer, {\n get(_target, property) {\n if (property === 'stop') {\n return (closeActiveConnections?: boolean) => {\n disposeWatcher();\n getInstance().server.stop(closeActiveConnections);\n };\n }\n const server = getInstance().server as unknown as Record<\n PropertyKey,\n unknown\n >;\n const value = server[property];\n return typeof value === 'function'\n ? (value as (...args: unknown[]) => unknown).bind(server)\n : value;\n },\n });\n}\n\nasync function serveProjectRequest(\n request: Request,\n config: ResolvedConfig,\n pages: Record<string, string>,\n getBundle: (route: string) => Promise<DevelopmentBundle | Response>,\n artifacts: Map<string, DevelopmentOutput>,\n liveReload: LiveReloadHub | undefined\n): Promise<Response> {\n const pathname = new URL(request.url).pathname;\n const route = pageRouteForPathname(pages, pathname);\n\n if (route !== undefined) {\n const bundle = await getBundle(route);\n if (bundle instanceof Response) {\n return bundle;\n }\n\n try {\n const html = await renderProjectHtml(\n config,\n {\n head: bundle.stylesheets.map(({ pathname: href }) => ({\n tag: 'link',\n attributes: { rel: 'stylesheet', href },\n })),\n scripts: [{ type: 'module', src: bundle.entry.pathname }],\n },\n pages[route]\n );\n publishDevelopmentBundle(bundle, artifacts);\n return new Response(liveReload ? injectLiveReloadScript(html) : html, {\n headers: {\n 'content-type': 'text/html; charset=utf-8',\n 'cache-control': 'no-store',\n },\n });\n } catch (error: unknown) {\n console.error(error);\n return buildFailureResponse();\n }\n }\n\n if (pathname === '/bundle.js') {\n const bundle = await getBundle('/');\n if (bundle instanceof Response) {\n return bundle;\n }\n\n try {\n publishDevelopmentBundle(bundle, artifacts);\n return new Response(null, {\n status: 307,\n headers: {\n location: bundle.entry.pathname,\n 'cache-control': 'no-store',\n },\n });\n } catch (error: unknown) {\n console.error(error);\n return buildFailureResponse();\n }\n }\n\n const artifact = artifacts.get(pathname);\n if (artifact) {\n return new Response(Bun.file(artifact.filePath), {\n headers: {\n 'content-type': artifact.type,\n 'cache-control': 'no-store',\n },\n });\n }\n\n return new Response('Not found', {\n status: 404,\n headers: { 'cache-control': 'no-store' },\n });\n}\n\nfunction pageRouteForPathname(\n pages: Record<string, string>,\n pathname: string\n): string | undefined {\n if (pages[pathname] !== undefined) {\n return pathname;\n }\n if (pathname === '/index.html') {\n return '/';\n }\n const candidate =\n pathname.length > 1 && pathname.endsWith('/')\n ? pathname.replace(/\\/+$/, '')\n : pathname;\n if (pages[candidate] !== undefined) {\n return candidate;\n }\n if (candidate.endsWith('/index.html')) {\n const base = candidate.slice(0, candidate.length - '/index.html'.length);\n if (base === '') {\n return '/';\n }\n if (pages[base] !== undefined) {\n return base;\n }\n }\n return undefined;\n}\n\nfunction injectLiveReloadScript(html: string): string {\n if (html.includes(LIVE_RELOAD_PATH)) {\n return html;\n }\n if (html.includes('</body>')) {\n return html.replace('</body>', `${LIVE_RELOAD_CLIENT_SCRIPT}</body>`);\n }\n return html + LIVE_RELOAD_CLIENT_SCRIPT;\n}\n\ninterface LiveReloadHub {\n handleRequest(request: Request): Response | undefined;\n broadcast(): void;\n}\n\nconst reloadEncoder = new TextEncoder();\n\nfunction createLiveReloadHub(): LiveReloadHub {\n const controllers = new Set<ReadableStreamDefaultController<Uint8Array>>();\n\n function handleRequest(request: Request): Response | undefined {\n if (new URL(request.url).pathname !== LIVE_RELOAD_PATH) {\n return undefined;\n }\n\n let streamController:\n | ReadableStreamDefaultController<Uint8Array>\n | undefined;\n const stream = new ReadableStream<Uint8Array>({\n start: (controller) => {\n streamController = controller;\n controllers.add(controller);\n try {\n controller.enqueue(reloadEncoder.encode(': connected\\n\\n'));\n } catch {\n controllers.delete(controller);\n }\n },\n cancel: () => {\n if (streamController) {\n controllers.delete(streamController);\n }\n },\n });\n\n return new Response(stream, {\n headers: {\n 'content-type': 'text/event-stream',\n 'cache-control': 'no-store',\n },\n });\n }\n\n function broadcast(): void {\n const message = reloadEncoder.encode('event: reload\\ndata: {}\\n\\n');\n for (const controller of [...controllers]) {\n try {\n controller.enqueue(message);\n } catch {\n controllers.delete(controller);\n }\n }\n }\n\n return { handleRequest, broadcast };\n}\n\nfunction isWatchedFile(\n instance: DevServerInstance,\n relativePath: string\n): boolean {\n if (relativePath === '' || relativePath.startsWith('..')) {\n return false;\n }\n const segments = relativePath.split('/');\n if (segments.some((segment) => IGNORED_WATCH_SEGMENTS.has(segment))) {\n return false;\n }\n const absolutePath = resolve(instance.config.root, relativePath);\n if (isWithinOrEqual(instance.config.build.outDir, absolutePath)) {\n return false;\n }\n const base = basename(absolutePath);\n if (base.startsWith('.') && absolutePath !== instance.config.configFile) {\n return false;\n }\n return WATCHED_EXTENSIONS.has(extname(base).toLowerCase());\n}\n\nfunction toRelativePath(root: string, absolutePath: string): string {\n return relative(root, absolutePath).split(sep).join('/');\n}\n\nfunction isWithinOrEqual(parent: string, candidate: string): boolean {\n const pathFromParent = relative(parent, candidate);\n return (\n pathFromParent === '' ||\n (pathFromParent !== '..' &&\n !pathFromParent.startsWith(`..${sep}`) &&\n !isAbsolute(pathFromParent))\n );\n}\n\ninterface DevelopmentOutput {\n filePath: string;\n pathname: string;\n type: string;\n}\n\ninterface DevelopmentBundle {\n entry: DevelopmentOutput;\n stylesheets: DevelopmentOutput[];\n artifacts: ReadonlyMap<string, DevelopmentOutput>;\n}\n\nfunction createDevelopmentBuilder(\n config: ResolvedConfig,\n sessionId: string,\n sessionOutDir: string\n): (route: string) => Promise<DevelopmentBundle | Response> {\n let queue = Promise.resolve();\n\n return (route) => {\n const entry = config.pages[route];\n const result = queue.then(() =>\n buildProjectBundle(entry, sessionId, sessionOutDir)\n );\n queue = result.then(\n () => undefined,\n () => undefined\n );\n return result;\n };\n}\n\nasync function buildProjectBundle(\n entry: string,\n sessionId: string,\n sessionOutDir: string\n): Promise<DevelopmentBundle | Response> {\n const generationId = createGenerationId();\n const generationOutDir = resolve(sessionOutDir, generationId);\n const generationUrl = `${DEVELOPMENT_URL_PREFIX}/${sessionId}/${generationId}`;\n const buildOptions = {\n entrypoints: [entry],\n outdir: generationOutDir,\n target: 'browser' as const,\n format: 'esm' as const,\n sourcemap: 'inline' as const,\n write: true,\n throw: false,\n publicPath: `${generationUrl}/`,\n naming: {\n entry: '[name]-[hash].[ext]',\n chunk: '[name]-[hash].[ext]',\n asset: 'assets/[name]-[hash].[ext]',\n },\n };\n\n try {\n const result = await Bun.build(buildOptions);\n const entryArtifact = result.outputs.find(isEntryJavaScriptOutput);\n if (!result.success || !entryArtifact) {\n result.logs.forEach((log) => console.error(log));\n if (!entryArtifact) {\n console.error('Failed to build project bundle: no JavaScript output');\n }\n return buildFailureResponse();\n }\n\n const pendingArtifacts = new Map<string, DevelopmentOutput>();\n const outputs = new Map<\n Awaited<ReturnType<typeof Bun.build>>['outputs'][number],\n DevelopmentOutput\n >();\n\n for (const output of result.outputs) {\n const developmentOutput = createDevelopmentOutput(\n generationOutDir,\n generationUrl,\n output\n );\n if (pendingArtifacts.has(developmentOutput.pathname)) {\n throw new Error(\n `Development output URL collision: ${developmentOutput.pathname}`\n );\n }\n pendingArtifacts.set(developmentOutput.pathname, developmentOutput);\n outputs.set(output, developmentOutput);\n }\n\n const entry = outputs.get(entryArtifact);\n if (!entry) {\n throw new Error('Development entry output was not indexed');\n }\n\n return {\n entry,\n stylesheets: result.outputs\n .filter(isStylesheetOutput)\n .map((output) => outputs.get(output))\n .filter((output): output is DevelopmentOutput => output !== undefined),\n artifacts: pendingArtifacts,\n };\n } catch (error: unknown) {\n console.error(error);\n return buildFailureResponse();\n }\n}\n\nfunction publishDevelopmentBundle(\n bundle: DevelopmentBundle,\n artifacts: Map<string, DevelopmentOutput>\n): void {\n for (const [pathname, output] of bundle.artifacts) {\n const existing = artifacts.get(pathname);\n if (existing) {\n if (existing.filePath === output.filePath) {\n continue;\n }\n throw new Error(`Development output URL collision: ${pathname}`);\n }\n artifacts.set(pathname, output);\n }\n}\n\nfunction createDevelopmentOutput(\n generationOutDir: string,\n generationUrl: string,\n output: Awaited<ReturnType<typeof Bun.build>>['outputs'][number]\n): DevelopmentOutput {\n const filePath = resolve(output.path);\n const pathFromGeneration = relative(generationOutDir, filePath);\n if (\n pathFromGeneration === '' ||\n pathFromGeneration === '..' ||\n pathFromGeneration.startsWith(`..${sep}`) ||\n isAbsolute(pathFromGeneration)\n ) {\n throw new Error(\n `Development output must not escape outside its generation directory: ${output.path}`\n );\n }\n\n const urlPath = pathFromGeneration\n .split(sep)\n .map((segment) => encodeURIComponent(segment))\n .join('/');\n\n return {\n filePath,\n pathname: `${generationUrl}/${urlPath}`,\n type: output.type,\n };\n}\n\nfunction createGenerationId(): string {\n return randomUUID().replace(/-/g, '');\n}\n\nfunction buildFailureResponse(): Response {\n return new Response('Failed to build project bundle', {\n status: 500,\n headers: { 'cache-control': 'no-store' },\n });\n}\n",
|
|
12
13
|
"import type { ProxyOptions, ServerConfig } from './types';\n\nconst HOP_BY_HOP_HEADERS = new Set([\n 'connection',\n 'keep-alive',\n 'proxy-authenticate',\n 'proxy-authorization',\n 'te',\n 'trailer',\n 'transfer-encoding',\n 'upgrade',\n]);\n\ninterface ProxyRule {\n prefix: string;\n target: URL;\n changeOrigin: boolean;\n rewrite?: (path: string) => string;\n}\n\nexport function createProxyHandler(\n proxy: ServerConfig['proxy']\n): (request: Request) => Promise<Response | undefined> {\n const rules = Object.entries(proxy ?? {})\n .map(([prefix, options]) => toProxyRule(prefix, options))\n .sort((first, second) => second.prefix.length - first.prefix.length);\n\n return async (request) => {\n const sourceUrl = new URL(request.url);\n const rule = rules.find(({ prefix }) =>\n sourceUrl.pathname.startsWith(prefix)\n );\n\n if (!rule) {\n return undefined;\n }\n\n const target = createTargetUrl(rule, sourceUrl);\n const headers = createRequestHeaders(request, sourceUrl, rule, target);\n const body =\n request.method === 'GET' || request.method === 'HEAD'\n ? undefined\n : request.body;\n\n try {\n const upstream = await fetch(target, {\n method: request.method,\n headers,\n body,\n signal: request.signal,\n redirect: 'manual',\n });\n\n return new Response(upstream.body, {\n status: upstream.status,\n statusText: upstream.statusText,\n headers: filterHeaders(upstream.headers),\n });\n } catch {\n return new Response('Bad Gateway', { status: 502 });\n }\n };\n}\n\nfunction toProxyRule(prefix: string, value: string | ProxyOptions): ProxyRule {\n const options = typeof value === 'string' ? { target: value } : value;\n\n return {\n prefix,\n target: new URL(options.target),\n changeOrigin: options.changeOrigin ?? false,\n ...(options.rewrite === undefined ? {} : { rewrite: options.rewrite }),\n };\n}\n\nfunction createTargetUrl(rule: ProxyRule, sourceUrl: URL): URL {\n const target = new URL(rule.target);\n const pathname = rule.rewrite?.(sourceUrl.pathname) ?? sourceUrl.pathname;\n\n target.pathname = joinPathnames(target.pathname, pathname);\n target.search = sourceUrl.search;\n return target;\n}\n\nfunction joinPathnames(basePathname: string, pathname: string): string {\n const base = basePathname === '/' ? '' : basePathname.replace(/\\/+$/, '');\n const path = pathname.startsWith('/') ? pathname : `/${pathname}`;\n\n return `${base}${path}` || '/';\n}\n\nfunction createRequestHeaders(\n request: Request,\n sourceUrl: URL,\n rule: ProxyRule,\n target: URL\n): Headers {\n const headers = filterHeaders(request.headers);\n const incomingHost = request.headers.get('host') ?? sourceUrl.host;\n\n headers.set('host', rule.changeOrigin ? target.host : incomingHost);\n return headers;\n}\n\nfunction filterHeaders(source: Headers): Headers {\n const headers = new Headers(source);\n const connection = headers.get('connection');\n\n if (connection) {\n connection.split(',').forEach((header) => {\n const name = header.trim();\n if (name) {\n headers.delete(name);\n }\n });\n }\n\n HOP_BY_HOP_HEADERS.forEach((header) => headers.delete(header));\n return headers;\n}\n",
|
|
13
14
|
"import { watch, type FSWatcher } from 'node:fs';\nimport { readdir, stat } from 'node:fs/promises';\nimport { isAbsolute, join, relative } from 'node:path';\n\nconst RECURSIVE_WATCH_UNSUPPORTED_ERROR = 'ERR_FEATURE_UNAVAILABLE_ON_PLATFORM';\nconst DEFAULT_DEBOUNCE_MS = 100;\nconst DEFAULT_POLL_INTERVAL_MS = 300;\n\nexport interface FileWatcherOptions {\n root: string;\n isRelevant: (relativePath: string) => boolean;\n onChange: (changedPath: string) => void;\n debounceMs?: number;\n pollIntervalMs?: number;\n}\n\nexport interface FileWatcher {\n dispose: () => void;\n}\n\nexport function createFileWatcher(options: FileWatcherOptions): FileWatcher {\n const debounceMs = options.debounceMs ?? DEFAULT_DEBOUNCE_MS;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const disposers: Array<() => void> = [];\n\n const scheduleChange = (relativePath: string): void => {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n timer = undefined;\n options.onChange(relativePath);\n }, debounceMs);\n };\n\n disposers.push(() => {\n if (timer) {\n clearTimeout(timer);\n }\n });\n\n const nativeWatcher = tryCreateNativeWatcher(\n options.root,\n options.isRelevant,\n scheduleChange\n );\n if (nativeWatcher) {\n disposers.push(nativeWatcher);\n } else {\n disposers.push(\n createPollingWatcher(\n options.root,\n options.isRelevant,\n options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS,\n scheduleChange\n )\n );\n }\n\n return {\n dispose: () => {\n disposers.splice(0).reverse().forEach((dispose) => dispose());\n },\n };\n}\n\nfunction tryCreateNativeWatcher(\n root: string,\n isRelevant: (relativePath: string) => boolean,\n onRelevantChange: (relativePath: string) => void\n): (() => void) | undefined {\n let watcher: FSWatcher;\n try {\n watcher = watch(root, { recursive: true }, (_event, filename) => {\n if (typeof filename !== 'string') {\n return;\n }\n const relativePath = toRelativePath(root, filename);\n if (relativePath === undefined || !isRelevant(relativePath)) {\n return;\n }\n onRelevantChange(relativePath);\n });\n } catch (error: unknown) {\n if (isRecursiveWatchUnsupported(error)) {\n return undefined;\n }\n throw error;\n }\n\n return () => watcher.close();\n}\n\nfunction createPollingWatcher(\n root: string,\n isRelevant: (relativePath: string) => boolean,\n intervalMs: number,\n onRelevantChange: (relativePath: string) => void\n): () => void {\n let running = true;\n let snapshot = new Map<string, FileSnapshot>();\n let timer: ReturnType<typeof setInterval> | undefined;\n\n const scan = async (): Promise<void> => {\n if (!running) {\n return;\n }\n const next = new Map<string, FileSnapshot>();\n try {\n await collectRelevantFiles(root, isRelevant, next);\n } catch {\n return;\n }\n\n let changedPath: string | undefined;\n for (const [relativePath, snapshotEntry] of next) {\n const previous = snapshot.get(relativePath);\n if (\n !previous ||\n previous.mtimeMs !== snapshotEntry.mtimeMs ||\n previous.size !== snapshotEntry.size\n ) {\n changedPath = relativePath;\n break;\n }\n }\n if (changedPath === undefined) {\n for (const relativePath of snapshot.keys()) {\n if (!next.has(relativePath)) {\n changedPath = relativePath;\n break;\n }\n }\n }\n snapshot = next;\n if (changedPath !== undefined) {\n onRelevantChange(changedPath);\n }\n };\n\n void scan();\n timer = setInterval(() => {\n void scan();\n }, intervalMs);\n if (typeof timer.unref === 'function') {\n timer.unref();\n }\n\n return () => {\n running = false;\n if (timer) {\n clearInterval(timer);\n }\n };\n}\n\ninterface FileSnapshot {\n mtimeMs: number;\n size: number;\n}\n\nasync function collectRelevantFiles(\n root: string,\n isRelevant: (relativePath: string) => boolean,\n output: Map<string, FileSnapshot>\n): Promise<void> {\n const pendingDirectories = [''];\n while (pendingDirectories.length > 0) {\n const relativeDirectory = pendingDirectories.pop();\n if (relativeDirectory === undefined) {\n break;\n }\n const absoluteDirectory = join(root, relativeDirectory);\n let entries;\n try {\n entries = await readdir(absoluteDirectory, { withFileTypes: true });\n } catch {\n continue;\n }\n\n for (const entry of entries) {\n const relativePath =\n relativeDirectory === '' ? entry.name : `${relativeDirectory}/${entry.name}`;\n if (entry.isDirectory()) {\n pendingDirectories.push(relativePath);\n continue;\n }\n if (!entry.isFile() || !isRelevant(relativePath)) {\n continue;\n }\n try {\n const info = await stat(join(root, relativePath));\n output.set(relativePath, { mtimeMs: info.mtimeMs, size: info.size });\n } catch {\n // The file vanished while the tree was being scanned.\n }\n }\n }\n}\n\nfunction toRelativePath(root: string, filename: string): string | undefined {\n const relativePath = isAbsolute(filename)\n ? relative(root, filename)\n : filename.split('\\\\').join('/');\n if (relativePath === '' || relativePath === '..' || relativePath.startsWith('../')) {\n return undefined;\n }\n return relativePath.split('\\\\').join('/');\n}\n\nfunction isRecursiveWatchUnsupported(error: unknown): boolean {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'code' in error &&\n error.code === RECURSIVE_WATCH_UNSUPPORTED_ERROR\n );\n}\n"
|
|
14
15
|
],
|
|
15
|
-
"mappings": "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",
|
|
16
|
-
"debugId": "
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "948B20A93B1A828264756E2164756E21",
|
|
17
18
|
"names": []
|
|
18
19
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { defineConfig, resolveConfig } from './config';
|
|
2
2
|
export { build } from './build';
|
|
3
|
+
export { createProject } from './create';
|
|
4
|
+
export type { CreateProjectOptions, CreateProjectResult } from './create';
|
|
3
5
|
export { startDevServer } from './server';
|
|
4
6
|
export type { StartDevServerOptions } from './server';
|
|
5
7
|
export type { BuildOptions, BuildResult, BuildConfig, ProxyOptions, ResolveConfigOptions, ResolvedConfig, ServerConfig, UserConfig, } from './types';
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
build,
|
|
4
|
+
createProject,
|
|
4
5
|
defineConfig,
|
|
5
6
|
resolveConfig,
|
|
6
7
|
startDevServer
|
|
7
|
-
} from "./index-
|
|
8
|
+
} from "./index-r68229k4.js";
|
|
8
9
|
export {
|
|
9
10
|
build,
|
|
11
|
+
createProject,
|
|
10
12
|
defineConfig,
|
|
11
13
|
resolveConfig,
|
|
12
14
|
startDevServer
|
|
13
15
|
};
|
|
14
16
|
|
|
15
|
-
//# debugId=
|
|
17
|
+
//# debugId=68BE14471AE4B2DA64756E2164756E21
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geektech/tsone-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Bun-native development and build CLI for TSone applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"test": "bun test"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@geektech/tsone": "0.
|
|
22
|
+
"@geektech/tsone": "0.3.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {},
|
|
25
25
|
"files": [
|