Commit Graph

477 Commits

Author SHA1 Message Date
robonen 13de500d11 chore: update lockfile, root vitest config, and mcp config 2026-06-08 15:52:03 +07:00
robonen 53f2d7ceef docs: add package introductions and the @robonen/crdt guide
An intro.vue landing for all 12 packages, plus a multi-section crdt guide (Concepts, Primitives, Replication & Sync, and an interactive convergence Playground).
2026-06-08 15:52:03 +07:00
robonen 09433415b6 feat(docs): doc-sections system, crdt package, MCP server, and responsive fixes
Adds a hand-authored .vue doc-sections system (intro + guide pages per package, #docs/sections map, sidebar Guide group, client-side TOC), registers @robonen/crdt, renders demos client-only, base64-encodes the server-metadata virtual, plus the MCP docs endpoint and responsive/overflow fixes across pages and tables.
2026-06-08 15:52:03 +07:00
robonen def1db8b6c fix(primitives): component fixes and test cleanup 2026-06-08 15:51:30 +07:00
robonen 9ef8125965 chore(editor): view, selection-bridge, and type fixes 2026-06-08 15:51:30 +07:00
robonen e83f10fe32 docs(vue): add interactive demo for every composable
A beautiful, SSR-safe demo.vue next to each composable, auto-discovered by the docs extractor and rendered client-only on each composable's page.
2026-06-08 15:51:16 +07:00
robonen 59e995d0b5 feat(vue): expand @robonen/vue composable collection
Composables, tests, category barrels, and README for @robonen/vue.
2026-06-08 15:51:16 +07:00
robonen 9a912f7a77 fix(core): update encoding QR constants and fetch utils 2026-06-08 15:50:59 +07:00
robonen 74fbd0c005 feat(stdlib): add immutable array ops, deep set, and isEqual comparator
Adds arrays/{move,insert,swap,remove}, collections/set, and comparators/isEqual (NaN/Date/RegExp/Map/Set/cycle-safe), wired into the barrels.
2026-06-08 15:50:59 +07:00
robonen 4678a372b1 chore(eslint): update shared presets and config exports 2026-06-08 15:50:59 +07:00
robonen 5c583b64a4 chore: update pnpm-lock.yaml for eslint toolchain + typescript 2026-06-07 16:30:27 +07:00
robonen 96ac895f7a chore(docs): eslint migration + extractor updates
Migrate docs to eslint flat config (build-script console override); doc
extractor points at configs/eslint.
2026-06-07 16:30:14 +07:00
robonen 23a2795523 chore(stories): eslint/tsconfig migration
Migrate Storybook package to eslint flat config + composite tsconfig.
2026-06-07 16:30:05 +07:00
robonen 09272dffeb feat(editor): eslint/tsconfig migration + type fixes
@robonen/editor: migrate to eslint flat config + composite tsconfig; fix
convergence test type annotations.
2026-06-07 16:30:05 +07:00
robonen 626fbc70d8 fix(primitives): eslint/tsconfig migration, asChild refactor, type fixes
- Migrate to eslint flat config + composite tsconfig.
- Complete the asChild→as="template" refactor (remove asChild prop + :as-child
  bindings across components, matching Primitive's slot model).
- Fix test type errors and source type-safety (useGraceArea hull/point math,
  FocusScope/util ref typing).

Note: ~53 vue-tsc errors remain (HTML attr/event passthrough typing on
transparent wrapper components + a couple of duplicate-export naming
collisions) — not gated by CI (build/lint/test green); pending a
component-attribute-typing design decision.
2026-06-07 16:29:56 +07:00
robonen c7644ade69 fix(vue): eslint/tsconfig migration + resolve type errors
@robonen/vue (toolkit): migrate to eslint flat config + composite tsconfig;
fix composable + test type errors (writable computed returns, null guards,
overload-compatible signatures, typed test helpers) — all type-level.
2026-06-07 16:29:39 +07:00
robonen e6919de29e chore(platform): eslint/tsconfig migration + browser utils
Migrate to eslint flat config and composite tsconfig; browser/multi updates
(hideOthers, focusScope).
2026-06-07 16:29:28 +07:00
robonen da8d137be4 chore(encoding): eslint/tsconfig migration
Migrate to eslint flat config (qr-code.ts override for the mask-penalty
sliding-window) and composite tsconfig.
2026-06-07 16:29:27 +07:00
robonen a7e668ced8 feat(fetch): plugin system + eslint/tsconfig migration
- Add fetch plugin API (definePlugin, plugins) with type-level option flow.
- Migrate to eslint flat config and composite tsconfig.
2026-06-07 16:29:18 +07:00
robonen 96f4cba4a8 feat(stdlib): new modules + eslint/tsconfig migration
- Add array/async/etc. modules and type tests; migrate to eslint flat config
  and composite tsconfig (vitest typecheck enabled).
- Fix PubSub.emit to snapshot listeners before iterating (stable EventEmitter
  semantics; avoids invoking listeners added during the same emit).
2026-06-07 16:29:08 +07:00
robonen 008d85a8fd feat(crdt): add @robonen/crdt package
Hand-built CRDT primitives: Lamport clock + version vectors, op-log,
LWW register/map, RGA sequence, fractional indexing, marks store, sync
encode, and doc/replica. Includes eslint flat config + composite tsconfig.
2026-06-07 16:28:58 +07:00
robonen 70a8678743 chore: workspace eslint catalog, typescript dev dep, monorepo skill
- pnpm-workspace catalog: replace oxlint with eslint ^10.4.1.
- Add typescript dev dep (root) so vitest typecheck (stdlib) resolves tsc.
- Root vitest projects: configs/oxlint → configs/eslint.
- Update monorepo skill + add component-test-auditor agent.
2026-06-07 16:28:20 +07:00
robonen 7693b49253 chore(configs): migrate oxlint→eslint presets, refactor tsconfig
- Replace @robonen/oxlint with @robonen/eslint (composable ESLint flat-config
  presets: base, typescript, vue, vitest, imports, node, stylistic).
- Plugins bundled as deps: typescript-eslint, eslint-plugin-vue,
  @vitest/eslint-plugin, eslint-plugin-import-x, eslint-plugin-n,
  eslint-plugin-unicorn, @stylistic/eslint-plugin.
- @robonen/tsconfig: add base/dom/node/vue configs for composite project refs.
2026-06-07 16:28:10 +07:00
renovate[bot] d3429dad2b chore(deps): update pnpm.catalog.default vitest to v4.1.0 [security] (#135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-05 01:10:16 +00:00
robonen 1d3efa5028 feat(primitives): add menu, dropdown-menu, context-menu, and menubar primitives
Implements WAI-ARIA APG-compliant headless menu primitive families:

- menu: base primitive with MenuRoot, MenuContent, MenuItem,
  MenuCheckboxItem, MenuRadioGroup/Item, MenuSub, and helpers
- dropdown-menu: DropdownMenuRoot with trigger anchoring
- context-menu: ContextMenuRoot with right-click virtual anchor
- menubar: MenubarRoot with keyboard navigation between menus

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-17 18:48:43 +07:00
robonen 333a18cbaf refactor(presence): enhance slot handling and attribute forwarding 2026-03-26 17:19:31 +07:00
robonen fe527daad1 Merge pull request #130 from robonen/copilot/add-fetch-wrapper-optimization
feat(core): add @robonen/fetch — type-safe fetch wrapper with V8-optimised internals
2026-03-26 16:12:10 +07:00
robonen 1db475c982 refactor(core/fetch): optimize perfomance, improve types 2026-03-26 16:10:19 +07:00
robonen 4876e04ceb Merge remote-tracking branch 'origin/master' into copilot/add-fetch-wrapper-optimization
# Conflicts:
#	core/stdlib/src/async/tryIt/index.ts
#	pnpm-lock.yaml
#	pnpm-workspace.yaml
2026-03-26 06:32:03 +07:00
robonen b144a8bdd3 Merge pull request #89 from robonen/feat/stdlib/retry
feat(core/stdlib): add retry function
2026-03-26 06:29:21 +07:00
robonen 6b4ddc9733 refactor(retry): simplify error handling in retry tests and ensure consistent promise rejection handling 2026-03-26 06:28:09 +07:00
robonen ed5e6656f1 fix(retry): suppress eslint warning for throwing literal error 2026-03-26 06:23:48 +07:00
robonen effbe91df6 Merge branch 'master' into feat/stdlib/retry
# Conflicts:
#	core/stdlib/src/async/retry/index.ts
2026-03-26 06:18:34 +07:00
robonen 433ab1c2cd refactor(core/stdlib): streamline tryIt function with improved promise handling 2026-03-26 06:15:51 +07:00
robonen 8d8ea734d1 refactor(core/stdlib): improve retry function implementation and error handling 2026-03-26 06:09:54 +07:00
robonen 68032500b7 Merge pull request #131 from robonen/renovate/jsdom-29.x
chore(deps): update pnpm.catalog.default jsdom to v29
2026-03-25 14:53:14 +07:00
renovate[bot] 7c5c2ab9c1 chore(deps): update pnpm.catalog.default jsdom to v29 2026-03-23 18:00:39 +00:00
robonen 4f3d6113a8 Merge pull request #132 from robonen/renovate/pnpm-action-setup-5.x
chore(deps): update pnpm/action-setup action to v5
2026-03-24 00:59:16 +07:00
renovate[bot] 49d70f1f39 chore(deps): update pnpm/action-setup action to v5 2026-03-17 13:32:12 +00:00
copilot-swe-agent[bot] 1111848728 refactor: remove unnecessary eslint-disable comments from const Set declarations
Co-authored-by: robonen <26167508+robonen@users.noreply.github.com>
2026-03-13 17:12:12 +00:00
copilot-swe-agent[bot] 170093a039 feat: add @robonen/fetch package - lightweight fetch wrapper with V8 optimizations
Co-authored-by: robonen <26167508+robonen@users.noreply.github.com>
2026-03-13 17:09:49 +00:00
copilot-swe-agent[bot] 11f823afb4 Initial plan 2026-03-13 16:48:56 +00:00
robonen 5fa38110b7 feat(vue/primitives): remove execArgv option from test configuration 2026-03-10 18:36:45 +07:00
robonen 4574bae0b6 feat(vue/primitives): add FocusScope component with auto-focus and focus trap functionality 2026-03-10 18:28:52 +07:00
robonen a996eb74b9 feat: update package.json exports to support new module formats and types 2026-03-08 08:19:01 +07:00
robonen bcc9cb2915 feat(vue/primitives): implement pagination components with accessibility and testing 2026-03-08 04:18:10 +07:00
robonen 41d5e18f6b feat(monorepo): migrate vue packages and apply oxlint refactors 2026-03-07 18:07:22 +07:00
robonen abd6605db3 feat(docs): add document generator 2026-02-15 16:49:37 +07:00
robonen a83e2bb797 Merge pull request #128 from robonen/vue-0.0.13
Vue 0.0.13
2026-02-15 05:32:31 +07:00
robonen 9bece480ca test(web/vue): update event listener tests to use globalThis and improve assertions 2026-02-15 05:30:58 +07:00