mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +00:00
refactor: 用 Bun 原生 define 替换 cli.tsx 中的 globalThis 注入
- 删除 cli.tsx 顶部的 globalThis.MACRO / BUILD_* / feature polyfill - 新增 scripts/defines.ts 作为 MACRO define 映射的单一来源 - 新增 scripts/dev.ts,通过 bun run -d 在转译时注入 MACRO 常量 - build.ts 引用 getMacroDefines() 实现构建时内联 - 清理 global.d.ts (移除 BUILD_*, MACRO 函数声明) - 55 个 MACRO 消费文件零改动 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
12
src/types/global.d.ts
vendored
12
src/types/global.d.ts
vendored
@@ -4,9 +4,8 @@
|
||||
*/
|
||||
|
||||
// ============================================================================
|
||||
// MACRO — Bun compile-time macro function (from bun:bundle)
|
||||
// Expands the function body at build time and removes the call in production.
|
||||
// Also supports property access like MACRO.VERSION (compile-time constants).
|
||||
// MACRO — Bun compile-time constants injected via bunfig.toml [define] (dev)
|
||||
// and Bun.build({ define }) (production). See bunfig.toml & build.ts.
|
||||
declare namespace MACRO {
|
||||
export const VERSION: string
|
||||
export const BUILD_TIME: string
|
||||
@@ -16,7 +15,6 @@ declare namespace MACRO {
|
||||
export const PACKAGE_URL: string
|
||||
export const VERSION_CHANGELOG: string
|
||||
}
|
||||
declare function MACRO<T>(fn: () => T): T
|
||||
|
||||
// ============================================================================
|
||||
// Internal Anthropic-only identifiers (dead-code eliminated in open-source)
|
||||
@@ -62,11 +60,7 @@ declare type T = unknown
|
||||
declare function TungstenPill(props?: { key?: string; selected?: boolean }): JSX.Element | null
|
||||
|
||||
// ============================================================================
|
||||
// Build-time constants — replaced by Bun bundler, polyfilled at runtime
|
||||
// Using `string` (not literal types) so comparisons don't produce TS2367
|
||||
declare const BUILD_TARGET: string
|
||||
declare const BUILD_ENV: string
|
||||
declare const INTERFACE_TYPE: string
|
||||
// Build-time constants BUILD_TARGET/BUILD_ENV/INTERFACE_TYPE — removed (zero runtime usage)
|
||||
|
||||
// ============================================================================
|
||||
// Ink custom JSX intrinsic elements — see src/types/ink-jsx.d.ts
|
||||
|
||||
1
src/types/internal-modules.d.ts
vendored
1
src/types/internal-modules.d.ts
vendored
@@ -9,7 +9,6 @@
|
||||
// ============================================================================
|
||||
declare module "bun:bundle" {
|
||||
export function feature(name: string): boolean;
|
||||
export function MACRO<T>(fn: () => T): T;
|
||||
}
|
||||
|
||||
declare module "bun:ffi" {
|
||||
|
||||
Reference in New Issue
Block a user