Skip to content

docs: add @objectql/core deprecation & migration plan to ROADMAP.md#396

Merged
hotlong merged 2 commits intomainfrom
copilot/update-roadmap-for-objectql
Feb 16, 2026
Merged

docs: add @objectql/core deprecation & migration plan to ROADMAP.md#396
hotlong merged 2 commits intomainfrom
copilot/update-roadmap-for-objectql

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 16, 2026

Following the completed core refactoring (PR #373, ~3,500 → 734 LOC), documents the phased plan to fully retire @objectql/core in favor of the pure plugin architecture mandated by @objectstack/spec.

Migration Plan (new section)

  • Phase A (v4.3): Decompose ObjectQLPlugin aggregator (323 LOC) — consumers switch from monolithic options object to explicit plugin composition
  • Phase B (v4.3): Dispose ObjectQL bridge class (168 LOC) — MetadataRegistry logic moves to @objectql/platform-node
  • Phase C (v4.3): Delete kernel-factory.ts, repository.ts; move util.ts to @objectql/types
  • Phase D (Q4 2026): Publish @objectql/core@5.0.0 as empty meta-package with peerDependencies

Target form:

const kernel = new ObjectStackKernel([
  new ObjectQLPlugin({ datasources: { default: new SqlDriver({ url }) } }),
  new QueryPlugin(),
  new ValidatorPlugin(),
  new FormulaPlugin(),
  new SecurityPlugin(),
  new HonoServerPlugin({ port: 3004 }),
]);

Other updates

  • Package Matrix: @objectql/core marked ⚠️ Deprecated with link to migration plan
  • Q4 Part B: Cross-references Phase D in v5.0 stabilization table
  • ADR-010: Architecture Decision Record for full deprecation rationale
  • 2026 Strategy table: Q4 row updated to reflect core deprecation milestone
Original prompt

根据 objectstack-ai/objectql 仓库中已完成的 @objectql/core 重构(PR #373),@objectql/core 已从 ~3,500 LOC 瘦身至 734 LOC 的 thin bridge + plugin orchestrator,并且 package.json 已标注 deprecated。

宪法依据:@objectstack/spec 是上游协议规范,所有开发必须遵循此协议。当前 @objectql/core 的残余中间层违背了 ObjectStack 微内核 + 插件架构的设计哲学。

任务

  1. 更新 Roadmap

在项目的 Roadmap 文档中添加/更新以下迁移计划:

目标:彻底作废 @objectql/core,本项目以纯插件生态形态存在。

迁移阶段:

Phase A: 消灭 ObjectQLPlugin 聚合器 (v4.3)

将 @objectql/core 中的 plugin.ts(323 LOC 聚合器)拆散
消费者从 new ObjectQLPlugin({ enableRepository, enableQueryService, enableValidator, enableFormulas, datasources }) 一键启用
迁移为显式组合各独立插件:
// 目标形态 — 显式、透明、无魔法
import { ObjectQLPlugin } from '@objectstack/objectql'; // 上游数据引擎
import { QueryPlugin } from '@objectql/plugin-query';
import { ValidatorPlugin } from '@objectql/plugin-validator';
import { FormulaPlugin } from '@objectql/plugin-formula';
Phase B: 处置 Bridge Class (v4.3)

将 app.ts(168 LOC bridge class)的 MetadataRegistry 桥接逻辑移入 @objectql/platform-node
ObjectLoader 直接注册到上游 SchemaRegistry,不再需要中间层
Phase C: 处置其余模块 (v4.3)

kernel-factory.ts → 删除,用户直接 new ObjectStackKernel([...plugins])
repository.ts → 删除,直接 import { ObjectRepository } from '@objectstack/objectql'
util.ts → 移入 @objectql/types(纯函数,与类型包定位一致)
Phase D: v5.0 Breaking Release (Q4 2026)

彻底删除 @objectql/core 包内容
发布 @objectql/core@5.0.0 作为空壳 meta-package
仅 peerDependencies 指向各子插件
运行时输出 console.warn 迁移提示
更新所有文档、examples、tests
终极形态 — 纯插件市场:

@objectql/plugin-query # 查询增强
@objectql/plugin-validator # 声明式校验
@objectql/plugin-formula # 计算字段
@objectql/plugin-security # RBAC/FLS/RLS
@objectql/plugin-optimizations # 性能优化
@objectql/plugin-workflow # 状态机
@objectql/plugin-multitenancy # 多租户
@objectql/plugin-sync # 数据同步
@objectql/protocol-graphql # GraphQL 协议
@objectql/protocol-odata-v4 # OData V4 协议
@objectql/protocol-json-rpc # JSON-RPC 协议
@objectql/platform-node # Node.js 平台适配
@objectql/edge-adapter # Edge Runtime 适配
@objectql/driver-* # 各数据库驱动
@objectql/types # 宪法 (不变)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@vercel
Copy link
Copy Markdown

vercel bot commented Feb 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
objectql Ready Ready Preview, Comment Feb 16, 2026 1:53pm

Request Review

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Update roadmap for deprecating @objectql/core docs: add @objectql/core deprecation & migration plan to ROADMAP.md Feb 16, 2026
Copilot AI requested a review from hotlong February 16, 2026 09:36
@hotlong hotlong marked this pull request as ready for review February 16, 2026 10:32
Copilot AI review requested due to automatic review settings February 16, 2026 10:33
@hotlong hotlong merged commit 275478f into main Feb 16, 2026
2 of 3 checks passed
@hotlong hotlong deleted the copilot/update-roadmap-for-objectql branch February 16, 2026 10:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR documents the phased deprecation and retirement plan for @objectql/core, following the successful core refactoring completed in PR #373 that reduced the package from ~3,500 LOC to 734 LOC. The documentation outlines a constitutional migration to a pure plugin architecture mandated by @objectstack/spec, eliminating the last monolithic aggregation layer in the ObjectQL ecosystem.

Changes:

  • Adds comprehensive 4-phase deprecation plan (Phases A–D) targeting completion in Q4 2026
  • Updates Package Matrix to mark @objectql/core as deprecated with migration guidance
  • Integrates Phase D milestone into Q4 roadmap section
  • Adds ADR-010 documenting architectural rationale for full deprecation
  • Defines target architecture as flat, composable plugin marketplace with explicit dependency management

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants