74 Commits

Author SHA1 Message Date
robonen 85313c6046 feat: update useSnapPoints to improve drawer snapping behavior and add new features
Publish to NPM / Check version changes and publish (push) Successful in 11m14s
2026-08-03 21:12:35 +07:00
robonen c6b6b93e81 chore: update dependencies and package manager versions across projects
Publish to NPM / Check version changes and publish (push) Failing after 10m54s
2026-07-31 04:21:32 +07:00
robonen 53e831894a feat: enhance useVirtualList for dynamic item sizing and improved scrolling behavior
Publish to NPM / Check version changes and publish (push) Failing after 11m20s
2026-07-29 17:19:47 +07:00
robonen a8e5f63415 build: update version to 0.0.2
Publish to NPM / Check version changes and publish (push) Failing after 9m34s
2026-07-17 22:13:04 +07:00
robonen 1cab48ca48 fix(fetch): accept a named interface as request body without a cast
FetchOptions['body'] listed `Record<string, unknown>`, which a named interface
is not assignable to (interfaces carry no implicit index signature), so every
caller passing a typed body had to cast it. Widen the object member to `object`:
named interfaces and arrays now assign directly, `any` is not introduced, and
bare primitives (number/boolean) are still rejected. Runtime is unchanged — the
serializer already narrows the body with its own casts.

Guard it with a type test (src/types.test-d.ts, run under vitest --typecheck):
a named interface must assign to the body type and flow through the method
shortcuts with no cast, while bare primitives stay rejected. Enable typecheck
for the package's vitest project so the assertions are enforced by tsc.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 22:13:04 +07:00
robonen ab6d8f6ce0 build: bump new versions
Publish to NPM / Check version changes and publish (push) Failing after 10m34s
2026-06-18 02:57:03 +07:00
robonen e73e8d2cdd chore: update dependencies and configurations across multiple packages
Publish to NPM / Check version changes and publish (push) Failing after 10m44s
2026-06-18 02:02:58 +07:00
robonen a147ec0730 docs(core): update crdt/encoding/fetch docs and lint config 2026-06-15 16:55:07 +07:00
robonen 44848bc9e6 refactor(platform): type focusScope helper; browser updates 2026-06-15 16:54:51 +07:00
robonen 425a7bc6e7 refactor(stdlib): replace source any with unknown/generics
Type guards take `unknown`; walkers/comparators (get/set/isEqual) narrow via
casts; generic defaults and constraints tightened. Truly-idiomatic any-function
constraints and load-bearing type-level any are kept with explanatory comments.
2026-06-15 16:54:50 +07:00
robonen 225c3b8530 Merge pull request #142 from robonen/docs
feat(storage): enhance useStorageAsync with cross-instance sync and e…
2026-06-10 15:13:40 +07:00
robonen a82f5f2dfd feat(storage): enhance useStorageAsync with cross-instance sync and event handling 2026-06-10 15:09:46 +07:00
robonen 98e243dc04 Merge pull request #141 from robonen/docs
feat(forms): add useMaskedField and useMaskedInput composables for in…
2026-06-09 13:58:53 +07:00
robonen 07937e26db feat(forms): add useMaskedField and useMaskedInput composables for input masking 2026-06-09 13:54:52 +07:00
renovate[bot] a0154dabf5 chore(deps): update all non-major dependencies (#120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 01:15:28 +00:00
robonen 73e701a2c5 chore: update all deps 2026-06-08 17:11:14 +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 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 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 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 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
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
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 3380d90cee refactor(core/stdlib): update state machine classes to use consistent property names and improve type safety 2026-02-15 03:26:42 +07:00
robonen 1782184761 chore: update package versions and integrate shared tsdown configuration 2026-02-15 03:13:49 +07:00
robonen 68afec40b7 chore(core/stdlib): fix lint 2026-02-15 02:50:54 +07:00
robonen 50b1498f3e fix(core/stdlib): rename dirs 2026-02-15 02:45:59 +07:00
robonen 7b5da22290 feat(core/stdlib): implement LinkedList, PriorityQueue, and Queue data structures 2026-02-15 02:36:41 +07:00
robonen 49b9f2aa79 feat(configs/oxlint): add linter 2026-02-14 22:49:47 +07:00
robonen 5f9e0dc72d feat: add separate vitest configuration files for platform and stdlib environments 2026-02-14 21:44:54 +07:00
robonen 3da393ed08 feat: update pnpm workspace and dependencies, migrate to tsdown for builds 2026-02-14 03:56:45 +07:00
renovate[bot] 07e6d3eadc chore(deps): update all non-major dependencies (#119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-12 01:36:35 +00:00
renovate[bot] 6fcc9d5a51 chore(deps): update all non-major dependencies (#116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-31 01:44:27 +00:00
renovate[bot] 289d0d5af1 chore(deps): update all non-major dependencies (#115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-17 01:52:33 +00:00
renovate[bot] a4d9b4c88a chore(deps): update all non-major dependencies (#114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-04 01:08:54 +00:00
renovate[bot] 3b39f64734 chore(deps): update all non-major dependencies (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-26 01:03:01 +00:00