# lytd **Repository Path**: lytorg/lytd ## Basic Information - **Project Name**: lytd - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-01 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lytd — TypeScript 工具链 > 构建 + 测试 + 文档 + Dev Server,一站式 TypeScript 开发工具链。 [![npm version](https://img.shields.io/badge/npm-v0.1.0--alpha.2-orange?logo=npm)](https://www.npmjs.com/package/@lytd/cli) [![status](https://img.shields.io/badge/status-alpha-red?logo=git-lfs)](https://shields.io/) [![license](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![node version](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen?logo=node.js)](https://nodejs.org/) **当前版本:v0.1.0-alpha.2** — 处于早期开发阶段,不推荐生产环境使用。 --- ## 真实上手路径 **不是 30 秒。** 这是一个 alpha 阶段的工具链,配置比 Vite 复杂,生态差几个数量级。 ### 前置要求 | 工具 | 版本要求 | 说明 | |------|----------|------| | **Node.js** | `>= 22.0.0` | 依赖 ESM 和 Node.js 新 API | | **pnpm** | `>= 8.x` | Monorepo 管理 | ### 从仓库体验(唯一可靠的方式) ```bash # 1. 克隆仓库 git clone https://gitee.com/lytorg/lytd.git && cd lytd # 2. 安装依赖(包含 esbuild / typescript 等引擎) pnpm install # 3. 跑完整 CI 验证工具链本身 pnpm run ci # 4. 进入示例项目构建 cd examples/01-simple-lib && pnpm run build ``` ### 全局安装(不推荐,alpha 阶段问题多) ```bash npm install -g @lytd/cli lytd build src/index.ts ``` --- ## 它是什么 lytd 是一个**自研为主**的 TypeScript 工具链,核心特点是**零业务第三方依赖**——所有第三方能力(esbuild / typescript / postcss)都通过引擎抽象层隔离,业务代码不直接 import。 ### 引擎架构 ``` 业务代码 → 抽象接口(TransformEngine / BundleEngine / ...) ↓ EngineManager(统一调度) ↓ 引擎注册表(Registry) ├─ esbuild (bundle/transform,优先) ├─ self (bundle/transform,兜底) ├─ typescript (typeDecl/typeCheck) └─ postcss (css,优先) / self (css,兜底) ``` 默认策略:**第三方成熟引擎优先,自研引擎作为 fallback**。 --- ## 核心能力 ### 已实现(可用) | 能力 | 实现方式 | 成熟度 | |------|----------|--------| | **TypeScript 语法转换** | 自研 tokenizer + esbuild 双引擎 | beta | | **Bundle 打包** | esbuild + 自研 fallback | beta | | **Tree-Shaking** | used-export propagation | experimental | | **Dev Server + HMR** | Koa + WebSocket,自研协议 | beta | | **CSS / SCSS** | 自研 SCSS 编译器 + postcss | experimental | | **.d.ts 生成** | typescript 引擎 + 自研兜底 | beta | | **类型检查** | tsc 直接调用 | beta | | **LSP** | 自研零依赖实现 | experimental | | **测试框架** | 自研 BDD 风格 | beta | | **文档生成** | 从源码提取 JSDoc | beta | | **Monorepo 支持** | workspaces + changesets | experimental | | **插件系统** | 钩子机制,20+ 官方插件 | experimental | ### 未实现 / 不完整 - **生产级 SSR** — 有骨架但未验证 - **代码分割优化** — 基础可用,策略简单 - **高级 LSP 能力** — Semantic Tokens / Inlay Hints 等处于早期 - **Source Map 完整链路** — 部分场景丢失 - **框架插件稳定性** — Vue/Svelte/Solid 插件未经过生产验证 --- ## 已知劣势(诚实版) ### 与 Vite 对比 | 维度 | lytd (alpha) | Vite 8 | 差距说明 | |------|-------------|--------|----------| | **冷启动速度** | 慢 | 快 | Vite 用 Native ESM,lytd 走 bundle 路径,首屏慢 2-5x | | **HMR 速度** | 中 | 快 | 大项目下 lytd 需要重建依赖图,Vite 单模块失效 | | **插件生态** | 20+ 官方 | 4870+ (npm) | 数量级差距,常用插件可能缺失 | | **生产构建速度** | 快(esbuild) | 快(esbuild + Rollup) | 生产构建相近,但 Vite 的 Rollup 优化更成熟 | | **框架支持** | 基础 | 官方级 | React/Vue 等框架的深度集成远不如 Vite | | **稳定性** | alpha | 稳定 | 不推荐生产使用 | | **社区支持** | 几乎没有 | 庞大 | 遇到问题大概率要自己修 | | **外部依赖数** | 3(引擎层,可选) | 100+ | 供应链攻击面更小,但功能也少 | ### 为什么你**不应该**用 lytd - 需要生产级稳定性 → 用 Vite - 需要成熟的插件生态 → 用 Vite / Webpack - 需要 React / Vue 官方级支持 → 用 Vite - 需要海量文档和社区答案 → 用任何主流工具 ### 为什么你**可能会**用 lytd - **供应链安全要求高**:核心业务零第三方依赖,所有第三方通过引擎层隔离,可随时替换 - **想搞懂工具链原理**:代码结构相对清晰,自研部分适合学习 - **一体化体验**:构建 + 测试 + 文档 + LSP 一套配置搞定 - **可自举**:工具链自己构建自己 --- ## 包结构 共 10 个包。 ### 核心包 | 包名 | 说明 | 层级 | |------|------|------| | **@lytd/dev** | 核心工具链库,50+ 子模块 | L1 底层 | | **@lytd/build** | 构建工具封装 | L2 工具层 | | **@lytd/test** | 测试框架 | L2 工具层 | | **@lytd/docs** | 文档生成器 | L2 工具层 | | **@lytd/cli** | 统一 CLI 入口 | L3 应用层 | | **@lytd/i18n** | 国际化支持 | L3 应用层 | ### 脚手架与配置包 | 包名 | 说明 | |------|------| | **@lytd/create-plugin** | 插件开发脚手架 | | **@lytd/eslint-config** | 共享 ESLint 配置 | | **@lytd/editorconfig** | 共享 editorconfig | ### IDE 扩展 | 包名 | 说明 | |------|------| | **vscode-extension** | VS Code 扩展 | --- ## 常用命令 ```bash # 完整 CI 流水线 pnpm run ci # 构建 / 测试 / 文档 pnpm run build pnpm run test pnpm run docs # Lint 检查 pnpm run lint pnpm run lint:naming pnpm run lint:dep-graph pnpm run lint:ssot # 健康检查 pnpm run doctor # 开发模式 node packages/lytd-cli/src/index.mjs dev --dir=examples/02-react-like-app # 基准测试 pnpm run benchmark ``` 完整命令参考:[用户指南](docs/guides/user-guide.md) --- ## 项目结构 ``` lytd/ ├── packages/ # 10 个包 │ ├── lytd-dev/ # 核心库(最底层,50+ 子模块) │ ├── lytd-build/ # 构建工具 │ ├── lytd-test/ # 测试框架 │ ├── lytd-docs/ # 文档生成器 │ ├── lytd-cli/ # 统一 CLI 入口 │ ├── lytd-i18n/ # 国际化 │ ├── create-lytd-plugin/ # 插件脚手架 │ ├── eslint-config/ # ESLint 配置 │ ├── editorconfig/ # editorconfig │ └── vscode-extension/ # VS Code 扩展 ├── scripts/ # CI 脚本(纯 .mjs) ├── docs/ # 文档 ├── examples/ # 示例项目 └── .github/workflows/ # CI 配置 ``` --- ## 贡献 欢迎贡献,但请管理好预期——这是一个 alpha 阶段项目,很多地方不完善。 ```bash git clone https://gitee.com/lytorg/lytd.git cd lytd pnpm install pnpm run ci ``` 提交前请确保: - [ ] `pnpm run lint` 通过 - [ ] `pnpm run test` 通过 - [ ] `pnpm run build` 通过 - [ ] 相关文档已更新 - [ ] Commit 信息符合 Conventional Commits --- ## 许可证 MIT License Copyright (c) 2024 idcu