transone-cli 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/{build-mp-004pd4h0.js → build-mp-vk5ap2cw.js} +4 -4
- package/dist/{build-mp-004pd4h0.js.map → build-mp-vk5ap2cw.js.map} +3 -3
- package/dist/cli.js +1 -1
- package/dist/create.d.ts +1 -1
- package/dist/{index-pg5v7h1t.js → index-z1sm57t6.js} +5 -4
- package/dist/{index-pg5v7h1t.js.map → index-z1sm57t6.js.map} +4 -4
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -172,3 +172,5 @@ export default defineConfig({
|
|
|
172
172
|
|
|
173
173
|
Native app builds write `{ host }` to `transone.config.json` in the platform resource directory.
|
|
174
174
|
Native request compilation is not yet supported; this file is configuration for future integration.
|
|
175
|
+
|
|
176
|
+
Weixin builds default to `lazyCodeLoading: "requiredComponents"` in `app.json` (component injection on demand). Override it through `mp.appExtra.lazyCodeLoading` or the platform-specific `appExtra`.
|
|
@@ -2735,8 +2735,8 @@ async function buildMiniProgram(config, dialect) {
|
|
|
2735
2735
|
...mp.window
|
|
2736
2736
|
},
|
|
2737
2737
|
...mp.tabBar !== undefined ? { tabBar: mp.tabBar } : {},
|
|
2738
|
-
...
|
|
2739
|
-
...
|
|
2738
|
+
...dialect.appJsonExtras(),
|
|
2739
|
+
...mp.appExtra
|
|
2740
2740
|
}, null, 2)}
|
|
2741
2741
|
`);
|
|
2742
2742
|
const requestBundle = await Bun.build({
|
|
@@ -2842,5 +2842,5 @@ export {
|
|
|
2842
2842
|
buildMiniProgram
|
|
2843
2843
|
};
|
|
2844
2844
|
|
|
2845
|
-
//# debugId=
|
|
2846
|
-
//# sourceMappingURL=build-mp-
|
|
2845
|
+
//# debugId=AE3147F44337807364756E2164756E21
|
|
2846
|
+
//# sourceMappingURL=build-mp-vk5ap2cw.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/mp/build-mp.ts", "../src/mp/analyze.ts", "../src/mp/errors.ts", "../src/mp/fold.ts", "../src/mp/binding.ts", "../src/mp/types.ts", "../src/mp/wxml.ts", "../src/mp/styles.ts", "../src/mp/state.ts", "../src/mp/methods.ts", "../src/mp/inline.ts", "../src/mp/compile.ts", "../src/mp/jsgen.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { cp, mkdir, readdir, rm, writeFile } from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\nimport { fileURLToPath } from 'node:url';\nimport { basename, dirname, join, relative, resolve } from 'node:path';\nimport type { ResolvedConfig, BuildResult } from '../types';\nimport type { MpDialect } from './dialect';\nimport { loadTypescript } from './ts-loader';\nimport { CompileContext, CompiledUnit } from './types';\nimport { findRootClass } from './analyze';\nimport { compileUnit, finalizeComponentProperties } from './compile';\nimport { generatePageJs, generateComponentJs } from './jsgen';\n\nconst GENERATED_COMMENT = (dialectId: string): string =>\n `由 transone build --target ${dialectId} 生成,请勿手动编辑`;\n\n/**\n * 把 TSone 应用编译为小程序原生工程(微信 / 阿里 / 字节,差异见 MpDialect):\n * app.json / app.js / <appStyleFile> / 工程配置 + pages/<route>/<name>.* + components/<tag>/<tag>.*\n */\nexport async function buildMiniProgram(\n config: ResolvedConfig,\n dialect: MpDialect\n): Promise<BuildResult> {\n const mp = config.mp;\n if (!mp) {\n throw new Error('Mini program build requires config.mp');\n }\n\n const ts = await loadTypescript();\n const context: CompileContext = {\n ts,\n root: config.root,\n files: new Map(),\n components: new Map(),\n compiling: new Set(),\n callSites: new Map(),\n lengthUnit: mp.lengthUnit,\n dialect,\n warnings: [],\n };\n\n const pages: Array<{ route: string; unit: CompiledUnit }> = [];\n for (const [route, entry] of Object.entries(mp.pages)) {\n const rootClass = findRootClass(context, entry);\n const location = pageLocation(route);\n const unit = compileUnit(context, rootClass, {\n kind: 'page',\n name: location.name,\n });\n pages.push({ route, unit });\n }\n finalizeComponentProperties(context);\n for (const warning of context.warnings) {\n console.warn(`[transone mp] ${warning}`);\n }\n\n const outDir = mp.outDir;\n await rm(outDir, { recursive: true, force: true });\n await mkdir(outDir, { recursive: true });\n\n const assetsBuilt: string[] = [];\n const write = async (path: string, content: string): Promise<void> => {\n const target = join(outDir, path);\n await mkdir(dirname(target), { recursive: true });\n await writeFile(target, content, 'utf8');\n assetsBuilt.push(target);\n };\n\n // —— 应用级文件 ——\n await write(\n dialect.projectConfigFile,\n `${JSON.stringify(\n dialect.buildProjectConfig(mp, basename(config.root)),\n null,\n 2\n )}\\n`\n );\n\n await write(\n 'app.json',\n `${JSON.stringify(\n {\n pages: pages.map(({ route }) => appPagePath(route)),\n window: {\n ...dialect.windowDefaults(mp.navigationBarTitleText),\n ...mp.window,\n },\n ...(mp.tabBar !== undefined ? { tabBar: mp.tabBar } : {}),\n ...
|
|
5
|
+
"import { cp, mkdir, readdir, rm, writeFile } from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\nimport { fileURLToPath } from 'node:url';\nimport { basename, dirname, join, relative, resolve } from 'node:path';\nimport type { ResolvedConfig, BuildResult } from '../types';\nimport type { MpDialect } from './dialect';\nimport { loadTypescript } from './ts-loader';\nimport { CompileContext, CompiledUnit } from './types';\nimport { findRootClass } from './analyze';\nimport { compileUnit, finalizeComponentProperties } from './compile';\nimport { generatePageJs, generateComponentJs } from './jsgen';\n\nconst GENERATED_COMMENT = (dialectId: string): string =>\n `由 transone build --target ${dialectId} 生成,请勿手动编辑`;\n\n/**\n * 把 TSone 应用编译为小程序原生工程(微信 / 阿里 / 字节,差异见 MpDialect):\n * app.json / app.js / <appStyleFile> / 工程配置 + pages/<route>/<name>.* + components/<tag>/<tag>.*\n */\nexport async function buildMiniProgram(\n config: ResolvedConfig,\n dialect: MpDialect\n): Promise<BuildResult> {\n const mp = config.mp;\n if (!mp) {\n throw new Error('Mini program build requires config.mp');\n }\n\n const ts = await loadTypescript();\n const context: CompileContext = {\n ts,\n root: config.root,\n files: new Map(),\n components: new Map(),\n compiling: new Set(),\n callSites: new Map(),\n lengthUnit: mp.lengthUnit,\n dialect,\n warnings: [],\n };\n\n const pages: Array<{ route: string; unit: CompiledUnit }> = [];\n for (const [route, entry] of Object.entries(mp.pages)) {\n const rootClass = findRootClass(context, entry);\n const location = pageLocation(route);\n const unit = compileUnit(context, rootClass, {\n kind: 'page',\n name: location.name,\n });\n pages.push({ route, unit });\n }\n finalizeComponentProperties(context);\n for (const warning of context.warnings) {\n console.warn(`[transone mp] ${warning}`);\n }\n\n const outDir = mp.outDir;\n await rm(outDir, { recursive: true, force: true });\n await mkdir(outDir, { recursive: true });\n\n const assetsBuilt: string[] = [];\n const write = async (path: string, content: string): Promise<void> => {\n const target = join(outDir, path);\n await mkdir(dirname(target), { recursive: true });\n await writeFile(target, content, 'utf8');\n assetsBuilt.push(target);\n };\n\n // —— 应用级文件 ——\n await write(\n dialect.projectConfigFile,\n `${JSON.stringify(\n dialect.buildProjectConfig(mp, basename(config.root)),\n null,\n 2\n )}\\n`\n );\n\n await write(\n 'app.json',\n `${JSON.stringify(\n {\n pages: pages.map(({ route }) => appPagePath(route)),\n window: {\n ...dialect.windowDefaults(mp.navigationBarTitleText),\n ...mp.window,\n },\n ...(mp.tabBar !== undefined ? { tabBar: mp.tabBar } : {}),\n ...dialect.appJsonExtras(),\n ...mp.appExtra,\n },\n null,\n 2\n )}\\n`\n );\n\n const requestBundle = await Bun.build({\n entrypoints: [fileURLToPath(import.meta.resolve('transone/request'))],\n target: 'browser', format: 'cjs', minify: false,\n });\n if (!requestBundle.success) throw new Error(`Mini program request runtime build failed: ${requestBundle.logs.join('\\n')}`);\n await write('transone-request.js', await requestBundle.outputs[0].text());\n await write(\n 'app.js',\n `App({__transoneRequest: require('./transone-request.js'), ...${JSON.stringify({\n ...(mp.host !== undefined ? { __transoneConfig: { host: mp.host } } : {}),\n ...(mp.globalData !== undefined ? { globalData: mp.globalData } : {}),\n })}});\\n`\n );\n if (dialect.sitemap) {\n await write(\n 'sitemap.json',\n `${JSON.stringify(\n {\n desc: GENERATED_COMMENT(dialect.id),\n rules: [{ action: 'allow', page: '*' }],\n },\n null,\n 2\n )}\\n`\n );\n }\n\n const globalStyles = new Set<string>();\n for (const { unit } of pages) {\n if (unit.globalStyle) {\n globalStyles.add(unit.globalStyle);\n }\n }\n await write(dialect.appStyleFile, `${[...globalStyles].join('\\n')}\\n`);\n\n // —— 页面 ——\n for (const { route, unit } of pages) {\n const base = pageFileBase(route);\n await write(`pages/${base}.${dialect.templateExt}`, unit.template);\n await write(`pages/${base}.${dialect.styleExt}`, `${unit.style}\\n`);\n await write(`pages/${base}.js`, generatePageJs(unit, dialect));\n await write(\n `pages/${base}.json`,\n `${JSON.stringify(\n {\n usingComponents: unit.usingComponents,\n ...mp.pageExtra?.[route],\n },\n null,\n 2\n )}\\n`\n );\n }\n\n // —— 自定义组件 ——\n for (const [tag, unit] of context.components) {\n await write(`components/${tag}/${tag}.${dialect.templateExt}`, unit.template);\n await write(`components/${tag}/${tag}.${dialect.styleExt}`, `${unit.style}\\n`);\n await write(`components/${tag}/${tag}.js`, generateComponentJs(unit, dialect));\n await write(\n `components/${tag}/${tag}.json`,\n `${JSON.stringify(\n dialect.componentJson(unit.usingComponents),\n null,\n 2\n )}\\n`\n );\n }\n\n // —— 静态资源目录(public/ 默认;不存在则跳过)——\n // 上面生成文件已写完,public 仅补产物中不存在的内容:避免覆盖生成文件。\n if (existsSync(mp.publicDir)) {\n for (const file of await listFiles(mp.publicDir)) {\n const target = join(outDir, file);\n if (!existsSync(target)) {\n await cp(join(mp.publicDir, file), target, {\n recursive: true,\n force: true,\n errorOnExist: false,\n });\n }\n }\n }\n\n return {\n root: config.root,\n outDir: resolve(outDir),\n assetsBuilt,\n };\n}\n\nfunction pageLocation(route: string): { directory: string; name: string } {\n const segments = route.replace(/^\\/+/, '').split('/').filter(Boolean);\n if (segments.length === 0) {\n return { directory: '', name: 'index' };\n }\n const name = segments[segments.length - 1];\n const directory = segments.slice(0, -1).join('/');\n return { directory, name };\n}\n\n/** 页面文件基名:route '/' -> 'index/index';'/about' -> 'about/about'。 */\nfunction pageFileBase(route: string): string {\n const location = pageLocation(route);\n const directory =\n location.directory === ''\n ? location.name\n : `${location.directory}/${location.name}`;\n return `${directory}/${location.name}`;\n}\n\nfunction appPagePath(route: string): string {\n return `pages/${pageFileBase(route)}`;\n}\n\n/** 递归列出目录下所有文件(相对根目录的路径)。 */\nasync function listFiles(root: string, dir: string = root): Promise<string[]> {\n const out: string[] = [];\n const entries = await readdir(dir, { withFileTypes: true });\n for (const entry of entries) {\n const abs = join(dir, entry.name);\n if (entry.isDirectory()) {\n out.push(...(await listFiles(root, abs)));\n } else {\n out.push(relative(root, abs));\n }\n }\n return out;\n}\n",
|
|
6
6
|
"import { existsSync, readFileSync } from 'node:fs';\nimport { dirname, join, resolve } from 'node:path';\nimport type * as tsTypes from 'typescript';\nimport { mpError } from './errors';\nimport { ClassSource, CompileContext } from './types';\nimport { unwrapParentheses } from './fold';\n\ninterface ImportBinding {\n specifier: string;\n importedName: string;\n}\n\n/** 读取并缓存源文件。 */\nexport function readSource(\n context: CompileContext,\n filePath: string\n): tsTypes.SourceFile {\n const cached = context.files.get(filePath);\n if (cached) {\n return cached;\n }\n if (!existsSync(filePath)) {\n throw mpError(filePath, '源文件不存在');\n }\n const text = readFileSync(filePath, 'utf8');\n const source = context.ts.createSourceFile(\n filePath,\n text,\n context.ts.ScriptTarget.Latest,\n true,\n context.ts.ScriptKind.TS\n );\n context.files.set(filePath, source);\n return source;\n}\n\n/** 从页面入口定位根组件类:优先 createApp({ root }),其次导出的 Component 子类。 */\nexport function findRootClass(\n context: CompileContext,\n filePath: string\n): ClassSource {\n const { ts } = context;\n const source = readSource(context, filePath);\n const imports = collectImports(context.ts, source);\n const localClasses = collectLocalClasses(context.ts, source);\n\n // 1. createApp({ root: App })\n // 入口通常写作 `export const app = createApp({ root: App })`(VariableStatement\n // 初始化器)或独立表达式语句;两种形态都要识别。\n for (const expression of topLevelExpressions(ts, source)) {\n if (!context.ts.isCallExpression(expression)) {\n continue;\n }\n const calleeName = callName(context.ts, expression.expression);\n const isCreateApp =\n calleeName === 'createApp' ||\n (calleeName !== undefined &&\n imports.get(calleeName)?.importedName === 'createApp');\n if (!isCreateApp) {\n continue;\n }\n const rootExpr = createAppRoot(context.ts, expression);\n if (!rootExpr) {\n continue;\n }\n return resolveClassReference(context, { filePath, source }, rootExpr);\n }\n\n // 2. 导出的 Component 子类\n for (const statement of source.statements) {\n if (!context.ts.isClassDeclaration(statement)) {\n continue;\n }\n const name = statement.name?.text;\n if (!name || !isExported(context.ts, statement)) {\n continue;\n }\n if (\n isComponentSubclass(context, {\n filePath,\n source,\n declaration: statement,\n className: name,\n })\n ) {\n return {\n filePath,\n source,\n declaration: statement,\n className: name,\n };\n }\n }\n\n // 3. 本地(未导出)Component 子类,供 createApp 的 root 回退使用\n for (const [name, declaration] of localClasses) {\n if (\n isComponentSubclass(context, {\n filePath,\n source,\n declaration,\n className: name,\n })\n ) {\n return { filePath, source, declaration, className: name };\n }\n }\n\n throw mpError(\n filePath,\n '未找到可编译的页面组件:需要 createApp({ root }) 或导出的 Component 子类'\n );\n}\n\n/** 类解析所需的来源上下文(文件 + 已解析的源)。 */\nexport type ClassResolverContext = Pick<ClassSource, 'filePath' | 'source'>;\n\n/**\n * 解析一个类引用(标识符 / 类表达式)为 ClassSource。\n * 支持同文件类、相对路径导入的类;非相对导入会报错。\n */\nexport function resolveClassReference(\n context: CompileContext,\n from: ClassResolverContext,\n expr: tsTypes.Expression\n): ClassSource {\n const { ts } = context;\n expr = unwrapParentheses(ts, expr);\n\n if (ts.isClassExpression(expr) || ts.isClassDeclaration(expr)) {\n const name = expr.name?.text;\n if (!name) {\n throw mpError(from.filePath, '匿名组件类不支持编译到小程序');\n }\n return {\n filePath: from.filePath,\n source: from.source,\n declaration: expr,\n className: name,\n };\n }\n\n if (!ts.isIdentifier(expr)) {\n throw mpError(\n from.filePath,\n `组件引用必须是类名或类表达式: ${expr.getText().slice(0, 60)}`\n );\n }\n const name = expr.text;\n\n // 同文件类声明\n const local = collectLocalClasses(ts, from.source).get(name);\n if (local) {\n return {\n filePath: from.filePath,\n source: from.source,\n declaration: local,\n className: name,\n };\n }\n\n // 导入的类\n const imports = collectImports(ts, from.source);\n const binding = imports.get(name);\n if (binding) {\n return resolveImportedClass(context, from, name, binding);\n }\n\n throw mpError(from.filePath, `无法解析组件标识符 \"${name}\"`);\n}\n\n/** 判断类是否为 Component 子类(extends 一个从 transone 导入或名为 Component 的类)。 */\nexport function isComponentSubclass(\n context: CompileContext,\n classSource: ClassSource\n): boolean {\n const { ts } = context;\n const heritage = classSource.declaration.heritageClauses ?? [];\n const imports = collectImports(ts, classSource.source);\n for (const clause of heritage) {\n if (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\n continue;\n }\n for (const type of clause.types) {\n if (!ts.isExpressionWithTypeArguments(type)) {\n continue;\n }\n const expression = unwrapParentheses(ts, type.expression);\n if (!ts.isIdentifier(expression)) {\n continue;\n }\n const binding = imports.get(expression.text);\n if (binding && binding.specifier.includes('transone')) {\n return true;\n }\n if (expression.text === 'Component') {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveImportedClass(\n context: CompileContext,\n from: ClassResolverContext,\n localName: string,\n binding: ImportBinding\n): ClassSource {\n if (binding.specifier.startsWith('.')) {\n const targetPath = resolveImportPath(from.filePath, binding.specifier);\n if (!targetPath) {\n throw mpError(\n from.filePath,\n `找不到导入文件 \"${binding.specifier}\"(相对 ${from.filePath})`\n );\n }\n const source = readSource(context, targetPath);\n const importedName = binding.importedName;\n const found = findExportedClass(context, source, importedName, new Set());\n if (!found) {\n throw mpError(\n targetPath,\n `找不到导出的组件类 \"${importedName}\"(从 ${localName} 导入)`\n );\n }\n return {\n filePath: found.filePath,\n source: readSource(context, found.filePath),\n declaration: found.declaration,\n className: importedName,\n };\n }\n return resolvePackageClass(context, from, localName, binding);\n}\n\n/**\n * 解析包名导入的组件(如 `import { TuButton } from 'transone-ui'`):\n * 沿目录向上查找 node_modules/<specifier>/package.json,按其 `source` 字段\n * (约定为可编译的 TS 源码入口)定位源码,再沿具名 re-export 找到组件类。\n */\nfunction resolvePackageClass(\n context: CompileContext,\n from: ClassResolverContext,\n localName: string,\n binding: ImportBinding\n): ClassSource {\n const packageInfo = findPackageInfo(from.filePath, binding.specifier);\n if (!packageInfo) {\n throw mpError(\n from.filePath,\n `无法解析组件来源 \"${binding.specifier}\":找不到 node_modules 包(仅支持相对路径或已安装的包)`\n );\n }\n const sourceField = packageInfo.source;\n if (typeof sourceField !== 'string' || sourceField.length === 0) {\n throw mpError(\n from.filePath,\n `包 \"${binding.specifier}\" 缺少 \"source\" 字段:小程序编译需要可分析的 TS 源码入口(在 package.json 声明 \"source\": \"./lib/index.ts\")`\n );\n }\n const targetPath = resolvePackageSource(packageInfo.dir, sourceField);\n if (!targetPath) {\n throw mpError(\n from.filePath,\n `包 \"${binding.specifier}\" 的 \"source\" 指向的文件不存在: ${sourceField}`\n );\n }\n const source = readSource(context, targetPath);\n const importedName = binding.importedName;\n const found = findExportedClass(context, source, importedName, new Set());\n if (!found) {\n throw mpError(\n targetPath,\n `找不到导出的组件类 \"${importedName}\"(从 ${localName} 导入,包 \"${binding.specifier}\")`\n );\n }\n return {\n filePath: found.filePath,\n source: readSource(context, found.filePath),\n declaration: found.declaration,\n className: importedName,\n };\n}\n\ninterface PackageInfo {\n dir: string;\n source?: unknown;\n}\n\n/** 沿 fromFile 目录向上查找 node_modules/<specifier>/package.json。 */\nfunction findPackageInfo(fromFile: string, specifier: string): PackageInfo | undefined {\n const segments = specifier.split('/');\n const packageJsonRelative = join('node_modules', ...segments, 'package.json');\n let current = dirname(fromFile);\n for (;;) {\n const candidate = join(current, packageJsonRelative);\n if (existsSync(candidate)) {\n try {\n const json = JSON.parse(readFileSync(candidate, 'utf8')) as Record<string, unknown>;\n return { dir: join(current, 'node_modules', ...segments), source: json.source };\n } catch {\n return undefined;\n }\n }\n const parent = dirname(current);\n if (parent === current) {\n return undefined;\n }\n current = parent;\n }\n}\n\nfunction resolvePackageSource(packageDir: string, sourceField: string): string | undefined {\n const base = resolve(packageDir, sourceField);\n const candidates = [base, `${base}.ts`, `${base}.tsx`];\n return candidates.find((candidate) => existsSync(candidate));\n}\n\ninterface ExportedClassLocation {\n filePath: string;\n declaration: tsTypes.ClassDeclaration;\n}\n\nfunction findExportedClass(\n context: CompileContext,\n source: tsTypes.SourceFile,\n name: string,\n seen: Set<string>\n): ExportedClassLocation | undefined {\n const { ts } = context;\n if (seen.has(source.fileName)) {\n return undefined;\n }\n seen.add(source.fileName);\n\n for (const statement of source.statements) {\n if (ts.isClassDeclaration(statement) && statement.name?.text === name) {\n if (isExported(ts, statement)) {\n return { filePath: source.fileName, declaration: statement };\n }\n }\n }\n // export { X }(本地类)与 export { X } from './path'(re-export)\n for (const statement of source.statements) {\n if (\n ts.isExportDeclaration(statement) &&\n statement.exportClause &&\n ts.isNamedExports(statement.exportClause)\n ) {\n for (const element of statement.exportClause.elements) {\n if (element.name.text !== name) {\n continue;\n }\n const local = collectLocalClasses(ts, source).get(name);\n if (local) {\n return { filePath: source.fileName, declaration: local };\n }\n if (!statement.moduleSpecifier) {\n continue;\n }\n const specifier = statement.moduleSpecifier.getText().replace(/['\"]/g, '');\n if (!specifier.startsWith('.')) {\n continue;\n }\n const targetPath = resolveImportPath(source.fileName, specifier);\n if (!targetPath) {\n continue;\n }\n const targetSource = readSource(context, targetPath);\n const reExported = findExportedClass(\n context,\n targetSource,\n element.propertyName?.text ?? element.name.text,\n seen\n );\n if (reExported) {\n return reExported;\n }\n }\n }\n }\n return undefined;\n}\n\n/** 顶层可求值表达式:表达式语句 + 变量声明的初始化器(如 export const app = createApp(...))。 */\nfunction topLevelExpressions(\n ts: typeof tsTypes,\n source: tsTypes.SourceFile\n): tsTypes.Expression[] {\n const expressions: tsTypes.Expression[] = [];\n for (const statement of source.statements) {\n if (ts.isExpressionStatement(statement)) {\n expressions.push(statement.expression);\n continue;\n }\n if (ts.isVariableStatement(statement)) {\n for (const declaration of statement.declarationList.declarations) {\n if (declaration.initializer) {\n expressions.push(declaration.initializer);\n }\n }\n }\n }\n return expressions;\n}\n\nfunction createAppRoot(\n ts: typeof tsTypes,\n call: tsTypes.CallExpression\n): tsTypes.Expression | undefined {\n for (const argument of call.arguments) {\n const object = unwrapParentheses(ts, argument);\n if (!ts.isObjectLiteralExpression(object)) {\n continue;\n }\n for (const property of object.properties) {\n if (\n ts.isPropertyAssignment(property) &&\n ts.isIdentifier(property.name) &&\n property.name.text === 'root'\n ) {\n return property.initializer;\n }\n }\n }\n return undefined;\n}\n\nfunction collectLocalClasses(\n ts: typeof tsTypes,\n source: tsTypes.SourceFile\n): Map<string, tsTypes.ClassDeclaration> {\n const classes = new Map<string, tsTypes.ClassDeclaration>();\n for (const statement of source.statements) {\n if (ts.isClassDeclaration(statement) && statement.name) {\n classes.set(statement.name.text, statement);\n }\n }\n return classes;\n}\n\nfunction collectImports(\n ts: typeof tsTypes,\n source: tsTypes.SourceFile\n): Map<string, ImportBinding> {\n const imports = new Map<string, ImportBinding>();\n for (const statement of source.statements) {\n if (!ts.isImportDeclaration(statement)) {\n continue;\n }\n const specifier = statement.moduleSpecifier.getText().replace(/['\"]/g, '');\n const bindings = statement.importClause?.namedBindings;\n if (!bindings) {\n continue;\n }\n if (ts.isNamedImports(bindings)) {\n for (const element of bindings.elements) {\n imports.set(element.name.text, {\n specifier,\n importedName: element.propertyName?.text ?? element.name.text,\n });\n }\n } else if (ts.isNamespaceImport(bindings)) {\n imports.set(bindings.name.text, { specifier, importedName: '*' });\n }\n }\n return imports;\n}\n\nfunction resolveImportPath(\n fromFile: string,\n specifier: string\n): string | undefined {\n const base = resolve(dirname(fromFile), specifier);\n const candidates = [\n base,\n `${base}.ts`,\n `${base}.tsx`,\n join(base, 'index.ts'),\n join(base, 'index.tsx'),\n ];\n return candidates.find((candidate) => existsSync(candidate));\n}\n\nfunction isExported(\n ts: typeof tsTypes,\n declaration: tsTypes.ClassDeclaration\n): boolean {\n return (declaration.modifiers ?? []).some(\n (modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword\n );\n}\n\nfunction callName(\n ts: typeof tsTypes,\n expression: tsTypes.Expression\n): string | undefined {\n expression = unwrapParentheses(ts, expression);\n if (ts.isIdentifier(expression)) {\n return expression.text;\n }\n if (ts.isPropertyAccessExpression(expression)) {\n return expression.name.text;\n }\n return undefined;\n}\n",
|
|
7
7
|
"/** 小程序编译错误:携带出错文件,便于定位不可静态编译的源码。 */\nexport class MpCompileError extends Error {\n public readonly file: string;\n\n constructor(file: string, message: string) {\n super(`${message} (${file})`);\n this.name = 'MpCompileError';\n this.file = file;\n }\n}\n\nexport function mpError(file: string, message: string): MpCompileError {\n return new MpCompileError(file, message);\n}\n",
|
|
8
8
|
"import type * as tsTypes from 'typescript';\n\nexport type FoldedValue =\n | string\n | number\n | boolean\n | null\n | FoldedValue[]\n | { [key: string]: FoldedValue };\n\n/** 收集源文件顶层 const 声明(name -> 初始化表达式)。 */\nexport function collectModuleConsts(\n ts: typeof tsTypes,\n source: tsTypes.SourceFile\n): Map<string, tsTypes.Expression> {\n const consts = new Map<string, tsTypes.Expression>();\n for (const statement of source.statements) {\n if (!ts.isVariableStatement(statement)) {\n continue;\n }\n const isConst = statement.declarationList.flags & ts.NodeFlags.Const;\n if (!isConst) {\n continue;\n }\n for (const declaration of statement.declarationList.declarations) {\n if (ts.isIdentifier(declaration.name) && declaration.initializer) {\n consts.set(declaration.name.text, declaration.initializer);\n }\n }\n }\n return consts;\n}\n\n/**\n * 常量折叠:把可静态求值的表达式折叠为 JSON 值。\n * 无法求值时返回 undefined(调用方决定如何报错)。\n */\nexport function foldExpression(\n ts: typeof tsTypes,\n node: tsTypes.Node,\n consts: Map<string, tsTypes.Expression>,\n seen = new Set<string>()\n): FoldedValue | undefined {\n node = unwrapParentheses(ts, node);\n\n if (ts.isStringLiteral(node)) {\n return node.text;\n }\n if (ts.isNoSubstitutionTemplateLiteral(node)) {\n // 含 {{}} 的模板串依赖运行时 TemplateEngine,不是常量\n if (node.text.includes('{{')) {\n return undefined;\n }\n return node.text;\n }\n if (ts.isNumericLiteral(node)) {\n return Number(node.text);\n }\n if (node.kind === ts.SyntaxKind.TrueKeyword) {\n return true;\n }\n if (node.kind === ts.SyntaxKind.FalseKeyword) {\n return false;\n }\n if (node.kind === ts.SyntaxKind.NullKeyword) {\n return null;\n }\n\n if (ts.isPrefixUnaryExpression(node)) {\n const operand = foldExpression(ts, node.operand, consts, seen);\n if (operand === undefined) {\n return undefined;\n }\n if (node.operator === ts.SyntaxKind.MinusToken) {\n return typeof operand === 'number' ? -operand : undefined;\n }\n if (node.operator === ts.SyntaxKind.PlusToken) {\n return typeof operand === 'number' ? operand : undefined;\n }\n if (node.operator === ts.SyntaxKind.ExclamationToken) {\n return !operand;\n }\n return undefined;\n }\n\n if (ts.isBinaryExpression(node)) {\n const left = foldExpression(ts, node.left, consts, seen);\n const right = foldExpression(ts, node.right, consts, seen);\n if (left === undefined || right === undefined) {\n return undefined;\n }\n return foldBinary(ts, node.operatorToken.kind, left, right);\n }\n\n if (ts.isConditionalExpression(node)) {\n const condition = foldExpression(ts, node.condition, consts, seen);\n if (typeof condition !== 'boolean') {\n return undefined;\n }\n return condition\n ? foldExpression(ts, node.whenTrue, consts, seen)\n : foldExpression(ts, node.whenFalse, consts, seen);\n }\n\n if (ts.isArrayLiteralExpression(node)) {\n const items: FoldedValue[] = [];\n for (const element of node.elements) {\n if (ts.isSpreadElement(element)) {\n const spread = foldExpression(ts, element.expression, consts, seen);\n if (!Array.isArray(spread)) {\n return undefined;\n }\n items.push(...spread);\n continue;\n }\n const value = foldExpression(ts, element, consts, seen);\n if (value === undefined) {\n return undefined;\n }\n items.push(value);\n }\n return items;\n }\n\n if (ts.isObjectLiteralExpression(node)) {\n const result: Record<string, FoldedValue> = {};\n for (const property of node.properties) {\n if (ts.isPropertyAssignment(property)) {\n const key = propertyNameText(ts, property.name);\n const value = foldExpression(ts, property.initializer, consts, seen);\n if (key === undefined || value === undefined) {\n return undefined;\n }\n result[key] = value;\n continue;\n }\n if (\n ts.isShorthandPropertyAssignment(property) &&\n ts.isIdentifier(property.name)\n ) {\n const initializer = consts.get(property.name.text);\n if (!initializer) {\n return undefined;\n }\n const value = foldExpression(ts, initializer, consts, seen);\n if (value === undefined) {\n return undefined;\n }\n result[property.name.text] = value;\n continue;\n }\n return undefined;\n }\n return result;\n }\n\n if (ts.isIdentifier(node)) {\n if (seen.has(node.text)) {\n return undefined;\n }\n const initializer = consts.get(node.text);\n if (!initializer) {\n return undefined;\n }\n seen.add(node.text);\n const value = foldExpression(ts, initializer, consts, seen);\n seen.delete(node.text);\n return value;\n }\n\n if (ts.isPropertyAccessExpression(node)) {\n const base = foldExpression(ts, node.expression, consts, seen);\n if (base === undefined) {\n return undefined;\n }\n if (Array.isArray(base)) {\n if (node.name.text === 'length') {\n return base.length;\n }\n return undefined;\n }\n if (typeof base === 'object' && base !== null) {\n return base[node.name.text];\n }\n return undefined;\n }\n\n if (ts.isElementAccessExpression(node)) {\n const base = foldExpression(ts, node.expression, consts, seen);\n const index = foldExpression(ts, node.argumentExpression, consts, seen);\n if (!Array.isArray(base) || typeof index !== 'number') {\n return undefined;\n }\n return base[index];\n }\n\n if (ts.isTemplateExpression(node)) {\n let result = '';\n if (node.head.text !== '') {\n result += node.head.text;\n }\n for (const span of node.templateSpans) {\n const value = foldExpression(ts, span.expression, consts, seen);\n if (value === undefined) {\n return undefined;\n }\n result += String(value);\n result += span.literal.text;\n }\n return result;\n }\n\n return undefined;\n}\n\nfunction foldBinary(\n ts: typeof tsTypes,\n operator: tsTypes.SyntaxKind,\n left: FoldedValue,\n right: FoldedValue\n): FoldedValue | undefined {\n switch (operator) {\n case ts.SyntaxKind.PlusToken:\n return `${left}${right}` as FoldedValue;\n case ts.SyntaxKind.MinusToken:\n return (left as number) - (right as number);\n case ts.SyntaxKind.AsteriskToken:\n return (left as number) * (right as number);\n case ts.SyntaxKind.SlashToken:\n return (left as number) / (right as number);\n case ts.SyntaxKind.PercentToken:\n return (left as number) % (right as number);\n case ts.SyntaxKind.EqualsEqualsEqualsToken:\n return left === right;\n case ts.SyntaxKind.ExclamationEqualsEqualsToken:\n return left !== right;\n case ts.SyntaxKind.LessThanToken:\n return (left as number) < (right as number);\n case ts.SyntaxKind.LessThanEqualsToken:\n return (left as number) <= (right as number);\n case ts.SyntaxKind.GreaterThanToken:\n return (left as number) > (right as number);\n case ts.SyntaxKind.GreaterThanEqualsToken:\n return (left as number) >= (right as number);\n case ts.SyntaxKind.AmpersandAmpersandToken:\n return Boolean(left) && Boolean(right);\n case ts.SyntaxKind.BarBarToken:\n return Boolean(left) || Boolean(right);\n default:\n return undefined;\n }\n}\n\nexport function propertyNameText(\n ts: typeof tsTypes,\n name: tsTypes.PropertyName\n): string | undefined {\n if (\n ts.isIdentifier(name) ||\n ts.isStringLiteral(name) ||\n ts.isNumericLiteral(name)\n ) {\n return name.text;\n }\n return undefined;\n}\n\nexport function unwrapParentheses<T extends tsTypes.Node>(\n ts: typeof tsTypes,\n node: T\n): T {\n let current: tsTypes.Node = node;\n while (ts.isParenthesizedExpression(current)) {\n current = current.expression;\n }\n return current as T;\n}\n\n/** this 表达式判断(TypeScript API 未导出 isThisExpression)。 */\nexport function isThisExpression(\n ts: typeof tsTypes,\n node: tsTypes.Node\n): node is tsTypes.ThisExpression {\n return node.kind === ts.SyntaxKind.ThisKeyword;\n}\n",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"import { mpError } from './errors';\nimport {\n ClassSource,\n CompiledUnit,\n CompileContext,\n FunctionEntry,\n UnitKind,\n} from './types';\nimport { compileTemplate, kebabCase } from './wxml';\nimport { compileStyles } from './styles';\nimport { compileState } from './state';\nimport { compileMethods } from './methods';\nimport { collectInlineModules } from './inline';\n\nexport interface UnitOptions {\n kind: UnitKind;\n name: string;\n}\n\n/**\n * 编译一个页面或自定义组件单元。组件会被缓存(按 kebab 标签名),\n * 并通过 usedComponents 递归编译依赖的组件。\n */\nexport function compileUnit(\n context: CompileContext,\n classSource: ClassSource,\n options: UnitOptions\n): CompiledUnit {\n const { kind, name } = options;\n\n if (kind === 'component') {\n const cached = context.components.get(name);\n if (cached) {\n return cached;\n }\n if (context.compiling.has(name)) {\n throw mpError(classSource.filePath, `组件循环引用: ${name}`);\n }\n context.compiling.add(name);\n }\n\n try {\n // 先编译样式,拿到 hover 选择器集合供模板生成 hover-class\n const styles = compileStyles(context, classSource);\n const { template, builder } = compileTemplate(\n context,\n classSource,\n kind,\n styles.hoverSelectors\n );\n const data = compileState(context, classSource);\n\n const usedNames = new Set(builder.handlers);\n for (const emitter of builder.emitters) {\n usedNames.add(emitter.method);\n }\n const customEvents = new Set<string>();\n const inlineModules = collectInlineModules(context, classSource);\n const compiledMethods = compileMethods(\n context,\n classSource,\n usedNames,\n kind,\n customEvents\n );\n\n // emitters 包装方法:还原 triggerEvent 的 e.detail.args\n const methods: FunctionEntry[] = [...compiledMethods.methods];\n for (const emitter of builder.emitters) {\n const key = emitter.key ?? `__transone_emitter_${emitter.event}`;\n const fn = emitter.passArgs\n ? `function(e) { this.${emitter.method}(...e.detail.args); }`\n : `function() { this.${emitter.method}(); }`;\n methods.push({ key, fn });\n }\n\n const usingComponents: Record<string, string> = {};\n for (const [tag, source] of builder.usedComponents) {\n compileUnit(context, source, { kind: 'component', name: tag });\n usingComponents[tag] = `/components/${tag}/${tag}`;\n }\n\n const unit: CompiledUnit = {\n kind,\n name,\n template,\n style: styles.style,\n globalStyle: styles.global,\n data,\n properties: {},\n propsReferenced: builder.propsReferenced,\n methods,\n lifecycle: compiledMethods.lifecycle,\n customEvents: [...customEvents],\n usingComponents,\n inlineModules,\n };\n\n if (kind === 'component') {\n context.components.set(name, unit);\n }\n return unit;\n } finally {\n if (kind === 'component') {\n context.compiling.delete(name);\n }\n }\n}\n\n/** 编译全部页面后,聚合调用点属性与模板 props 引用,生成组件 properties。 */\nexport function finalizeComponentProperties(context: CompileContext): void {\n for (const [tag, unit] of context.components) {\n const properties = new Map<string, string>();\n for (const callSite of context.callSites.get(tag) ?? []) {\n for (const [name, type] of Object.entries(callSite)) {\n if (!properties.has(name) || properties.get(name) === 'null') {\n properties.set(name, type);\n }\n }\n }\n for (const name of unit.propsReferenced) {\n if (!properties.has(name)) {\n properties.set(name, 'null');\n }\n }\n unit.properties = Object.fromEntries(properties);\n }\n}\n\nexport function componentTag(className: string): string {\n return kebabCase(className);\n}\n",
|
|
17
17
|
"import { CompiledUnit, PropertyTypes } from './types';\nimport type { MpDialect } from './dialect';\n\nconst GENERATED_HEADER = (dialectId: string): string =>\n `// 由 transone build --target ${dialectId} 生成,请勿手动编辑`;\n\n/** 生成页面 JS:Page({ data, methods, lifecycle })(CommonJS)。 */\nfunction inlinePreamble(unit: CompiledUnit): string {\n if (unit.inlineModules.length === 0) {\n return '';\n }\n return unit.inlineModules.join('\\n\\n') + '\\n\\n';\n}\n\nexport function generatePageJs(unit: CompiledUnit, dialect: MpDialect): string {\n const parts: string[] = [\n GENERATED_HEADER(dialect.id),\n inlinePreamble(unit),\n 'Page({',\n ` data: ${embedData(unit.data)},`,\n ];\n for (const entry of [...unit.methods, ...unit.lifecycle]) {\n parts.push(` ${JSON.stringify(entry.key)}: ${entry.fn},`);\n }\n parts.push('});');\n return parts.join('\\n') + '\\n';\n}\n\n/** 生成自定义组件 JS:Component({ properties, data, methods, lifetimes })。 */\nexport function generateComponentJs(unit: CompiledUnit, dialect: MpDialect): string {\n const parts: string[] = [\n GENERATED_HEADER(dialect.id),\n inlinePreamble(unit),\n 'Component({',\n ];\n parts.push(` properties: ${generatePropertiesSource(unit.properties)},`);\n parts.push(` data: ${embedData(unit.data)},`);\n parts.push(' methods: {');\n for (const entry of unit.methods) {\n parts.push(` ${JSON.stringify(entry.key)}: ${entry.fn},`);\n }\n parts.push(' },');\n if (unit.lifecycle.length > 0) {\n parts.push(' lifetimes: {');\n for (const entry of unit.lifecycle) {\n parts.push(` ${JSON.stringify(entry.key)}: ${entry.fn},`);\n }\n parts.push(' },');\n }\n const hasPropsHook = unit.methods.some(\n (entry) => entry.key === 'onPropsChange'\n );\n if (hasPropsHook) {\n const watched = Object.keys(unit.properties);\n parts.push(' observers: {');\n parts.push(\n ` ${JSON.stringify(watched.join(', '))}: function () { if (typeof this.onPropsChange === 'function') this.onPropsChange(); },`\n );\n parts.push(' },');\n }\n parts.push('});');\n return parts.join('\\n') + '\\n';\n}\n\n/** 把 JSON 对象源码嵌入 Page/Component 的 data 字段(统一缩进)。 */\nfunction embedData(data: string): string {\n const body = data\n .trim()\n .replace(/^\\{/, '')\n .replace(/\\}$/, '')\n .trim();\n return `{\\n ${body.replace(/\\n/g, '\\n ')}\\n }`;\n}\n\n/** 生成 properties 对象源码:{ title: { type: String, value: '' } }。 */\nexport function generatePropertiesSource(properties: PropertyTypes): string {\n const entries = Object.entries(properties);\n if (entries.length === 0) {\n return '{}';\n }\n const lines = entries.map(\n ([name, type]) =>\n ` ${JSON.stringify(name)}: { type: ${type === 'null' ? 'null' : type}, value: '' },`\n );\n return `{\\n${lines.join('\\n')}\\n }`;\n}\n"
|
|
18
18
|
],
|
|
19
|
-
"mappings": "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",
|
|
20
|
-
"debugId": "
|
|
19
|
+
"mappings": "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",
|
|
20
|
+
"debugId": "AE3147F44337807364756E2164756E21",
|
|
21
21
|
"names": []
|
|
22
22
|
}
|
package/dist/cli.js
CHANGED
package/dist/create.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export interface CreateProjectResult {
|
|
|
11
11
|
/** Published framework version referenced by generated projects. */
|
|
12
12
|
export declare const TRANSONE_FRAMEWORK_VERSION = "0.4.0";
|
|
13
13
|
/** Published CLI version referenced by generated projects. */
|
|
14
|
-
export declare const TRANSONE_CLI_VERSION = "0.6.
|
|
14
|
+
export declare const TRANSONE_CLI_VERSION = "0.6.1";
|
|
15
15
|
export declare const GITHUB_URL = "https://github.com/geektech-team/transone";
|
|
16
16
|
export declare function createProject(options?: CreateProjectOptions): CreateProjectResult;
|
|
@@ -740,6 +740,7 @@ var MP_WEIXIN_DIALECT = {
|
|
|
740
740
|
backgroundTextStyle: "light"
|
|
741
741
|
}),
|
|
742
742
|
appJsonExtras: () => ({
|
|
743
|
+
lazyCodeLoading: "requiredComponents",
|
|
743
744
|
style: "v2",
|
|
744
745
|
sitemapLocation: "sitemap.json"
|
|
745
746
|
}),
|
|
@@ -853,7 +854,7 @@ class MpTarget {
|
|
|
853
854
|
if (!config.mp) {
|
|
854
855
|
throw new Error("Mini program build requires config.mp\uFF08\u8BF7\u5728 transone.config.ts \u914D\u7F6E mp \u5B57\u6BB5\uFF0C" + "\u5982 appId / pages / outDir\uFF09");
|
|
855
856
|
}
|
|
856
|
-
const { buildMiniProgram } = await import("./build-mp-
|
|
857
|
+
const { buildMiniProgram } = await import("./build-mp-vk5ap2cw.js");
|
|
857
858
|
return buildMiniProgram(config, this.dialect);
|
|
858
859
|
}
|
|
859
860
|
}
|
|
@@ -1368,7 +1369,7 @@ async function runTsc(root, tsconfig) {
|
|
|
1368
1369
|
import { existsSync as existsSync4, mkdirSync, writeFileSync } from "fs";
|
|
1369
1370
|
import { basename as basename2, join as join2 } from "path";
|
|
1370
1371
|
var TRANSONE_FRAMEWORK_VERSION = "0.4.0";
|
|
1371
|
-
var TRANSONE_CLI_VERSION = "0.6.
|
|
1372
|
+
var TRANSONE_CLI_VERSION = "0.6.1";
|
|
1372
1373
|
var GITHUB_URL = "https://github.com/geektech-team/transone";
|
|
1373
1374
|
function createProject(options = {}) {
|
|
1374
1375
|
const root = options.root ?? process.cwd();
|
|
@@ -2201,5 +2202,5 @@ function buildFailureResponse() {
|
|
|
2201
2202
|
|
|
2202
2203
|
export { TARGET_TYPES, isTargetType, MP_TARGET_TYPES, isMpTargetType, defineConfig, resolveConfig, WebTarget, MpTarget, mpWeixinTarget, mpAlipayTarget, mpBytedanceTarget, mpXiaohongshuTarget, TargetRegistry, targetRegistry, build, createProject, startDevServer };
|
|
2203
2204
|
|
|
2204
|
-
//# debugId=
|
|
2205
|
-
//# sourceMappingURL=index-
|
|
2205
|
+
//# debugId=5C8800968D2B97E564756E2164756E21
|
|
2206
|
+
//# sourceMappingURL=index-z1sm57t6.js.map
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"import { mkdir, rm, writeFile } from 'node:fs/promises';\nimport { dirname, isAbsolute, relative, resolve, sep } from 'node:path';\nimport { isEntryJavaScriptOutput, isStylesheetOutput } from '../build-output';\nimport { assertSafeSubdirectoryDoesNotContain } from '../safe-path';\nimport type { BuildOptions, BuildResult, ResolvedConfig } from '../types';\nimport type { BuildTarget } from './types';\n\nconst INVALID_OUTPUT_DIRECTORY_MESSAGE =\n 'Build output must be a subdirectory of the project root';\n\ninterface BuiltPage {\n entry: string;\n assets: string[];\n javascriptAssets: string[];\n stylesheetAssets: string[];\n}\n\n/**\n * Web 目标端:复用 TSone 渲染策略,直接产出可运行的 H5 站点。\n *\n * 每个页面入口经 Bun 构建为浏览器 ESM,再以入口组件渲染出对应 HTML\n * 壳(SSR 形式)并注入构建产物,产物可直接静态部署。\n */\nexport class WebTarget implements BuildTarget {\n public readonly type = 'web' as const;\n public readonly label = '静态站点 / SPA(复用 TSone 策略化渲染)';\n\n public async build(\n config: ResolvedConfig,\n _options: BuildOptions\n ): Promise<BuildResult> {\n const entries = [...new Set(Object.values(config.pages))];\n\n for (const entry of entries) {\n await assertSafeSubdirectoryDoesNotContain(\n config.root,\n config.build.outDir,\n entry,\n INVALID_OUTPUT_DIRECTORY_MESSAGE\n );\n }\n // 动态加载:project.ts 依赖 'transone/dom'(框架 dist 的 DOM\n // 渲染模块),仅在站点渲染路径需要。\n const { renderProjectHtml } = await import('../project');\n for (const [route, entry] of Object.entries(config.pages)) {\n await renderProjectHtml(config, {}, entry, route);\n }\n\n await rm(config.build.outDir, { recursive: true, force: true });\n await mkdir(config.build.outDir, { recursive: true });\n\n const builtByEntry = new Map<string, BuiltPage>();\n const failures: string[] = [];\n for (const entry of entries) {\n const built = await buildPage(config, entry);\n if (typeof built === 'string') {\n failures.push(built);\n continue;\n }\n builtByEntry.set(entry, built);\n }\n if (failures.length > 0) {\n throw buildFailure(failures);\n }\n\n const assetsBuilt: string[] = [];\n for (const [route, entry] of Object.entries(config.pages)) {\n const page = builtByEntry.get(entry);\n if (!page) {\n throw new Error(`Missing built assets for entry: ${entry}`);\n }\n const pageHtmlPath = htmlPath(config, route);\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(config.build.outDir, pageHtmlPath, asset),\n },\n })),\n scripts: page.javascriptAssets.map((asset) => ({\n type: 'module',\n src: toAssetUrl(config.build.outDir, pageHtmlPath, asset),\n })),\n },\n page.entry,\n route\n );\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}\n\nasync function buildPage(\n config: ResolvedConfig,\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 // 生产构建默认压缩;TRANSONE_MINIFY=0 时生成未压缩产物,便于排查问题\n minify: process.env.TRANSONE_MINIFY !== '0',\n naming: { entry: '[name].[ext]', chunk: '[name]-[hash].[ext]' },\n throw: false,\n });\n } catch (error: unknown) {\n return pageFailureReason(entry, [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 entry,\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 entry,\n assets,\n javascriptAssets,\n stylesheetAssets,\n };\n}\n\nfunction pageFailureReason(\n entry: string,\n logs: string[],\n state?: { success: boolean; hasOutput: boolean; hasJavaScript: boolean }\n): string {\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 `${entry}: ${reasons.join('\\n')}`;\n}\n\nfunction buildFailure(failures: string[]): Error {\n if (failures.length === 1) {\n return new Error(`Failed to build TransOne application: ${failures[0]}`);\n }\n return new Error(\n `Failed to build TransOne application:\\n${failures\n .map((failure) => `- ${failure}`)\n .join('\\n')}`\n );\n}\n\nfunction htmlPath(config: ResolvedConfig, route: string): string {\n if (route === '/') {\n return resolve(config.build.outDir, 'index.html');\n }\n const relativeRoute = route.replace(/^\\/+/, '');\n if (config.build.directoryPages) {\n return resolve(config.build.outDir, relativeRoute, 'index.html');\n }\n return resolve(config.build.outDir, `${relativeRoute}.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
8
|
"interface BuildOutputDescriptor {\n path: string;\n kind: string;\n}\n\nexport function isEntryJavaScriptOutput(\n output: BuildOutputDescriptor\n): boolean {\n return output.kind === 'entry-point' && isJavaScriptPath(output.path);\n}\n\nexport function isStylesheetOutput(output: { path: string }): boolean {\n return /\\.css$/i.test(output.path);\n}\n\nfunction isJavaScriptPath(path: string): boolean {\n return /\\.(?:[cm]?js)$/i.test(path);\n}\n",
|
|
9
9
|
"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",
|
|
10
|
-
"import type { ResolvedMiniProgramConfig } from '../types';\n\n/**\n * 跨端差异层:同一套 mp 编译器(AST 静态分析 → WXML 系模板 / WXSS 系样式 /\n * Page/Component JS)通过 MpDialect 描述各小程序平台的产物差异。\n *\n * 平台差异点(positioning 9.M3「沉淀跨端差异层」):\n * - 模板文件后缀:.wxml / .axml / .ttml\n * - 样式文件后缀与 app 样式文件名:.wxss / .acss / .ttss\n * - 模板指令前缀:wx: / a: / tt:\n * - 事件绑定写法:bindtap / onTap / bindtap\n * - 工程配置文件与字段:project.config.json / mini.project.json / project.config.json\n * - app.json 的 window 字段名(navigationBarTitleText vs defaultTitle)与顶层差异\n * - 组件 json(微信 multipleSlots;阿里 / 字节无需)\n * - 是否生成 sitemap.json(微信特有)\n */\nexport interface MpDialect {\n /** 目标端标识,与 TargetType 一致。 */\n id: string;\n /** 人类可读描述。 */\n label: string;\n /** 模板文件后缀(不含点)。 */\n templateExt: string;\n /** 样式文件后缀(不含点)。 */\n styleExt: string;\n /** 全局样式文件名(app.wxss / app.acss / app.ttss)。 */\n appStyleFile: string;\n /** 模板指令前缀(wx: / a: / tt:)。 */\n directivePrefix: string;\n /** 普通事件绑定:bindtap / onTap / bindtap。 */\n bindEvent: (eventName: string) => string;\n /** 阻止冒泡事件绑定:catchtap / catchTap / catchtap。 */\n catchEvent: (eventName: string) => string;\n /** 工程配置文件文件名(project.config.json / mini.project.json)。 */\n projectConfigFile: string;\n /** 工程配置文件内容。 */\n buildProjectConfig: (\n mp: ResolvedMiniProgramConfig,\n projectName: string\n ) => Record<string, unknown>;\n /** app.json.window 的默认字段(平台字段名映射)。 */\n windowDefaults: (title: string) => Record<string, unknown>;\n /** app.json 顶层额外字段(微信的 style / sitemapLocation)。 */\n appJsonExtras: () => Record<string, unknown>;\n /** 是否生成 sitemap.json(微信特有)。 */\n sitemap: boolean;\n /** 自定义组件 json 的固定字段。 */\n componentJson: (usingComponents: Record<string, string>) => Record<string, unknown>;\n}\n\n/** camelCase 事件名转 PascalCase(阿里 onTap / onTouchStart)。 */\nfunction pascalEvent(eventName: string): string {\n return eventName.charAt(0).toUpperCase() + eventName.slice(1);\n}\n\nconst WEIXIN_PROJECT_SETTING = {\n es6: true,\n postcss: true,\n minified: true,\n urlCheck: false,\n} as const;\n\nexport const MP_WEIXIN_DIALECT: MpDialect = {\n id: 'mp-weixin',\n label: '微信小程序原生工程(WXML / WXSS / JS 静态转换)',\n templateExt: 'wxml',\n styleExt: 'wxss',\n appStyleFile: 'app.wxss',\n directivePrefix: 'wx:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n appid: mp.appId,\n projectname: projectName,\n compileType: 'miniprogram',\n setting: { ...WEIXIN_PROJECT_SETTING },\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({\n style: 'v2',\n sitemapLocation: 'sitemap.json',\n }),\n sitemap: true,\n componentJson: (usingComponents) => ({\n component: true,\n multipleSlots: true,\n usingComponents,\n }),\n};\n\nexport const MP_ALIPAY_DIALECT: MpDialect = {\n id: 'mp-alipay',\n label: '阿里小程序原生工程(AXML / ACSS / JS 静态转换)',\n templateExt: 'axml',\n styleExt: 'acss',\n appStyleFile: 'app.acss',\n directivePrefix: 'a:',\n bindEvent: (event) => `on${pascalEvent(event)}`,\n catchEvent: (event) => `catch${pascalEvent(event)}`,\n projectConfigFile: 'mini.project.json',\n buildProjectConfig: () => ({\n miniprogramRoot: './',\n component2: true,\n enableAppxNg: true,\n compileType: 'miniprogram',\n }),\n windowDefaults: (title) => ({\n defaultTitle: title,\n titleBarColor: '#ffffff',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n usingComponents,\n }),\n};\n\nexport const MP_BYTEDANCE_DIALECT: MpDialect = {\n id: 'mp-bytedance',\n label: '字节小程序原生工程(TTML / TTSS / JS 静态转换)',\n templateExt: 'ttml',\n styleExt: 'ttss',\n appStyleFile: 'app.ttss',\n directivePrefix: 'tt:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n miniprogramRoot: './',\n compileType: 'miniprogram',\n projectname: projectName,\n appid: mp.appId,\n setting: { ...WEIXIN_PROJECT_SETTING },\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n usingComponents,\n }),\n};\n\nexport const MP_XIAOHONGSHU_DIALECT: MpDialect = {\n id: 'mp-xiaohongshu',\n label: '小红书小程序原生工程(XHSML / CSS / JS 静态转换)',\n templateExt: 'xhsml',\n styleExt: 'css',\n appStyleFile: 'app.css',\n directivePrefix: 'xhs:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n appid: mp.appId,\n projectname: projectName,\n compileType: 'miniprogram',\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n multipleSlots: true,\n usingComponents,\n }),\n};\n\nexport const MP_DIALECTS: Record<string, MpDialect> = {\n 'mp-weixin': MP_WEIXIN_DIALECT,\n 'mp-alipay': MP_ALIPAY_DIALECT,\n 'mp-bytedance': MP_BYTEDANCE_DIALECT,\n 'mp-xiaohongshu': MP_XIAOHONGSHU_DIALECT,\n};\n",
|
|
10
|
+
"import type { ResolvedMiniProgramConfig } from '../types';\n\n/**\n * 跨端差异层:同一套 mp 编译器(AST 静态分析 → WXML 系模板 / WXSS 系样式 /\n * Page/Component JS)通过 MpDialect 描述各小程序平台的产物差异。\n *\n * 平台差异点(positioning 9.M3「沉淀跨端差异层」):\n * - 模板文件后缀:.wxml / .axml / .ttml\n * - 样式文件后缀与 app 样式文件名:.wxss / .acss / .ttss\n * - 模板指令前缀:wx: / a: / tt:\n * - 事件绑定写法:bindtap / onTap / bindtap\n * - 工程配置文件与字段:project.config.json / mini.project.json / project.config.json\n * - app.json 的 window 字段名(navigationBarTitleText vs defaultTitle)与顶层差异\n * - 组件 json(微信 multipleSlots;阿里 / 字节无需)\n * - 是否生成 sitemap.json(微信特有)\n */\nexport interface MpDialect {\n /** 目标端标识,与 TargetType 一致。 */\n id: string;\n /** 人类可读描述。 */\n label: string;\n /** 模板文件后缀(不含点)。 */\n templateExt: string;\n /** 样式文件后缀(不含点)。 */\n styleExt: string;\n /** 全局样式文件名(app.wxss / app.acss / app.ttss)。 */\n appStyleFile: string;\n /** 模板指令前缀(wx: / a: / tt:)。 */\n directivePrefix: string;\n /** 普通事件绑定:bindtap / onTap / bindtap。 */\n bindEvent: (eventName: string) => string;\n /** 阻止冒泡事件绑定:catchtap / catchTap / catchtap。 */\n catchEvent: (eventName: string) => string;\n /** 工程配置文件文件名(project.config.json / mini.project.json)。 */\n projectConfigFile: string;\n /** 工程配置文件内容。 */\n buildProjectConfig: (\n mp: ResolvedMiniProgramConfig,\n projectName: string\n ) => Record<string, unknown>;\n /** app.json.window 的默认字段(平台字段名映射)。 */\n windowDefaults: (title: string) => Record<string, unknown>;\n /** app.json 顶层额外字段(微信的 style / sitemapLocation)。 */\n appJsonExtras: () => Record<string, unknown>;\n /** 是否生成 sitemap.json(微信特有)。 */\n sitemap: boolean;\n /** 自定义组件 json 的固定字段。 */\n componentJson: (usingComponents: Record<string, string>) => Record<string, unknown>;\n}\n\n/** camelCase 事件名转 PascalCase(阿里 onTap / onTouchStart)。 */\nfunction pascalEvent(eventName: string): string {\n return eventName.charAt(0).toUpperCase() + eventName.slice(1);\n}\n\nconst WEIXIN_PROJECT_SETTING = {\n es6: true,\n postcss: true,\n minified: true,\n urlCheck: false,\n} as const;\n\nexport const MP_WEIXIN_DIALECT: MpDialect = {\n id: 'mp-weixin',\n label: '微信小程序原生工程(WXML / WXSS / JS 静态转换)',\n templateExt: 'wxml',\n styleExt: 'wxss',\n appStyleFile: 'app.wxss',\n directivePrefix: 'wx:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n appid: mp.appId,\n projectname: projectName,\n compileType: 'miniprogram',\n setting: { ...WEIXIN_PROJECT_SETTING },\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({\n lazyCodeLoading: 'requiredComponents',\n style: 'v2',\n sitemapLocation: 'sitemap.json',\n }),\n sitemap: true,\n componentJson: (usingComponents) => ({\n component: true,\n multipleSlots: true,\n usingComponents,\n }),\n};\n\nexport const MP_ALIPAY_DIALECT: MpDialect = {\n id: 'mp-alipay',\n label: '阿里小程序原生工程(AXML / ACSS / JS 静态转换)',\n templateExt: 'axml',\n styleExt: 'acss',\n appStyleFile: 'app.acss',\n directivePrefix: 'a:',\n bindEvent: (event) => `on${pascalEvent(event)}`,\n catchEvent: (event) => `catch${pascalEvent(event)}`,\n projectConfigFile: 'mini.project.json',\n buildProjectConfig: () => ({\n miniprogramRoot: './',\n component2: true,\n enableAppxNg: true,\n compileType: 'miniprogram',\n }),\n windowDefaults: (title) => ({\n defaultTitle: title,\n titleBarColor: '#ffffff',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n usingComponents,\n }),\n};\n\nexport const MP_BYTEDANCE_DIALECT: MpDialect = {\n id: 'mp-bytedance',\n label: '字节小程序原生工程(TTML / TTSS / JS 静态转换)',\n templateExt: 'ttml',\n styleExt: 'ttss',\n appStyleFile: 'app.ttss',\n directivePrefix: 'tt:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n miniprogramRoot: './',\n compileType: 'miniprogram',\n projectname: projectName,\n appid: mp.appId,\n setting: { ...WEIXIN_PROJECT_SETTING },\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n usingComponents,\n }),\n};\n\nexport const MP_XIAOHONGSHU_DIALECT: MpDialect = {\n id: 'mp-xiaohongshu',\n label: '小红书小程序原生工程(XHSML / CSS / JS 静态转换)',\n templateExt: 'xhsml',\n styleExt: 'css',\n appStyleFile: 'app.css',\n directivePrefix: 'xhs:',\n bindEvent: (event) => `bind${event}`,\n catchEvent: (event) => `catch${event}`,\n projectConfigFile: 'project.config.json',\n buildProjectConfig: (mp, projectName) => ({\n appid: mp.appId,\n projectname: projectName,\n compileType: 'miniprogram',\n }),\n windowDefaults: (title) => ({\n navigationBarTitleText: title,\n navigationBarBackgroundColor: '#ffffff',\n navigationBarTextStyle: 'black',\n backgroundTextStyle: 'light',\n }),\n appJsonExtras: () => ({}),\n sitemap: false,\n componentJson: (usingComponents) => ({\n component: true,\n multipleSlots: true,\n usingComponents,\n }),\n};\n\nexport const MP_DIALECTS: Record<string, MpDialect> = {\n 'mp-weixin': MP_WEIXIN_DIALECT,\n 'mp-alipay': MP_ALIPAY_DIALECT,\n 'mp-bytedance': MP_BYTEDANCE_DIALECT,\n 'mp-xiaohongshu': MP_XIAOHONGSHU_DIALECT,\n};\n",
|
|
11
11
|
"import type { BuildOptions, BuildResult, ResolvedConfig } from '../types';\nimport type { BuildTarget, TargetType } from './types';\nimport {\n MP_ALIPAY_DIALECT,\n MP_BYTEDANCE_DIALECT,\n MP_WEIXIN_DIALECT,\n MP_XIAOHONGSHU_DIALECT,\n type MpDialect,\n} from '../mp/dialect';\n\n/**\n * 小程序目标端通用实现:同一套 mp 编译器 + MpDialect 差异层。\n *\n * 流水线(src/mp/):\n * 入口 → 静态分析(定位 createApp root / Component 子类)\n * → 逐页面编译(模板 / 样式 / data / methods / 生命周期)\n * → 组件调用点属性聚合(properties)\n * → 按 dialect 生成平台原生工程(app.json / app.js / 样式 / pages / components)。\n *\n * 依赖 TypeScript 编译器 API,仅在小程序构建路径惰性加载。\n */\nexport class MpTarget implements BuildTarget {\n public constructor(private readonly dialect: MpDialect) {}\n\n public get type(): TargetType {\n return this.dialect.id as TargetType;\n }\n\n public get label(): string {\n return this.dialect.label;\n }\n\n public async build(\n config: ResolvedConfig,\n _options: BuildOptions\n ): Promise<BuildResult> {\n if (!config.mp) {\n throw new Error(\n 'Mini program build requires config.mp(请在 transone.config.ts 配置 mp 字段,' +\n '如 appId / pages / outDir)'\n );\n }\n // 动态加载:mp 编译器依赖 typescript API,仅在小程序构建路径加载\n const { buildMiniProgram } = await import('../mp/build-mp');\n return buildMiniProgram(config, this.dialect);\n }\n}\n\nexport const mpWeixinTarget = new MpTarget(MP_WEIXIN_DIALECT);\nexport const mpAlipayTarget = new MpTarget(MP_ALIPAY_DIALECT);\nexport const mpBytedanceTarget = new MpTarget(MP_BYTEDANCE_DIALECT);\nexport const mpXiaohongshuTarget = new MpTarget(MP_XIAOHONGSHU_DIALECT);\n",
|
|
12
12
|
"import { cp, mkdir, rm, writeFile } from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\nimport { dirname, join, resolve } from 'node:path';\nimport type { BuildResult, ResolvedConfig } from '../types';\nimport { nativeError } from './errors';\nimport { analyzeNativeScreen } from './analyze';\nimport type { NativeDialect } from './types';\n\nexport async function buildNativeApp(config: ResolvedConfig, dialect: NativeDialect): Promise<BuildResult> {\n if (!config.app) throw new Error('Native app build requires config.app');\n const entries = Object.values(config.app.pages);\n if (entries.length !== 1) throw nativeError(config.entry, '首期原生 App 只支持一个页面');\n const screen = await analyzeNativeScreen(entries[0]);\n const files = dialect.generateProject(screen, config.app);\n if (config.app.host !== undefined) {\n files[`${dialect.resourceDirectory}/transone.config.json`] =\n `${JSON.stringify({ host: config.app.host }, null, 2)}\\n`;\n }\n await rm(config.app.outDir, { recursive: true, force: true });\n const assetsBuilt: string[] = [];\n for (const [relative, content] of Object.entries(files).sort(([a], [b]) => a.localeCompare(b))) {\n const target = join(config.app.outDir, relative); await mkdir(dirname(target), { recursive: true }); await writeFile(target, content, 'utf8'); assetsBuilt.push(target);\n }\n if (existsSync(config.app.publicDir)) await cp(config.app.publicDir, join(config.app.outDir, dialect.resourceDirectory), { recursive: true });\n return { root: config.root, outDir: resolve(config.app.outDir), assetsBuilt };\n}\n",
|
|
13
13
|
"import { basename } from 'node:path';\n\nexport function nativeError(filePath: string, message: string): Error {\n return new Error(`[transone app] ${basename(filePath)}: ${message}`);\n}\n",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"import type { NativeDialect, NativeNode, NativeScreen, NativeTextPart } from './types';\n\nfunction text(parts: NativeTextPart[], language: 'swift' | 'kotlin' | 'ark'): string {\n if (language === 'swift') {\n const value = parts.map((part) => part.kind === 'literal' ? part.value : `\\\\(${part.key})`).join('');\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`;\n }\n if (language === 'kotlin') {\n return JSON.stringify(parts.map((part) => part.kind === 'literal' ? part.value : `$${part.key}`).join(''));\n }\n return parts.map((part) => part.kind === 'literal' ? JSON.stringify(part.value) : `this.${part.key}`).join(' + ') || '\"\"';\n}\nfunction action(node: Extract<NativeNode, { kind: 'button' }>, language: 'swift' | 'kotlin' | 'ark'): string {\n const { action } = node;\n const target = language === 'ark' ? `this.${action.key}` : action.key;\n return action.kind === 'increment' ? `${target} ${action.by >= 0 ? '+=' : '-='} ${Math.abs(action.by)}` : `${target} = ${typeof action.value === 'string' ? JSON.stringify(action.value) : action.value}`;\n}\nfunction swiftNode(node: NativeNode, indent = ' '): string {\n if (node.kind === 'container') return `${indent}VStack {\\n${node.children.map((child) => swiftNode(child, `${indent} `)).join('\\n')}\\n${indent}}`;\n if (node.kind === 'text') return `${indent}Text(${text(node.parts, 'swift')})`;\n return `${indent}Button(${text(node.parts, 'swift')}) { ${action(node, 'swift')} }`;\n}\nfunction kotlinNode(node: NativeNode, indent = ' '): string {\n if (node.kind === 'container') return `${indent}Column {\\n${node.children.map((child) => kotlinNode(child, `${indent} `)).join('\\n')}\\n${indent}}`;\n if (node.kind === 'text') return `${indent}Text(${text(node.parts, 'kotlin')})`;\n return `${indent}Button(onClick = { ${action(node, 'kotlin')} }) { Text(${text(node.parts, 'kotlin')}) }`;\n}\nfunction arkNode(node: NativeNode, indent = ' '): string {\n if (node.kind === 'container') return `${indent}Column() {\\n${node.children.map((child) => arkNode(child, `${indent} `)).join('\\n')}\\n${indent}}`;\n if (node.kind === 'text') return `${indent}Text(${text(node.parts, 'ark')})`;\n return `${indent}Button(${text(node.parts, 'ark')}).onClick(() => { ${action(node, 'ark')} })`;\n}\nfunction swiftState(screen: NativeScreen): string { return screen.state.map((item) => ` @State private var ${item.key}: ${typeof item.value === 'number' ? 'Int' : typeof item.value === 'boolean' ? 'Bool' : 'String'} = ${JSON.stringify(item.value)}`).join('\\n'); }\nfunction kotlinState(screen: NativeScreen): string { return screen.state.map((item) => ` var ${item.key} by remember { mutableStateOf(${JSON.stringify(item.value)}) }`).join('\\n'); }\nfunction arkState(screen: NativeScreen): string { return screen.state.map((item) => ` @State ${item.key}: ${typeof item.value === 'number' ? 'number' : typeof item.value === 'boolean' ? 'boolean' : 'string'} = ${JSON.stringify(item.value)}`).join('\\n'); }\n\nexport const IOS_DIALECT: NativeDialect = {\n id: 'app-ios', label: 'iOS 原生 App(SwiftUI)', resourceDirectory: 'TransOneApp/Assets',\n generateProject(screen, config) {\n return {\n 'TransOneApp/TransOneApp.swift': `import SwiftUI\\n\\n@main struct TransOneApp: App { var body: some Scene { WindowGroup { ContentView() } } }\\n`,\n 'TransOneApp/ContentView.swift': `import SwiftUI\\n\\nstruct ContentView: View {\\n${swiftState(screen)}\\n var body: some View {\\n${swiftNode(screen.root)}\\n }\\n}\\n`,\n 'TransOneApp.xcodeproj/project.pbxproj': xcodeProject(config),\n 'TransOneApp/Assets.xcassets/Contents.json': '{\"info\":{\"author\":\"xcode\",\"version\":1}}\\n',\n };\n },\n};\n\nfunction xcodeProject(config: { appName: string; bundleId: string; minPlatformVersion: string }): string {\n const escapedName = config.appName.replace(/\"/g, '\\\\\"');\n return `// !$*UTF8*$!\n{\n archiveVersion = 1;\n classes = {};\n objectVersion = 56;\n objects = {\n\n/* Begin PBXBuildFile section */\n A00100000000000000000001 /* TransOneApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A00100000000000000000011 /* TransOneApp.swift */; };\n A00100000000000000000002 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A00100000000000000000012 /* ContentView.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n A00100000000000000000011 /* TransOneApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransOneApp.swift; sourceTree = \"<group>\"; };\n A00100000000000000000012 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = \"<group>\"; };\n A00100000000000000000013 /* TransOneApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TransOneApp.app; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXGroup section */\n A00100000000000000000021 = {isa = PBXGroup; children = (A00100000000000000000022 /* TransOneApp */, A00100000000000000000023 /* Products */, ); sourceTree = \"<group>\"; };\n A00100000000000000000022 /* TransOneApp */ = {isa = PBXGroup; children = (A00100000000000000000011 /* TransOneApp.swift */, A00100000000000000000012 /* ContentView.swift */, ); path = TransOneApp; sourceTree = \"<group>\"; };\n A00100000000000000000023 /* Products */ = {isa = PBXGroup; children = (A00100000000000000000013 /* TransOneApp.app */, ); name = Products; sourceTree = \"<group>\"; };\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n A00100000000000000000031 /* TransOneApp */ = {isa = PBXNativeTarget; buildConfigurationList = A00100000000000000000041 /* Build configuration list for PBXNativeTarget \"TransOneApp\" */; buildPhases = (A00100000000000000000032 /* Sources */, A00100000000000000000033 /* Frameworks */, A00100000000000000000034 /* Resources */, ); buildRules = (); dependencies = (); name = TransOneApp; productName = TransOneApp; productReference = A00100000000000000000013 /* TransOneApp.app */; productType = \"com.apple.product-type.application\"; };\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n A00100000000000000000051 /* Project object */ = {isa = PBXProject; attributes = { LastUpgradeCheck = 2700; TargetAttributes = { A00100000000000000000031 = { CreatedOnToolsVersion = 27.0; }; }; }; buildConfigurationList = A00100000000000000000052 /* Build configuration list for PBXProject \"TransOneApp\" */; compatibilityVersion = \"Xcode 14.0\"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = (en, Base, ); mainGroup = A00100000000000000000021; productRefGroup = A00100000000000000000023; projectDirPath = \"\"; projectRoot = \"\"; targets = (A00100000000000000000031 /* TransOneApp */, ); };\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n A00100000000000000000034 /* Resources */ = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n A00100000000000000000032 /* Sources */ = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (A00100000000000000000001 /* TransOneApp.swift in Sources */, A00100000000000000000002 /* ContentView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXFrameworksBuildPhase section */\n A00100000000000000000033 /* Frameworks */ = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n A00100000000000000000061 /* Debug */ = {isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; SWIFT_VERSION = 5.0; }; name = Debug; };\n A00100000000000000000062 /* Release */ = {isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; SWIFT_VERSION = 5.0; }; name = Release; };\n A00100000000000000000063 /* Debug */ = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CODE_SIGNING_ALLOWED = NO; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = ${config.minPlatformVersion}; PRODUCT_BUNDLE_IDENTIFIER = ${config.bundleId}; PRODUCT_NAME = \"${escapedName}\"; SDKROOT = iphoneos; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = \"1,2\"; }; name = Debug; };\n A00100000000000000000064 /* Release */ = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CODE_SIGNING_ALLOWED = NO; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = ${config.minPlatformVersion}; PRODUCT_BUNDLE_IDENTIFIER = ${config.bundleId}; PRODUCT_NAME = \"${escapedName}\"; SDKROOT = iphoneos; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = \"1,2\"; }; name = Release; };\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n A00100000000000000000041 /* Build configuration list for PBXNativeTarget \"TransOneApp\" */ = {isa = XCConfigurationList; buildConfigurations = (A00100000000000000000063 /* Debug */, A00100000000000000000064 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; };\n A00100000000000000000052 /* Build configuration list for PBXProject \"TransOneApp\" */ = {isa = XCConfigurationList; buildConfigurations = (A00100000000000000000061 /* Debug */, A00100000000000000000062 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; };\n/* End XCConfigurationList section */\n };\n rootObject = A00100000000000000000051 /* Project object */;\n}\n`;\n}\n\nexport const ANDROID_DIALECT: NativeDialect = {\n id: 'app-android', label: 'Android 原生 App(Jetpack Compose)', resourceDirectory: 'app/src/main/assets',\n generateProject(screen, config) {\n const pkg = config.bundleId.replace(/[^A-Za-z0-9_.]/g, '_'); const path = pkg.replace(/\\./g, '/');\n return {\n 'settings.gradle.kts': `rootProject.name = \"${config.appName}\"\\ninclude(\":app\")\\n`,\n 'build.gradle.kts': 'plugins { }\\n',\n 'app/build.gradle.kts': `plugins { id(\"com.android.application\") version \"8.5.0\" apply false }\\n`,\n 'app/src/main/AndroidManifest.xml': `<manifest package=\"${pkg}\" xmlns:android=\"http://schemas.android.com/apk/res/android\"><application android:label=\"${config.appName}\"><activity android:name=\".MainActivity\" android:exported=\"true\"><intent-filter><action android:name=\"android.intent.action.MAIN\"/><category android:name=\"android.intent.category.LAUNCHER\"/></intent-filter></activity></application></manifest>\\n`,\n [`app/src/main/java/${path}/MainActivity.kt`]: `package ${pkg}\\n\\nimport androidx.activity.ComponentActivity\\nimport androidx.activity.compose.setContent\\nimport androidx.compose.runtime.*\\nimport androidx.compose.foundation.layout.Column\\nimport androidx.compose.material3.*\\n\\nclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: android.os.Bundle?) { super.onCreate(savedInstanceState); setContent {\\n${kotlinState(screen)}\\n${kotlinNode(screen.root)}\\n} } }\\n`,\n };\n },\n};\n\nexport const HARMONY_DIALECT: NativeDialect = {\n id: 'app-harmony', label: 'HarmonyOS 原生 App(ArkUI)', resourceDirectory: 'entry/src/main/resources/rawfile',\n generateProject(screen, config) {\n return {\n 'AppScope/app.json5': `{ \"app\": { \"bundleName\": \"${config.bundleId}\", \"vendor\": \"TransOne\", \"versionCode\": 1, \"versionName\": \"1.0.0\" } }\\n`,\n 'AppScope/resources/base/element/string.json': `{ \"string\": [{ \"name\": \"app_name\", \"value\": \"${config.appName}\" }] }\\n`,\n 'entry/src/main/module.json5': '{ \"module\": { \"name\": \"entry\", \"type\": \"entry\", \"mainElement\": \"EntryAbility\" } }\\n',\n 'entry/src/main/ets/entryability/EntryAbility.ets': 'import UIAbility from \\'@ohos.app.ability.UIAbility\\';\\nexport default class EntryAbility extends UIAbility {}\\n',\n 'entry/src/main/ets/pages/Index.ets': `@Entry\\n@Component\\nstruct Index {\\n${arkState(screen)}\\n build() {\\n${arkNode(screen.root)}\\n }\\n}\\n`,\n };\n },\n};\n",
|
|
17
17
|
"import type { BuildTarget, TargetType } from './types';\nimport { WebTarget } from './web-target';\nimport {\n mpAlipayTarget,\n mpBytedanceTarget,\n mpWeixinTarget,\n mpXiaohongshuTarget,\n} from './mp-target';\nimport { AppTarget } from './app-target';\nimport { ANDROID_DIALECT, HARMONY_DIALECT, IOS_DIALECT } from '../app/dialects';\n\n/**\n * 目标端注册表:编译器按 Target 分发代码生成(positioning 7.3)。\n *\n * 注册 Web 与各小程序 target;\n * app-* 通过平台方言注册原生源码生成器。\n */\nexport class TargetRegistry {\n private readonly targets = new Map<TargetType, BuildTarget>();\n\n public constructor() {\n this.register(new WebTarget());\n this.register(mpWeixinTarget);\n this.register(mpAlipayTarget);\n this.register(mpBytedanceTarget);\n this.register(mpXiaohongshuTarget);\n this.register(new AppTarget(IOS_DIALECT));\n this.register(new AppTarget(ANDROID_DIALECT));\n this.register(new AppTarget(HARMONY_DIALECT));\n }\n\n public register(target: BuildTarget): void {\n this.targets.set(target.type, target);\n }\n\n public resolve(type: TargetType): BuildTarget {\n const target = this.targets.get(type);\n if (!target) {\n throw new Error(`Unknown build target: ${type}`);\n }\n return target;\n }\n\n public getAvailableTargets(): BuildTarget[] {\n return [...this.targets.values()];\n }\n}\n\nexport const targetRegistry = new TargetRegistry();\n",
|
|
18
18
|
"import { mkdir, rm } from 'node:fs/promises';\nimport { dirname, resolve } from 'node:path';\nimport { resolveConfig } from './config';\nimport { targetRegistry } from './target/registry';\nimport type { BuildOptions, BuildResult } from './types';\n\n/**\n * TransOne 构建入口:解析配置后按 Target 分发到对应编译目标。\n *\n * 同一个入口文档,`transone build --target <端>` 产出对应平台原生产物\n * (positioning 1:一份源码,多端原生产物,零运行时桥接)。\n */\nexport async function build(options: BuildOptions = {}): Promise<BuildResult> {\n const config = await resolveConfig(options);\n\n // 库构建与目标端无关:直接产出可发布的 ESM bundle + .d.ts。\n if (options.library) {\n return buildLibrary(config);\n }\n\n const target = targetRegistry.resolve(config.target);\n return target.build(config, options);\n}\n\nasync function buildLibrary(\n config: Awaited<ReturnType<typeof resolveConfig>>\n): Promise<BuildResult> {\n const library = config.library;\n if (!library) {\n throw new Error('TransOne library build requires config.library');\n }\n\n await rm(library.outDir, { recursive: true, force: true });\n await mkdir(library.outDir, { recursive: true });\n\n if (library.dts) {\n for (const tsconfig of library.tsconfigs) {\n await runTsc(config.root, tsconfig);\n }\n }\n\n const minify = library.minify ?? process.env.TRANSONE_MINIFY !== '0';\n const result = await Bun.build({\n entrypoints: [library.entry],\n outdir: library.outDir,\n root: dirname(library.entry),\n target: 'browser',\n format: 'esm',\n sourcemap: library.sourcemap ? 'linked' : undefined,\n splitting: library.splitting,\n minify,\n external: library.external,\n throw: false,\n });\n\n if (!result.success || result.outputs.length === 0) {\n throw new Error(\n `Failed to build TransOne library:\\n${result.logs\n .map((log) => log.message)\n .join('\\n')}`\n );\n }\n\n const assetsBuilt = result.outputs.map((output) => resolve(output.path));\n return { root: config.root, outDir: library.outDir, assetsBuilt };\n}\n\nasync function runTsc(root: string, tsconfig: string): Promise<void> {\n const proc = Bun.spawn(['bunx', 'tsc', '--project', tsconfig], {\n cwd: root,\n stdout: 'inherit',\n stderr: 'inherit',\n });\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(\n `tsc --project ${tsconfig} failed with exit code ${exitCode}`\n );\n }\n}\n",
|
|
19
|
-
"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 TRANSONE_FRAMEWORK_VERSION = '0.4.0';\n/** Published CLI version referenced by generated projects. */\nexport const TRANSONE_CLI_VERSION = '0.6.
|
|
19
|
+
"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 TRANSONE_FRAMEWORK_VERSION = '0.4.0';\n/** Published CLI version referenced by generated projects. */\nexport const TRANSONE_CLI_VERSION = '0.6.1';\n\nexport const GITHUB_URL = 'https://github.com/geektech-team/transone';\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 TransOne 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: 'transone dev',\n build: 'transone build',\n typecheck: 'bunx tsc --noEmit',\n },\n dependencies: {\n 'transone': `^${TRANSONE_FRAMEWORK_VERSION}`,\n },\n devDependencies: {\n 'transone-cli': `^${TRANSONE_CLI_VERSION}`,\n },\n },\n null,\n 2\n )}\\n`,\n },\n {\n path: 'transone.config.ts',\n content: `import { defineConfig } from 'transone-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/**/*', 'transone.config.ts'],\n },\n null,\n 2\n )}\\n`,\n },\n {\n path: '.gitignore',\n content: 'node_modules/\\ndist/\\n',\n },\n {\n path: 'src/main.ts',\n content: `import { Component, createApp, h, type VNode } from 'transone';\\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' }, ['TransOne']),\\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: 'TransOne',\\n description: '轻量级纯 TypeScript 前端框架',\\n },\\n});\\n\\napp.mount();\\n`,\n },\n ];\n}\n",
|
|
20
20
|
"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 { 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 = '/__transone/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 'dist',\n 'node_modules',\n '.git',\n '.worktrees',\n]);\nconst LIVE_RELOAD_CLIENT_SCRIPT = [\n '<script type=\"module\">',\n 'const transoneReloadSource=new EventSource(',\n JSON.stringify(LIVE_RELOAD_PATH),\n ');',\n 'transoneReloadSource.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 entries = [...new Set(Object.values(instance.config.pages))];\n instance.markDirty(entries);\n for (const entry of entries) {\n const bundle = await instance.getBundle(entry);\n if (bundle instanceof Response) {\n console.error('TransOne 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 `TransOne 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: (entry: string) => Promise<DevelopmentBundle | Response>;\n markDirty: (entries: 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 // 动态加载:project.ts 依赖 'transone/dom'(框架 dist 的 DOM 渲染\n // 模块),仅在需要预渲染页面 HTML 时加载,避免 dev/build 其他路径被拖累。\n const { renderProjectHtml } = await import('./project');\n for (const [route, entry] of Object.entries(config.pages)) {\n await renderProjectHtml(config, {}, entry, route);\n }\n const developmentOutDir = resolve(config.root, 'dist', 'dev', 'h5');\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(sessionId, sessionOutDir);\n const liveReload = watch ? createLiveReloadHub() : undefined;\n const bundles = new Map<string, DevelopmentBundle>();\n const dirtyEntries = new Set<string>();\n\n const getBundle = async (\n entry: string\n ): Promise<DevelopmentBundle | Response> => {\n const cached = bundles.get(entry);\n if (watch && cached !== undefined && !dirtyEntries.has(entry)) {\n return cached;\n }\n const bundle = await buildProject(entry);\n if (bundle instanceof Response) {\n if (watch) {\n dirtyEntries.add(entry);\n }\n return bundle;\n }\n if (watch) {\n bundles.set(entry, bundle);\n dirtyEntries.delete(entry);\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: (entries) => {\n entries.forEach((entry) => dirtyEntries.add(entry));\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: (entry: 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 entry = pages[route];\n const bundle = await getBundle(entry);\n if (bundle instanceof Response) {\n return bundle;\n }\n\n try {\n const { renderProjectHtml } = await import('./project');\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 entry,\n 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(config.entry);\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 // SPA history fallback:H5 端使用 history 模式路由时,刷新/直达深层路径\n // (如 /rankings/metro)在服务端没有对应页面,回落到入口页由前端路由接管。\n // 排除 API 路径与带扩展名的静态资源请求。\n if (\n pathname !== '/' &&\n !pathname.startsWith('/api/') &&\n !/\\.[a-zA-Z0-9]+$/.test(pathname)\n ) {\n const bundle = await getBundle(config.entry);\n if (!(bundle instanceof Response)) {\n try {\n const { renderProjectHtml } = await import('./project');\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 config.entry,\n '/'\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\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> | 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 sessionId: string,\n sessionOutDir: string\n): (entry: string) => Promise<DevelopmentBundle | Response> {\n let queue = Promise.resolve();\n\n return (entry) => {\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",
|
|
21
21
|
"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",
|
|
22
22
|
"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"
|
|
23
23
|
],
|
|
24
|
-
"mappings": "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",
|
|
25
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "5C8800968D2B97E564756E2164756E21",
|
|
26
26
|
"names": []
|
|
27
27
|
}
|
package/dist/index.js
CHANGED