From b46d6bc06014ed77d4c3f19bdd0acee9ae7235ac Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2026 01:36:06 +0000 Subject: [PATCH] ci: release --- .changeset/add-examples.md | 5 --- .changeset/biome-lint.md | 5 --- .changeset/build-config-cleanup.md | 10 ----- .changeset/core-unit-tests.md | 11 ------ .changeset/esm-only-policy.md | 7 ---- .changeset/path-key-and-immer-docs.md | 10 ----- .changeset/svelte-use-field.md | 13 ------- CHANGELOG.md | 42 +++++++++++++++++++++ examples/react-validation-flow/CHANGELOG.md | 14 +++++++ examples/react-validation-flow/package.json | 2 +- examples/solid-login-form/CHANGELOG.md | 14 +++++++ examples/solid-login-form/package.json | 2 +- examples/svelte-login-form/CHANGELOG.md | 14 +++++++ examples/svelte-login-form/package.json | 2 +- examples/vue-login-form/CHANGELOG.md | 14 +++++++ examples/vue-login-form/package.json | 2 +- package.json | 2 +- 17 files changed, 103 insertions(+), 66 deletions(-) delete mode 100644 .changeset/add-examples.md delete mode 100644 .changeset/biome-lint.md delete mode 100644 .changeset/build-config-cleanup.md delete mode 100644 .changeset/core-unit-tests.md delete mode 100644 .changeset/esm-only-policy.md delete mode 100644 .changeset/path-key-and-immer-docs.md delete mode 100644 .changeset/svelte-use-field.md create mode 100644 examples/react-validation-flow/CHANGELOG.md create mode 100644 examples/solid-login-form/CHANGELOG.md create mode 100644 examples/svelte-login-form/CHANGELOG.md create mode 100644 examples/vue-login-form/CHANGELOG.md diff --git a/.changeset/add-examples.md b/.changeset/add-examples.md deleted file mode 100644 index a8031a9..0000000 --- a/.changeset/add-examples.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Add Vue/Solid/Svelte login form examples and React validation flow example \ No newline at end of file diff --git a/.changeset/biome-lint.md b/.changeset/biome-lint.md deleted file mode 100644 index 9e8fa95..0000000 --- a/.changeset/biome-lint.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Add Biome linter/formatter with `lint`, `lint:fix`, and `format` scripts. Add CI lint step. Remove `.prettierrc` in favor of Biome configuration. \ No newline at end of file diff --git a/.changeset/build-config-cleanup.md b/.changeset/build-config-cleanup.md deleted file mode 100644 index 0755f3c..0000000 --- a/.changeset/build-config-cleanup.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Build config cleanup: enable sourcemaps, preserve JSDoc in declarations, remove dead vite build config, remove redundant .npmignore. - -- `tsconfig.json`: `sourceMap: true` — consumers can now debug into library source. -- `tsconfig.json`: `removeComments: false` — Korean JSDoc preserved in `.d.ts` files, visible in IDE tooltips. -- `vite.config.ts`: removed dead `build.lib` block (production build uses `tsc`, not `vite build`). File now clearly scoped to vitest config only. -- Removed `.npmignore` — `package.json` `files` field already controls published files; `.npmignore` was redundant. \ No newline at end of file diff --git a/.changeset/core-unit-tests.md b/.changeset/core-unit-tests.md deleted file mode 100644 index 7de1f94..0000000 --- a/.changeset/core-unit-tests.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Add dedicated unit tests for core modules. - -- `test/core/ValueHelper.test.ts` — covers path-based get/set and values reconstruction. -- `test/core/FormPath.test.ts` — covers path ↔ key conversion and path normalization. -- `test/core/FormStateInitializer.test.ts` — covers defaultValues → FormState initialization. -- `test/core/FormArrayMutationPlanner.test.ts` — covers push, insert, remove, move, swap, and replace planning. -- `test/core/FormArrayRebaser.test.ts` — covers field metadata rebase and arrayKeys updates. diff --git a/.changeset/esm-only-policy.md b/.changeset/esm-only-policy.md deleted file mode 100644 index 0223a5b..0000000 --- a/.changeset/esm-only-policy.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Document ESM-only policy in README. - -The package is ESM-only (`"type": "module"`, no `require` condition in `exports`). This is now explicitly documented in the Installation section of README.md and README.ko.md, with guidance for CJS consumers (dynamic `import()` or bundler transpilation). No code changes — documentation only. \ No newline at end of file diff --git a/.changeset/path-key-and-immer-docs.md b/.changeset/path-key-and-immer-docs.md deleted file mode 100644 index 034a92c..0000000 --- a/.changeset/path-key-and-immer-docs.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Document performance considerations for PathKey encoding and immer dependency. - -- README.md/README.ko.md FormPath section: note that `JSON.stringify`/`JSON.parse` could be replaced with NUL-separator encoding for large forms; benchmark before migrating. -- README.md/README.ko.md FormStateWriter section: note that immer (~5KB) could be replaced with spread-based updates for flat record structure; benchmark before migrating. - -No code changes — documentation of design decisions and future optimization paths. \ No newline at end of file diff --git a/.changeset/svelte-use-field.md b/.changeset/svelte-use-field.md deleted file mode 100644 index 8769846..0000000 --- a/.changeset/svelte-use-field.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@ilokesto/form": patch ---- - -Add `useField` to the Svelte adapter for API parity with React/Vue/Solid. - -- `useForm(form).useField(options)` returns `{ props, value, setValue, errors, dirty, touched }` matching the shape of the React, Vue, and Solid `useField` hooks. -- `props` is a Svelte `use:`-compatible register action bound to the field's `RegisterOptions`, so `` works directly. -- `value`, `errors`, `dirty`, and `touched` read the latest field state from the core form on every access, staying reactive through the existing `form.subscribe` flow. -- `setValue(value)` updates the field programmatically with `{ source: 'program' }`. -- Field-local `schema` in `RegisterOptions` is supported via the existing register action, with cleanup on action destroy restoring the form-level schema. - -Resolves #17 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 49958aa..7489bb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,47 @@ # @ilokesto/form +## 1.0.5 + +### Patch Changes + +- 90950d7: Add Vue/Solid/Svelte login form examples and React validation flow example +- d1a6685: Add Biome linter/formatter with `lint`, `lint:fix`, and `format` scripts. Add CI lint step. Remove `.prettierrc` in favor of Biome configuration. +- d57581c: Build config cleanup: enable sourcemaps, preserve JSDoc in declarations, remove dead vite build config, remove redundant .npmignore. + + - `tsconfig.json`: `sourceMap: true` — consumers can now debug into library source. + - `tsconfig.json`: `removeComments: false` — Korean JSDoc preserved in `.d.ts` files, visible in IDE tooltips. + - `vite.config.ts`: removed dead `build.lib` block (production build uses `tsc`, not `vite build`). File now clearly scoped to vitest config only. + - Removed `.npmignore` — `package.json` `files` field already controls published files; `.npmignore` was redundant. + +- e71b915: Add dedicated unit tests for core modules. + + - `test/core/ValueHelper.test.ts` — covers path-based get/set and values reconstruction. + - `test/core/FormPath.test.ts` — covers path ↔ key conversion and path normalization. + - `test/core/FormStateInitializer.test.ts` — covers defaultValues → FormState initialization. + - `test/core/FormArrayMutationPlanner.test.ts` — covers push, insert, remove, move, swap, and replace planning. + - `test/core/FormArrayRebaser.test.ts` — covers field metadata rebase and arrayKeys updates. + +- 3a22eab: Document ESM-only policy in README. + + The package is ESM-only (`"type": "module"`, no `require` condition in `exports`). This is now explicitly documented in the Installation section of README.md and README.ko.md, with guidance for CJS consumers (dynamic `import()` or bundler transpilation). No code changes — documentation only. + +- 18bd869: Document performance considerations for PathKey encoding and immer dependency. + + - README.md/README.ko.md FormPath section: note that `JSON.stringify`/`JSON.parse` could be replaced with NUL-separator encoding for large forms; benchmark before migrating. + - README.md/README.ko.md FormStateWriter section: note that immer (~5KB) could be replaced with spread-based updates for flat record structure; benchmark before migrating. + + No code changes — documentation of design decisions and future optimization paths. + +- afd7fca: Add `useField` to the Svelte adapter for API parity with React/Vue/Solid. + + - `useForm(form).useField(options)` returns `{ props, value, setValue, errors, dirty, touched }` matching the shape of the React, Vue, and Solid `useField` hooks. + - `props` is a Svelte `use:`-compatible register action bound to the field's `RegisterOptions`, so `` works directly. + - `value`, `errors`, `dirty`, and `touched` read the latest field state from the core form on every access, staying reactive through the existing `form.subscribe` flow. + - `setValue(value)` updates the field programmatically with `{ source: 'program' }`. + - Field-local `schema` in `RegisterOptions` is supported via the existing register action, with cleanup on action destroy restoring the form-level schema. + + Resolves #17 + ## 1.0.4 ### Patch Changes diff --git a/examples/react-validation-flow/CHANGELOG.md b/examples/react-validation-flow/CHANGELOG.md new file mode 100644 index 0000000..f3ec4ca --- /dev/null +++ b/examples/react-validation-flow/CHANGELOG.md @@ -0,0 +1,14 @@ +# @ilokesto/form-react-validation-flow-example + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [90950d7] +- Updated dependencies [d1a6685] +- Updated dependencies [d57581c] +- Updated dependencies [e71b915] +- Updated dependencies [3a22eab] +- Updated dependencies [18bd869] +- Updated dependencies [afd7fca] + - @ilokesto/form@1.0.5 diff --git a/examples/react-validation-flow/package.json b/examples/react-validation-flow/package.json index 166b3f3..1cc2957 100644 --- a/examples/react-validation-flow/package.json +++ b/examples/react-validation-flow/package.json @@ -1,6 +1,6 @@ { "name": "@ilokesto/form-react-validation-flow-example", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "scripts": { diff --git a/examples/solid-login-form/CHANGELOG.md b/examples/solid-login-form/CHANGELOG.md new file mode 100644 index 0000000..8eb240c --- /dev/null +++ b/examples/solid-login-form/CHANGELOG.md @@ -0,0 +1,14 @@ +# @ilokesto/form-solid-login-example + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [90950d7] +- Updated dependencies [d1a6685] +- Updated dependencies [d57581c] +- Updated dependencies [e71b915] +- Updated dependencies [3a22eab] +- Updated dependencies [18bd869] +- Updated dependencies [afd7fca] + - @ilokesto/form@1.0.5 diff --git a/examples/solid-login-form/package.json b/examples/solid-login-form/package.json index e6929b8..6027379 100644 --- a/examples/solid-login-form/package.json +++ b/examples/solid-login-form/package.json @@ -1,6 +1,6 @@ { "name": "@ilokesto/form-solid-login-example", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "scripts": { diff --git a/examples/svelte-login-form/CHANGELOG.md b/examples/svelte-login-form/CHANGELOG.md new file mode 100644 index 0000000..af6789a --- /dev/null +++ b/examples/svelte-login-form/CHANGELOG.md @@ -0,0 +1,14 @@ +# @ilokesto/form-svelte-login-example + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [90950d7] +- Updated dependencies [d1a6685] +- Updated dependencies [d57581c] +- Updated dependencies [e71b915] +- Updated dependencies [3a22eab] +- Updated dependencies [18bd869] +- Updated dependencies [afd7fca] + - @ilokesto/form@1.0.5 diff --git a/examples/svelte-login-form/package.json b/examples/svelte-login-form/package.json index 11afc43..92fc011 100644 --- a/examples/svelte-login-form/package.json +++ b/examples/svelte-login-form/package.json @@ -1,6 +1,6 @@ { "name": "@ilokesto/form-svelte-login-example", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "scripts": { diff --git a/examples/vue-login-form/CHANGELOG.md b/examples/vue-login-form/CHANGELOG.md new file mode 100644 index 0000000..eee7d89 --- /dev/null +++ b/examples/vue-login-form/CHANGELOG.md @@ -0,0 +1,14 @@ +# @ilokesto/form-vue-login-example + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [90950d7] +- Updated dependencies [d1a6685] +- Updated dependencies [d57581c] +- Updated dependencies [e71b915] +- Updated dependencies [3a22eab] +- Updated dependencies [18bd869] +- Updated dependencies [afd7fca] + - @ilokesto/form@1.0.5 diff --git a/examples/vue-login-form/package.json b/examples/vue-login-form/package.json index 37a3bf6..ae86574 100644 --- a/examples/vue-login-form/package.json +++ b/examples/vue-login-form/package.json @@ -1,6 +1,6 @@ { "name": "@ilokesto/form-vue-login-example", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "scripts": { diff --git a/package.json b/package.json index c5368a6..21eb9fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ilokesto/form", - "version": "1.0.4", + "version": "1.0.5", "type": "module", "scripts": { "build": "rm -rf dist && tsc",