Skip to content

Scripts 命令与开发工作流

Scripts 命令一览

开发

命令说明
pnpm dev同时启动主扩展和 Webview 编辑器的 watch 模式
pnpm main:dev仅启动主扩展的 Webpack watch 模式
pnpm editor:dev仅启动 Webview 编辑器的 Vite watch 模式
pnpm i18n:dev监听 locales/ 目录变化,自动重新编译插件自身的 i18n 文件

构建

命令说明
pnpm build完整构建:清理 dist → 编译 i18n → Webpack 打包 → Vite 构建 Webview → 后处理
pnpm main:build仅 Webpack 打包主扩展,输出 extension.js
pnpm editor:build仅 Vite 构建 Webview 编辑器,输出到 res/editor/
pnpm i18n:build编译插件自身的 i18n 翻译文件
pnpm vsce:pack完整构建 + 打包为 .vsix 文件

测试

命令说明
pnpm test运行单元测试(等同于 test:unit
pnpm test:unit使用 ts-mocha 运行 test/unit/ 下的单元测试
pnpm test:update运行单元测试并更新所有 snapshot
pnpm test:e2e在真实 VS Code 环境中运行 test/e2e/ 下的 E2E 测试
pnpm test:e2e:update运行 E2E 测试并更新所有 snapshot
pnpm test:fixture运行字符串提取的 fixture 集成测试(仅在 GitHub Actions 中可靠运行,本地环境可能因 VS Code 实例时序问题失败)

发布

命令说明
pnpm release完整发布流程:构建 → patch 版本号 → 打包 vsix
pnpm release:patch使用 standard-version 递增 patch 版本并推送 tag
pnpm release:minor使用 standard-version 递增 minor 版本并推送 tag

其他

命令说明
pnpm lintESLint 检查
pnpm lint:fixESLint 自动修复
pnpm docs:dev启动文档站点开发服务器
pnpm docs:build构建文档站点

日常开发工作流

1. 启动开发环境

bash
pnpm dev

然后在 VS Code 中按 F5 启动扩展调试宿主(Extension Development Host)。

2. 修改代码后测试

bash
pnpm test:unit

# 如果修改了 snapshot 相关逻辑,更新 snapshot
pnpm test:update

3. 打包并本地安装测试

bash
pnpm vsce:pack

# 安装到当前 IDE
code --install-extension ./i18n-ally-next-*.vsix --force

4. 提交 Pull Request (PR)

提交 PR 时,请确保使用提供的 PR 模板,并符合以下要求:

  1. AI 辅助比例:明确说明 AI 生成或辅助编写的代码比例。
  2. 类型:说明这是一个 fix(修复 Bug)还是 feat(新功能)。
  3. 示例与测试
    • 如果添加了新框架或功能,请提供相关示例,并编写单元测试或 E2E 测试。
    • 如果修复 Bug,请在 examples/by-fixtures/issue-<n> 添加用于复现的 fixture,并在 test/e2e/fixtures/issue-<n> 添加对应的 E2E 测试。
  4. 文档:如果你的 PR 修改了面向用户的功能或开发者指南,请更新 docs/ 目录下的相关文档。

5. AI 代码审查 (GitHub Copilot)

我们在开发工作流中推荐使用 GitHub Copilot 来协助 PR 代码审查。

在提交 PR 后,作为维护者,请在 Reviewers 选项中分配 Copilot 进行自动化代码审查,以确保 PR 符合规范并检查是否存在潜在问题。

6. 发布新版本

bash
pnpm release

环境变量

变量说明
I18N_ALLY_ENVproduction / development / test控制构建模式和运行时行为
CHAI_JEST_SNAPSHOT_UPDATE_ALLtrue设置后运行测试时自动更新所有 snapshot

Released under the MIT License.