{"_id":"@agent-anvil-platform/build-tools","_rev":"5-bd14e44e961a624679393401f6b98180","name":"@agent-anvil-platform/build-tools","dist-tags":{"latest":"0.7.2"},"versions":{"1.0.0":{"name":"@agent-anvil-platform/build-tools","version":"1.0.0","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"author":{"name":"MapleBytes"},"license":"UNLICENSED","_id":"@agent-anvil-platform/build-tools@1.0.0","maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"homepage":"https://gitee.com/XimfengYao/agent-anvil-platform/tree/master/agent-anvil-frontend/packages/build-tools","bugs":{"url":"https://gitee.com/XimfengYao/agent-anvil-platform/issues"},"dist":{"shasum":"28d3813e834953bec044dab34b172e46afdac06e","tarball":"https://registry.npmjs.org/@agent-anvil-platform/build-tools/-/build-tools-1.0.0.tgz","fileCount":18,"integrity":"sha512-yo9gHa8LkTfIdsQP42P6eA/tkRbN8xFliKUNdIMAluJdZaaofyrMs1WgAUQs0x6GUxvFy6+myQvsmU3trZ0FEQ==","signatures":[{"sig":"MEUCIQCCc1PMyieyzBePOe/astn2+NfnL93lcYN1/xwu7wIj2QIgc9zwUyuWnTQggJSAVyPIJZOZJWOz2ZQlx7ZLOKuCxc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79029},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"scripts":{"test":"cd ../.. && npx jest packages/build-tools","build":"tsc && node scripts/copy-assets.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ai-admin-platform","email":"987846224@qq.com"},"repository":{"url":"git+https://gitee.com/XimfengYao/agent-anvil-platform.git","type":"git","directory":"agent-anvil-frontend/packages/build-tools"},"_npmVersion":"10.9.3","description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1","typescript":"^5.6.0","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","@types/node":"^26.2.0","@vitejs/plugin-react":"^6.0.5"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0","@vitejs/plugin-react":"^4.3.0"},"peerDependenciesMeta":{"vite":{"optional":true},"@vitejs/plugin-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/build-tools_1.0.0_1786530383083_0.5790730646687694","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agent-anvil-platform/build-tools","version":"1.0.1","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"author":{"name":"MapleBytes"},"license":"Apache-2.0","_id":"@agent-anvil-platform/build-tools@1.0.1","maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"homepage":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/tree/master/packages/build-tools","bugs":{"url":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/issues"},"dist":{"shasum":"366f7e6b47aaf746cd08c52c24e0f17a988cf42f","tarball":"https://registry.npmjs.org/@agent-anvil-platform/build-tools/-/build-tools-1.0.1.tgz","fileCount":18,"integrity":"sha512-MyzgZJcnFrxtReVmSyxNLzwZE7bl5hhTbeQgj7nh1+GvS0RhiQ6q+lHHlWh90lrdZn2+IqCLGXumJUPHA4TW6w==","signatures":[{"sig":"MEQCIB10Mvn0yaCqUVf1Z+EgGi3zAiBzWH2Z5ualqyaPF77lAiBg19QMmhK5EEToSItsUVWiXjrnKu4J8pzDZ8ca791pBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79002},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"scripts":{"test":"cd ../.. && npx jest packages/build-tools","build":"tsc && node scripts/copy-assets.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ai-admin-platform","email":"987846224@qq.com"},"repository":{"url":"git+https://gitee.com/agent-anvil/agent-anvil-platform-sdk.git","type":"git","directory":"packages/build-tools"},"_npmVersion":"10.9.3","description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1","typescript":"^5.6.0","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","@types/node":"^26.2.0","@vitejs/plugin-react":"^6.0.5"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0","@vitejs/plugin-react":"^4.3.0"},"peerDependenciesMeta":{"vite":{"optional":true},"@vitejs/plugin-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/build-tools_1.0.1_1787013289388_0.14066749035649262","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agent-anvil-platform/build-tools","version":"0.7.0","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"author":{"name":"MapleBytes"},"license":"Apache-2.0","_id":"@agent-anvil-platform/build-tools@0.7.0","maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"homepage":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/tree/master/packages/build-tools","bugs":{"url":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/issues"},"bin":{"anvil-ci-verify":"bin/ci-verify.mjs","anvil-permission-lint":"bin/permission-lint.mjs","anvil-verify-permissions":"bin/verify-permissions.mjs"},"dist":{"shasum":"ea566bba5e807dc576c3ffc0926814228d926e64","tarball":"https://registry.npmjs.org/@agent-anvil-platform/build-tools/-/build-tools-0.7.0.tgz","fileCount":21,"integrity":"sha512-Q+kSqRzHtK4Ib0UAZcquWvs4c2LRhchMg0w892S83sSFAvvzQf9hroe0JTOgbqllKHF9fj600s4meTKxipdKLw==","signatures":[{"sig":"MEUCIQDsztlP9RIm3H4utVVTG1+LUtW55I0TDk6L7qPLKxLrnQIgEKS9ch6zJJI7GApp25nnSWXTTX68p0jhkTPrdyNOsQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHLOYRRoBMSrvByaEx4sgpzy+t3UtxEDGexZN5C4tbFjAiAcetx0yKVFBXPLIEjzDZiZlJu90EJ2iaYS0uMvOQIXTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"scripts":{"docs":"cd ../.. && npx typedoc --entryPoints packages/build-tools/src/index.ts --out docs/api/build-tools","test":"cd ../.. && npx jest packages/build-tools","build":"tsc && node scripts/copy-assets.mjs","ci:verify":"node bin/ci-verify.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","lint:permissions":"node bin/permission-lint.mjs","verify:permissions":"node bin/verify-permissions.mjs"},"_npmUser":{"name":"ai-admin-platform","email":"987846224@qq.com"},"repository":{"url":"git+https://gitee.com/agent-anvil/agent-anvil-platform-sdk.git","type":"git","directory":"packages/build-tools"},"_npmVersion":"10.9.3","description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1","typescript":"^5.6.0","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^8.2.1","ts-jest":"^29.2.5","@types/jest":"^29.5.14","@types/node":"^26.2.0","@vitejs/plugin-react":"^6.0.5"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","@vitejs/plugin-react":"^4.0.0 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"@vitejs/plugin-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/build-tools_0.7.0_1788917565888_0.5321528488144507","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@agent-anvil-platform/build-tools","version":"0.7.1","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"author":{"name":"MapleBytes"},"license":"Apache-2.0","_id":"@agent-anvil-platform/build-tools@0.7.1","maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"homepage":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/tree/master/packages/build-tools","bugs":{"url":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/issues"},"bin":{"anvil-ci-verify":"bin/ci-verify.mjs","anvil-permission-lint":"bin/permission-lint.mjs","anvil-verify-permissions":"bin/verify-permissions.mjs"},"dist":{"shasum":"ce0961d86904d8e518ee31eb92c56334d7e9a1dc","tarball":"https://registry.npmjs.org/@agent-anvil-platform/build-tools/-/build-tools-0.7.1.tgz","fileCount":58,"integrity":"sha512-vGYB3hEn/jwe7QqIfVKwJLThXXkfcsWkDPNXKHw9YRysKr5+90U01GlKRaAD6b3DzQ8aYLxNn3IK22TyXeRPhw==","signatures":[{"sig":"MEQCIF/LdmosSC6BEEonpmc3Zy7wRsia38Jgur/y9mZdUJ12AiBWK+kwiK+DAB59I2ifSUAjrBTZrdGdx+O1v3T4h/sB8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICQbr7Otiw7bky4oQjW9Vl/1vmvM7DM9lveOjv0rzdoSAiEAgxO3VMzl/ro7NgSRr7SVIdIs6szTyjzOzzZfvHmIi7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243354},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"scripts":{"docs":"cd ../.. && npx typedoc --entryPoints packages/build-tools/src/index.ts --out docs/api/build-tools","test":"cd ../.. && npx jest packages/build-tools","build":"tsc && node scripts/copy-assets.mjs","ci:verify":"node bin/ci-verify.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","lint:permissions":"node bin/permission-lint.mjs","verify:permissions":"node bin/verify-permissions.mjs"},"_npmUser":{"name":"ai-admin-platform","email":"987846224@qq.com"},"repository":{"url":"git+https://gitee.com/agent-anvil/agent-anvil-platform-sdk.git","type":"git","directory":"packages/build-tools"},"_npmVersion":"10.9.3","description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1","typescript":"^5.6.0","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^8.2.1","ts-jest":"^29.2.5","@types/jest":"^29.5.14","@types/node":"^26.2.0","@vitejs/plugin-react":"^6.0.5"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","@vitejs/plugin-react":"^4.0.0 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"@vitejs/plugin-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/build-tools_0.7.1_1789008265513_0.6623452175255995","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"_id":"@agent-anvil-platform/build-tools@0.7.2","bin":{"anvil-ci-verify":"bin/ci-verify.mjs","anvil-permission-lint":"bin/permission-lint.mjs","anvil-verify-permissions":"bin/verify-permissions.mjs"},"bugs":{"url":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/issues"},"dist":{"shasum":"1daac26020b5190e9825604762491a44b2c2606c","tarball":"https://registry.npmjs.org/@agent-anvil-platform/build-tools/-/build-tools-0.7.2.tgz","fileCount":58,"integrity":"sha512-fgTvIoMF90S8w24QOgTV7E+sBiKjP1Jeuxu9S9Im/BjucFmX9/eE3/eShb0Wbv/KWe58Lq3E3wZ8mA6ewGYFWw==","signatures":[{"sig":"MEQCIE39dlkTawF2WN3Rg6kueOF6kb7vuqE9vW9rRhRaOh3gAiA+8giWL7UAqQQeWXD5iUaVzoqv2AnDAK1vz+8/xdakLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBTgLlUopASGG1WisC0+8P014J/rf0EexARLukHtfKX/AiAik1IMz//ljY5+8FMF492fC6/iXtjpPamAOKkF9f0yJw=="}],"unpackedSize":246477},"main":"dist/index.js","name":"@agent-anvil-platform/build-tools","type":"module","types":"dist/index.d.ts","author":{"name":"MapleBytes"},"engines":{"node":">=20"},"license":"Apache-2.0","scripts":{"docs":"cd ../.. && npx typedoc --entryPoints packages/build-tools/src/index.ts --out docs/api/build-tools","test":"cd ../.. && npx jest packages/build-tools","build":"tsc && node scripts/copy-assets.mjs","ci:verify":"node bin/ci-verify.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","lint:permissions":"node bin/permission-lint.mjs","verify:permissions":"node bin/verify-permissions.mjs"},"version":"0.7.2","_npmUser":{"name":"ai-admin-platform","email":"987846224@qq.com"},"homepage":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/tree/master/packages/build-tools","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"repository":{"url":"git+https://gitee.com/agent-anvil/agent-anvil-platform-sdk.git","type":"git","directory":"packages/build-tools"},"_npmVersion":"10.9.3","description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","directories":{},"maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1","typescript":"^5.6.0","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^8.2.1","ts-jest":"^29.2.5","@types/jest":"^29.5.14","@types/node":"^26.2.0","@vitejs/plugin-react":"^6.0.5"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0","@vitejs/plugin-react":"^4.0.0 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"@vitejs/plugin-react":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/build-tools_0.7.2_1789009702256_0.011607775778302187"}}},"time":{"created":"2026-08-12T10:26:22.810Z","modified":"2026-09-10T03:08:22.571Z","1.0.0":"2026-08-12T10:26:23.264Z","1.0.1":"2026-08-18T00:34:49.517Z","0.7.0":"2026-09-09T01:32:46.035Z","0.7.1":"2026-09-10T02:44:25.631Z","0.7.2":"2026-09-10T03:08:22.367Z"},"bugs":{"url":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/issues"},"author":{"name":"MapleBytes"},"license":"Apache-2.0","homepage":"https://gitee.com/agent-anvil/agent-anvil-platform-sdk/tree/master/packages/build-tools","keywords":["agent-anvil-platform","vite-plugin","build-tools","plugin"],"repository":{"url":"git+https://gitee.com/agent-anvil/agent-anvil-platform-sdk.git","type":"git","directory":"packages/build-tools"},"description":"agent-anvil Platform 插件前端构建期工具集：vite 插件、plugin.yaml 校验（ajv）、产物契约检查","maintainers":[{"name":"ai-admin-platform","email":"987846224@qq.com"}],"readme":"# @agent-anvil-platform/build-tools\n\nagent-anvil Platform 插件前端的**构建期工具集**（仅 devDependency，不进入运行期产物）。\n\n## 安装\n\n```bash\nnpm i -D @agent-anvil-platform/build-tools\n```\n\n仓库内开发无需安装：本包是 `agent-anvil-frontend` 的 npm workspace 成员，\n`npm install` 后 `node_modules/@agent-anvil-platform/build-tools` 会软链到 `packages/build-tools` 源码目录。\n\n> ⚠️ **CI 顺序约束**：8 个插件前端以 `\"@agent-anvil-platform/build-tools\": \"^2.0.0\"` 声明依赖。\n> 在**仓库外**独立构建插件时，必须先把本包发布到 registry，否则 `npm install` 无法解析。\n\n## 导出内容\n\n| 导出 | 用途 |\n|---|---|\n| `createPluginViteConfig()` | 插件前端多入口打包配置工厂，统一 external / 产物命名 / 目录约定 |\n| `extractMetadata()` | vite 插件，构建期扫描组件并产出 v2 前端元数据 |\n| `collectComponentEntries()` / `collectDomainComponentEntries()` | 组件入口扫描纯函数（单域 / 多域） |\n| `aggregateFrontendMeta()` | 元数据聚合纯函数 |\n| `validateFrontendMeta()` / `assertValidFrontendMeta()` | 基于 ajv 的 schema 校验 |\n| `extractFileMeta()` / `collectExportedNames()` 等 | 抽取器纯函数，供单测与脚本复用 |\n| 类型 | `FrontendMetaV2`、`ComponentMetaV2`、`PluginDomainSource`、`PropMeta` 等 |\n\n典型用法（单域插件前端 `vite.config.ts`）：\n\n```ts\nimport { createPluginViteConfig } from '@agent-anvil-platform/build-tools';\n\nexport default createPluginViteConfig({ pluginName: 'user-mgmt' });\n```\n\n多域用法（system-suite 套件前端，v2.1 新增）：\n\n```ts\nimport { createPluginViteConfig } from '@agent-anvil-platform/build-tools';\n\nexport default createPluginViteConfig({\n  pluginName: 'system-suite',\n  domains: [\n    { name: 'user-mgmt' },\n    { name: 'file-mgmt' },\n    { name: 'dict-mgmt' },\n    // …\n  ],\n});\n```\n\n- 组件源目录：`src/domains/<域名>/<componentDir>/*.tsx`（支持 `src/domains/<域>/component/Xxx/index.tsx` 目录布局）；\n- 产物仍**扁平**输出：`dist/component/{Name}.js`（`ComponentMetaV2.module` 契约不变）；\n- 跨域组件重名会在构建期**显式报错**（产物扁平契约要求组件名全局唯一）；\n- 不传 `domains` 时行为与 v2.0 完全一致（只扫 `src/<componentDir>/`），存量 8 个插件零改动。\n\n## 构建\n\n```bash\nnpm run build      # tsc 编译 + copy-assets 搬运 src/schema/*.json 到 dist/schema/\nnpm run typecheck  # 仅类型检查\nnpm test           # 回到仓库根跑 jest packages/build-tools\n```\n\n> `validate` 在运行期按文件路径读取 `dist/schema/*.json`（单一事实源），\n> 因此本包**不声明 `exports` 字段**，避免限制子路径访问导致 schema 解析失败。\n\n## 发布\n\n```bash\nnpm version <patch|minor|major>\nnpm publish          # prepublishOnly 自动执行 build；registry 取 publishConfig\n```\n","readmeFilename":"README.md"}