e904b667c6
Build/Publish Develop Docs / deploy (push) Failing after 1s
PaddleOCR Code Style Check / check-code-style (push) Failing after 1s
PaddleOCR PR Tests GPU / detect-changes (push) Failing after 1s
PaddleOCR PR Tests / detect-changes (push) Failing after 1s
PaddleOCR PR Tests GPU / test-pr-gpu (push) Has been cancelled
PaddleOCR PR Tests / test-pr (push) Has been cancelled
PaddleOCR PR Tests GPU / test-pr-gpu-impl (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.13) (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.8) (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.9) (push) Has been cancelled
1.7 KiB
1.7 KiB
Monorepo 约定
English | 简体中文
命令与 workspace
当您只想操作一个 workspace 时,请在仓库根目录使用带显式路径的 workspace 命令:
npm run build --workspace packages/core
npm run dev --workspace apps/demo
(在包名没有歧义时,也可以直接使用 workspace 的包名,例如 npm run dev --workspace demo。)
Workspace 角色
packages/*:可复用包;SDK 位于packages/core,但其 npm 包名 仍为@paddleocr/paddleocr-jsapps/*:私有应用(如apps/demo),不作为 npm 产品发布
版本与发布
- 目录:
packages/core— 对外 npm 包的源码与发布清单 - npm 包名:
@paddleocr/paddleocr-js— 用户npm install后在代码中实际导入的名称 - 目录:
apps/demo— 私有 demo,不是 npm 发布目标 - 版本由 Changesets 管理;demo 包在
.changeset/config.json中被忽略 npm run release会构建 SDK 并通过changeset publish发布packages/core的prepublishOnly会在npm publish/npm pack前自动执行构建
Lint 与测试
packages/**/src/**/*.ts使用strictTypeCheckedTypeScript 规则,并启用面向浏览器的全局变量packages/**/test/**/*.ts使用较轻的recommendedTypeChecked规则集(浏览器 + Node 全局),并放宽部分规则,例如no-unsafe-*和no-explicit-anyapps/**/src/**/*.ts同样使用strictTypeCheckedTypeScript 规则与浏览器全局变量apps/**/*.js、仓库根目录配置文件(*.config.{js,ts})以及包内配置文件(packages/**/*.config.*)使用基础 ESLint 规则,同时启用 Node 与浏览器全局