mcpField
E
elements-new-package

elements-new-package

github.com/editframe开发1976 次安装2 周前更新
代码仓库

关于 elements-new-package

这是用于在 Elements 仓库中创建 `@editframe/*` 工作区包的技能,可自动生成所需文件并注册 TypeScript 路径别名,也提供发布与依赖维护说明。

主要功能

  1. 01生成工作区包文件
  2. 02注册 TypeScript 路径别名
  3. 03配置包导出与构建
  4. 04说明 npm 发布步骤

适用场景

  1. 01创建新的 Elements 包
  2. 02为包注册导入路径
  3. 03准备将包发布到 npm

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/editframe/skills --skill elements-new-package

安装后在 Claude Code 中输入/elements-new-package确认已加载。

详细介绍

创建新的 Elements 包

使用 scripts/new-package 为新的 @editframe/* 工作区包搭建脚手架。它会创建所有必需文件,并在 tsconfig.json 中注册该包——这是路径别名的唯一事实来源。

快速开始

# From the elements/ directory (or via the runner)
./scripts/new-package <name>
# e.g. ./scripts/new-package captions

# Then install to symlink the workspace package
./scripts/npm install

脚本的作用

创建 packages/<name>/,其中包含:

  • src/index.ts — 空导出占位文件
  • package.json — 正确的版本、ESM 导出和 publishConfig.access: "public"
  • tsconfig.json — 继承根配置
  • tsdown.config.ts — 最简构建配置

在 elements/tsconfig.json 中添加路径条目:

"@editframe/<name>": ["./packages/<name>/src/index.ts"]

两个 vitest 配置(vitest.config.ts、vitest.config.browser.ts)都会通过 vitest.aliases.ts 自动从 tsconfig.json 派生别名——无需手动更新。

将新包发布到 npm

CI 通过 OIDC 可信发布进行发布(不存储令牌)。OIDC 要求先在 npm 上创建包,才能配置可信发布,因此首次发布需要手动完成:

# One-time, run locally while logged in to npm
npm publish --access public --workspace @editframe/<name>

首次发布后:

  1. 前往 npmjs.com → @editframe/<name> → Settings → Trusted Publisher
  2. 添加 GitHub Actions:仓库 editframe/elements、工作流 release.yaml、环境 npm-publish

之后的所有版本都会通过 CI 自动发布。

注册路径别名

只需在 tsconfig.json 中添加条目。脚本会自动添加。如果需要,子路径导出(例如 @editframe/foo/node)必须手动添加到 tsconfig.json 中——基础别名通过 Vite 前缀替换即可自然处理子路径导入,因此只有不符合 src/<name>.ts 模式的文件才需要显式添加条目。

添加对其他工作区包的依赖

在新包的 package.json 中,将同级包添加到 dependencies,并使用当前工作区版本(查看根目录的 package.json)。运行 ./scripts/npm install 以重新创建符号链接。版本升级后运行 ./scripts/node scripts/deps.js update-dependencies,使所有跨包版本固定保持同步。

评论

支持 Markdown