{"_id":"@broke_wire/eslink-nexus-core","_rev":"4-5edd9212a50436a9facb034883456017","name":"@broke_wire/eslink-nexus-core","dist-tags":{"latest":"1.0.2"},"versions":{"0.1.0":{"name":"@broke_wire/eslink-nexus-core","version":"0.1.0","keywords":["rbac","core","typescript","framework"],"author":{"name":"FYML"},"license":"MIT","_id":"@broke_wire/eslink-nexus-core@0.1.0","maintainers":[{"name":"broke_wire","email":"1925297567@qq.com"}],"dist":{"shasum":"841c50dd94f93724e533628fb33763e21301000e","tarball":"https://registry.npmjs.org/@broke_wire/eslink-nexus-core/-/eslink-nexus-core-0.1.0.tgz","fileCount":6,"integrity":"sha512-G+NX7v4pDou5Gh2sx3v4+3GBZT4vQw/KtqAivr4A5QeRxeCSckdp0T53c1NFkwdnQcBvoan49w6Qt0KR3qSEHQ==","signatures":[{"sig":"MEUCICVU/wvpVItVUOdB9I9+k2PtYQsjkdHuFhKZemOvLafyAiEAhdzjZGouhoIS4QiGR2TwW6+pPcUKyCGatRteBe0oJRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200344},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7416a8514f573eaa0c6327ad101faa7e931d6df4","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"tsup src/index.ts --dts --format esm,cjs --clean","typecheck":"tsc --noEmit","contract:check":"node ./scripts/contracts/check-contracts.mjs","release:verify":"pnpm run lint && pnpm run typecheck && pnpm run regression:test && pnpm run compatibility:test && pnpm run multi-project:test && pnpm run build && pnpm run contract:check && node ./scripts/release/check-release-readiness.mjs","regression:test":"vitest run test/regression-suite.test.ts test/runtime-start.test.ts test/runtime-resilience.test.ts test/stage3-extension-model.test.ts test/stage4-pilot-adapter.test.ts","compatibility:test":"vitest run test/compatibility-matrix.test.ts","multi-project:test":"vitest run test/stage6-multi-project-replication.test.ts"},"_npmUser":{"name":"broke_wire","email":"1925297567@qq.com"},"_npmVersion":"10.9.0","description":"ESLink Nexus Core runtime kernel for auth, permission, routing and guard orchestration.","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.13.0","devDependencies":{"tsup":"^8.4.0","eslint":"^9.22.0","vitest":"^3.0.8","@eslint/js":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.14","@typescript-eslint/parser":"^8.26.1","@typescript-eslint/eslint-plugin":"^8.26.1"},"_npmOperationalInternal":{"tmp":"tmp/eslink-nexus-core_0.1.0_1773386897691_0.10869964401273746","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@broke_wire/eslink-nexus-core","version":"1.0.0","keywords":["rbac","core","typescript","framework"],"author":{"name":"FYML"},"license":"MIT","_id":"@broke_wire/eslink-nexus-core@1.0.0","maintainers":[{"name":"broke_wire","email":"1925297567@qq.com"}],"dist":{"shasum":"45d7aa3281b31046da166a305ce66e6bf8fbcdd7","tarball":"https://registry.npmjs.org/@broke_wire/eslink-nexus-core/-/eslink-nexus-core-1.0.0.tgz","fileCount":6,"integrity":"sha512-Q7p8pPSOML01TN0wVzUQNAL9E5JFoY2v/jpfZ8iKG8qDyYtcDyO7W2AUy4+W6qQooM8KFjkUJXdQ9bfZbhLurA==","signatures":[{"sig":"MEUCIAmYosH+1boqSZSv85ot1W0XpSFzfvTyGHToBfUydAIAAiEApVMt/w2YjBzjLHZCAnhhqxwoMB6TGbeymPQvi8V95QY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201243},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"edf4131ca1181cbc415cce1c6e9d26b9353bd185","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"tsup src/index.ts --dts --format esm,cjs --clean","typecheck":"tsc --noEmit","contract:check":"node ./scripts/contracts/check-contracts.mjs","release:verify":"pnpm run sensitive:check && pnpm run lint && pnpm run typecheck && pnpm run regression:test && pnpm run compatibility:test && pnpm run multi-project:test && pnpm run build && pnpm run contract:check && node ./scripts/release/check-release-readiness.mjs","regression:test":"vitest run test/regression-suite.test.ts test/runtime-start.test.ts test/runtime-resilience.test.ts test/stage3-extension-model.test.ts test/stage4-pilot-adapter.test.ts","sensitive:check":"bash scripts/ci/check-sensitive-terms.sh","compatibility:test":"vitest run test/compatibility-matrix.test.ts","multi-project:test":"vitest run test/stage6-multi-project-replication.test.ts"},"_npmUser":{"name":"broke_wire","email":"1925297567@qq.com"},"_npmVersion":"10.9.0","description":"ESLink Nexus Core runtime kernel for auth, permission, routing and guard orchestration.","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.13.0","devDependencies":{"tsup":"^8.4.0","eslint":"^9.22.0","vitest":"^3.0.8","@eslint/js":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.14","@typescript-eslint/parser":"^8.26.1","@typescript-eslint/eslint-plugin":"^8.26.1"},"_npmOperationalInternal":{"tmp":"tmp/eslink-nexus-core_1.0.0_1773403935511_0.22934255212704513","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@broke_wire/eslink-nexus-core","version":"1.0.1","keywords":["rbac","core","typescript","framework"],"author":{"name":"FYML"},"license":"MIT","_id":"@broke_wire/eslink-nexus-core@1.0.1","maintainers":[{"name":"broke_wire","email":"1925297567@qq.com"}],"dist":{"shasum":"46604a0ab07f7a07554346d543d11bb95e602cb8","tarball":"https://registry.npmjs.org/@broke_wire/eslink-nexus-core/-/eslink-nexus-core-1.0.1.tgz","fileCount":23,"integrity":"sha512-geqFG01kPlVCJx/OJ04zoj5ffTKWXoBgsos9kdWZiw/Z8g2nArapHqS9lf7mUqPNa4uZFSKhAENLTKPemrvQmA==","signatures":[{"sig":"MEUCIFCbWn3opi9Q3eNOGMLzi00sJ+N4ty/7eO5UuzCjyznKAiEA8NtZYJHoKNTO8rEsqxYkXAH1TwOFmswWTeSmxZzUY3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371184},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"}},"gitHead":"6283e234af42f49443f828d69226d3f3f48ced2c","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"pnpm run build:core && pnpm run build:vite","prepack":"pnpm run docs:build && pnpm run build","typecheck":"tsc --noEmit","build:core":"tsup src/index.ts --dts --format esm,cjs --clean","build:vite":"tsup src/vite/index.ts --dts --format esm --out-dir dist/vite","docs:build":"node ./handbook/scripts/build-docs.mjs","contract:check":"node ./scripts/contracts/check-contracts.mjs","handbook:check":"pnpm run docs:build && bash scripts/ci/check-handbook-boundary.sh && node scripts/ci/check-handbook-site-integrity.mjs","release:verify":"pnpm run sensitive:check && pnpm run handbook:check && pnpm run lint && pnpm run typecheck && pnpm run regression:test && pnpm run compatibility:test && pnpm run multi-project:test && pnpm run docs:build && pnpm run build && pnpm run contract:check && node ./scripts/release/check-release-readiness.mjs","regression:test":"vitest run test/regression-suite.test.ts test/runtime-start.test.ts test/runtime-resilience.test.ts test/stage3-extension-model.test.ts test/stage4-pilot-adapter.test.ts","sensitive:check":"bash scripts/ci/check-sensitive-terms.sh","compatibility:test":"vitest run test/compatibility-matrix.test.ts","multi-project:test":"vitest run test/stage6-multi-project-replication.test.ts"},"_npmUser":{"name":"broke_wire","email":"1925297567@qq.com"},"_npmVersion":"10.9.0","description":"ESLink Nexus Core runtime kernel for auth, permission, routing and guard orchestration.","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.13.0","devDependencies":{"tsup":"^8.4.0","eslint":"^9.22.0","vitest":"^3.0.8","@eslint/js":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.14","@typescript-eslint/parser":"^8.26.1","@typescript-eslint/eslint-plugin":"^8.26.1"},"_npmOperationalInternal":{"tmp":"tmp/eslink-nexus-core_1.0.1_1773496070501_0.15942095502206177","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@broke_wire/eslink-nexus-core","version":"1.0.2","description":"ESLink Nexus Core runtime kernel for auth, permission, routing and guard orchestration.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"}},"scripts":{"docs:build":"node ./handbook/scripts/build-docs.mjs","sensitive:check":"bash scripts/ci/check-sensitive-terms.sh","handbook:check":"pnpm run docs:build && bash scripts/ci/check-handbook-boundary.sh && node scripts/ci/check-handbook-site-integrity.mjs","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit","test":"vitest run","regression:test":"vitest run test/regression-suite.test.ts test/runtime-start.test.ts test/runtime-resilience.test.ts test/stage3-extension-model.test.ts test/stage4-pilot-adapter.test.ts","compatibility:test":"vitest run test/compatibility-matrix.test.ts","multi-project:test":"vitest run test/stage6-multi-project-replication.test.ts","build:core":"tsup src/index.ts --dts --format esm,cjs --clean","build:vite":"tsup src/vite/index.ts --dts --format esm --out-dir dist/vite","build":"pnpm run build:core && pnpm run build:vite","contract:check":"node ./scripts/contracts/check-contracts.mjs","release:verify":"pnpm run sensitive:check && pnpm run handbook:check && pnpm run lint && pnpm run typecheck && pnpm run regression:test && pnpm run compatibility:test && pnpm run multi-project:test && pnpm run docs:build && pnpm run build && pnpm run contract:check && node ./scripts/release/check-release-readiness.mjs","prepack":"pnpm run docs:build && pnpm run build"},"keywords":["rbac","core","typescript","framework"],"author":{"name":"FYML"},"license":"MIT","engines":{"node":">=20.0.0"},"packageManager":"pnpm@9.13.0","devDependencies":{"@eslint/js":"^9.22.0","@types/node":"^22.13.14","@typescript-eslint/eslint-plugin":"^8.26.1","@typescript-eslint/parser":"^8.26.1","eslint":"^9.22.0","tsup":"^8.4.0","typescript":"^5.8.2","vitest":"^3.0.8"},"_id":"@broke_wire/eslink-nexus-core@1.0.2","gitHead":"6283e234af42f49443f828d69226d3f3f48ced2c","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-j2VrCxs69AUzcUklbMMfNjpyTNBrJ3ttn3uz1h73s2R+vAo09p28REhyh2tI2OqaqjWoG+NR3Vj/h4TXFAVccA==","shasum":"7554942ae19469ac68d4f8a027d29eaacec8dd91","tarball":"https://registry.npmjs.org/@broke_wire/eslink-nexus-core/-/eslink-nexus-core-1.0.2.tgz","fileCount":23,"unpackedSize":371915,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB0/bYIwEwn6apxM7TPmIbiOckYw9w3YSuIrKGBOFlRUAiEA7b9JZ+0U+pL4ITj7yuRPIwPAFZ5dLzz6WC7a4RM7iS4="}]},"_npmUser":{"name":"broke_wire","email":"1925297567@qq.com"},"directories":{},"maintainers":[{"name":"broke_wire","email":"1925297567@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslink-nexus-core_1.0.2_1773497301504_0.07606309816366341"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T07:28:17.573Z","modified":"2026-03-14T14:08:21.790Z","0.1.0":"2026-03-13T07:28:17.882Z","1.0.0":"2026-03-13T12:12:15.665Z","1.0.1":"2026-03-14T13:47:50.681Z","1.0.2":"2026-03-14T14:08:21.668Z"},"author":{"name":"FYML"},"license":"MIT","keywords":["rbac","core","typescript","framework"],"description":"ESLink Nexus Core runtime kernel for auth, permission, routing and guard orchestration.","maintainers":[{"name":"broke_wire","email":"1925297567@qq.com"}],"readme":"# ESLink Nexus Core\n\n`ESLink Nexus Core` 是面向多业务项目复用的前端核心运行时框架。\n\n目标：\n\n- 统一登录、菜单、路由、权限、守卫、401 失效处理的核心能力\n- 让业务项目只做项目适配（接口、字段映射、主题、页面组件）\n- 让核心升级可控、可回滚、可追溯\n\n## 一、架构定位\n\n三层职责固定：\n\n1. `RBAC 控制面`：统一账号、角色、菜单、权限码、数据边界、业主单位配置发布\n2. `Nexus Core 运行面`：认证编排、权限上下文、路由装配、守卫策略、请求中间层\n3. `业务应用层`：业务页面、业务 API、业务样式和模块功能\n\n核心原则：\n\n- 核心不反向依赖业务\n- 外部差异通过 Adapter/Strategy/Hook 注入\n- 先稳边界与契约，再扩功能\n- `eslink-central` 仅用于复盘借鉴，不作为代码迁移源\n\n## 二、当前阶段\n\n当前仓库已完成阶段 6（多项目复制接入），当前状态：\n\n- 阶段 0/1（复盘冻结 + 契约冻结）已完成\n- 阶段 2（状态机 + runtime 编排 + 契约校验 + 最小降级）已完成\n- 阶段 3（Adapter/Strategy/Hook 扩展模型）已完成\n- 阶段 4（首个试点项目适配验证）已完成\n- 阶段 5（质量门禁与发布机制）已完成\n- 阶段 6（多项目复制接入）已完成\n- Core V1 阶段 0~6 全部闭环完成\n\n## 三、核心文档目录\n\n- `docs/core-v1/coding-standards.md`：编码规范 V1（冻结版）\n- `docs/core-v1/architecture-blueprint.md`：Core V1 架构蓝图（冻结版）\n- `docs/core-v1/reference-review-eslink-central.md`：eslink-central 复盘参考（仅借鉴）\n- `docs/core-v1/build-roadmap.md`：从零建设路线图\n- `docs/core-v1/stage-0-1-task-plan.md`：阶段 0/1 执行任务清单（冻结版）\n- `docs/core-v1/stage-0-gate-pass-record.md`：阶段0 Gate 通过记录（S0-T01 ~ S0-T06）\n- `docs/core-v1/contract-terminology-v1.md`：契约术语清单 V1（S1-T01 冻结版）\n- `docs/core-v1/stage-1-s1-t01-pass-record.md`：阶段1 S1-T01 通过记录\n- `docs/core-v1/core-config-v1.md`：CoreConfig v1 字段冻结规范（S1-T02）\n- `docs/core-v1/stage-1-s1-t02-pass-record.md`：阶段1 S1-T02 通过记录\n- `docs/core-v1/auth-permission-context-v1.md`：AuthContext / PermissionContext v1 冻结规范（S1-T03）\n- `docs/core-v1/stage-1-s1-t03-pass-record.md`：阶段1 S1-T03 通过记录\n- `docs/core-v1/manifest-v1.md`：Manifest v1 冻结规范（S1-T04）\n- `docs/core-v1/stage-1-s1-t04-pass-record.md`：阶段1 S1-T04 通过记录\n- `docs/core-v1/guard-error-v1.md`：GuardDecision / NexusError v1 冻结规范（S1-T05）\n- `docs/core-v1/stage-1-s1-t05-pass-record.md`：阶段1 S1-T05 通过记录\n- `docs/core-v1/version-handshake-v1.md`：版本握手策略 v1（S1-T06）\n- `docs/core-v1/stage-1-s1-t06-pass-record.md`：阶段1 S1-T06 通过记录\n- `docs/core-v1/contract-validation-failure-v1.md`：契约校验与失败策略 v1（S1-T07）\n- `docs/core-v1/stage-1-s1-t07-pass-record.md`：阶段1 S1-T07 通过记录\n- `docs/core-v1/adapter-minimal-sample-v1.md`：最小 Adapter 接入样例 v1（S1-T08）\n- `docs/core-v1/stage-1-s1-t08-pass-record.md`：阶段1 S1-T08 通过记录\n- `docs/core-v1/stage-1-gate-pass-record.md`：阶段1 Gate 通过记录（S1-T01 ~ S1-T09）\n- `docs/core-v1/stage-2-task-plan.md`：阶段2 执行任务清单（S2-T01 ~ S2-T06）\n- `docs/core-v1/stage-2-gate-pass-record.md`：阶段2 Gate 通过记录（S2-T01 ~ S2-T06）\n- `docs/core-v1/stage-3-task-plan.md`：阶段3 执行任务清单（S3-T01 ~ S3-T06）\n- `docs/core-v1/stage-3-gate-pass-record.md`：阶段3 Gate 通过记录（S3-T01 ~ S3-T06）\n- `docs/core-v1/stage-4-task-plan.md`：阶段4 执行任务清单（S4-T01 ~ S4-T06）\n- `docs/core-v1/stage-4-pilot-adapter-validation.md`：阶段4 试点 Adapter 验证记录\n- `docs/core-v1/stage-4-gate-pass-record.md`：阶段4 Gate 通过记录（S4-T01 ~ S4-T06）\n- `docs/core-v1/stage-5-task-plan.md`：阶段5 执行任务清单（S5-T01 ~ S5-T07）\n- `docs/core-v1/stage-5-quality-release-governance.md`：阶段5 质量与发布治理规范\n- `docs/core-v1/stage-5-regression-suite-spec.md`：阶段5 最小回归集规范\n- `docs/core-v1/stage-5-compatibility-matrix.md`：阶段5 兼容矩阵规范\n- `docs/core-v1/stage-5-gate-pass-record.md`：阶段5 Gate 通过记录（S5-T01 ~ S5-T07）\n- `docs/core-v1/stage-6-task-plan.md`：阶段6 执行任务清单（S6-T01 ~ S6-T06）\n- `docs/core-v1/stage-6-multi-project-onboarding.md`：阶段6 多项目接入手册\n- `docs/core-v1/stage-6-troubleshooting-guide.md`：阶段6 故障排查手册\n- `docs/core-v1/stage-6-upgrade-guide.md`：阶段6 升级指南\n- `docs/core-v1/stage-6-gate-pass-record.md`：阶段6 Gate 通过记录（S6-T01 ~ S6-T06）\n- `docs/core-v1/sensitive-term-banlist-v1.md`：敏感词禁用清单 V1（严格模式）\n- `docs/core-v1/sensitive-term-neutral-dictionary-v1.md`：敏感词中性替代字典 V1（严格模式）\n- `docs/release/templates/release-note-template.md`：Release Note 模板\n- `docs/release/templates/migration-guide-template.md`：Migration Guide 模板\n- `docs/release/templates/rollback-playbook-template.md`：Rollback Playbook 模板\n- `docs/release/npm-manual-publish-sop.md`：npm 手动发布标准流程（SOP）\n\n## 四、执行层目录\n\n- `AGENTS.md`：人类与 AI 开发执行约束\n- `handbook/AGENTS.md`：开发者手册独占区执行约束\n- `.github/pull_request_template.md`：PR 强制检查模板\n- `.github/workflows/quality-gates.yml`：CI 质量门禁\n- `scripts/ci/check-frozen-docs.sh`：冻结文档与规则基线检查\n- `scripts/ci/check-handbook-boundary.sh`：handbook 独占区边界与结构检查\n- `scripts/ci/check-handbook-site-integrity.mjs`：handbook 站点完整性检查（锚点/折叠/复制按钮/资源路径）\n- `scripts/ci/run-project-gates.sh`：项目脚本门禁（lint/typecheck/test/build/contract:check）\n- `docs/adr/README.md`：ADR 流程说明\n- `docs/adr/template.md`：ADR 模板\n- `docs/adr/0001-governance-baseline.md`：治理基线 ADR\n\n## 五、本地检查\n\n```bash\nbash scripts/ci/check-frozen-docs.sh\nbash scripts/ci/check-handbook-boundary.sh\nnode scripts/ci/check-handbook-site-integrity.mjs\nbash scripts/ci/run-project-gates.sh\n```\n\n## 六、开发者手册网页（本地）\n\n宿主项目可通过 Vite 开发插件访问手册网页，默认路径：`/_nexus/docs`。\n\n接入示例：\n\n```ts\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { nexusDocsPlugin } from '@broke_wire/eslink-nexus-core/vite'\n\nexport default defineConfig({\n  plugins: [vue(), nexusDocsPlugin({ route: '/_nexus/docs' })],\n})\n```\n\n说明：\n\n1. 插件为 `serve-only`（仅开发环境生效）。\n2. 生产构建自动忽略手册网页资源。\n3. 手册页面内置教学资源入口（`/_nexus/docs/resources/*`）。\n","readmeFilename":"README.md"}