@g1cloud/entity-modeler-next

Vue 3 visual entity-modeling / class-diagram editor
24,007
Install
npm install @g1cloud/entity-modeler-next
Latest Version:5.3.3
Vue:3
License:LicenseRef-LICENSE
Last Updated:Oct 21, 2026
Links: npm
Maintainer: g1cloud

entity-modeler-next

Vue 3 visual entity-modeling / class-diagram editor. Distributed as a library package (@g1cloud/entity-modeler-next) and embedded in bluework4-tool (Nuxt/Vue/Mongo).

Stack

TypeScript · Vue 3 · Vue Flow · Pinia (opt-in) · Vite (library mode) · Vitest · views built on @g1cloud/open-bluesea-core (BS) components

Install

pnpm add @g1cloud/entity-modeler-next

Requires the peer dependencies vue ^3.5.0 and @g1cloud/bluesea >=5.0.0-beta.31 <6.0.0 (installed by the host).

Usage

import { EntityModeler } from '@g1cloud/entity-modeler-next'
import '@g1cloud/entity-modeler-next/style.css'  // required — components render unstyled without it

Structure

src/
  core/      logical/layout types (separated) · resolve (consistency) · routing · autolayout · propagation · validation · type catalogs. Framework-agnostic
  command/   Command (do/undo) · CommandStack · op/opSync (semantic op emit + CAS concurrency)
  editor/    reactive controller (composable wrapping CommandStack, EDITOR inject key) + axis modules split out of it
             (commandPlans · clipboardImport · hostSync · selection — each takes a minimal injected context)
  view/      Vue Flow components (DiagramCanvas · EntityNode · GroupNode · AssociationEdge · PropertyPanel · ValidationPanel, etc.)
             plus composables (useAttributeEditing · useResizableWidth · useTreeCollapse) and pure helpers
  adapter/   storage-schema mapping (persisted v1/v2 · fromPersisted/toPersisted/toPersistedV2 round-trip)
  agent/     natural-language → op track (symbolicOp · resolver · schema · buildAgentBatch)
  dev/       demo harness (excluded from the library build)

Core design: layout references the logical model by modelId (one-way). The logical model carries no geo/waypoint/style.

Scripts

pnpm dev            # demo harness dev server (src/dev)
pnpm test           # Vitest (unit)
pnpm test:coverage  # Vitest + v8 coverage report (no threshold — report only)
pnpm typecheck      # vue-tsc --noEmit
pnpm build          # library build (dist/)
pnpm verify         # headless GUI probe suite (scripts/verify-*.mjs) — boots the dev harness once, runs all probes
pnpm verify:floor    # raise the per-probe assertion-count floor to current (never lowers)
pnpm check          # CI gate: test && build

check is the entry point CI calls; verify runs the browser probes and is kept separate because it needs a dev server and takes ~100s.

verify also enforces a per-probe assertion-count floor (scripts/probe-assertion-floor.json): a probe whose executed-assertion total drops below its floor fails even if every remaining assertion passes — deleting an ok() would otherwise shrink the denominator too and pass as 0/0. Adding assertions needs no bookkeeping; only a deliberate reduction requires editing the JSON by hand, and that diff is the review signal.

Related Packages

@g1cloud/vue-ui

Vue UI Library for G1 commerce cloud Front App.

4,570
@g1cloud/bpmn-modeler-next

Vue 3 BPMN document authoring editor (bpmn-js based) with AI agent authoring

21,371

Version History

Version Released License
5.3.3 LicenseRef-LICENSE
5.3.2 LicenseRef-LICENSE
5.3.1 LicenseRef-LICENSE
5.3.0 LicenseRef-LICENSE
5.2.55 LicenseRef-LICENSE
Pre-releases (73)
Version Released License
5.0.0-beta.53 LicenseRef-LICENSE
5.0.0-beta.52 LicenseRef-LICENSE
5.0.0-beta.51 LicenseRef-LICENSE
5.0.0-beta.50 LicenseRef-LICENSE
5.0.0-beta.49 LicenseRef-LICENSE