diff --git a/.github/ucdjs-release.overrides.json b/.github/ucdjs-release.overrides.json new file mode 100644 index 000000000..4a4d49021 --- /dev/null +++ b/.github/ucdjs-release.overrides.json @@ -0,0 +1,50 @@ +{ + "@ucdjs-internal/shared": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/cli": { + "type": "none", + "version": "0.3.0" + }, + "@ucdjs/client": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/env": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/fs-bridge": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/path-utils": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/schema-gen": { + "type": "none", + "version": "0.2.2" + }, + "@ucdjs/schemas": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/test-utils": { + "type": "none", + "version": "1.0.0" + }, + "@ucdjs/ucd-store": { + "type": "none", + "version": "0.1.0" + }, + "@ucdjs/ucd-store-v2": { + "type": "none", + "version": "0.0.1" + }, + "@ucdjs/utils": { + "type": "none", + "version": "0.2.0" + } +} \ No newline at end of file diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 0a2d9ebee..883fc7177 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,27 +1,53 @@ # @ucdjs/cli -## 0.3.0 - -### Minor Changes - -- [#59](https://github.com/ucdjs/ucd/pull/59) [`b19dc76`](https://github.com/ucdjs/ucd/commit/b19dc76984e611be178de2037e5436cf3cc27dab) Thanks [@luxass](https://github.com/luxass)! - refactor: migrate ucd-store to use utils - -- [#71](https://github.com/ucdjs/ucd/pull/71) [`505ec62`](https://github.com/ucdjs/ucd/commit/505ec6266588299b09e1b82de0c2478514671b5c) Thanks [@luxass](https://github.com/luxass)! - Merge LocalUCDStore & RemoteUCDStore into a single UCDStore class which handles everything. Since we are using the new fs-bridge exposed from `@ucdjs/utils` we can easily do this. - -- [#66](https://github.com/ucdjs/ucd/pull/66) [`09fb839`](https://github.com/ucdjs/ucd/commit/09fb8396302428b395878110f9e593eacabae7b5) Thanks [@luxass](https://github.com/luxass)! - implement store command - -- [#35](https://github.com/ucdjs/ucd/pull/35) [`a67a5b7`](https://github.com/ucdjs/ucd/commit/a67a5b75679dc8c4ba73743e5d6ffa2c18132439) Thanks [@luxass](https://github.com/luxass)! - refactor: migrate cli to ucd-store download - -### Patch Changes - -- [#45](https://github.com/ucdjs/ucd/pull/45) [`8dbc72d`](https://github.com/ucdjs/ucd/commit/8dbc72d3197a0eef8e876595583c4109114cbc31) Thanks [@luxass](https://github.com/luxass)! - unify filtering across stores - -- [#49](https://github.com/ucdjs/ucd/pull/49) [`d761237`](https://github.com/ucdjs/ucd/commit/d7612378002115098b7f35430aaadfed0913a3af) Thanks [@luxass](https://github.com/luxass)! - move filter's to utils pkg - -- Updated dependencies [[`2d3774a`](https://github.com/ucdjs/ucd/commit/2d3774afe4786e45385ba3af19f160487541a64e), [`d7b8d08`](https://github.com/ucdjs/ucd/commit/d7b8d088060b2ee473f325b1173cbb67f05ccb2f), [`8dbc72d`](https://github.com/ucdjs/ucd/commit/8dbc72d3197a0eef8e876595583c4109114cbc31), [`2222605`](https://github.com/ucdjs/ucd/commit/22226057f7587669e2ae15cd06011f38dd677741), [`b19dc76`](https://github.com/ucdjs/ucd/commit/b19dc76984e611be178de2037e5436cf3cc27dab), [`505ec62`](https://github.com/ucdjs/ucd/commit/505ec6266588299b09e1b82de0c2478514671b5c), [`82eb12e`](https://github.com/ucdjs/ucd/commit/82eb12e1d1944ebbe2748ec129a2d2b2fa315946), [`d4bdcfd`](https://github.com/ucdjs/ucd/commit/d4bdcfd5a5cd0fc3e2a6e2620a26f5e6f835af40), [`c013665`](https://github.com/ucdjs/ucd/commit/c013665af9188920624e516d0359293859752861), [`80a3794`](https://github.com/ucdjs/ucd/commit/80a3794d0469d64f0522347d6f0c3b258f4fcd35), [`d761237`](https://github.com/ucdjs/ucd/commit/d7612378002115098b7f35430aaadfed0913a3af), [`bea2c3c`](https://github.com/ucdjs/ucd/commit/bea2c3c672aee24080eef7b973c7f3c00acb1b6f), [`ec348bb`](https://github.com/ucdjs/ucd/commit/ec348bb9cea0285222347526cf5be5d14d9d61ea), [`1bac88a`](https://github.com/ucdjs/ucd/commit/1bac88add4796ef58f9b9b1d769ab03cdd4a61c0), [`69ee629`](https://github.com/ucdjs/ucd/commit/69ee629e77ad2f83a663cb7c6e8aa07fb9655a12), [`85c248b`](https://github.com/ucdjs/ucd/commit/85c248bc8f5304ee6ba56e2ded6d81ce3facd00e), [`6a43284`](https://github.com/ucdjs/ucd/commit/6a432841e12d6e5783822cc8fe2586ae2b5ab4e1), [`c013665`](https://github.com/ucdjs/ucd/commit/c013665af9188920624e516d0359293859752861), [`4052200`](https://github.com/ucdjs/ucd/commit/40522006c24f8856ff5ec34bb6630d1e1d7f68e3), [`f15bb51`](https://github.com/ucdjs/ucd/commit/f15bb51c663c05e205553c59ab0a7f06a6e20e39), [`a3f785f`](https://github.com/ucdjs/ucd/commit/a3f785f697a393dbef75728e9a8286359386c5f9), [`64e31f5`](https://github.com/ucdjs/ucd/commit/64e31f5491db5e192136eb66159108d4a98bff03), [`0ab4b32`](https://github.com/ucdjs/ucd/commit/0ab4b32b726c5ebb0c1199270dddfb7ddaae8f61), [`76b56b0`](https://github.com/ucdjs/ucd/commit/76b56b08f38f5da4dc441cdbc7fcb8d074ae5a55)]: - - @ucdjs/ucd-store@0.1.0 - - @ucdjs/schema-gen@0.2.2 - +## [0.3.0](https://github.com/ucdjs/ucd/compare/@ucdjs/cli@0.3.0...@ucdjs/cli@0.3.0) (2025-11-24) + + +### Features +* update CLIStoreCmdSharedFlags to use include/exclude patterns ([3a90b66d](https://github.com/ucdjs/ucd/commit/3a90b66dd211f4c4a2608837a4d550ace7a10f73)) (by [@luxass](https://github.com/luxass)) +* add UCDStoreInvalidManifestError and improve error handling ([69d3d780](https://github.com/ucdjs/ucd/commit/69d3d780cddd8df93f6a03b4f4dc5ddac5de8e37)) (by [@luxass](https://github.com/luxass)) +* enhance store initialization with dry-run mode and add tests ([4aee44b0](https://github.com/ucdjs/ucd/commit/4aee44b0cd9449df80e50bdd930ef50c64c8ebe7)) (by [@luxass](https://github.com/luxass)) +* add analyze command for UCD store ([b22886ad](https://github.com/ucdjs/ucd/commit/b22886ade9f28bc6f0a8e54f29328376a0a53eec)) (by [@luxass](https://github.com/luxass)) +* enhance CLI store command with version selection ([9caa6a34](https://github.com/ucdjs/ucd/commit/9caa6a347138f2f3ec5ec20324c4bca82685ad68)) (by [@luxass](https://github.com/luxass)) +* enhance CLI store command with version selection ([27db542d](https://github.com/ucdjs/ucd/commit/27db542d96bd9b9f4f64dcecdf0bad52ff864bf1)) (by [@luxass](https://github.com/luxass)) +* add 'dev:api' script for API development ([b9c3b2ba](https://github.com/ucdjs/ucd/commit/b9c3b2ba3b0744409c6b31b46c4a3d0393e97154)) (by [@luxass](https://github.com/luxass)) +* implement shared flags and enhance store commands with clean, repair, and status functionalities ([333a90c6](https://github.com/ucdjs/ucd/commit/333a90c6ba18f528a8a646e1f95ecd57f8502303)) (by [@luxass](https://github.com/luxass)) +* add store commands for clean, repair, status, and validate ([ed47d40a](https://github.com/ucdjs/ucd/commit/ed47d40a7e3b7dd4413c068469abc2cc1aec6474)) (by [@luxass](https://github.com/luxass)) +* add store command ([0ba52fac](https://github.com/ucdjs/ucd/commit/0ba52fac19f587fc8428c07580424d7861fdc298)) (by [@luxass](https://github.com/luxass)) +* add turbo.json configuration files for cli, schema-gen, ucd-store, and utils; update tsconfig.base.build.json and remove test:watch task from turbo.json ([48dad498](https://github.com/ucdjs/ucd/commit/48dad4988f63c50f2c878f310112cf0fd44e6058)) (by [@luxass](https://github.com/luxass)) +* add HTML and README file exclusion options to download command ([36d1bc0e](https://github.com/ucdjs/ucd/commit/36d1bc0ee832e67f211613b0d962dc86a2b0fb3f)) (by [@luxass](https://github.com/luxass)) +* enhance error reporting in download process and update exclusion patterns ([a5773700](https://github.com/ucdjs/ucd/commit/a5773700e2ce55ff3833e284c6a8b501d9f22588)) (by [@luxass](https://github.com/luxass)) +* enable tsdown exports ([8d890cb3](https://github.com/ucdjs/ucd/commit/8d890cb3bea085a3fd12e818499ea305279a738a)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update dependency from `@luxass/unicode-utils-old` to `@luxass/unicode-utils` ([b5d2405b](https://github.com/ucdjs/ucd/commit/b5d2405b9993896b207275e4b95b15f75dc872f3)) (by [@luxass](https://github.com/luxass)) +* update dependency from `@luxass/unicode-utils` to `@luxass/unicode-utils-old` ([46b62b64](https://github.com/ucdjs/ucd/commit/46b62b64395f76f1306e9abeeb42b43214ef4bc2)) (by [@luxass](https://github.com/luxass)) +* improve error handling in store analysis ([c554d2ac](https://github.com/ucdjs/ucd/commit/c554d2acedb1939b4b17b7853ac81f568af83e4e)) (by [@luxass](https://github.com/luxass)) +* print correct json output ([1807a7ce](https://github.com/ucdjs/ucd/commit/1807a7ce9a5daf696c7dcc6a67c688f7446907e5)) (by [@luxass](https://github.com/luxass)) +* refactor version selection logic in runInitStore ([907a4106](https://github.com/ucdjs/ucd/commit/907a4106033953252b577db2ea80471edcc93c4d)) (by [@luxass](https://github.com/luxass)) +* adjust argument indexing for store commands ([e7c8839d](https://github.com/ucdjs/ucd/commit/e7c8839dbd3e9b279c2e4f09a613c30291b8b4b9)) (by [@luxass](https://github.com/luxass)) +* correct command argument indexing and improve process title ([d7446ff2](https://github.com/ucdjs/ucd/commit/d7446ff2c2e4b6ec470c4b8c6b9ff5b16cb28a04)) (by [@luxass](https://github.com/luxass)) +* correct log message for analyzing versions ([8404d3bf](https://github.com/ucdjs/ucd/commit/8404d3bf46277df6e9330c88d8ec62bda076cead)) (by [@luxass](https://github.com/luxass)) +* handle version selection more robustly ([3fabe8a0](https://github.com/ucdjs/ucd/commit/3fabe8a0c7b7205c59818ff59864a2dd2525c199)) (by [@luxass](https://github.com/luxass)) +* handle version selection more robustly ([1aa8ea49](https://github.com/ucdjs/ucd/commit/1aa8ea49fd0c93964d8111324c642992a91f7a0b)) (by [@luxass](https://github.com/luxass)) +* throw if unresolved import ([8123dda2](https://github.com/ucdjs/ucd/commit/8123dda281a62ed6bd63c6d1b6975a27a6f78346)) (by [@luxass](https://github.com/luxass)) +* remove proxyUrl from clean, init, repair, and status commands ([0499e047](https://github.com/ucdjs/ucd/commit/0499e0472b05928fa8aec4a99dc2cffacad511d5)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* simplify mock responses for API versioning ([79c16c9b](https://github.com/ucdjs/ucd/commit/79c16c9b02baacb21e944d480daf33b7b1a1304f)) (by [@luxass](https://github.com/luxass)) +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* improve error handling in analyze method ([1486a78d](https://github.com/ucdjs/ucd/commit/1486a78dd6d36b7cfa3b2c7f0908c98b858ea532)) (by [@luxass](https://github.com/luxass)) +* improve error handling and version selection in init command ([09eb17c7](https://github.com/ucdjs/ucd/commit/09eb17c7db2553f3334a73f90299d8f4ab1f3196)) (by [@luxass](https://github.com/luxass)) +* improve error handling and version selection in init command ([be5bd5ec](https://github.com/ucdjs/ucd/commit/be5bd5eca4eea0c214faad42655694bc652fbc09)) (by [@luxass](https://github.com/luxass)) +* replace `createUCDStore` with specific local and remote store creation functions ([4c824601](https://github.com/ucdjs/ucd/commit/4c824601f7bde6d24ad0afb5290023d39fd7227d)) (by [@luxass](https://github.com/luxass)) +* remove download command support from CLI and related tests ([b75b7567](https://github.com/ucdjs/ucd/commit/b75b7567f1df6da11b5ce917419c3f6870d11a80)) (by [@luxass](https://github.com/luxass)) +* update imports to use utils package for PRECONFIGURED_FILTERS ([5ac735ab](https://github.com/ucdjs/ucd/commit/5ac735ab53f701b664575d2762442a4f19b35c46)) (by [@luxass](https://github.com/luxass)) +* update download command to use patterns for file exclusion ([97241de4](https://github.com/ucdjs/ucd/commit/97241de4aea9a175ce9b51f8d17c2d926e6d3a8a)) (by [@luxass](https://github.com/luxass)) +* update filter patterns to use consistent naming for exclusion filters ([6b25c005](https://github.com/ucdjs/ucd/commit/6b25c00550812568759a370fc4c59c95daf5720d)) (by [@luxass](https://github.com/luxass)) +* enhance runDownload to filter out draft versions and update download patterns ([52c69999](https://github.com/ucdjs/ucd/commit/52c69999af219523ce3fae5e73b8d05facb9f3e1)) (by [@luxass](https://github.com/luxass)) +* remove unused file filtering options ([73cc0133](https://github.com/ucdjs/ucd/commit/73cc0133cb7b0eac8f22fdd23bcc3a099925764c)) (by [@luxass](https://github.com/luxass)) +* make cli use ucd-store to download files ([717e4b71](https://github.com/ucdjs/ucd/commit/717e4b71a7656e5b30dc30aef0d7ba03fbb88e5e)) (by [@luxass](https://github.com/luxass)) ## 0.2.2 ### Patch Changes diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index a674cc2ed..bd6e76b90 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -1,20 +1,25 @@ # @ucdjs/client -## 0.1.0 - -### Minor Changes - -- [#325](https://github.com/ucdjs/ucd/pull/325) [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868) Thanks [@luxass](https://github.com/luxass)! - Move `discoverEndpointsFromConfig` from `@ucdjs/client` to `@ucdjs-internal/shared`. - -- [#81](https://github.com/ucdjs/ucd/pull/81) [`670ccf9`](https://github.com/ucdjs/ucd/commit/670ccf97acfd893b75180ce7158314db653c4976) Thanks [@luxass](https://github.com/luxass)! - feat: add fetch client - -### Patch Changes - -- [#155](https://github.com/ucdjs/ucd/pull/155) [`2d3774a`](https://github.com/ucdjs/ucd/commit/2d3774afe4786e45385ba3af19f160487541a64e) Thanks [@luxass](https://github.com/luxass)! - update types to match api types - -- [`e98b9e8`](https://github.com/ucdjs/ucd/commit/e98b9e8a443b815ce38b6f0a94314a2bb982dd77) Thanks [@luxass](https://github.com/luxass)! - chore: remove path property of ApiError #141 - -- Updated dependencies [[`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`696fdd3`](https://github.com/ucdjs/ucd/commit/696fdd340a2b2faddfcd142e285294f1cc715c1a), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640)]: - - @ucdjs-internal/shared@0.1.0 - - @ucdjs/env@0.1.0 - - @ucdjs/schemas@0.1.0 +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/client@0.1.0...@ucdjs/client@0.1.0) (2025-11-24) + + +### Features +* add `isApiError` type guard and tests ([5b578e55](https://github.com/ucdjs/ucd/commit/5b578e55b6ef15fe05b5e62bf759d6d4f5543a8d)) (by [@luxass](https://github.com/luxass)) +* enhance UCD client initialization and error handling ([224c22ed](https://github.com/ucdjs/ucd/commit/224c22ed0fa2ad6483bb72f512965b9792fc7d1d)) (by [@luxass](https://github.com/luxass)) +* add new ucd client ([d4ea6d9f](https://github.com/ucdjs/ucd/commit/d4ea6d9feb9dcd9cdb0394ab27323be980d2303c)) (by [@luxass](https://github.com/luxass)) +* add discoverEndpointsFromConfig function and tests ([f196cb25](https://github.com/ucdjs/ucd/commit/f196cb2588ca0ab8b5115e63e4f115a84b51701c)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update return type for `get` method and remove generic type from `getManifest` ([31ba5a66](https://github.com/ucdjs/ucd/commit/31ba5a665b27877fc6d78f9d3934319b6ff5b782)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* improve error handling and response processing ([248a0dc4](https://github.com/ucdjs/ucd/commit/248a0dc4ade38163afdb71beca6567d94a2357a0)) (by [@luxass](https://github.com/luxass)) +* refactor mock store handlers and remove unused types ([b6271135](https://github.com/ucdjs/ucd/commit/b6271135e12e6a76b0c5a822f06bbe0308597658)) (by [@luxass](https://github.com/luxass)) +* streamline UCD client creation ([999ff6f1](https://github.com/ucdjs/ucd/commit/999ff6f132b89075bc90b9029bae5769c27a4626)) (by [@luxass](https://github.com/luxass)) +* remove export of discoverEndpointsFromConfig ([97bf29fb](https://github.com/ucdjs/ucd/commit/97bf29fb873752067226b5dfa85dfbb7270f98b4)) (by [@luxass](https://github.com/luxass)) +* update createVersionsResource to use unified endpoints configuration ([bdb1a39e](https://github.com/ucdjs/ucd/commit/bdb1a39e81c4443d89b6534ce8229b71de6bc25b)) (by [@luxass](https://github.com/luxass)) +* replace hardcoded paths with endpoint references ([0c65da4b](https://github.com/ucdjs/ucd/commit/0c65da4bbb72e18d5a77c1f3c1ab338463417981)) (by [@luxass](https://github.com/luxass)) +* refactor createFilesResource to use unified endpoints configuration ([899dffbb](https://github.com/ucdjs/ucd/commit/899dffbb90aaac939a4302d11ce4b9ff7882d1bc)) (by [@luxass](https://github.com/luxass)) +* move ucd-config from client to shared ([d6094c9e](https://github.com/ucdjs/ucd/commit/d6094c9e9edf5f2f06c86d737ae1b4f3d16b6d7c)) (by [@luxass](https://github.com/luxass)) +* remove pre-configured client instance and update tests ([0d2a30fb](https://github.com/ucdjs/ucd/commit/0d2a30fb6de590c0997fe16dad0cbd9620c46fbd)) (by [@luxass](https://github.com/luxass)) +* rename @ucdjs/fetch to @ucdjs/client ([396f59f1](https://github.com/ucdjs/ucd/commit/396f59f1554aff152f2f34848b670bc318f2e06a)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/env/CHANGELOG.md b/packages/env/CHANGELOG.md index 0dc9cbcd2..7b0e6e797 100644 --- a/packages/env/CHANGELOG.md +++ b/packages/env/CHANGELOG.md @@ -1,7 +1,13 @@ # @ucdjs/env -## 0.1.0 +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/env@0.1.0...@ucdjs/env@0.1.0) (2025-11-24) -### Minor Changes -- [#94](https://github.com/ucdjs/ucd/pull/94) [`696fdd3`](https://github.com/ucdjs/ucd/commit/696fdd340a2b2faddfcd142e285294f1cc715c1a) Thanks [@luxass](https://github.com/luxass)! - introduce @ucdjs/env +### Features +* enhance HTML file handling with constants ([bddb5a39](https://github.com/ucdjs/ucd/commit/bddb5a39657b02d5554a0983fdb5aac56b9a9ba3)) (by [@luxass](https://github.com/luxass)) +* add UCD_FILE_STAT_TYPE_HEADER constant and update routes ([ff954b0f](https://github.com/ucdjs/ucd/commit/ff954b0f9b819a697c0894c4195e5669fa40bcd5)) (by [@luxass](https://github.com/luxass)) +* add environment package with configuration and validation utilities ([2743f549](https://github.com/ucdjs/ucd/commit/2743f549a6fa4d0fc779c573bee0ef3529a4bae3)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/fs-bridge/CHANGELOG.md b/packages/fs-bridge/CHANGELOG.md index 2cb8752a8..bb42700f5 100644 --- a/packages/fs-bridge/CHANGELOG.md +++ b/packages/fs-bridge/CHANGELOG.md @@ -1,324 +1,96 @@ # @ucdjs/fs-bridge -## 0.1.0 - -### Minor Changes - -- [#181](https://github.com/ucdjs/ucd/pull/181) [`6ac0005`](https://github.com/ucdjs/ucd/commit/6ac000515509945cc87119af57725beabc9b75e4) Thanks [@luxass](https://github.com/luxass)! - Reimplement the Node.js File System Bridge with enhanced path handling and safety checks. - -- [#189](https://github.com/ucdjs/ucd/pull/189) [`f15bb51`](https://github.com/ucdjs/ucd/commit/f15bb51c663c05e205553c59ab0a7f06a6e20e39) Thanks [@luxass](https://github.com/luxass)! - add `BridgeUnsupportedOperation` error - -- [#241](https://github.com/ucdjs/ucd/pull/241) [`8ed7777`](https://github.com/ucdjs/ucd/commit/8ed77771808dc56a7dc3a1f07bd22cd7b75c2119) Thanks [@luxass](https://github.com/luxass)! - Migrate fs-bridge to use the new @ucdjs/path-utils package for improved path handling and safety. - - This change removes the local path utility functions and leverages the centralized path-utils package instead: - - **Before:** - - ```ts - import { resolveSafePath } from "./utils"; - // Local BridgePathTraversal error class - ``` - - **After:** - - ```ts - import { PathUtilsBaseError, resolveSafePath } from "@ucdjs/path-utils"; - // Uses centralized path utilities and error handling - ``` - - **Key changes:** - - - Removed local `utils.ts` file with `resolveSafePath` and `isWithinBase` functions - - Added `@ucdjs/path-utils` as a dependency - - Updated imports to use the centralized path utilities - - Removed `BridgePathTraversal` error class in favor of path-utils error handling - - Enhanced error handling to catch `PathUtilsBaseError` instances - - Added `BridgeSetupError` for better error handling during bridge setup - -- [#212](https://github.com/ucdjs/ucd/pull/212) [`80a3794`](https://github.com/ucdjs/ucd/commit/80a3794d0469d64f0522347d6f0c3b258f4fcd35) Thanks [@luxass](https://github.com/luxass)! - feat: migrate from @ucdjs/utils to @ucdjs-internal/shared - - Updated internal imports to use `@ucdjs-internal/shared` instead of `@ucdjs/utils` for utilities like `safeJsonParse` and other shared patterns. This aligns with the new package structure where `@ucdjs-internal/shared` contains internal utilities and `@ucdjs/utils` focuses on public-facing utilities. - -- [#228](https://github.com/ucdjs/ucd/pull/228) [`942dc38`](https://github.com/ucdjs/ucd/commit/942dc380eb97e7123a5aa32e2960f6fef505465d) Thanks [@luxass](https://github.com/luxass)! - feat: add custom fs-bridge errors - - Adds four new custom error classes for better error handling in the fs-bridge: - - - `BridgeGenericError`: For wrapping unexpected errors with optional original error reference - - `BridgePathTraversal`: For path traversal security violations when accessing files outside allowed scope - - `BridgeFileNotFound`: For file or directory not found errors - - `BridgeEntryIsDir`: For cases where a file is expected but a directory is found - - ```typescript - import { BridgeFileNotFound, BridgePathTraversal } from "@ucdjs/fs-bridge"; - - // Example usage in bridge implementations - try { - await fsp.readFile(path); - } catch (error) { - if (error.code === "ENOENT") { - throw new BridgeFileNotFound(path); - } - throw new BridgeGenericError("Unexpected file system error", error); - } - ``` - -- [#69](https://github.com/ucdjs/ucd/pull/69) [`7c612b3`](https://github.com/ucdjs/ucd/commit/7c612b3985a09f65348fa00fb86dba3e11157eec) Thanks [@luxass](https://github.com/luxass)! - feat: add fs-bridge module with Node.js, HTTP, and default export variants - - The fs-bridge is now available via three import paths: - - - `@ucdjs/fs-bridge/bridges/node` (Node.js version) - - `@ucdjs/fs-bridge/bridges/http` (HTTP version) - - `@ucdjs/fs-bridge` (default version) - -- [#306](https://github.com/ucdjs/ucd/pull/306) [`d02d0c6`](https://github.com/ucdjs/ucd/commit/d02d0c6bdf7fc990c56e55a9e2517eba40b7e0b3) Thanks [@luxass](https://github.com/luxass)! - Add support for metadata on fs-bridges - -- [#341](https://github.com/ucdjs/ucd/pull/341) [`7d98e29`](https://github.com/ucdjs/ucd/commit/7d98e29af2f9f6d681f9f2ee401baddf5a2c6ef6) Thanks [@luxass](https://github.com/luxass)! - Refactored file system bridge metadata structure to simplify the API and improve consistency. - - **Breaking Changes:** - - - Renamed `metadata` property to `meta` - - Moved `name` and `description` from top-level properties into the `meta` object - - The `meta` property is now required instead of optional - - Removed `persistent` and `mirror` properties from old `metadata` object - - Removed support for custom metadata fields - - **Before:** - - ```ts - const MyBridge = defineFileSystemBridge({ - name: "My Bridge", - description: "A file system bridge", - metadata: { - persistent: true, - }, - setup: () => ({ - /* operations */ - }), - }); - ``` - - **After:** - - ```ts - const MyBridge = defineFileSystemBridge({ - meta: { - name: "My Bridge", - description: "A file system bridge", - }, - setup: () => ({ - /* operations */ - }), - }); - ``` - - This change consolidates all descriptive information into the `meta` object, making the bridge definition cleaner and more predictable. - -- [#377](https://github.com/ucdjs/ucd/pull/377) [`2a44473`](https://github.com/ucdjs/ucd/commit/2a444735b6c09b4a5df8c79a580d00acb7511ab2) Thanks [@luxass](https://github.com/luxass)! - Renamed `on` method to `hook` for event handling in FileSystemBridge. - - **Breaking Change:** - - The event handling method has been renamed from `on` to `hook` for improved clarity and consistency with the underlying `hookable` library. - - **Before:** - - ```ts - import { createFileSystemBridge } from "@ucdjs/fs-bridge"; - - const bridge = createFileSystemBridge(/* ... */); - - bridge.on("read:before", ({ path }) => { - console.log(`Reading file: ${path}`); - }); - - bridge.on("error", ({ method, path, error }) => { - console.error(`Error in ${method} at ${path}:`, error); - }); - ``` - - **After:** - - ```ts - import { createFileSystemBridge } from "@ucdjs/fs-bridge"; - - const bridge = createFileSystemBridge(/* ... */); - - bridge.hook("read:before", ({ path }) => { - console.log(`Reading file: ${path}`); - }); - - bridge.hook("error", ({ method, path, error }) => { - console.error(`Error in ${method} at ${path}:`, error); - }); - ``` - - **Migration:** - - Simply replace all instances of `.on(` with `.hook(` when working with FileSystemBridge instances. The hook signatures and payloads remain unchanged. - -- [#351](https://github.com/ucdjs/ucd/pull/351) [`4fd46b4`](https://github.com/ucdjs/ucd/commit/4fd46b43613b23c1d120c71ae0754883eb9bf1ff) Thanks [@luxass](https://github.com/luxass)! - Add universal hooks system for file system bridge operations - - File system bridges now support hooks for observing and intercepting operations: - - **Hook Types:** - - - `error` - Called when any operation throws an error (including unsupported operations) - - `{operation}:before` - Called before an operation executes (e.g., `read:before`, `write:before`) - - `{operation}:after` - Called after an operation succeeds (e.g., `read:after`, `write:after`) - - **Supported Operations:** - - - `read`, `write`, `listdir`, `exists`, `mkdir`, `rm` - - **Usage Example:** - - ```typescript - import { createNodeBridge } from "@ucdjs/fs-bridge"; - - const bridge = createNodeBridge({ basePath: "./data" }); - - // Register hooks - bridge.on("read:before", ({ path }) => { - console.log(`Reading: ${path}`); - }); - - bridge.on("read:after", ({ path, content }) => { - console.log(`Read ${content.length} bytes from ${path}`); - }); - - bridge.on("error", ({ method, path, error }) => { - console.error(`${method} failed on ${path}:`, error); - }); - ``` - - **Exported Types:** - - - `FileSystemBridgeHooks` - Main hooks interface - - This enables use cases like logging, metrics, caching, testing, and auditing across all bridge implementations (Node, HTTP, Memory). - -- [#229](https://github.com/ucdjs/ucd/pull/229) [`4052200`](https://github.com/ucdjs/ucd/commit/40522006c24f8856ff5ec34bb6630d1e1d7f68e3) Thanks [@luxass](https://github.com/luxass)! - feat: add error handling wrapper to fs-bridge operations - - Wraps all fs-bridge operation methods with automatic error handling to improve error management: - - - **Preserves custom bridge errors**: Re-throws `BridgeBaseError` instances (like `BridgePathTraversal`, `BridgeFileNotFound`) directly - - **Wraps unexpected errors**: Converts unknown/system errors into `BridgeGenericError` with operation context - - **Transparent to implementations**: Bridge implementations don't need to change - error handling is applied automatically - - ```typescript - import { - defineFileSystemBridge, - BridgeFileNotFound, - BridgeGenericError, - } from "@ucdjs/fs-bridge"; - - const bridgeCreator = defineFileSystemBridge({ - setup() { - return { - async read(path) { - // If this throws a custom bridge error, it's re-thrown as-is - if (!pathExists(path)) { - throw new BridgeFileNotFound(path); - } - - // If this throws an unexpected error (like network timeout), - // it gets wrapped in BridgeGenericError with context - return await fetchFile(path); - }, - }; - }, - }); - - const bridge = bridgeCreator(); - - // Usage - all errors are now consistently handled - try { - await bridge.read("/some/path"); - } catch (error) { - if (error instanceof BridgeFileNotFound) { - // Handle specific bridge error - } else if (error instanceof BridgeGenericError) { - // Handle wrapped unexpected error - console.log(error.originalError); // Access the original error - } - } - ``` - -- [#189](https://github.com/ucdjs/ucd/pull/189) [`0360dc3`](https://github.com/ucdjs/ucd/commit/0360dc3ac727019d451768dd1ef6eadca572c69b) Thanks [@luxass](https://github.com/luxass)! - rewrite fs-bridge capabilities - -- [#175](https://github.com/ucdjs/ucd/pull/175) [`da10e4d`](https://github.com/ucdjs/ucd/commit/da10e4d133819b08c83d60d63d82d9273a1f77a3) Thanks [@luxass](https://github.com/luxass)! - feat: handle security in node filesystem bridge - - This will disallow path traversal attacks and prevent access to critical system paths. - -- [#160](https://github.com/ucdjs/ucd/pull/160) [`5bc90eb`](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f) Thanks [@luxass](https://github.com/luxass)! - feat!: migrate fs-bridge from utils to fs-bridge package - -- [#187](https://github.com/ucdjs/ucd/pull/187) [`0ab4b32`](https://github.com/ucdjs/ucd/commit/0ab4b32b726c5ebb0c1199270dddfb7ddaae8f61) Thanks [@luxass](https://github.com/luxass)! - refactor capability code - -- [#230](https://github.com/ucdjs/ucd/pull/230) [`3993a30`](https://github.com/ucdjs/ucd/commit/3993a304795d26070df7d69ca7b66b226372a234) Thanks [@luxass](https://github.com/luxass)! - feat: add path traversal utilities to bridge setup context - - Adds shared utility functions to the bridge setup context for consistent path security: - - - **`resolveSafePath(basePath, inputPath)`**: Safely resolves paths while preventing traversal attacks - - **`isWithinBase(resolvedPath, basePath)`**: Checks if a path is within an allowed base directory - - Both utilities work for file system paths (Node bridge) and URL paths (HTTP bridge) by treating URL pathnames as base paths. - - ```typescript - import { defineFileSystemBridge } from "@ucdjs/fs-bridge"; - - const bridge = defineFileSystemBridge({ - optionsSchema: z.object({ basePath: z.string() }), - setup({ options, resolveSafePath }) { - const basePath = resolve(options.basePath); - - return { - async read(path) { - // Automatically prevents path traversal - throws BridgePathTraversal if unsafe - const safePath = resolveSafePath(basePath, path); - return readFile(safePath); - }, - }; - }, - }); - - // For HTTP bridges, URL pathname is used as base path: - const httpBridge = defineFileSystemBridge({ - setup({ options, resolveSafePath }) { - const baseUrl = new URL(options.baseUrl); - const basePath = baseUrl.pathname; // e.g., "/api/v1/files" - - return { - async read(path) { - // Prevents escaping API endpoint: "../admin" → BridgePathTraversal - const safePath = resolveSafePath(basePath, path); - const url = new URL(safePath, baseUrl.origin); - return fetch(url).then((r) => r.text()); - }, - }; - }, - }); - ``` - -### Patch Changes - -- [#301](https://github.com/ucdjs/ucd/pull/301) [`199021b`](https://github.com/ucdjs/ucd/commit/199021b803ffe5969f8c5e80de3153971b686b69) Thanks [@luxass](https://github.com/luxass)! - infer bridge option schema as never, if not provided - -- [#332](https://github.com/ucdjs/ucd/pull/332) [`ce9b5a7`](https://github.com/ucdjs/ucd/commit/ce9b5a76795292aca5c9f8b6fd7021a66a34c28d) Thanks [@luxass](https://github.com/luxass)! - export `FileSystemBridgeFactory` in @ucdjs/fs-bridge - -- [#341](https://github.com/ucdjs/ucd/pull/341) [`46a6e81`](https://github.com/ucdjs/ucd/commit/46a6e8110dcc1ccef3a436bb18e67d92f0424213) Thanks [@luxass](https://github.com/luxass)! - Rename `capabilities` to `optionalCapabilities` in bridge configuration - -- [#341](https://github.com/ucdjs/ucd/pull/341) [`39faaf5`](https://github.com/ucdjs/ucd/commit/39faaf585f3339296ef75c8a39893399ea48789f) Thanks [@luxass](https://github.com/luxass)! - Add `hasCapability` guard for checking bridge capabilities without throwing - -- [#343](https://github.com/ucdjs/ucd/pull/343) [`170bbd1`](https://github.com/ucdjs/ucd/commit/170bbd1a8cfe23787d73e1052108261bb5956d01) Thanks [@luxass](https://github.com/luxass)! - Separate required and optional file system operations - - File system bridge operations are now split into two interfaces: - - - `RequiredFileSystemBridgeOperations`: Core read-only operations (`read`, `listdir`, `exists`) that all bridges must implement - - `OptionalFileSystemBridgeOperations`: Write operations (`write`, `mkdir`, `rm`) that bridges can optionally support - - The `optionalCapabilities` map now only tracks optional operations, as required operations are guaranteed to exist. Capability types have been updated to `RequiredCapabilityKey` and `OptionalCapabilityKey` for better type safety. - -- Updated dependencies [[`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`696fdd3`](https://github.com/ucdjs/ucd/commit/696fdd340a2b2faddfcd142e285294f1cc715c1a), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`e612985`](https://github.com/ucdjs/ucd/commit/e612985209ff4e62fbfba418621a029d000b4b01), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640), [`2d8f1b9`](https://github.com/ucdjs/ucd/commit/2d8f1b90f453b95c0cd4ac95aec67e028fc74e03)]: - - @ucdjs-internal/shared@0.1.0 - - @ucdjs/env@0.1.0 - - @ucdjs/path-utils@0.1.0 - - @ucdjs/schemas@0.1.0 +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/fs-bridge@0.1.0...@ucdjs/fs-bridge@0.1.0) (2025-11-24) + + +### Features +* add utility functions for hook payload construction and operation wrapping ([f90f3b87](https://github.com/ucdjs/ucd/commit/f90f3b873044aaecac01aa96df13b2adc58582be)) (by [@luxass](https://github.com/luxass)) +* upgrade hookable ([PR #378](https://github.com/ucdjs/ucd/pull/378)) ([4591756b](https://github.com/ucdjs/ucd/commit/4591756bac443dd4b2a7c1c7e0f66e4d69edb11b)) (by [@luxass](https://github.com/luxass)) +* add `encoding` property to hook payload for `write:before` ([c5de8fbe](https://github.com/ucdjs/ucd/commit/c5de8fbeba60bb699bfd5443dade1c3abcf0bfee)) (by [@luxass](https://github.com/luxass)) +* enhance hook payload types and improve type safety ([677ab0e2](https://github.com/ucdjs/ucd/commit/677ab0e27ef74a5842cf3655ff8d9dbefc06ff5c)) (by [@luxass](https://github.com/luxass)) +* enhance `rm` operation payload and update hook signatures ([6ef1d6d2](https://github.com/ucdjs/ucd/commit/6ef1d6d2d98de13706656a77b987f0677a373498)) (by [@luxass](https://github.com/luxass)) +* define supported bridge operations ([4a2df972](https://github.com/ucdjs/ucd/commit/4a2df97258d9e551ba5768756e6ce2ac39cd826f)) (by [@luxass](https://github.com/luxass)) +* integrate hooks for file system operations ([9e8dbe64](https://github.com/ucdjs/ucd/commit/9e8dbe6444a291ee7f590ca63468d0567cbd14c5)) (by [@luxass](https://github.com/luxass)) +* add `hasCapability` function to guard bridge capabilities ([7df47eb7](https://github.com/ucdjs/ucd/commit/7df47eb7d4a8f71f533dece8eb451b4bbb241456)) (by [@luxass](https://github.com/luxass)) +* add FileSystemBridgeFactory type export ([8d42c7f9](https://github.com/ucdjs/ucd/commit/8d42c7f9165b6c11cd84b26f9bb04b77251ec0f0)) (by [@luxass](https://github.com/luxass)) +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* add support for data mirroring in FileSystemBridgeMetadata ([f5df4435](https://github.com/ucdjs/ucd/commit/f5df4435bdaeb482eec7821d05bbc4c9a44fa55a)) (by [@luxass](https://github.com/luxass)) +* make metadata optional in FileSystemBridge interfaces ([9f202d0a](https://github.com/ucdjs/ucd/commit/9f202d0a5795cf1a19ddf9be61ce4bb926b72afd)) (by [@luxass](https://github.com/luxass)) +* add metadata and descriptive fields to HTTP and Node.js bridges ([7bf84348](https://github.com/ucdjs/ucd/commit/7bf84348f754296579d7965fc65e8a58aee09c04)) (by [@luxass](https://github.com/luxass)) +* enhance FileSystemBridge with metadata and descriptive fields ([a35231e3](https://github.com/ucdjs/ucd/commit/a35231e30985f277af04a005380923a49e90ef42)) (by [@luxass](https://github.com/luxass)) +* add BridgeSetupError class for enhanced error handling ([473b7255](https://github.com/ucdjs/ucd/commit/473b7255bfc71e33547c9b95cb68f6dfffb3aa04)) (by [@luxass](https://github.com/luxass)) +* integrate `resolveSafePath` into file system bridge setup ([5cadac4d](https://github.com/ucdjs/ucd/commit/5cadac4df129cace5b6c4ded1b760853eed5c646)) (by [@luxass](https://github.com/luxass)) +* add path resolution functions for security ([c9ff1916](https://github.com/ucdjs/ucd/commit/c9ff19164fb0d352ad18e6fa24fd72c49a28d9d2)) (by [@luxass](https://github.com/luxass)) +* update TypeScript configuration and add tsconfig dependency ([fcd13059](https://github.com/ucdjs/ucd/commit/fcd13059257d336b31620a5fd64fc2cdff0192e9)) (by [@luxass](https://github.com/luxass)) +* add UCDStoreInvalidManifestError and improve error handling ([69d3d780](https://github.com/ucdjs/ucd/commit/69d3d780cddd8df93f6a03b4f4dc5ddac5de8e37)) (by [@luxass](https://github.com/luxass)) +* support Uint8Array ([2f554138](https://github.com/ucdjs/ucd/commit/2f554138b55bd5e0624071f0798e5f40ef6cb651)) (by [@luxass](https://github.com/luxass)) +* implement capability assertion and error handling ([43ef6402](https://github.com/ucdjs/ucd/commit/43ef6402e9e539353fc20adb9ca6b7c3389b9767)) (by [@luxass](https://github.com/luxass)) +* enhance `resolveSafePath` to handle absolute paths within base ([c82c2f65](https://github.com/ucdjs/ucd/commit/c82c2f65aecabd535d70ad427200f628385aa65e)) (by [@luxass](https://github.com/luxass)) +* enhance path resolution security and add tests for root base behavior ([e00d95c7](https://github.com/ucdjs/ucd/commit/e00d95c720ce0c9bced7a06fe636b1b83a68605c)) (by [@luxass](https://github.com/luxass)) +* enhance path validation and security measures ([a49c12f4](https://github.com/ucdjs/ucd/commit/a49c12f466bf5d395e0ac298aeab17009df82186)) (by [@luxass](https://github.com/luxass)) +* update UCD store schemas and handling ([8b90a374](https://github.com/ucdjs/ucd/commit/8b90a3741bc8d46ae9ab2764f94c2ef041e00689)) (by [@luxass](https://github.com/luxass)) +* update import paths for fs-bridge module ([8060e4de](https://github.com/ucdjs/ucd/commit/8060e4deeb393d330404ab4a50dd01770310bbe5)) (by [@luxass](https://github.com/luxass)) +* add internal debug symbol and update exports ([b0d5d5d0](https://github.com/ucdjs/ucd/commit/b0d5d5d0e00d16de02d4ef25183701e7ee0ab2e2)) (by [@luxass](https://github.com/luxass)) +* update internal debug symbol and enhance type safety ([df963c65](https://github.com/ucdjs/ucd/commit/df963c65121041eee6b8ec63df03f2452783843e)) (by [@luxass](https://github.com/luxass)) +* add debug symbol to file system bridge ([6763abcd](https://github.com/ucdjs/ucd/commit/6763abcd8202777afdfb418e185f1b548e9c713c)) (by [@luxass](https://github.com/luxass)) +* update import paths and module exports ([99e60ad0](https://github.com/ucdjs/ucd/commit/99e60ad091d26c32ec4c6d89667acca6b4a42c74)) (by [@luxass](https://github.com/luxass)) +* add HTTP and Node file system bridges with comprehensive tests ([5bc90ebc](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* improve error handling in `handleError` function ([4ad7725c](https://github.com/ucdjs/ucd/commit/4ad7725c82ccb107d35d2ca405c0c469c4fc0b82)) (by [@luxass](https://github.com/luxass)) +* convert strings to errors ([e5da9589](https://github.com/ucdjs/ucd/commit/e5da95891c6d22233cd2f60769585e45a68e14e9)) (by [@luxass](https://github.com/luxass)) +* update file paths to include 'extracted' prefix ([PR #371](https://github.com/ucdjs/ucd/pull/371)) ([2f455a5f](https://github.com/ucdjs/ucd/commit/2f455a5f8abb5da0e3bc5d1da30b156579b63243)) (by [@luxass](https://github.com/luxass)) +* make hooks call asynchronous and ensure proper error handling ([32d96256](https://github.com/ucdjs/ucd/commit/32d962567f775e11415f5e85c59afe46980b3dd5)) (by [@luxass](https://github.com/luxass)) +* replace `hooxs` with `hookable` and update hook method calls ([666ac4c1](https://github.com/ucdjs/ucd/commit/666ac4c173c9177b07aa26bf19350fb836adce32)) (by [@luxass](https://github.com/luxass)) +* update `entries` type in hook payload to use `FSEntry[]` ([96d73c06](https://github.com/ucdjs/ucd/commit/96d73c06dc4d0e446640b7a7c0627afb3fc72a3d)) (by [@luxass](https://github.com/luxass)) +* correct unsupported operation handling in defineFileSystemBridge ([722f516c](https://github.com/ucdjs/ucd/commit/722f516c7f6518dfdbdc7725f2da6a72b3505f7b)) (by [@luxass](https://github.com/luxass)) +* use `structuredClone` for state in `defineFileSystemBridge` ([cb28a42e](https://github.com/ucdjs/ucd/commit/cb28a42eca70bbcdaf2a8d3425721de7bef21bf9)) (by [@luxass](https://github.com/luxass)) +* set default type for TOptionsSchema in defineFileSystemBridge ([a37a81c2](https://github.com/ucdjs/ucd/commit/a37a81c2b5c0adc5c130312fce50a6e1697f0713)) (by [@luxass](https://github.com/luxass)) +* improve error handling during bridge setup ([efad5a3a](https://github.com/ucdjs/ucd/commit/efad5a3a4d5bfabeb7fd83e27bd7eebc57b07aa4)) (by [@luxass](https://github.com/luxass)) +* enhance error handling with PathUtilsBaseError ([87bb2163](https://github.com/ucdjs/ucd/commit/87bb21639252ed895ec3e67f8a158911bb4339be)) (by [@luxass](https://github.com/luxass)) +* improve proxy method handling in defineFileSystemBridge ([93bc2610](https://github.com/ucdjs/ucd/commit/93bc2610e0aab663000c3bd26f54d615cf6a2d77)) (by [@luxass](https://github.com/luxass)) +* refine error handling and type assertions in proxy methods ([b93ae49e](https://github.com/ucdjs/ucd/commit/b93ae49e7d413efb1d74ef94f21360ed36619f9a)) (by [@luxass](https://github.com/luxass)) +* enhance error handling for promise operations ([9c054b6f](https://github.com/ucdjs/ucd/commit/9c054b6f51cf6a3c633855ac1fa9740f14a35af8)) (by [@luxass](https://github.com/luxass)) +* refine constructor for BridgeBaseError and remove duplicate class definition ([1147df55](https://github.com/ucdjs/ucd/commit/1147df55c2546866e3230dcdbdc949c469bba937)) (by [@luxass](https://github.com/luxass)) +* refine type assertion for original method in proxy ([b7c733dd](https://github.com/ucdjs/ucd/commit/b7c733dd6ed1ac420d80273e275125e1e19955d2)) (by [@luxass](https://github.com/luxass)) +* refine type assertion for original method in proxy ([13043af5](https://github.com/ucdjs/ucd/commit/13043af591eb21cbac1999a6d12768da3daad81a)) (by [@luxass](https://github.com/luxass)) +* improve error handling in proxy methods ([798c9cb4](https://github.com/ucdjs/ucd/commit/798c9cb4ec34b25f9f416af1e8bf0f53d5fc2686)) (by [@luxass](https://github.com/luxass)) +* ensure original method context is preserved in proxy ([e0453470](https://github.com/ucdjs/ucd/commit/e0453470288b7d998a3254b814f04a0eed786502)) (by [@luxass](https://github.com/luxass)) +* improve error messaging and initialization logic ([dad79c58](https://github.com/ucdjs/ucd/commit/dad79c580ec37c2bd75c6cb2faaca3ada733ddbf)) (by [@luxass](https://github.com/luxass)) +* improve error handling for HEAD requests ([261cf461](https://github.com/ucdjs/ucd/commit/261cf4611edc6bc2fc981e4521684e0c530d8262)) (by [@luxass](https://github.com/luxass)) +* improve error handling for invalid URL encoding in path resolution ([a5ef25cf](https://github.com/ucdjs/ucd/commit/a5ef25cff9ddc98b2c7bf55c9ae324ba6668f115)) (by [@luxass](https://github.com/luxass)) +* improve error messaging for dangerous control characters in path resolution ([98dd1c02](https://github.com/ucdjs/ucd/commit/98dd1c023dd428a9ddbe3e45517d776b0ab99bdf)) (by [@luxass](https://github.com/luxass)) +* enhance error handling and directory listing logic ([02be1238](https://github.com/ucdjs/ucd/commit/02be1238ee1e5a63ce75d8e44385bc36c4b3a256)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* refactor file system bridge operations and introduce operation wrappers ([b0db2a05](https://github.com/ucdjs/ucd/commit/b0db2a052d26bb21a88a18d202b72f367397b7af)) (by [@luxass](https://github.com/luxass)) +* rename `.on` to `.hook` ([PR #377](https://github.com/ucdjs/ucd/pull/377)) ([2a444735](https://github.com/ucdjs/ucd/commit/2a444735b6c09b4a5df8c79a580d00acb7511ab2)) (by [@luxass](https://github.com/luxass)) +* update capability types to use `OptionalCapabilityKey` ([956d8301](https://github.com/ucdjs/ucd/commit/956d8301a592b01be5dbb239738cb3b2bf3d3134)) (by [@luxass](https://github.com/luxass)) +* enhance capability handling in file system bridge ([5e5bf2f1](https://github.com/ucdjs/ucd/commit/5e5bf2f11eef8ccc102c5c39313aa505c0b861ea)) (by [@luxass](https://github.com/luxass)) +* improve bridge capabilities handling ([680b2ddb](https://github.com/ucdjs/ucd/commit/680b2ddbb59c808ae44a10447cd6fabc0280c39f)) (by [@luxass](https://github.com/luxass)) +* prefer for bridge capability change ([0a9500e4](https://github.com/ucdjs/ucd/commit/0a9500e4f2f98f89bd4ebfbfae377693c5eccc0c)) (by [@luxass](https://github.com/luxass)) +* rename `metadata` to `meta` in bridge definitions ([1dd5e3f1](https://github.com/ucdjs/ucd/commit/1dd5e3f1d4d46290be8a051005fce145426feb22)) (by [@luxass](https://github.com/luxass)) +* update metadata structure for HTTP and Node.js bridges ([20994031](https://github.com/ucdjs/ucd/commit/209940314ef9b0f0aba641386d690ceb801d1fe5)) (by [@luxass](https://github.com/luxass)) +* enhance FileSystemBridge metadata structure ([083d923b](https://github.com/ucdjs/ucd/commit/083d923b44c587b245eed54f3a8e59bf3f789d20)) (by [@luxass](https://github.com/luxass)) +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* explicitly export error classes from errors module ([4d3088c1](https://github.com/ucdjs/ucd/commit/4d3088c1be33d07264f353173cfa2b898a7e526f)) (by [@luxass](https://github.com/luxass)) +* remove unused utility functions and clean up imports ([a0bb2569](https://github.com/ucdjs/ucd/commit/a0bb2569bdf506866b6bd86a7fe1cc7e2915c827)) (by [@luxass](https://github.com/luxass)) +* swap parameters for consistency ([2264cfa4](https://github.com/ucdjs/ucd/commit/2264cfa423e235ce6191ad58823d14439bf1dada)) (by [@luxass](https://github.com/luxass)) +* update `zod` version to 4.1.5 ([68ff4595](https://github.com/ucdjs/ucd/commit/68ff459549f4e59ac80c1f6365fe1ac6c58f9dd1)) (by [@luxass](https://github.com/luxass)) +* replace error message in `resolveSafePath` with `BridgePathTraversal` ([b2e9db55](https://github.com/ucdjs/ucd/commit/b2e9db55382a7f2e54a2795ea144314d5b5b73a8)) (by [@luxass](https://github.com/luxass)) +* rename `path` to `accessedPath` in `BridgePathTraversal` error class ([edca2a2f](https://github.com/ucdjs/ucd/commit/edca2a2f626a2ca3164a57cd57defa8a04b317db)) (by [@luxass](https://github.com/luxass)) +* update `baseUrl` schema and enhance path resolution ([9fc6f14a](https://github.com/ucdjs/ucd/commit/9fc6f14acc65aef56825e32e8d46d029d0b17b58)) (by [@luxass](https://github.com/luxass)) +* remove `resolveSafePath` and `isWithinBase` functions ([8f7080dd](https://github.com/ucdjs/ucd/commit/8f7080dd48bcf3603ee9261829bc5e5b9e9ccd72)) (by [@luxass](https://github.com/luxass)) +* enhance error handling in proxy methods ([1ea29cf8](https://github.com/ucdjs/ucd/commit/1ea29cf8510917f5d24e6355e7da06f935718cb8)) (by [@luxass](https://github.com/luxass)) +* consolidate error classes under BridgeBaseError ([7151e5b7](https://github.com/ucdjs/ucd/commit/7151e5b75ab4b813f0e0427574909d2b72632826)) (by [@luxass](https://github.com/luxass)) +* add additional error classes for better error handling ([52c9ffc0](https://github.com/ucdjs/ucd/commit/52c9ffc042fce9edfd4f31dc15318cf8287c12ae)) (by [@luxass](https://github.com/luxass)) +* move BridgeUnsupportedOperation to a new errors module ([65ac0554](https://github.com/ucdjs/ucd/commit/65ac0554f6488a4868fbca945fd65d179b07c130)) (by [@luxass](https://github.com/luxass)) +* migrate `flattenFilePaths` imports from `@ucdjs/utils` to `@ucdjs/shared` ([49318725](https://github.com/ucdjs/ucd/commit/49318725c45c27dad6354ff4b0faf6bc4da795fa)) (by [@luxass](https://github.com/luxass)) +* add internal documentation for capability inference function ([1dfe4c89](https://github.com/ucdjs/ucd/commit/1dfe4c890de994cee6b76e84de7c82bef8dd70e1)) (by [@luxass](https://github.com/luxass)) +* enhance capability assertion with custom error handling ([91d1ee9f](https://github.com/ucdjs/ucd/commit/91d1ee9f33cf03ee212af7a1f3bf8f0993f2302b)) (by [@luxass](https://github.com/luxass)) +* remove capabilities from bridge definition ([443e582f](https://github.com/ucdjs/ucd/commit/443e582f4ab7fb947033b3a35e0bc3fe4c03a816)) (by [@luxass](https://github.com/luxass)) +* update FileSystemBridge integration and capabilities handling ([c2f7e5d3](https://github.com/ucdjs/ucd/commit/c2f7e5d3d05170bd6a83697572b2f454a6d86dcb)) (by [@luxass](https://github.com/luxass)) +* enhance FileSystemBridge capabilities and update type definitions ([be7b3939](https://github.com/ucdjs/ucd/commit/be7b39397991aab6b855768c8026bd788388cdee)) (by [@luxass](https://github.com/luxass)) +* improve file path handling and analysis logic ([3d586c5b](https://github.com/ucdjs/ucd/commit/3d586c5b14d8f0e49c4fc107a0a4fb4f674ba239)) (by [@luxass](https://github.com/luxass)) +* streamline path resolution and safety checks ([340eb3e1](https://github.com/ucdjs/ucd/commit/340eb3e164ef4d069ddfb224513feb562b0fc16a)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/path-utils/CHANGELOG.md b/packages/path-utils/CHANGELOG.md index 6941ae3c6..a788a5d04 100644 --- a/packages/path-utils/CHANGELOG.md +++ b/packages/path-utils/CHANGELOG.md @@ -1,13 +1,53 @@ # @ucdjs/path-utils -## 0.1.0 - -### Minor Changes - -- [#238](https://github.com/ucdjs/ucd/pull/238) [`e612985`](https://github.com/ucdjs/ucd/commit/e612985209ff4e62fbfba418621a029d000b4b01) Thanks [@luxass](https://github.com/luxass)! - Add comprehensive path utilities with security-focused path resolution - - This release introduces a new path utilities package with cross-platform path handling, Windows-specific utilities, and secure path resolution functionality. - +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/path-utils@0.1.0...@ucdjs/path-utils@0.1.0) (2025-11-24) + + +### Features +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* enhance path security and handling ([cf82cd37](https://github.com/ucdjs/ucd/commit/cf82cd37e6b631a7e8e13fee6b29292b3954fde9)) (by [@luxass](https://github.com/luxass)) +* enhance Windows path handling and validation ([1d04aeb1](https://github.com/ucdjs/ucd/commit/1d04aeb1e209aaa257ef62a1479ca87a1790afb8)) (by [@luxass](https://github.com/luxass)) +* export osPlatform for platform detection ([c94f9254](https://github.com/ucdjs/ucd/commit/c94f925406e9ff18c874cc3c6363ca7dc414411a)) (by [@luxass](https://github.com/luxass)) +* add WindowsPathBehaviorNotImplementedError for unimplemented behavior ([7cb4681b](https://github.com/ucdjs/ucd/commit/7cb4681b52a29e9e8e76b9660b88786f7c9aa90c)) (by [@luxass](https://github.com/luxass)) +* add isWindowsDrivePath and stripDriveLetter functions ([a1104df4](https://github.com/ucdjs/ucd/commit/a1104df47258b28a2ee93cf8eec0c467701346a3)) (by [@luxass](https://github.com/luxass)) +* enhance path resolution with error handling and validation ([b28fc513](https://github.com/ucdjs/ucd/commit/b28fc5132b849deb0e8880d16934235ed61ec6fc)) (by [@luxass](https://github.com/luxass)) +* add resolveSafePath function for path resolution and traversal prevention ([3bf4cbb5](https://github.com/ucdjs/ucd/commit/3bf4cbb542742b27dc8c0e60df1dc241891d0b44)) (by [@luxass](https://github.com/luxass)) +* add toUNCPosix function for converting Windows UNC paths to POSIX format ([47bb83cb](https://github.com/ucdjs/ucd/commit/47bb83cbe18cfbf780b8e663f8ae0ac301dab08a)) (by [@luxass](https://github.com/luxass)) +* add getAnyUNCRoot function and reorganize imports ([b0595d86](https://github.com/ucdjs/ucd/commit/b0595d86f17e0251bcc89747d667072f28dd8dd7)) (by [@luxass](https://github.com/luxass)) +* add constants for Windows path handling and enhance path conversion ([2dc9e07c](https://github.com/ucdjs/ucd/commit/2dc9e07c61f9063950b282ec332bc9b9cd417f8f)) (by [@luxass](https://github.com/luxass)) +* add missing error exports for path utilities ([83b38b51](https://github.com/ucdjs/ucd/commit/83b38b51584619f07f14c1463ab598544f9062de)) (by [@luxass](https://github.com/luxass)) +* add custom error classes for path traversal and Windows path issues ([ff098b7d](https://github.com/ucdjs/ucd/commit/ff098b7d9cf82f39633d09e4a37d76421a0834b0)) (by [@luxass](https://github.com/luxass)) +* add decodePathSafely function and update exports ([4070b806](https://github.com/ucdjs/ucd/commit/4070b806826546368f37b0f6ac1c41536b559efd)) (by [@luxass](https://github.com/luxass)) +* add custom error classes for path utilities ([044cd11d](https://github.com/ucdjs/ucd/commit/044cd11da10a88b9b03c276309c575b63981075e)) (by [@luxass](https://github.com/luxass)) +* add isWithinBase function for path validation ([974d929d](https://github.com/ucdjs/ucd/commit/974d929dbfcabaaf494376f222b3b247c09343c2)) (by [@luxass](https://github.com/luxass)) +* add isCaseSensitive utility ([11b4b5c1](https://github.com/ucdjs/ucd/commit/11b4b5c160261e22051592b264b7a0d87756413e)) (by [@luxass](https://github.com/luxass)) +* implement Windows path utilities ([09840fe5](https://github.com/ucdjs/ucd/commit/09840fe59d0c7171a770cda28050b26f959fea68)) (by [@luxass](https://github.com/luxass)) +* setup package ([f4e6cce5](https://github.com/ucdjs/ucd/commit/f4e6cce5864dc26efda2590f0882c8f3b58554d5)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* normalize input path in resolveSafePath function ([49a4ccdd](https://github.com/ucdjs/ucd/commit/49a4ccdd750e5f1efe83f590dc372cf37ae06fa8)) (by [@luxass](https://github.com/luxass)) +* update CONTROL_CHARACTER_RE regex for accuracy ([6b4f43d9](https://github.com/ucdjs/ucd/commit/6b4f43d9dae6a5f8784d2b9123a4a3c87b88df24)) (by [@luxass](https://github.com/luxass)) +* improve path validation and normalization ([4ee30d5a](https://github.com/ucdjs/ucd/commit/4ee30d5a8df3b67e0bb38b28ca4006ec2c63fa0c)) (by [@luxass](https://github.com/luxass)) +* correct regex for stripping Windows drive letters ([c42629b3](https://github.com/ucdjs/ucd/commit/c42629b3902389c7f26809dce3a5b10664d6f13d)) (by [@luxass](https://github.com/luxass)) +* update logic to recognize forward-slash UNC paths ([14ff1f46](https://github.com/ucdjs/ucd/commit/14ff1f46a92e80fb010fc84369409f95ca54859b)) (by [@luxass](https://github.com/luxass)) +* update isUNCPath logic to use getAnyUNCRoot ([cbdb5457](https://github.com/ucdjs/ucd/commit/cbdb54573d088681a6e3056299f1308aae2b1ef1)) (by [@luxass](https://github.com/luxass)) +* improve path boundary checks in internal_resolveWindowsPath ([abf3806d](https://github.com/ucdjs/ucd/commit/abf3806dceb8022d6c452c419f4d14d8a8c67e53)) (by [@luxass](https://github.com/luxass)) +* improve UNC path handling in internal_resolveWindowsPath ([bb2327cf](https://github.com/ucdjs/ucd/commit/bb2327cf692b0941b5c697ae0e0f34d1dd0d9960)) (by [@luxass](https://github.com/luxass)) +* validate normalized paths within boundary ([f4fd13de](https://github.com/ucdjs/ucd/commit/f4fd13decce05975ffd5244ef06e7f209ae53f94)) (by [@luxass](https://github.com/luxass)) +* handle path decoding errors ([539d0a9d](https://github.com/ucdjs/ucd/commit/539d0a9db0f5b78ed69e0aa57a4246a4eaf26547)) (by [@luxass](https://github.com/luxass)) +* improve path resolution for case sensitivity ([03c732da](https://github.com/ucdjs/ucd/commit/03c732da97ecff240a827a2f881a4e3cfe810038)) (by [@luxass](https://github.com/luxass)) +* resolve Windows path normalization issue ([9ff80e37](https://github.com/ucdjs/ucd/commit/9ff80e3743eb1ff56ba38b84eb241d16c1a82069)) (by [@luxass](https://github.com/luxass)) +* simplify Windows path resolution ([42c7a398](https://github.com/ucdjs/ucd/commit/42c7a3987f7320afb17b467c3d97e944c655ddda)) (by [@luxass](https://github.com/luxass)) +* only normalize when both paths is windows drives ([92e2c495](https://github.com/ucdjs/ucd/commit/92e2c49563a400706822103d76ee2ab3adca990f)) (by [@luxass](https://github.com/luxass)) +* normalize base path in internal_resolveWindowsPath ([e3d5cd64](https://github.com/ucdjs/ucd/commit/e3d5cd64084b446237b1b2cada69c301a42f65cf)) (by [@luxass](https://github.com/luxass)) +* simplify Windows path resolution ([05d6907b](https://github.com/ucdjs/ucd/commit/05d6907b05e84e3429a1f83f882923d8465aa7e0)) (by [@luxass](https://github.com/luxass)) +* trim trailing slashes in toUnixFormat function ([9e7eff34](https://github.com/ucdjs/ucd/commit/9e7eff34e5bfbb639333f9c8afa6db93a29390d9)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* swap parameters for consistency ([2264cfa4](https://github.com/ucdjs/ucd/commit/2264cfa423e235ce6191ad58823d14439bf1dada)) (by [@luxass](https://github.com/luxass)) +* remove unc support ([2c180272](https://github.com/ucdjs/ucd/commit/2c180272743923f156ce211c6a2e4cc845c5dfee)) (by [@luxass](https://github.com/luxass)) ## New Functions ### Security Functions diff --git a/packages/schema-gen/CHANGELOG.md b/packages/schema-gen/CHANGELOG.md index be31518c9..878d13d54 100644 --- a/packages/schema-gen/CHANGELOG.md +++ b/packages/schema-gen/CHANGELOG.md @@ -1,12 +1,21 @@ # @ucdjs/schema-gen -## 0.2.2 +## [0.2.2](https://github.com/ucdjs/ucd/compare/@ucdjs/schema-gen@0.2.2...@ucdjs/schema-gen@0.2.2) (2025-11-24) -### Patch Changes -- Updated dependencies [[`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640)]: - - @ucdjs-internal/shared@0.1.0 +### Features +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* add turbo.json configuration files for cli, schema-gen, ucd-store, and utils; update tsconfig.base.build.json and remove test:watch task from turbo.json ([48dad498](https://github.com/ucdjs/ucd/commit/48dad4988f63c50f2c878f310112cf0fd44e6058)) (by [@luxass](https://github.com/luxass)) +* enable tsdown exports ([8d890cb3](https://github.com/ucdjs/ucd/commit/8d890cb3bea085a3fd12e818499ea305279a738a)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update dependency from `@luxass/unicode-utils` to `@luxass/unicode-utils-old` ([46b62b64](https://github.com/ucdjs/ucd/commit/46b62b64395f76f1306e9abeeb42b43214ef4bc2)) (by [@luxass](https://github.com/luxass)) +* throw if unresolved import ([8123dda2](https://github.com/ucdjs/ucd/commit/8123dda281a62ed6bd63c6d1b6975a27a6f78346)) (by [@luxass](https://github.com/luxass)) +### Refactoring +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* use fileURLToPath for consistent path handling ([fb178d95](https://github.com/ucdjs/ucd/commit/fb178d95c6f888f0077114666ab6751ea5b741e0)) (by [@luxass](https://github.com/luxass)) ## 0.2.1 ### Patch Changes diff --git a/packages/schemas/CHANGELOG.md b/packages/schemas/CHANGELOG.md index 95816bf37..4f063f6c6 100644 --- a/packages/schemas/CHANGELOG.md +++ b/packages/schemas/CHANGELOG.md @@ -1,9 +1,24 @@ # @ucdjs/schemas -## 0.1.0 +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/schemas@0.1.0...@ucdjs/schemas@0.1.0) (2025-11-24) -### Minor Changes -- [#172](https://github.com/ucdjs/ucd/pull/172) [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8) Thanks [@luxass](https://github.com/luxass)! - feat: add initial schemas package +### Features +* introduce ucdRegistry for schema metadata management ([794d3cdb](https://github.com/ucdjs/ucd/commit/794d3cdb055edd1b8a75bec1eed71e0f536b130a)) (by [@luxass](https://github.com/luxass)) +* add UCD configuration endpoint and schema ([5c8eaf7f](https://github.com/ucdjs/ucd/commit/5c8eaf7fd525bc8b102b9ac21c61a11d4be03de5)) (by [@luxass](https://github.com/luxass)) +* add dependency on @ucdjs/schemas and update UnicodeTreeNode schema ([5bacfe2a](https://github.com/ucdjs/ucd/commit/5bacfe2aceeccb061a47cc02ba3ff10a5970e610)) (by [@luxass](https://github.com/luxass)) +* add UnicodeTreeNode and UnicodeTree schemas ([b63b94b9](https://github.com/ucdjs/ucd/commit/b63b94b9796875e77a9aaff4513b3c116fc55565)) (by [@luxass](https://github.com/luxass)) +* add UnicodeVersionSchema and refactor imports ([f1e3c5af](https://github.com/ucdjs/ucd/commit/f1e3c5afcc9bdefe3d1d38326157689f56c78f87)) (by [@luxass](https://github.com/luxass)) +* update UCD store schemas and handling ([8b90a374](https://github.com/ucdjs/ucd/commit/8b90a3741bc8d46ae9ab2764f94c2ef041e00689)) (by [@luxass](https://github.com/luxass)) +* enhance UCDStore initialization and manifest loading ([598e2fec](https://github.com/ucdjs/ucd/commit/598e2fec810274fd1801cf50dd2935669f7253d6)) (by [@luxass](https://github.com/luxass)) +* add schemas package with initial implementation ([58b02b89](https://github.com/ucdjs/ucd/commit/58b02b89baf7fd795ce0423ad9acda01726ca44b)) (by [@luxass](https://github.com/luxass)) - This package provides schemas for different UCDJS components, including Api Responses, Environment Variables, and more. +### Bug Fixes +* update FileEntrySchema registration method ([494a3205](https://github.com/ucdjs/ucd/commit/494a32050424a471e02e79968b32d1f8e473b612)) (by [@luxass](https://github.com/luxass)) +* enhance error handling and directory listing logic ([02be1238](https://github.com/ucdjs/ucd/commit/02be1238ee1e5a63ce75d8e44385bc36c4b3a256)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* remove ucdRegistry and update schema registration ([381b5947](https://github.com/ucdjs/ucd/commit/381b59473f77c0f73f3b8184e07c2a8a9258b686)) (by [@luxass](https://github.com/luxass)) +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* update imports to use centralized schemas ([93cb36b4](https://github.com/ucdjs/ucd/commit/93cb36b42e463304b7aca4c4817bbe087ba7f843)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index 932e82f73..8a4495669 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,155 +1,46 @@ # @ucdjs-internal/shared -## 0.1.0 - -### Minor Changes - -- [#223](https://github.com/ucdjs/ucd/pull/223) [`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59) Thanks [@luxass](https://github.com/luxass)! - ## New filterTreeStructure Function - - Added a new utility function for filtering tree structures using PathFilter: - - ```ts - export function filterTreeStructure( - pathFilter: PathFilter, - entries: TreeEntry[], - extraOptions?: Pick - ): TreeEntry[]; - ``` - - ### Features - - - **Recursive filtering**: Processes nested directory structures - - **Path construction**: Builds full paths from relative entry paths - - **Smart directory inclusion**: Includes directories if they contain matching files, even if the directory itself doesn't match - - **Structure preservation**: Maintains tree hierarchy while filtering contents - - ### TreeEntry Type - - ```ts - type TreeEntry = - | { - type: "file"; - name: string; - path: string; - } - | { - type: "directory"; - name: string; - path: string; - children: TreeEntry[]; - }; - ``` - - ### Example Usage - - ```ts - const filter = createPathFilter({ - include: ["**/*.ts"], - exclude: ["**/*.test.ts"], - }); - - const tree = [ - { - type: "directory", - name: "src", - path: "src", - children: [ - { type: "file", name: "index.ts", path: "index.ts" }, - { type: "file", name: "index.test.ts", path: "index.test.ts" }, - ], - }, - ]; - - const filtered = filterTreeStructure(filter, tree); - // Result: src directory with only index.ts (test file excluded) - ``` - -- [#316](https://github.com/ucdjs/ucd/pull/316) [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce) Thanks [@luxass](https://github.com/luxass)! - add new customFetch function - -- [#173](https://github.com/ucdjs/ucd/pull/173) [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813) Thanks [@luxass](https://github.com/luxass)! - feat: introduce a new `isApiError` type guard - -- [#214](https://github.com/ucdjs/ucd/pull/214) [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5) Thanks [@luxass](https://github.com/luxass)! - feat: add tryCatch utility function - - Added a new `tryCatch` function to the shared utilities for safe error handling and consistent error patterns across the monorepo. - -- [#223](https://github.com/ucdjs/ucd/pull/223) [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532) Thanks [@luxass](https://github.com/luxass)! - ## PathFilter API Changes - - Updated the PathFilter API to use a configuration object with separate `include` and `exclude` arrays instead of mixing patterns with `!` prefixes. - - **Before:** - - ```ts - const filter = createPathFilter([ - "*.js", - "!*.test.js", - "!**/node_modules/**", - ]); - ``` - - **After:** - - ```ts - const filter = createPathFilter({ - include: ["*.js"], - exclude: ["*.test.js", "**/node_modules/**"], - }); - ``` - - ### API Changes - - - `createPathFilter(patterns: string[])` → `createPathFilter(config: PathFilterOptions)` - - `filter.extend(patterns: string[])` → `filter.extend(config: Pick)` - - `filter.patterns(): string[]` → `filter.patterns(): PathFilterOptions` - - `filter(path, extraPatterns: string[])` → `filter(path, extraConfig: Pick)` - - ### Default Behavior - - - If `include` is empty or not provided, includes everything using `**` pattern - - `exclude` patterns always override `include` patterns - - Default exclusions for `.zip` and `.pdf` files (can be disabled with `disableDefaultExclusions: true`) - - ### Updated PRECONFIGURED_FILTERS - - Preconfigured filter constants now return arrays: - - **Before:** - - ```ts - PRECONFIGURED_FILTERS.EXCLUDE_TEST_FILES; // "!**/*Test*" - ``` - - **After:** - - ```ts - PRECONFIGURED_FILTERS.TEST_FILES; // ["**/*Test*"] - ``` - - Available filters: - - - `TEST_FILES`: `["**/*Test*"]` - - `README_FILES`: `["**/ReadMe.txt"]` - - `HTML_FILES`: `["**/*.html"]` - - `TEST_RELATED`: `["**/*.test.*", "**/*.spec.*", "**/__tests__/**"]` - -- [#325](https://github.com/ucdjs/ucd/pull/325) [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868) Thanks [@luxass](https://github.com/luxass)! - Move `discoverEndpointsFromConfig` from `@ucdjs/client` to `@ucdjs-internal/shared`. - -- [#212](https://github.com/ucdjs/ucd/pull/212) [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459) Thanks [@luxass](https://github.com/luxass)! - feat: add new @ucdjs-internal/shared package for internal utilities - - This new package contains internal utilities and patterns used across the UCD monorepo, including: - - - `safeJsonParse` utility for safe JSON parsing - - Foundation for shared Result types and async utilities - - This package is internal and may change without semver constraints. External users should use `@ucdjs/utils` for stable utilities. - -- [#326](https://github.com/ucdjs/ucd/pull/326) [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640) Thanks [@luxass](https://github.com/luxass)! - Introduce a `getDefaultUCDEndpointConfig` which uses a build time define, to inject the currently running endpoint config into the build. - -### Patch Changes - -- [#216](https://github.com/ucdjs/ucd/pull/216) [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743) Thanks [@luxass](https://github.com/luxass)! - feat: introduce own implementation of `p-limit` - -- [#319](https://github.com/ucdjs/ucd/pull/319) [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0) Thanks [@luxass](https://github.com/luxass)! - Expose fetch types - -- Updated dependencies [[`696fdd3`](https://github.com/ucdjs/ucd/commit/696fdd340a2b2faddfcd142e285294f1cc715c1a), [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8)]: - - @ucdjs/env@0.1.0 - - @ucdjs/schemas@0.1.0 +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs-internal/shared@0.1.0...@ucdjs-internal/shared@0.1.0) (2025-11-24) + + +### Features +* add `isApiError` type guard and tests ([5b578e55](https://github.com/ucdjs/ucd/commit/5b578e55b6ef15fe05b5e62bf759d6d4f5543a8d)) (by [@luxass](https://github.com/luxass)) +* integrate MSW error handling in custom fetch ([46bfa215](https://github.com/ucdjs/ucd/commit/46bfa21518710a89ae42e0c8186d513bed2821f3)) (by [@luxass](https://github.com/luxass)) +* add @luxass/msw-utils dependency ([38a33073](https://github.com/ucdjs/ucd/commit/38a3307370f38507dd75ecd3e70f15a3daf45f8f)) (by [@luxass](https://github.com/luxass)) +* add getDefaultUCDEndpointConfig function ([f1877b20](https://github.com/ucdjs/ucd/commit/f1877b20b39fd5032a2a78ecacb81dee584df949)) (by [@luxass](https://github.com/luxass)) +* export fetch types ([753cb566](https://github.com/ucdjs/ucd/commit/753cb566cb7b46ab19d25c43d7df2e5f3f426b71)) (by [@luxass](https://github.com/luxass)) +* export custom fetch ([b1034af8](https://github.com/ucdjs/ucd/commit/b1034af8b2ee9316f26a70da89c2ed3feb0560f8)) (by [@luxass](https://github.com/luxass)) +* add custom fetch ([d66c2282](https://github.com/ucdjs/ucd/commit/d66c228298ca96c409d38c81e839784aa8a0a75a)) (by [@luxass](https://github.com/luxass)) +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* enhance directory pattern handling in filters ([616cf518](https://github.com/ucdjs/ucd/commit/616cf518bf7290342008eb04b854de5d402e1a6e)) (by [@luxass](https://github.com/luxass)) +* enhance createPathFilter to use Set for unique include/exclude patterns ([09070da1](https://github.com/ucdjs/ucd/commit/09070da1fee2bfd32d7050839dce88c40a3b2741)) (by [@luxass](https://github.com/luxass)) +* improve filter application in createPathFilter ([d3a11d5b](https://github.com/ucdjs/ucd/commit/d3a11d5b37ae13ad9c510f8b1ccf0fb6506a35ab)) (by [@luxass](https://github.com/luxass)) +* enhance filtering options in getFileTree and getFilePaths ([c5335784](https://github.com/ucdjs/ucd/commit/c53357843da507204fd325f73af20a2df68780db)) (by [@luxass](https://github.com/luxass)) +* update PathFilter API to use configuration object ([6c564aba](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532)) (by [@luxass](https://github.com/luxass)) +* implement filterTreeStructure function for hierarchical filtering ([c7b7eb5b](https://github.com/ucdjs/ucd/commit/c7b7eb5bd0439a55389c3572b43bea323ad68e6e)) (by [@luxass](https://github.com/luxass)) +* add concurrency limiter function ([b18de205](https://github.com/ucdjs/ucd/commit/b18de205b6f4b048f25d92587235c130da1e781e)) (by [@luxass](https://github.com/luxass)) +* add `tryCatch` utility for error handling ([ca8e054d](https://github.com/ucdjs/ucd/commit/ca8e054d0692047affe2529d0dc0192867aafd17)) (by [@luxass](https://github.com/luxass)) +* add shared package ([5e59cb10](https://github.com/ucdjs/ucd/commit/5e59cb10e82b5a2ba69dd3c4d9bd234030d52295)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update file paths to include 'extracted' prefix ([PR #371](https://github.com/ucdjs/ucd/pull/371)) ([2f455a5f](https://github.com/ucdjs/ucd/commit/2f455a5f8abb5da0e3bc5d1da30b156579b63243)) (by [@luxass](https://github.com/luxass)) +* replace `@luxass/unicode-utils-new` with `@luxass/unicode-utils` ([301056ad](https://github.com/ucdjs/ucd/commit/301056ad6d16ec0de30ce8e6e611db4d59ab3e9b)) (by [@luxass](https://github.com/luxass)) +* refactor UCD endpoint configuration handling ([f8174910](https://github.com/ucdjs/ucd/commit/f81749103cc764ff3c24fb20d32d004e53a1e5e9)) (by [@luxass](https://github.com/luxass)) +* handle non-FetchError exceptions in customFetch ([845e51d4](https://github.com/ucdjs/ucd/commit/845e51d4e39f3d4c370a5f415ac16a064c62e9a7)) (by [@luxass](https://github.com/luxass)) +* improve error handling for UCD endpoint config fetch ([5f4a4d54](https://github.com/ucdjs/ucd/commit/5f4a4d5467cb2830ab621d6efe2b6a9275cfbe3b)) (by [@luxass](https://github.com/luxass)) +* ensure default include pattern is set correctly ([5b377716](https://github.com/ucdjs/ucd/commit/5b3777169ed3df4cfb439ee3907fdc968abb2f08)) (by [@luxass](https://github.com/luxass)) +* update JSDoc for options parameter type ([720658a3](https://github.com/ucdjs/ucd/commit/720658a3dfcfadcd046c7a8bf9ebd337f6e4f7c4)) (by [@luxass](https://github.com/luxass)) +* add support for disabling default exclusions in path filter ([cfd513ae](https://github.com/ucdjs/ucd/commit/cfd513aec6a5aa59e7342e424e2a5a182d2d84a5)) (by [@luxass](https://github.com/luxass)) +* improve error handling for concurrency limit ([cd175fa3](https://github.com/ucdjs/ucd/commit/cd175fa3fee1e85b9221c827fed16a7e69a1b6ec)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* use native json parse ([PR #376](https://github.com/ucdjs/ucd/pull/376)) ([7cbf0e32](https://github.com/ucdjs/ucd/commit/7cbf0e3241aa6519848eefffec098f1c7e6ce17f)) (by [@luxass](https://github.com/luxass)) +* enhance safeFetch response structure ([7a96c23d](https://github.com/ucdjs/ucd/commit/7a96c23dee833ce6098173fed4213c0f2552d218)) (by [@luxass](https://github.com/luxass)) +* move ucd-config from client to shared ([d6094c9e](https://github.com/ucdjs/ucd/commit/d6094c9e9edf5f2f06c86d737ae1b4f3d16b6d7c)) (by [@luxass](https://github.com/luxass)) +* organise package structure ([80aaa22a](https://github.com/ucdjs/ucd/commit/80aaa22a655b778bf2ee3789fb8f4b3b37e87526)) (by [@luxass](https://github.com/luxass)) +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* enhance path filtering logic and update predefined filters ([cd5dd2aa](https://github.com/ucdjs/ucd/commit/cd5dd2aa0149386c50c7f460dcbeb99d98a22091)) (by [@luxass](https://github.com/luxass)) +* extract concurrency validation to a separate function ([fdd57301](https://github.com/ucdjs/ucd/commit/fdd5730187e4eb4789521b3fa223d350442659dd)) (by [@luxass](https://github.com/luxass)) +* migrate `flattenFilePaths` imports from `@ucdjs/utils` to `@ucdjs/shared` ([49318725](https://github.com/ucdjs/ucd/commit/49318725c45c27dad6354ff4b0faf6bc4da795fa)) (by [@luxass](https://github.com/luxass)) +* move `safeJsonParse` function to shared package ([ee893aa4](https://github.com/ucdjs/ucd/commit/ee893aa4b3ab8e8aac3ed85ad1b87ea0e0ca3a91)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 6144bca81..89b0502d2 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,345 +1,60 @@ # @ucdjs/test-utils -## 1.0.0 - -### Minor Changes - -- [#359](https://github.com/ucdjs/ucd/pull/359) [`74e889a`](https://github.com/ucdjs/ucd/commit/74e889ad3724ece96ef2fb65ca4442ef8573a822) Thanks [@luxass](https://github.com/luxass)! - Added `configure` helper for customizing mock responses with latency and headers. - - The new `configure` helper allows you to simulate network latency and add custom headers to mock responses: - - ```ts - import { mockStoreApi, configure } from "@ucdjs/test-utils"; - - mockStoreApi({ - responses: { - "/api/v1/versions": configure({ - response: [{ version: "16.0.0" /* ... */ }], - latency: 100, // 100ms delay - headers: { "X-Custom-Header": "value" }, - }), - }, - }); - ``` - - **Features:** - - - **Fixed latency**: Use a number for consistent delay - - **Random latency**: Use `"random"` for variable 100-999ms delays - - **Custom headers**: Add response headers for testing - - **Examples:** - - ```ts - // Random latency for realistic testing - configure({ - response: data, - latency: "random", // Random 100-999ms - }); - - // Test rate limiting headers - configure({ - response: data, - headers: { - "X-Rate-Limit-Remaining": "10", - "X-Rate-Limit-Reset": "1234567890", - }, - }); - - // Combine latency and headers - configure({ - response: data, - latency: 200, - headers: { "X-Request-ID": "test-123" }, - }); - ``` - -- [#362](https://github.com/ucdjs/ucd/pull/362) [`2c6d845`](https://github.com/ucdjs/ucd/commit/2c6d84513fd0ca2f1eda3d8f502114770f3dbe3e) Thanks [@luxass](https://github.com/luxass)! - Added `customResponses` option to `mockStoreApi` for registering custom endpoint handlers. - - You can now add custom endpoints beyond the predefined API routes: - - ```ts - import { mockStoreApi } from "@ucdjs/test-utils"; - import { HttpResponse } from "msw"; - - mockStoreApi({ - customResponses: [ - [ - "GET", - "https://api.ucdjs.dev/api/v1/stats", - () => { - return HttpResponse.json({ totalVersions: 42 }); - }, - ], - ], - }); - ``` - - **Features:** - - - Support for custom endpoints with any HTTP method - - Multiple methods on the same endpoint - - Path parameters support - - Works alongside regular `responses` configuration - - **Examples:** - - ```ts - // Multiple HTTP methods - mockStoreApi({ - customResponses: [ - [ - ["POST", "PUT"], - "https://api.ucdjs.dev/api/v1/cache", - ({ request }) => { - return HttpResponse.json({ method: request.method }); - }, - ], - ], - }); - - // Path parameters - mockStoreApi({ - customResponses: [ - [ - "GET", - "https://api.ucdjs.dev/api/v1/versions/:version/stats", - ({ params }) => { - return HttpResponse.json({ version: params.version, downloads: 100 }); - }, - ], - ], - }); - - // Combine with regular responses - mockStoreApi({ - responses: { - "/api/v1/versions": [], - }, - customResponses: [ - [ - "GET", - "https://api.ucdjs.dev/api/v1/search", - () => { - return HttpResponse.json({ results: [] }); - }, - ], - ], - }); - ``` - - This is useful for testing custom endpoints or extending the mock API with additional functionality. - -- [#359](https://github.com/ucdjs/ucd/pull/359) [`74e889a`](https://github.com/ucdjs/ucd/commit/74e889ad3724ece96ef2fb65ca4442ef8573a822) Thanks [@luxass](https://github.com/luxass)! - Added support for error responses in mock store using `ApiError` type from `@ucdjs/schemas`. - - You can now return API error responses to test error handling scenarios: - - ```ts - import { mockStoreApi } from "@ucdjs/test-utils"; - import type { ApiError } from "@ucdjs/schemas"; - - const errorResponse: ApiError = { - message: "Version not found", - status: 404, - timestamp: new Date().toISOString(), - }; - - mockStoreApi({ - responses: { - "/api/v1/versions": errorResponse, - }, - }); - ``` - - This makes it easier to test error handling while maintaining full type safety with the standardized API error format. - -- [#364](https://github.com/ucdjs/ucd/pull/364) [`13b3900`](https://github.com/ucdjs/ucd/commit/13b390035620daf2053c6be8c25d602deed579f2) Thanks [@luxass](https://github.com/luxass)! - Added `onRequest` callback to `mockStoreApi` for request tracking. - - The `onRequest` callback allows tests to track, assert, or log API requests. This is particularly useful for verifying that certain endpoints weren't called during a test, such as when testing local caching behavior. - - ```ts - import { mockStoreApi } from "@ucdjs/test-utils"; - - let apiCallCount = 0; - - mockStoreApi({ - versions: ["16.0.0"], - onRequest: ({ path, method, params, url }) => { - apiCallCount++; - console.log(`API called: ${method} ${path}`); - }, - }); - - // Later in test - expect(apiCallCount).toBe(0); // Verify API wasn't called - ``` - - **Features:** - - - Track API requests during tests - - Access request metadata: `path`, `method`, `params`, `url` - - Verify endpoints weren't called (e.g., when using local caches) - - This resolves issue #363. - -- [#359](https://github.com/ucdjs/ucd/pull/359) [`74e889a`](https://github.com/ucdjs/ucd/commit/74e889ad3724ece96ef2fb65ca4442ef8573a822) Thanks [@luxass](https://github.com/luxass)! - Added `unsafeResponse` helper for testing with invalid or non-schema-compliant responses. - - The new `unsafeResponse` helper bypasses TypeScript type checking to test error handling with invalid data: - - ```ts - import { mockStoreApi, unsafeResponse } from "@ucdjs/test-utils"; - - // Test error handling with malformed response - mockStoreApi({ - responses: { - "/api/v1/versions": unsafeResponse({ invalid: "data" }), - }, - }); - ``` - - **Use Cases:** - - - Test error handling with malformed API responses - - Simulate edge cases where the API returns unexpected data - - Validate client-side validation and error recovery - - **Combine with `configure`:** - - ```ts - import { mockStoreApi, configure, unsafeResponse } from "@ucdjs/test-utils"; - - mockStoreApi({ - responses: { - "/api/v1/versions": configure({ - response: unsafeResponse({ malformed: "response" }), - latency: 100, - headers: { "X-Test-Case": "invalid-response" }, - }), - }, - }); - ``` - - This is useful for testing how your application handles unexpected API behavior. - -- [#295](https://github.com/ucdjs/ucd/pull/295) [`7187763`](https://github.com/ucdjs/ucd/commit/71877636a5be78f5e7a867511b78f1fc006f4eaa) Thanks [@luxass](https://github.com/luxass)! - Rename `mockStoreApi` to `mockStoreApi` for better clarity - - The function has been renamed from `mockStoreApi` to `mockStoreApi` to better reflect that it sets up MSW HTTP route handlers for the UCD API, rather than creating a mock store object. - - **Migration:** - - ```typescript - // Before - import { mockStoreApi } from "@ucdjs/test-utils"; - mockStoreApi(); - - // After - import { mockStoreApi } from "@ucdjs/test-utils"; - mockStoreApi(); - ``` - - The old `mockStoreApi` name is still exported as a deprecated alias for backward compatibility. - -- [#292](https://github.com/ucdjs/ucd/pull/292) [`956277e`](https://github.com/ucdjs/ucd/commit/956277ec63983735e072f210cfd896de4e6bfe99) Thanks [@luxass](https://github.com/luxass)! - Reorganize package structure and improve MSW server flexibility - - **Package Structure:** - - - Reorganized into `mock-store/` directory with cleaner file structure - - Renamed `global-setup.ts` to `vitest-setup.ts` for clarity - - Simplified handler pattern by removing abstraction layer - - Consolidated all types into `mock-store/types.ts` - - **MSW Server Improvements:** - - - `mockStoreApi` now accepts optional `mswServer` parameter for custom MSW servers - - Smart server resolution: automatically uses global server when `@ucdjs/test-utils/msw/vitest-setup` is imported - - Handlers now receive `mockFetch` via dependency injection for better testability - - Clear error messages when MSW server is not configured - - **Usage:** - - ```typescript - // Option 1: Use vitest-setup (automatic server registration) - // vitest.config.ts - export default defineConfig({ - test: { - setupFiles: ["@ucdjs/test-utils/msw/vitest-setup"], - }, - }); - - // Option 2: Provide your own server - mockStoreApi({ mswServer: yourCustomServer }); - ``` - -- [#332](https://github.com/ucdjs/ucd/pull/332) [`d621f55`](https://github.com/ucdjs/ucd/commit/d621f552259984f13d14322c91745e52c4a6d77f) Thanks [@luxass](https://github.com/luxass)! - Add in-memory file system bridge for testing - - Introduces `createMemoryMockFS` under `@ucdjs/test-utils/fs-bridges` - a lightweight, Map-based in-memory file system bridge for testing file operations without real I/O. - - **Usage:** - - ```typescript - import { describe, it, expect } from "vitest"; - import { createMemoryMockFS } from "@ucdjs/test-utils/fs-bridges"; - - describe("file operations", () => { - it("should read and write files", async () => { - const fs = createMemoryMockFS(); - - await fs.write("test.txt", "content"); - const content = await fs.read("test.txt"); - - expect(content).toBe("content"); - }); - - it("should initialize with pre-populated files", async () => { - const fs = createMemoryMockFS({ - initialFiles: { - "manifest.json": JSON.stringify({ versions: ["16.0.0"] }), - "16.0.0/UnicodeData.txt": "0000;;Cc;0;BN;;;;;N;NULL;;;;", - }, - }); - - expect(await fs.exists("manifest.json")).toBe(true); - expect(await fs.exists("16.0.0/UnicodeData.txt")).toBe(true); - }); - }); - ``` - - Supports all file system operations: `read`, `write`, `exists`, `listdir`, `mkdir`, `rm`. Full write/read/mkdir/rm capabilities included. - -- [#359](https://github.com/ucdjs/ucd/pull/359) [`74e889a`](https://github.com/ucdjs/ucd/commit/74e889ad3724ece96ef2fb65ca4442ef8573a822) Thanks [@luxass](https://github.com/luxass)! - Changed mock store route parameter syntax from Express-style (`:param`) to OpenAPI-style (`{param}`). - - **Breaking Changes:** - - Route definitions now use curly braces for parameters instead of colons. - - **Before:** - - ```ts - mockStoreApi({ - responses: { - "/api/v1/files/:wildcard": customData, - }, - }); - ``` - - **After:** - - ```ts - mockStoreApi({ - responses: { - "/api/v1/files/{wildcard}": customData, - }, - }); - ``` - - This aligns the mock store with OpenAPI path parameter conventions and improves consistency across the codebase. - -### Patch Changes - -- [#291](https://github.com/ucdjs/ucd/pull/291) [`6164ec5`](https://github.com/ucdjs/ucd/commit/6164ec523993459e5edf2cce4d2f3378bb84653c) Thanks [@luxass](https://github.com/luxass)! - Align @ucdjs/test-utils with internal test utils - -- Updated dependencies [[`6ac0005`](https://github.com/ucdjs/ucd/commit/6ac000515509945cc87119af57725beabc9b75e4), [`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`f15bb51`](https://github.com/ucdjs/ucd/commit/f15bb51c663c05e205553c59ab0a7f06a6e20e39), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`2d3774a`](https://github.com/ucdjs/ucd/commit/2d3774afe4786e45385ba3af19f160487541a64e), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`d7b8d08`](https://github.com/ucdjs/ucd/commit/d7b8d088060b2ee473f325b1173cbb67f05ccb2f), [`199021b`](https://github.com/ucdjs/ucd/commit/199021b803ffe5969f8c5e80de3153971b686b69), [`8ed7777`](https://github.com/ucdjs/ucd/commit/8ed77771808dc56a7dc3a1f07bd22cd7b75c2119), [`8dbc72d`](https://github.com/ucdjs/ucd/commit/8dbc72d3197a0eef8e876595583c4109114cbc31), [`2222605`](https://github.com/ucdjs/ucd/commit/22226057f7587669e2ae15cd06011f38dd677741), [`b19dc76`](https://github.com/ucdjs/ucd/commit/b19dc76984e611be178de2037e5436cf3cc27dab), [`505ec62`](https://github.com/ucdjs/ucd/commit/505ec6266588299b09e1b82de0c2478514671b5c), [`ce9b5a7`](https://github.com/ucdjs/ucd/commit/ce9b5a76795292aca5c9f8b6fd7021a66a34c28d), [`82eb12e`](https://github.com/ucdjs/ucd/commit/82eb12e1d1944ebbe2748ec129a2d2b2fa315946), [`d4bdcfd`](https://github.com/ucdjs/ucd/commit/d4bdcfd5a5cd0fc3e2a6e2620a26f5e6f835af40), [`c013665`](https://github.com/ucdjs/ucd/commit/c013665af9188920624e516d0359293859752861), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`80a3794`](https://github.com/ucdjs/ucd/commit/80a3794d0469d64f0522347d6f0c3b258f4fcd35), [`d761237`](https://github.com/ucdjs/ucd/commit/d7612378002115098b7f35430aaadfed0913a3af), [`bea2c3c`](https://github.com/ucdjs/ucd/commit/bea2c3c672aee24080eef7b973c7f3c00acb1b6f), [`942dc38`](https://github.com/ucdjs/ucd/commit/942dc380eb97e7123a5aa32e2960f6fef505465d), [`7c612b3`](https://github.com/ucdjs/ucd/commit/7c612b3985a09f65348fa00fb86dba3e11157eec), [`ec348bb`](https://github.com/ucdjs/ucd/commit/ec348bb9cea0285222347526cf5be5d14d9d61ea), [`1bac88a`](https://github.com/ucdjs/ucd/commit/1bac88add4796ef58f9b9b1d769ab03cdd4a61c0), [`69ee629`](https://github.com/ucdjs/ucd/commit/69ee629e77ad2f83a663cb7c6e8aa07fb9655a12), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`85c248b`](https://github.com/ucdjs/ucd/commit/85c248bc8f5304ee6ba56e2ded6d81ce3facd00e), [`d02d0c6`](https://github.com/ucdjs/ucd/commit/d02d0c6bdf7fc990c56e55a9e2517eba40b7e0b3), [`6a43284`](https://github.com/ucdjs/ucd/commit/6a432841e12d6e5783822cc8fe2586ae2b5ab4e1), [`46a6e81`](https://github.com/ucdjs/ucd/commit/46a6e8110dcc1ccef3a436bb18e67d92f0424213), [`7d98e29`](https://github.com/ucdjs/ucd/commit/7d98e29af2f9f6d681f9f2ee401baddf5a2c6ef6), [`2a44473`](https://github.com/ucdjs/ucd/commit/2a444735b6c09b4a5df8c79a580d00acb7511ab2), [`c013665`](https://github.com/ucdjs/ucd/commit/c013665af9188920624e516d0359293859752861), [`4fd46b4`](https://github.com/ucdjs/ucd/commit/4fd46b43613b23c1d120c71ae0754883eb9bf1ff), [`4052200`](https://github.com/ucdjs/ucd/commit/40522006c24f8856ff5ec34bb6630d1e1d7f68e3), [`f15bb51`](https://github.com/ucdjs/ucd/commit/f15bb51c663c05e205553c59ab0a7f06a6e20e39), [`0360dc3`](https://github.com/ucdjs/ucd/commit/0360dc3ac727019d451768dd1ef6eadca572c69b), [`a3f785f`](https://github.com/ucdjs/ucd/commit/a3f785f697a393dbef75728e9a8286359386c5f9), [`64e31f5`](https://github.com/ucdjs/ucd/commit/64e31f5491db5e192136eb66159108d4a98bff03), [`39faaf5`](https://github.com/ucdjs/ucd/commit/39faaf585f3339296ef75c8a39893399ea48789f), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`da10e4d`](https://github.com/ucdjs/ucd/commit/da10e4d133819b08c83d60d63d82d9273a1f77a3), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`5bc90eb`](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8), [`0ab4b32`](https://github.com/ucdjs/ucd/commit/0ab4b32b726c5ebb0c1199270dddfb7ddaae8f61), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640), [`170bbd1`](https://github.com/ucdjs/ucd/commit/170bbd1a8cfe23787d73e1052108261bb5956d01), [`3993a30`](https://github.com/ucdjs/ucd/commit/3993a304795d26070df7d69ca7b66b226372a234), [`76b56b0`](https://github.com/ucdjs/ucd/commit/76b56b08f38f5da4dc441cdbc7fcb8d074ae5a55)]: - - @ucdjs/fs-bridge@0.1.0 - - @ucdjs-internal/shared@0.1.0 - - @ucdjs/ucd-store@0.1.0 - - @ucdjs/schemas@0.1.0 +## [1.0.0](https://github.com/ucdjs/ucd/compare/@ucdjs/test-utils@1.0.0...@ucdjs/test-utils@1.0.0) (2025-11-24) + + +### Features +* add ApiError auto-conversion and related tests ([1d2aa933](https://github.com/ucdjs/ucd/commit/1d2aa933b17d21714edc799ba32edbeb9cbc5ab8)) (by [@luxass](https://github.com/luxass)) +* update callback payload types for wrapMockFetch ([1feca597](https://github.com/ucdjs/ucd/commit/1feca5976618820c3cbdacf24754e3ca22730cbf)) (by [@luxass](https://github.com/luxass)) +* enhance mockStoreApi with debugging and improved request handling ([793dcdec](https://github.com/ucdjs/ucd/commit/793dcdecf9a9d9d756fa2e9bc71e10133b687b73)) (by [@luxass](https://github.com/luxass)) +* add onRequest callback to mockStoreApi and wrapMockFetch ([fa97b58d](https://github.com/ucdjs/ucd/commit/fa97b58da28958ad254caa66e0cd123dd15a651f)) (by [@luxass](https://github.com/luxass)) +* add support for custom mock fetch handlers ([cb719a30](https://github.com/ucdjs/ucd/commit/cb719a3048336496f56f8e57f1aa46932e9e40a1)) (by [@luxass](https://github.com/luxass)) +* enhance response handling with `configure` and `unsafeResponse` ([e3cf3525](https://github.com/ucdjs/ucd/commit/e3cf3525a773d79bebe06599e8767919b53360f0)) (by [@luxass](https://github.com/luxass)) +* add tests for `unsafeResponse` functionality ([2c30435e](https://github.com/ucdjs/ucd/commit/2c30435e337db136f797d992161937d5b4634874)) (by [@luxass](https://github.com/luxass)) +* add `unsafeResponse` function for testing edge cases ([e2f10ee6](https://github.com/ucdjs/ucd/commit/e2f10ee642f4a7fd5776f2efaea6a547eaa94a12)) (by [@luxass](https://github.com/luxass)) +* normalize root path handling in memory file system bridge ([a1b73221](https://github.com/ucdjs/ucd/commit/a1b73221b5a9c0082e61c355babd94c05674bf7f)) (by [@luxass](https://github.com/luxass)) +* enhance directory structure handling in memory file system bridge ([8f327e8f](https://github.com/ucdjs/ucd/commit/8f327e8fb384332cd91fbeb3186f08a859de7fe4)) (by [@luxass](https://github.com/luxass)) +* add in-memory file system bridge implementation ([8bde966f](https://github.com/ucdjs/ucd/commit/8bde966f5b12e43d5cb3e90ea63be9f1ceb955fd)) (by [@luxass](https://github.com/luxass)) +* add fs-bridges entry to tsdown configuration ([8f982761](https://github.com/ucdjs/ucd/commit/8f982761a2e86d5aaf556685efdc521d61aee026)) (by [@luxass](https://github.com/luxass)) +* add well-known handler for UCD configuration ([15212df0](https://github.com/ucdjs/ucd/commit/15212df0a3a0637671e8e5a53a4f606d9b031d33)) (by [@luxass](https://github.com/luxass)) +* add custom fetch ([d66c2282](https://github.com/ucdjs/ucd/commit/d66c228298ca96c409d38c81e839784aa8a0a75a)) (by [@luxass](https://github.com/luxass)) +* add mockFetch function for MSW integration ([0ffc6768](https://github.com/ucdjs/ucd/commit/0ffc6768d3360b1e9f0507c70843eb9b58027a1f)) (by [@luxass](https://github.com/luxass)) +* add mockFetch to handler functions and improve setupMockStore ([6af022c3](https://github.com/ucdjs/ucd/commit/6af022c3d29494d37378ca30ca72df82faa25e5b)) (by [@luxass](https://github.com/luxass)) +* restructure mock store handlers and update exports ([49ffe9d8](https://github.com/ucdjs/ucd/commit/49ffe9d8acadaaf2e4eb0704caf9bb9892625426)) (by [@luxass](https://github.com/luxass)) +* enhance mock fetch handlers and add platform detection ([abf7bedb](https://github.com/ucdjs/ucd/commit/abf7bedbb0e6451b206c246c75b5eb31cfc8fc29)) (by [@luxass](https://github.com/luxass)) +* add initial test-utils package ([PR #268](https://github.com/ucdjs/ucd/pull/268)) ([d200f56e](https://github.com/ucdjs/ucd/commit/d200f56e102f61d2d8b8820c8ad50fd57dd6c053)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* ensure 'read:before' hook is correctly set up ([e2831585](https://github.com/ucdjs/ucd/commit/e2831585ef825a2f11ba90bee18f1631a9c36804)) (by [@luxass](https://github.com/luxass)) +* update file paths to include 'extracted' prefix ([PR #371](https://github.com/ucdjs/ucd/pull/371)) ([2f455a5f](https://github.com/ucdjs/ucd/commit/2f455a5f8abb5da0e3bc5d1da30b156579b63243)) (by [@luxass](https://github.com/luxass)) +* update wildcard route handling ([c662bec8](https://github.com/ucdjs/ucd/commit/c662bec8429c98e5fd98942e2c12f0e6fd479d51)) (by [@luxass](https://github.com/luxass)) +* switch behaviour ([70a2b8df](https://github.com/ucdjs/ucd/commit/70a2b8df611fcf2041c1f41a1d05171a19541c91)) (by [@luxass](https://github.com/luxass)) +* handle wildcard params differently ([43640a1e](https://github.com/ucdjs/ucd/commit/43640a1e2a905f669708a76c8193558429d36df3)) (by [@luxass](https://github.com/luxass)) +* improve debug message for wrapMockFetch ([04a939cc](https://github.com/ucdjs/ucd/commit/04a939cccd06940d42946a7cf72360f597ae62d5)) (by [@luxass](https://github.com/luxass)) +* improve header handling in `afterFetch` for response ([34dc1f4c](https://github.com/ucdjs/ucd/commit/34dc1f4cdabed4651ede28b14eacb4da20b29d04)) (by [@luxass](https://github.com/luxass)) +* update `Params` type in `TypedResponseResolver` for better type safety ([dd0c510c](https://github.com/ucdjs/ucd/commit/dd0c510ccad61cf9a481f770b25dc1305dc5d474)) (by [@luxass](https://github.com/luxass)) +* improve TypeScript type inference for providedResponse ([bfd05075](https://github.com/ucdjs/ucd/commit/bfd0507535db0bc01bc367bf918ff5f91f9c78ff)) (by [@luxass](https://github.com/luxass)) +* adjust latency expectation in tests ([0caa3e94](https://github.com/ucdjs/ucd/commit/0caa3e9409e9ac397ac495c2f37b5a028a39be7a)) (by [@luxass](https://github.com/luxass)) +* improve response validation and error message ([ff437240](https://github.com/ucdjs/ucd/commit/ff4372408f96a19fda604c733879d05225d24c48)) (by [@luxass](https://github.com/luxass)) +* improve header handling in `wrapMockFetchWithConfig` ([6aaf8a17](https://github.com/ucdjs/ucd/commit/6aaf8a17b5edf7580c44d25b3cf7af737f0af14b)) (by [@luxass](https://github.com/luxass)) +* rename `setupMockStore` to `mockStoreApi` for clarity ([80f2d4a3](https://github.com/ucdjs/ucd/commit/80f2d4a39aeaaad853206fb05b358f7911f32258)) (by [@luxass](https://github.com/luxass)) +* cast response to HttpResponseResolver in handlers ([9d01beb5](https://github.com/ucdjs/ucd/commit/9d01beb56201f0d19484e46112285600926b9371)) (by [@luxass](https://github.com/luxass)) +* normalize base URL correctly ([ad160737](https://github.com/ucdjs/ucd/commit/ad16073723399deabbfa019836d00d4d29094ba6)) (by [@luxass](https://github.com/luxass)) +* update vitest-setup path and improve setupMockStore return type ([c9b2a1cd](https://github.com/ucdjs/ucd/commit/c9b2a1cdadecf0262fa6dc7870db9341544d59ba)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* reorder MOCK_ROUTES for clarity ([8c1366cc](https://github.com/ucdjs/ucd/commit/8c1366cc3650da4fdcc7bbd57bf8ba1d18a5136b)) (by [@luxass](https://github.com/luxass)) +* rename CONFIGURED_RESPONSE to kConfiguredResponse ([e2e9e84c](https://github.com/ucdjs/ucd/commit/e2e9e84c4eb5edff49b09415fafa83bbb7e55dd3)) (by [@luxass](https://github.com/luxass)) +* remove unused `wrapMockFetchWithConfig` function ([c58c92d7](https://github.com/ucdjs/ucd/commit/c58c92d770c2b0324987beed2e82e96377a8ed1b)) (by [@luxass](https://github.com/luxass)) +* enhance `isConfiguredResponse` type checking ([9c13e3ae](https://github.com/ucdjs/ucd/commit/9c13e3ae1c7c9eecf693c51aa8c93e3f14231b38)) (by [@luxass](https://github.com/luxass)) +* remove unused `InferEndpointConfig` import ([5da32d9a](https://github.com/ucdjs/ucd/commit/5da32d9a2cf992ff61145b48f86f8cdb7a1a9b81)) (by [@luxass](https://github.com/luxass)) +* update `ConfiguredResponse` type to use `ConfiguredResponseConfig` properties ([2993c13f](https://github.com/ucdjs/ucd/commit/2993c13f709e8385470ab20298624351802da3c0)) (by [@luxass](https://github.com/luxass)) +* enhance `mockStoreApi` with config extraction and wrapped fetch ([6c321d9a](https://github.com/ucdjs/ucd/commit/6c321d9a55c89bb0e4e4d9c9f7299a54700991df)) (by [@luxass](https://github.com/luxass)) +* export `configure` alongside `mockStoreApi` ([5fdd77a3](https://github.com/ucdjs/ucd/commit/5fdd77a3ccfc98ee557f49cf5a86fa1799a23a5e)) (by [@luxass](https://github.com/luxass)) +* reorganize types and handlers ([129e24a7](https://github.com/ucdjs/ucd/commit/129e24a77dea2066202722bb89f3a782bc367fd8)) (by [@luxass](https://github.com/luxass)) +* enhance mswPath generation for endpoint handling ([ed720b81](https://github.com/ucdjs/ucd/commit/ed720b816888f5288dac1d03aa2e8e17f81b87c8)) (by [@luxass](https://github.com/luxass)) +* improve type inference for responses ([ead27917](https://github.com/ucdjs/ucd/commit/ead2791726eadc5c045f06735a409fdbadd98d0b)) (by [@luxass](https://github.com/luxass)) +* refactor mock store handlers and remove unused types ([b6271135](https://github.com/ucdjs/ucd/commit/b6271135e12e6a76b0c5a822f06bbe0308597658)) (by [@luxass](https://github.com/luxass)) +* move `name` and `description` into `meta` object ([eab09e41](https://github.com/ucdjs/ucd/commit/eab09e41ce84adc0407e35ea9aa151d5bdfcd433)) (by [@luxass](https://github.com/luxass)) +* rename `setupMockStore` to `mockStoreApi` ([36bd17a2](https://github.com/ucdjs/ucd/commit/36bd17a29d2f15c3ab6c2ca0bf86e0bfee8ee7ea)) (by [@luxass](https://github.com/luxass)) +* reorganize MSW setup and mockFetch implementation ([b9be7b04](https://github.com/ucdjs/ucd/commit/b9be7b04b4a6f167680d9750fefd168584521bd6)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/ucd-store-v2/CHANGELOG.md b/packages/ucd-store-v2/CHANGELOG.md index 05f699a01..f678425b2 100644 --- a/packages/ucd-store-v2/CHANGELOG.md +++ b/packages/ucd-store-v2/CHANGELOG.md @@ -1,12 +1,47 @@ # @ucdjs/ucd-store-v2 -## 0.0.1 +## [0.0.1](https://github.com/ucdjs/ucd/compare/@ucdjs/ucd-store-v2@0.0.1...@ucdjs/ucd-store-v2@0.0.1) (2025-11-24) -### Patch Changes -- Updated dependencies [[`6ac0005`](https://github.com/ucdjs/ucd/commit/6ac000515509945cc87119af57725beabc9b75e4), [`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`f15bb51`](https://github.com/ucdjs/ucd/commit/f15bb51c663c05e205553c59ab0a7f06a6e20e39), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`2d3774a`](https://github.com/ucdjs/ucd/commit/2d3774afe4786e45385ba3af19f160487541a64e), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`199021b`](https://github.com/ucdjs/ucd/commit/199021b803ffe5969f8c5e80de3153971b686b69), [`696fdd3`](https://github.com/ucdjs/ucd/commit/696fdd340a2b2faddfcd142e285294f1cc715c1a), [`8ed7777`](https://github.com/ucdjs/ucd/commit/8ed77771808dc56a7dc3a1f07bd22cd7b75c2119), [`ce9b5a7`](https://github.com/ucdjs/ucd/commit/ce9b5a76795292aca5c9f8b6fd7021a66a34c28d), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`80a3794`](https://github.com/ucdjs/ucd/commit/80a3794d0469d64f0522347d6f0c3b258f4fcd35), [`942dc38`](https://github.com/ucdjs/ucd/commit/942dc380eb97e7123a5aa32e2960f6fef505465d), [`7c612b3`](https://github.com/ucdjs/ucd/commit/7c612b3985a09f65348fa00fb86dba3e11157eec), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`d02d0c6`](https://github.com/ucdjs/ucd/commit/d02d0c6bdf7fc990c56e55a9e2517eba40b7e0b3), [`46a6e81`](https://github.com/ucdjs/ucd/commit/46a6e8110dcc1ccef3a436bb18e67d92f0424213), [`7d98e29`](https://github.com/ucdjs/ucd/commit/7d98e29af2f9f6d681f9f2ee401baddf5a2c6ef6), [`2a44473`](https://github.com/ucdjs/ucd/commit/2a444735b6c09b4a5df8c79a580d00acb7511ab2), [`4fd46b4`](https://github.com/ucdjs/ucd/commit/4fd46b43613b23c1d120c71ae0754883eb9bf1ff), [`4052200`](https://github.com/ucdjs/ucd/commit/40522006c24f8856ff5ec34bb6630d1e1d7f68e3), [`0360dc3`](https://github.com/ucdjs/ucd/commit/0360dc3ac727019d451768dd1ef6eadca572c69b), [`39faaf5`](https://github.com/ucdjs/ucd/commit/39faaf585f3339296ef75c8a39893399ea48789f), [`670ccf9`](https://github.com/ucdjs/ucd/commit/670ccf97acfd893b75180ce7158314db653c4976), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`da10e4d`](https://github.com/ucdjs/ucd/commit/da10e4d133819b08c83d60d63d82d9273a1f77a3), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`5bc90eb`](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`e52d845`](https://github.com/ucdjs/ucd/commit/e52d845b52027c625e72395a8295cbcdae5317e8), [`e98b9e8`](https://github.com/ucdjs/ucd/commit/e98b9e8a443b815ce38b6f0a94314a2bb982dd77), [`0ab4b32`](https://github.com/ucdjs/ucd/commit/0ab4b32b726c5ebb0c1199270dddfb7ddaae8f61), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640), [`170bbd1`](https://github.com/ucdjs/ucd/commit/170bbd1a8cfe23787d73e1052108261bb5956d01), [`3993a30`](https://github.com/ucdjs/ucd/commit/3993a304795d26070df7d69ca7b66b226372a234)]: - - @ucdjs/fs-bridge@0.1.0 - - @ucdjs-internal/shared@0.1.0 - - @ucdjs/client@0.1.0 - - @ucdjs/env@0.1.0 - - @ucdjs/schemas@0.1.0 +### Features +* enhance mirroring functionality with concurrency and error handling ([ee7ddae0](https://github.com/ucdjs/ucd/commit/ee7ddae0269ab0ace36cc95693cf8f3c6ee3b5ad)) (by [@luxass](https://github.com/luxass)) +* enhance getFileTree function to support local file retrieval and API fallback ([bff8a709](https://github.com/ucdjs/ucd/commit/bff8a709ea73e6e4686f66a8bd951b8d1bbb0a4a)) (by [@luxass](https://github.com/luxass)) +* enhance getFile function to improve error handling and documentation ([b8c9ba4a](https://github.com/ucdjs/ucd/commit/b8c9ba4a1eca06cf229045d35b746e647d4d7646)) (by [@luxass](https://github.com/luxass)) +* enhance listFiles function to support API fallback ([d3907a4c](https://github.com/ucdjs/ucd/commit/d3907a4cbd1eff52e4789dfe0c4b84bbd21850d2)) (by [@luxass](https://github.com/luxass)) +* enhance listFiles function to prioritize local file system ([21b9428e](https://github.com/ucdjs/ucd/commit/21b9428e439de82820dc747f33e0a6d0d7cfcb47)) (by [@luxass](https://github.com/luxass)) +* implement core functionalities for UCD store ([aca2769e](https://github.com/ucdjs/ucd/commit/aca2769ee9c67bf824a0c7788b06c17a4a8e2435)) (by [@luxass](https://github.com/luxass)) +* add verification function for manifest versions ([44fa003e](https://github.com/ucdjs/ucd/commit/44fa003e1add01fdf8f39303429704ec7ce7406d)) (by [@luxass](https://github.com/luxass)) +* implement bootstrap function for store initialization ([feb8421f](https://github.com/ucdjs/ucd/commit/feb8421f13922638c6a757e43af44880a7e52d45)) (by [@luxass](https://github.com/luxass)) +* add functions to write and read UCD store manifest ([ae241979](https://github.com/ucdjs/ucd/commit/ae241979e4d8b7ec92069b66329149a5da4c3c13)) (by [@luxass](https://github.com/luxass)) +* add custom error classes for UCD Store ([5ef3c1ed](https://github.com/ucdjs/ucd/commit/5ef3c1edf4929dcbda290a51ac927595f4dc8ded)) (by [@luxass](https://github.com/luxass)) +* add dependencies and devDependencies for ucd-store-v2 package ([721dd79a](https://github.com/ucdjs/ucd/commit/721dd79abacd609662c3509c701d230f9eab0f35)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update `sync`, `mirror`, and `analyze` methods to reflect experimental status ([ea6f4d52](https://github.com/ucdjs/ucd/commit/ea6f4d5299da2276afe5189c2ebf14a1a3c9b9b3)) (by [@luxass](https://github.com/luxass)) +* clamp index for byte size formatting to prevent out-of-bounds access ([d74b7099](https://github.com/ucdjs/ucd/commit/d74b7099686e8741a1c9e7b1bff7f04995f8cd8b)) (by [@luxass](https://github.com/luxass)) +* ensure `versions` is immutable in internal context creation ([c3997317](https://github.com/ucdjs/ucd/commit/c3997317f33aff65d2873540cde2ea4cca647ec1)) (by [@luxass](https://github.com/luxass)) +* update `UCDStoreInvalidManifestError` to accept structured error details ([b7dd6ee3](https://github.com/ucdjs/ucd/commit/b7dd6ee326a4b01eb09c68be2fe34805ba8711dc)) (by [@luxass](https://github.com/luxass)) +* improve metrics calculations for success, failure, and cache hit rates ([4fa860e4](https://github.com/ucdjs/ucd/commit/4fa860e43481e3375531322a2c367e62cd9a2f6c)) (by [@luxass](https://github.com/luxass)) +* add error handling for missing HTTP FileSystemBridge ([8a48c1db](https://github.com/ucdjs/ucd/commit/8a48c1db6d2c4d4868c1ab3cede25fe9068f220a)) (by [@luxass](https://github.com/luxass)) +* improve error message for invalid schema in `readManifest` ([b0f6e309](https://github.com/ucdjs/ucd/commit/b0f6e309594785b20d2c9c4153f459ef37a546c1)) (by [@luxass](https://github.com/luxass)) +* update null check for data object validation ([3576a4dc](https://github.com/ucdjs/ucd/commit/3576a4dc66f123b1c02fc5323d06bffee84f907e)) (by [@luxass](https://github.com/luxass)) +* improve data type validation for JSON content ([11374f9a](https://github.com/ucdjs/ucd/commit/11374f9ae650103f70493dfd0cea0b62cd0aff42)) (by [@luxass](https://github.com/luxass)) +* update list and tree methods to use specific options types ([f3b5dbf6](https://github.com/ucdjs/ucd/commit/f3b5dbf6620fe311d5d5e577d28a8ec0cda3ef94)) (by [@luxass](https://github.com/luxass)) +* remove unused variable in error handling tests ([52aa03b2](https://github.com/ucdjs/ucd/commit/52aa03b2bd1e1d3c05eef4cc81ecd3a121ea7eb5)) (by [@luxass](https://github.com/luxass)) +* improve null check for result.data in listFiles and getFileTree ([a95a7e9c](https://github.com/ucdjs/ucd/commit/a95a7e9c4d687a72abe4409f23cb21f76820ca1d)) (by [@luxass](https://github.com/luxass)) +* improve null check for result.data and stringify JSON response ([d05ed5d3](https://github.com/ucdjs/ucd/commit/d05ed5d389eaae2eb2fcf3d1a3d894e524d4bae1)) (by [@luxass](https://github.com/luxass)) +* update mock API responses to return structured error objects ([ad67049c](https://github.com/ucdjs/ucd/commit/ad67049ccfabc54e7351353c3f8df31d4ff55de9)) (by [@luxass](https://github.com/luxass)) +* ensure 'read:before' hook is correctly set up ([e2831585](https://github.com/ucdjs/ucd/commit/e2831585ef825a2f11ba90bee18f1631a9c36804)) (by [@luxass](https://github.com/luxass)) +* replace `@luxass/unicode-utils-new` with `@luxass/unicode-utils` ([301056ad](https://github.com/ucdjs/ucd/commit/301056ad6d16ec0de30ce8e6e611db4d59ab3e9b)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* enhance sync operation with mirroring support and improved result structure ([8bbe1cd8](https://github.com/ucdjs/ucd/commit/8bbe1cd877878fce8dd2e3d7915af1bbc378550a)) (by [@luxass](https://github.com/luxass)) +* improve error handling and response processing ([248a0dc4](https://github.com/ucdjs/ucd/commit/248a0dc4ade38163afdb71beca6567d94a2357a0)) (by [@luxass](https://github.com/luxass)) +* enhance Mirror reporting structure and metrics ([c32dc815](https://github.com/ucdjs/ucd/commit/c32dc81526c229b98c931638add48dfc6212c43f)) (by [@luxass](https://github.com/luxass)) +* update Mirror interfaces and types for improved clarity ([f32b2780](https://github.com/ucdjs/ucd/commit/f32b2780f289cc058472bd964a6324fd94fa7c1f)) (by [@luxass](https://github.com/luxass)) +* restructure analysis reporting interfaces ([49dc5596](https://github.com/ucdjs/ucd/commit/49dc5596f1f9fd07f8c145e09c44d91fc144deb8)) (by [@luxass](https://github.com/luxass)) +* extend AnalyzeOptions with SharedOperationOptions ([84c4dc1e](https://github.com/ucdjs/ucd/commit/84c4dc1e0f297bd7f1ed1f3fd60a9049c99abcf2)) (by [@luxass](https://github.com/luxass)) +* reorganize and enhance file operations tests ([3db7c109](https://github.com/ucdjs/ucd/commit/3db7c1092b890881bcf498b4c583f95aa82cfaab)) (by [@luxass](https://github.com/luxass)) + +### Documentation +* update documentation for `listFiles` to include API fallback behavior ([a2a5cf2f](https://github.com/ucdjs/ucd/commit/a2a5cf2fd919d51119c51aa4f16f9057ecaf6497)) (by [@luxass](https://github.com/luxass)) \ No newline at end of file diff --git a/packages/ucd-store/CHANGELOG.md b/packages/ucd-store/CHANGELOG.md index 800792f91..1978b5c50 100644 --- a/packages/ucd-store/CHANGELOG.md +++ b/packages/ucd-store/CHANGELOG.md @@ -1,27 +1,180 @@ # @ucdjs/ucd-store -## 0.1.0 - -### Minor Changes - -- [#45](https://github.com/ucdjs/ucd/pull/45) [`8dbc72d`](https://github.com/ucdjs/ucd/commit/8dbc72d3197a0eef8e876595583c4109114cbc31) Thanks [@luxass](https://github.com/luxass)! - unify filtering across stores - -- [#174](https://github.com/ucdjs/ucd/pull/174) [`2222605`](https://github.com/ucdjs/ucd/commit/22226057f7587669e2ae15cd06011f38dd677741) Thanks [@luxass](https://github.com/luxass)! - refactor: rewrite ucd store to be more modular - -- [#59](https://github.com/ucdjs/ucd/pull/59) [`b19dc76`](https://github.com/ucdjs/ucd/commit/b19dc76984e611be178de2037e5436cf3cc27dab) Thanks [@luxass](https://github.com/luxass)! - refactor: migrate ucd-store to use utils - -- [#71](https://github.com/ucdjs/ucd/pull/71) [`505ec62`](https://github.com/ucdjs/ucd/commit/505ec6266588299b09e1b82de0c2478514671b5c) Thanks [@luxass](https://github.com/luxass)! - Merge LocalUCDStore & RemoteUCDStore into a single UCDStore class which handles everything. Since we are using the new fs-bridge exposed from `@ucdjs/utils` we can easily do this. - -- [#44](https://github.com/ucdjs/ucd/pull/44) [`82eb12e`](https://github.com/ucdjs/ucd/commit/82eb12e1d1944ebbe2748ec129a2d2b2fa315946) Thanks [@luxass](https://github.com/luxass)! - simplify preconfigured filters - -- [#206](https://github.com/ucdjs/ucd/pull/206) [`c013665`](https://github.com/ucdjs/ucd/commit/c013665af9188920624e516d0359293859752861) Thanks [@luxass](https://github.com/luxass)! - Implement Repair operation for UCD Store - -- [#212](https://github.com/ucdjs/ucd/pull/212) [`80a3794`](https://github.com/ucdjs/ucd/commit/80a3794d0469d64f0522347d6f0c3b258f4fcd35) Thanks [@luxass](https://github.com/luxass)! - feat: migrate from @ucdjs/utils to @ucdjs-internal/shared - - Updated internal imports to use `@ucdjs-internal/shared` instead of `@ucdjs/utils` for utilities like `safeJsonParse` and other shared patterns. This aligns with the new package structure where `@ucdjs-internal/shared` contains internal utilities and `@ucdjs/utils` focuses on public-facing utilities. - -- [#209](https://github.com/ucdjs/ucd/pull/209) [`bea2c3c`](https://github.com/ucdjs/ucd/commit/bea2c3c672aee24080eef7b973c7f3c00acb1b6f) Thanks [@luxass](https://github.com/luxass)! - Store operations now return a result wrapper for improved error handling/reporting. - +## [0.1.0](https://github.com/ucdjs/ucd/compare/@ucdjs/ucd-store@0.1.0...@ucdjs/ucd-store@0.1.0) (2025-11-24) + + +### Features +* add well-known handler for UCD configuration ([15212df0](https://github.com/ucdjs/ucd/commit/15212df0a3a0637671e8e5a53a4f606d9b031d33)) (by [@luxass](https://github.com/luxass)) +* enhance UCD client initialization and error handling ([224c22ed](https://github.com/ucdjs/ucd/commit/224c22ed0fa2ad6483bb72f512965b9792fc7d1d)) (by [@luxass](https://github.com/luxass)) +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* improve filter application in createPathFilter ([d3a11d5b](https://github.com/ucdjs/ucd/commit/d3a11d5b37ae13ad9c510f8b1ccf0fb6506a35ab)) (by [@luxass](https://github.com/luxass)) +* enhance filtering options in getFileTree and getFilePaths ([c5335784](https://github.com/ucdjs/ucd/commit/c53357843da507204fd325f73af20a2df68780db)) (by [@luxass](https://github.com/luxass)) +* add getFile method and update StoreInitOptions ([90f35232](https://github.com/ucdjs/ucd/commit/90f352323c725e49e18e9a9febd3649525742848)) (by [@luxass](https://github.com/luxass)) +* add mirror functionality and types ([53937e0a](https://github.com/ucdjs/ucd/commit/53937e0a4041cef40bc96818cf89574c93616a7b)) (by [@luxass](https://github.com/luxass)) +* add analysis functionality for UCD store ([e60ce1e6](https://github.com/ucdjs/ucd/commit/e60ce1e6dbfa9e9ce4cb80dd8700e6292bf6236f)) (by [@luxass](https://github.com/luxass)) +* add cleaning functionality and types ([b944228c](https://github.com/ucdjs/ucd/commit/b944228cf1ef9e3ddf2c38cbbe01e50e89c1e024)) (by [@luxass](https://github.com/luxass)) +* implement internal cleaning functionality ([ba6b79a0](https://github.com/ucdjs/ucd/commit/ba6b79a088e4efce257368d63a82f5eae5b7804b)) (by [@luxass](https://github.com/luxass)) +* add clean functionality and enhance manifest handling ([1ac212ec](https://github.com/ucdjs/ucd/commit/1ac212ecfaef92565cd6a7d98070516c91f159ed)) (by [@luxass](https://github.com/luxass)) +* optimize file and directory filtering in getFilePaths ([66558271](https://github.com/ucdjs/ucd/commit/665582718e8405a8d98dad77fd48c8be593653f5)) (by [@luxass](https://github.com/luxass)) +* implement file tree filtering and structure ([f16729c6](https://github.com/ucdjs/ucd/commit/f16729c6080a6f010157ca305c93eb6f85d3fc94)) (by [@luxass](https://github.com/luxass)) +* add getFile method for reading files with versioning and filtering ([109459c9](https://github.com/ucdjs/ucd/commit/109459c9fe31cf7a58ed173068b406922e9c89dc)) (by [@luxass](https://github.com/luxass)) +* add UCDStoreInvalidManifestError and improve error handling ([69d3d780](https://github.com/ucdjs/ucd/commit/69d3d780cddd8df93f6a03b4f4dc5ddac5de8e37)) (by [@luxass](https://github.com/luxass)) +* add comprehensive tests for store initialization and version handling ([be470d64](https://github.com/ucdjs/ucd/commit/be470d64f8a3888751005204b34e73159c8741ce)) (by [@luxass](https://github.com/luxass)) +* enhance store initialization and add mirroring functionality ([cb2c6db9](https://github.com/ucdjs/ucd/commit/cb2c6db98d303ea0bcab2cdc1caa90f2e88e2865)) (by [@luxass](https://github.com/luxass)) +* add MirrorOptions and MirrorResult interfaces ([2ed53dc7](https://github.com/ucdjs/ucd/commit/2ed53dc7afeac5617788d2bdbc6e707bed684f72)) (by [@luxass](https://github.com/luxass)) +* add support for versions in UCDStore constructor ([8aacb201](https://github.com/ucdjs/ucd/commit/8aacb20120de7eafbf232165d1a0bd59de83bcee)) (by [@luxass](https://github.com/luxass)) +* enhance error handling in getExpectedFilePaths function ([1b2dc8db](https://github.com/ucdjs/ucd/commit/1b2dc8dbf4cf2ea4dc9928855f03d965f752ffae)) (by [@luxass](https://github.com/luxass)) +* add getExpectedFilePaths function to retrieve file paths for Unicode versions ([c4eb5397](https://github.com/ucdjs/ucd/commit/c4eb53972670c860a13825ed1b2b371bac5dd074)) (by [@luxass](https://github.com/luxass)) +* implement #analyzeVersion method for version analysis ([a626eacf](https://github.com/ucdjs/ucd/commit/a626eacf517f09ae5568bfb010aeb168a08365d1)) (by [@luxass](https://github.com/luxass)) +* add analyze method for version analysis ([1cd85474](https://github.com/ucdjs/ucd/commit/1cd8547429725e0f659ca9892cb5904e519e1c56)) (by [@luxass](https://github.com/luxass)) +* enhance initialization logging for debugging ([e84da432](https://github.com/ucdjs/ucd/commit/e84da432baba35893486864cdbe09778b722bc34)) (by [@luxass](https://github.com/luxass)) +* update UCD store schemas and handling ([8b90a374](https://github.com/ucdjs/ucd/commit/8b90a3741bc8d46ae9ab2764f94c2ef041e00689)) (by [@luxass](https://github.com/luxass)) +* enhance UCDStore initialization and manifest loading ([598e2fec](https://github.com/ucdjs/ucd/commit/598e2fec810274fd1801cf50dd2935669f7253d6)) (by [@luxass](https://github.com/luxass)) +* update versions getter to return readonly array and fix import path for HTTP filesystem ([6fe7150e](https://github.com/ucdjs/ucd/commit/6fe7150e198b0793bb56e6245854458de03b5ff6)) (by [@luxass](https://github.com/luxass)) +* update import paths for fs-bridge module ([8060e4de](https://github.com/ucdjs/ucd/commit/8060e4deeb393d330404ab4a50dd01770310bbe5)) (by [@luxass](https://github.com/luxass)) +* add internal debug symbol and update exports ([b0d5d5d0](https://github.com/ucdjs/ucd/commit/b0d5d5d0e00d16de02d4ef25183701e7ee0ab2e2)) (by [@luxass](https://github.com/luxass)) +* add `versions` getter to expose immutable version set ([ae044aed](https://github.com/ucdjs/ucd/commit/ae044aed56476b9206c8a8c929517d8eeb9f72f1)) (by [@luxass](https://github.com/luxass)) +* update internal debug symbol and enhance type safety ([df963c65](https://github.com/ucdjs/ucd/commit/df963c65121041eee6b8ec63df03f2452783843e)) (by [@luxass](https://github.com/luxass)) +* add new playground scripts and logger utility ([b920e96a](https://github.com/ucdjs/ucd/commit/b920e96ad4a44fb1282d16f7ac82e1a64c1e5392)) (by [@luxass](https://github.com/luxass)) +* implement UCDStore with filesystem capabilities ([71ec7472](https://github.com/ucdjs/ucd/commit/71ec74727921fad1a32374eb95e40280f85cff21)) (by [@luxass](https://github.com/luxass)) +* add UCDStoreUnsupportedFeature error class ([7342132a](https://github.com/ucdjs/ucd/commit/7342132aa776cf8bf7683039c129b46e11193320)) (by [@luxass](https://github.com/luxass)) +* update import paths and module exports ([99e60ad0](https://github.com/ucdjs/ucd/commit/99e60ad091d26c32ec4c6d89667acca6b4a42c74)) (by [@luxass](https://github.com/luxass)) +* add custom error classes for UCDStore ([574697b8](https://github.com/ucdjs/ucd/commit/574697b89e5fa78305a1b98579aebef99fa437a7)) (by [@luxass](https://github.com/luxass)) +* add HTTP and Node file system bridges with comprehensive tests ([5bc90ebc](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f)) (by [@luxass](https://github.com/luxass)) +* add tests for mirrorUCDFiles and validateUCDFiles functions ([3214f78e](https://github.com/ucdjs/ucd/commit/3214f78eeb246cdf86799834e8993c0ca4f98d9e)) (by [@luxass](https://github.com/luxass)) +* add 'dev:api' script for API development ([b9c3b2ba](https://github.com/ucdjs/ucd/commit/b9c3b2ba3b0744409c6b31b46c4a3d0393e97154)) (by [@luxass](https://github.com/luxass)) +* initialize UCDStore instances on creation ([dceca516](https://github.com/ucdjs/ucd/commit/dceca516a6aa80d391eebf696f118479ec525c44)) (by [@luxass](https://github.com/luxass)) +* implement shared flags and enhance store commands with clean, repair, and status functionalities ([333a90c6](https://github.com/ucdjs/ucd/commit/333a90c6ba18f528a8a646e1f95ecd57f8502303)) (by [@luxass](https://github.com/luxass)) +* add turbo.json configuration files for cli, schema-gen, ucd-store, and utils; update tsconfig.base.build.json and remove test:watch task from turbo.json ([48dad498](https://github.com/ucdjs/ucd/commit/48dad4988f63c50f2c878f310112cf0fd44e6058)) (by [@luxass](https://github.com/luxass)) +* add filesystem abstraction to ucd-store ([c5a7c772](https://github.com/ucdjs/ucd/commit/c5a7c772d74a73a140246daac8034ab5d732783d)) (by [@luxass](https://github.com/luxass)) +* implement options for disabling default excludes ([69bc180a](https://github.com/ucdjs/ucd/commit/69bc180a322659ad65078c66ea8422af163efb2e)) (by [@luxass](https://github.com/luxass)) +* add preconfigured filters for path filtering functionality ([be0a7e1f](https://github.com/ucdjs/ucd/commit/be0a7e1f80a4fd14d2ef3667927cfaa56d657408)) (by [@luxass](https://github.com/luxass)) +* add path filtering functionality to ucd-store ([5c878c4b](https://github.com/ucdjs/ucd/commit/5c878c4b35d29754e8411730cd9e8c6852dc73a5)) (by [@luxass](https://github.com/luxass)) +* enhance error reporting in download process and update exclusion patterns ([a5773700](https://github.com/ucdjs/ucd/commit/a5773700e2ce55ff3833e284c6a8b501d9f22588)) (by [@luxass](https://github.com/luxass)) +* switch to picomatch ([cbc1e497](https://github.com/ucdjs/ucd/commit/cbc1e497c1d738e8818c3ef140648190e62289f8)) (by [@luxass](https://github.com/luxass)) +* implement repairStore function for validating and downloading missing files ([f3b06bba](https://github.com/ucdjs/ucd/commit/f3b06bba0a76630aed4b94b056f5040ab3f597c8)) (by [@luxass](https://github.com/luxass)) +* add playground scripts for local and remote UCDStore ([72e2596a](https://github.com/ucdjs/ucd/commit/72e2596a2c0b31a906f0e690f4e947c6c5d166ea)) (by [@luxass](https://github.com/luxass)) +* implement LocalUCDStore with version management and validation, remove metadata.ts ([cc7d84e3](https://github.com/ucdjs/ucd/commit/cc7d84e3383d600b82f1ae234eff9a031657d8b3)) (by [@luxass](https://github.com/luxass)) +* replace fetchWithRetry with promiseRetry in RemoteUCDStore, update utils version to 2.3.0 ([1aa5b3f5](https://github.com/ucdjs/ucd/commit/1aa5b3f50bfd661144333a232e05309903797f16)) (by [@luxass](https://github.com/luxass)) +* implement file handling methods in LocalUCDStore and RemoteUCDStore, update utils version ([9aa3e7a1](https://github.com/ucdjs/ucd/commit/9aa3e7a1638e8eb7914c2cc38605246057d2bb91)) (by [@luxass](https://github.com/luxass)) +* add UCD version store validation ([6bfbe2d4](https://github.com/ucdjs/ucd/commit/6bfbe2d4ed85342f4940a84e017902532443c26c)) (by [@luxass](https://github.com/luxass)) +* implement UCDStore with local and remote modes, add validation and metadata schemas ([af2be3e2](https://github.com/ucdjs/ucd/commit/af2be3e23dcc09a3b144e728724fba3dc43fdee8)) (by [@luxass](https://github.com/luxass)) +* add ucd-store ([467cccda](https://github.com/ucdjs/ucd/commit/467cccdabe4a2d937f3479aa846ec96ac8961b80)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* update file paths to include 'extracted' prefix ([PR #371](https://github.com/ucdjs/ucd/pull/371)) ([2f455a5f](https://github.com/ucdjs/ucd/commit/2f455a5f8abb5da0e3bc5d1da30b156579b63243)) (by [@luxass](https://github.com/luxass)) +* replace `@luxass/unicode-utils-new` with `@luxass/unicode-utils` ([301056ad](https://github.com/ucdjs/ucd/commit/301056ad6d16ec0de30ce8e6e611db4d59ab3e9b)) (by [@luxass](https://github.com/luxass)) +* remove unnecessary assertions ([28cff89f](https://github.com/ucdjs/ucd/commit/28cff89f28b63800c81e036bd014c9fd07706c93)) (by [@luxass](https://github.com/luxass)) +* update import paths for setupMockStore ([c667ffa7](https://github.com/ucdjs/ucd/commit/c667ffa7e5e893ddd89ca14232909c9764871539)) (by [@luxass](https://github.com/luxass)) +* update filter pattern assertion to use arrayContaining ([e49c74ba](https://github.com/ucdjs/ucd/commit/e49c74ba749183916dd43209aca5974482c4b7b9)) (by [@luxass](https://github.com/luxass)) +* enhance error messages for filtered paths and API failures ([ee9840cb](https://github.com/ucdjs/ucd/commit/ee9840cb1fd50054cc4e6446047858486e502a04)) (by [@luxass](https://github.com/luxass)) +* improve error handling for file not found ([6d7cd476](https://github.com/ucdjs/ucd/commit/6d7cd4765d5f4a4a348c44a88ef352f885ab130c)) (by [@luxass](https://github.com/luxass)) +* improve error handling in getExpectedFilePaths ([2d8753bb](https://github.com/ucdjs/ucd/commit/2d8753bb6c3fbbca7e0cc74087d22aea8964d20a)) (by [@luxass](https://github.com/luxass)) +* ensure positive concurrency in clean, mirror, and repair functions ([6b8d705e](https://github.com/ucdjs/ucd/commit/6b8d705e1169c97c7ccde4a72a5cf0737d523171)) (by [@luxass](https://github.com/luxass)) +* improve error handling in store analysis ([c554d2ac](https://github.com/ucdjs/ucd/commit/c554d2acedb1939b4b17b7853ac81f568af83e4e)) (by [@luxass](https://github.com/luxass)) +* improve error handling in internal__clean and update test assertions ([54e721ea](https://github.com/ucdjs/ucd/commit/54e721ea8f23350f3d751607227ddc8b0aefdbf6)) (by [@luxass](https://github.com/luxass)) +* enhance version existence check and update tests ([46e55077](https://github.com/ucdjs/ucd/commit/46e550776f63f3392da93d9c1ed820ac61572917)) (by [@luxass](https://github.com/luxass)) +* update success response for clean and mirror operations ([54b0c49b](https://github.com/ucdjs/ucd/commit/54b0c49b230812d0ede21fa15fa121e5e008a642)) (by [@luxass](https://github.com/luxass)) +* improve error messages and handling in repair process ([a139798b](https://github.com/ucdjs/ucd/commit/a139798b7fee1331be361c3f4e7e0d7e8ef6f442)) (by [@luxass](https://github.com/luxass)) +* improve file analysis logic for orphaned and missing files ([5519cd02](https://github.com/ucdjs/ucd/commit/5519cd025159a727e734cc0f7eaabe5dad827686)) (by [@luxass](https://github.com/luxass)) +* enforce minimum concurrency requirement in cleaning process ([3b17ec09](https://github.com/ucdjs/ucd/commit/3b17ec095ceca6f3bdd6f5aa1ef3d6f705dbfbea)) (by [@luxass](https://github.com/luxass)) +* ensure proper initialization checks in file operations ([7907bfcd](https://github.com/ucdjs/ucd/commit/7907bfcde7c1cdfcb8b8d616c8c21376014e27f3)) (by [@luxass](https://github.com/luxass)) +* correct skipped files logic in internal__repair function ([ac2adb04](https://github.com/ucdjs/ucd/commit/ac2adb04b47502d1dabb91910fb679b5f98e7045)) (by [@luxass](https://github.com/luxass)) +* make `baseUrl` optional in `MockStoreConfig` ([5c6849f2](https://github.com/ucdjs/ucd/commit/5c6849f27f7db362e5d91f5210dac60742209e66)) (by [@luxass](https://github.com/luxass)) +* update orphaned files assertion to use toEqual for accuracy ([18d9cbdf](https://github.com/ucdjs/ucd/commit/18d9cbdfb0b337ac168e974f3e87622cf6baad3b)) (by [@luxass](https://github.com/luxass)) +* update orphaned files assertion for accuracy ([5f2e96ba](https://github.com/ucdjs/ucd/commit/5f2e96ba908a9ae6b4f93535f7d83ec47c599411)) (by [@luxass](https://github.com/luxass)) +* enhance file reading logic to handle absolute paths ([cd64bfa0](https://github.com/ucdjs/ucd/commit/cd64bfa08d09c66b34c84a188e769d2a293f686f)) (by [@luxass](https://github.com/luxass)) +* improve error handling for file read operations ([af0f4e33](https://github.com/ucdjs/ucd/commit/af0f4e33f15aebc3d457a42e8ad400376d113e5b)) (by [@luxass](https://github.com/luxass)) +* correct basePath assignment in createNodeUCDStore ([ba0c89ef](https://github.com/ucdjs/ucd/commit/ba0c89efe94cb10a0a54870915e37ef991b15800)) (by [@luxass](https://github.com/luxass)) +* update error message for UCDStoreVersionNotFoundError ([90ca7004](https://github.com/ucdjs/ucd/commit/90ca70043a6a929ed6a960d33c45a727400b7e99)) (by [@luxass](https://github.com/luxass)) +* improve error messaging and initialization logic ([dad79c58](https://github.com/ucdjs/ucd/commit/dad79c580ec37c2bd75c6cb2faaca3ada733ddbf)) (by [@luxass](https://github.com/luxass)) +* adjust argument indexing for store commands ([e7c8839d](https://github.com/ucdjs/ucd/commit/e7c8839dbd3e9b279c2e4f09a613c30291b8b4b9)) (by [@luxass](https://github.com/luxass)) +* correct command argument indexing and improve process title ([d7446ff2](https://github.com/ucdjs/ucd/commit/d7446ff2c2e4b6ec470c4b8c6b9ff5b16cb28a04)) (by [@luxass](https://github.com/luxass)) +* correct manifest data path resolution ([a12828a8](https://github.com/ucdjs/ucd/commit/a12828a8c87397b27f9f8f3af58fcd71ef0a32f1)) (by [@luxass](https://github.com/luxass)) +* correct log message for analyzing versions ([8404d3bf](https://github.com/ucdjs/ucd/commit/8404d3bf46277df6e9330c88d8ec62bda076cead)) (by [@luxass](https://github.com/luxass)) +* set default basePath to './' in createNodeUCDStore ([b27073ee](https://github.com/ucdjs/ucd/commit/b27073eef4240de61fa59ecfda5294f342f1fca9)) (by [@luxass](https://github.com/luxass)) +* remove unused error import in files.test.ts ([2dd1e822](https://github.com/ucdjs/ucd/commit/2dd1e822174c5480b4ad12e3bb861cbfa3cee275)) (by [@luxass](https://github.com/luxass)) +* set default basePath to './' in createNodeUCDStore ([508e1bd0](https://github.com/ucdjs/ucd/commit/508e1bd03705d7ebdc445836ba15c817396fdcb4)) (by [@luxass](https://github.com/luxass)) +* throw error for invalid JSON in store manifest ([08c95029](https://github.com/ucdjs/ucd/commit/08c950298eed92bec421918fc9b3224eaddb0e49)) (by [@luxass](https://github.com/luxass)) +* update `.ucd-store.json` initialization to use an empty object ([8b5cf8d2](https://github.com/ucdjs/ucd/commit/8b5cf8d2ce9a22c2fd95c1a64839e512db5afc70)) (by [@luxass](https://github.com/luxass)) +* throw if unresolved import ([8123dda2](https://github.com/ucdjs/ucd/commit/8123dda281a62ed6bd63c6d1b6975a27a6f78346)) (by [@luxass](https://github.com/luxass)) +* update API URLs in test files ([9dff312a](https://github.com/ucdjs/ucd/commit/9dff312a4ef4cdfeb26e6a263dc399eb07e1eb7f)) (by [@luxass](https://github.com/luxass)) +* update default URLs to use constants ([613e235f](https://github.com/ucdjs/ucd/commit/613e235fc1f616af75671f4de70889b6fa9094cc)) (by [@luxass](https://github.com/luxass)) +* ensure fs-extra module is loaded correctly with error handling ([e14959e3](https://github.com/ucdjs/ucd/commit/e14959e31a0a485be7678fc76029a72c8d8f2c18)) (by [@luxass](https://github.com/luxass)) +* use correct exports in index ([fd05e283](https://github.com/ucdjs/ucd/commit/fd05e283f45a5f15c8fbe92881a54c5716f287a8)) (by [@luxass](https://github.com/luxass)) +* exclude ucd metadata errors in tests ([932c6ff5](https://github.com/ucdjs/ucd/commit/932c6ff5a2e201dc700e25ad620728c0f6034a4a)) (by [@luxass](https://github.com/luxass)) +* use safe json parse in ucd metadata ([dff8260d](https://github.com/ucdjs/ucd/commit/dff8260df5077829a5591f2db13ae67d772ce476)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* simplify mock responses for API versioning ([79c16c9b](https://github.com/ucdjs/ucd/commit/79c16c9b02baacb21e944d480daf33b7b1a1304f)) (by [@luxass](https://github.com/luxass)) +* prefer for bridge capability change ([0a9500e4](https://github.com/ucdjs/ucd/commit/0a9500e4f2f98f89bd4ebfbfae377693c5eccc0c)) (by [@luxass](https://github.com/luxass)) +* remove `createMemoryMockFS` implementation ([cfb7e3ff](https://github.com/ucdjs/ucd/commit/cfb7e3ff801e1a5a8111f217d027dbf6fd4e80a0)) (by [@luxass](https://github.com/luxass)) +* rename `metadata` to `meta` in bridge definitions ([1dd5e3f1](https://github.com/ucdjs/ucd/commit/1dd5e3f1d4d46290be8a051005fce145426feb22)) (by [@luxass](https://github.com/luxass)) +* update bridge definitions to use metadata structure ([d52516d8](https://github.com/ucdjs/ucd/commit/d52516d86dbf45564eb4bffde7e2bbf5609d8ee6)) (by [@luxass](https://github.com/luxass)) +* remove pre-configured client instance and update tests ([0d2a30fb](https://github.com/ucdjs/ucd/commit/0d2a30fb6de590c0997fe16dad0cbd9620c46fbd)) (by [@luxass](https://github.com/luxass)) +* rename @ucdjs/fetch to @ucdjs/client ([396f59f1](https://github.com/ucdjs/ucd/commit/396f59f1554aff152f2f34848b670bc318f2e06a)) (by [@luxass](https://github.com/luxass)) +* rename `setupMockStore` to `mockStoreApi` ([36bd17a2](https://github.com/ucdjs/ucd/commit/36bd17a29d2f15c3ab6c2ca0bf86e0bfee8ee7ea)) (by [@luxass](https://github.com/luxass)) +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* rename variable for clarity in getFileTree method ([33ea5000](https://github.com/ucdjs/ucd/commit/33ea5000dae783bd639be0aacff1a5ea9909d5e8)) (by [@luxass](https://github.com/luxass)) +* update test for disallowing file access outside the store ([3d121f98](https://github.com/ucdjs/ucd/commit/3d121f986a4f5ccfa03869f320e1d49ddc49a809)) (by [@luxass](https://github.com/luxass)) +* rename UCDStoreError to UCDStoreGenericError ([a1eb9e5e](https://github.com/ucdjs/ucd/commit/a1eb9e5e189a69a551fc2d2bba3e35b5a65f64e8)) (by [@luxass](https://github.com/luxass)) +* update repair and file tree methods to return data and error ([45eae523](https://github.com/ucdjs/ucd/commit/45eae523f1c0bf70aec90fb0cb46426b8b3733ee)) (by [@luxass](https://github.com/luxass)) +* improve error handling and return types ([3f2ad1f2](https://github.com/ucdjs/ucd/commit/3f2ad1f2de416a5e3e40d595e61d012f94f06bf8)) (by [@luxass](https://github.com/luxass)) +* migrate `flattenFilePaths` imports from `@ucdjs/utils` to `@ucdjs/shared` ([49318725](https://github.com/ucdjs/ucd/commit/49318725c45c27dad6354ff4b0faf6bc4da795fa)) (by [@luxass](https://github.com/luxass)) +* move `safeJsonParse` function to shared package ([ee893aa4](https://github.com/ucdjs/ucd/commit/ee893aa4b3ab8e8aac3ed85ad1b87ea0e0ca3a91)) (by [@luxass](https://github.com/luxass)) +* remove empty data fields from error responses ([2583f433](https://github.com/ucdjs/ucd/commit/2583f4332b7a9413ad3c6d10c62507c2c9d367d4)) (by [@luxass](https://github.com/luxass)) +* improve error handling for uninitialized store ([b5faa2e7](https://github.com/ucdjs/ucd/commit/b5faa2e72e242e0591fd2c8d0fd81e338e38a96e)) (by [@luxass](https://github.com/luxass)) +* streamline concurrency handling in internal__mirror function ([abde2c1d](https://github.com/ucdjs/ucd/commit/abde2c1deba2a984d54d6ad8c00eb9b91ba94d32)) (by [@luxass](https://github.com/luxass)) +* add note on response text decoding ([613cb0dd](https://github.com/ucdjs/ucd/commit/613cb0dd3a4435f3b0f8c196b04ff24a1220bc4f)) (by [@luxass](https://github.com/luxass)) +* streamline result handling in internal__mirror function ([900749d3](https://github.com/ucdjs/ucd/commit/900749d39d39d8414a7e5529534cf25a9235b387)) (by [@luxass](https://github.com/luxass)) +* enhance store analysis process ([ea85bb45](https://github.com/ucdjs/ucd/commit/ea85bb459c4565d3297e2df35a9b6db1f2e77d9f)) (by [@luxass](https://github.com/luxass)) +* enhance analyze method to return structured result ([26aa69b5](https://github.com/ucdjs/ucd/commit/26aa69b560b09bd4bf5cb7ababdd2f42c1f0b7be)) (by [@luxass](https://github.com/luxass)) +* update clean method to return structured result ([c052de9a](https://github.com/ucdjs/ucd/commit/c052de9a0c2fa4d002ad35688c2953cddfc38708)) (by [@luxass](https://github.com/luxass)) +* migrate repair to new result type ([7650ff8c](https://github.com/ucdjs/ucd/commit/7650ff8c4aa9f6b58fe6e1629b25d5488473a48b)) (by [@luxass](https://github.com/luxass)) +* improve error handling and response processing ([29624de9](https://github.com/ucdjs/ucd/commit/29624de96a06f1a46992c68de2569897b252daca)) (by [@luxass](https://github.com/luxass)) +* simplify error class hierarchy and improve type definitions ([3c50addd](https://github.com/ucdjs/ucd/commit/3c50addd3d3de45d56fd4e52970211cca49d2bd2)) (by [@luxass](https://github.com/luxass)) +* restructure error handling and introduce StoreError type ([53efb09a](https://github.com/ucdjs/ucd/commit/53efb09a962e83b8c8dbc66453ff1c775af8d619)) (by [@luxass](https://github.com/luxass)) +* rename StoreInitOptions to InitOptions ([b1a910f3](https://github.com/ucdjs/ucd/commit/b1a910f3f9668f472813fd1b421b5d26045bb5f0)) (by [@luxass](https://github.com/luxass)) +* change store operations to be more stream lined ([a67bedd4](https://github.com/ucdjs/ucd/commit/a67bedd406d06d1d52e616aa42d79a627ed571fd)) (by [@luxass](https://github.com/luxass)) +* simplify store creation functions and update return types ([253cba2c](https://github.com/ucdjs/ucd/commit/253cba2c4d6d8dd402ab978e6ce1e8919605bac3)) (by [@luxass](https://github.com/luxass)) +* rename `initialize` to `init` and update usage ([474b5c57](https://github.com/ucdjs/ucd/commit/474b5c57bbb800908313e4b9c6b099a79eb1fd64)) (by [@luxass](https://github.com/luxass)) +* remove StoreCapabilities and related logic ([1a6e079f](https://github.com/ucdjs/ucd/commit/1a6e079fc569891aacd336786e9507b9ffa335fc)) (by [@luxass](https://github.com/luxass)) +* update FileSystemBridge integration and capabilities handling ([c2f7e5d3](https://github.com/ucdjs/ucd/commit/c2f7e5d3d05170bd6a83697572b2f454a6d86dcb)) (by [@luxass](https://github.com/luxass)) +* improve file path handling and analysis logic ([3d586c5b](https://github.com/ucdjs/ucd/commit/3d586c5b14d8f0e49c4fc107a0a4fb4f674ba239)) (by [@luxass](https://github.com/luxass)) +* reorganize error exports for clarity ([b292d738](https://github.com/ucdjs/ucd/commit/b292d73863023bc2be684186d8526ed751534882)) (by [@luxass](https://github.com/luxass)) +* reorganize error exports for clarity ([4d5cfb2a](https://github.com/ucdjs/ucd/commit/4d5cfb2a024dc612418e99c5eedd2b1ad27e5e57)) (by [@luxass](https://github.com/luxass)) +* remove unused export of flattenFilePaths ([1e3b78e0](https://github.com/ucdjs/ucd/commit/1e3b78e03d8e07879e7813eb9497ee7cca287c0d)) (by [@luxass](https://github.com/luxass)) +* update file tree types and import flattenFilePaths from utils ([c3cb6344](https://github.com/ucdjs/ucd/commit/c3cb6344d227a8c49883f942ba668c09a0677e7d)) (by [@luxass](https://github.com/luxass)) +* rename FileTreeNode to UnicodeTreeNode and update related schemas ([7f366e53](https://github.com/ucdjs/ucd/commit/7f366e531644413e4701a4ceab7f7b579eecade4)) (by [@luxass](https://github.com/luxass)) +* update default base URL for remote store ([add5c0a7](https://github.com/ucdjs/ucd/commit/add5c0a7badfbe2e13d0a8bf20c02782ed0462fe)) (by [@luxass](https://github.com/luxass)) +* streamline store initialization and manifest handling ([de5eb013](https://github.com/ucdjs/ucd/commit/de5eb013c1c4d1f9634ef81c934dd538b267c73f)) (by [@luxass](https://github.com/luxass)) +* simplify filter application in UCDStore ([dc8fbc7d](https://github.com/ucdjs/ucd/commit/dc8fbc7dcb008545e50c74a6ad82cdc0d4994374)) (by [@luxass](https://github.com/luxass)) +* update `PathFilter` methods for improved filter management ([64e60659](https://github.com/ucdjs/ucd/commit/64e606598e497f67d8fd059e076a88f7fe406c15)) (by [@luxass](https://github.com/luxass)) +* simplify filter handling in file processing ([a6eee96a](https://github.com/ucdjs/ucd/commit/a6eee96aefa2600c9cd2eca3f5caada9748e1343)) (by [@luxass](https://github.com/luxass)) +* update filter type and enhance file retrieval methods ([cf7f7b1d](https://github.com/ucdjs/ucd/commit/cf7f7b1d185a56c0e59f78bbac412d2305ba7439)) (by [@luxass](https://github.com/luxass)) +* replace `createUCDStore` with specific local and remote store creation functions ([4c824601](https://github.com/ucdjs/ucd/commit/4c824601f7bde6d24ad0afb5290023d39fd7227d)) (by [@luxass](https://github.com/luxass)) +* replace hardcoded URLs with constants and improve store initialization ([3ea42a18](https://github.com/ucdjs/ucd/commit/3ea42a18899b4820df7672c0e37b8387e90fcf20)) (by [@luxass](https://github.com/luxass)) +* unify UCDStore implementation and remove legacy classes ([5a9bea8d](https://github.com/ucdjs/ucd/commit/5a9bea8df2883ee00e5c6d79d44532b857737208)) (by [@luxass](https://github.com/luxass)) +* remove local and remote UCD store implementations ([29f0f599](https://github.com/ucdjs/ucd/commit/29f0f599b53782a13ce97445135a738fa7f1901d)) (by [@luxass](https://github.com/luxass)) +* remove deprecated FsInterface tests and related code; implement repairUCDFiles functionality with improved error handling and file downloading logic ([9d37fafe](https://github.com/ucdjs/ucd/commit/9d37fafe0ba0d4fef419d1b43717634d58191166)) (by [@luxass](https://github.com/luxass)) +* remove FsInterface and related functions; update download logic to use buildUCDPath ([d3ee25dc](https://github.com/ucdjs/ucd/commit/d3ee25dc3c9dc22242f1ed4485047f3bc0cd7eba)) (by [@luxass](https://github.com/luxass)) +* replace internal flattenFilePaths method with utility function ([eca5fc39](https://github.com/ucdjs/ucd/commit/eca5fc3955add4c966f70f44741512356dc10d30)) (by [@luxass](https://github.com/luxass)) +* update imports to use utils package for PRECONFIGURED_FILTERS ([5ac735ab](https://github.com/ucdjs/ucd/commit/5ac735ab53f701b664575d2762442a4f19b35c46)) (by [@luxass](https://github.com/luxass)) +* move filter functionality from ucd-store to utils package ([98b84b07](https://github.com/ucdjs/ucd/commit/98b84b07af8c09a3b8881af95a5fdf99d4afb52e)) (by [@luxass](https://github.com/luxass)) +* move UnicodeVersionFile type to unicode-utils-new/fetch ([69858bf6](https://github.com/ucdjs/ucd/commit/69858bf68adf7ca0b7c4ee5d3f2a75c03946af20)) (by [@luxass](https://github.com/luxass)) +* remove unused buildProxyUrl function and update fetch call to use URL constructor ([d8ced9be](https://github.com/ucdjs/ucd/commit/d8ced9bec1a5937ef07d243caec23b5a19ff0300)) (by [@luxass](https://github.com/luxass)) +* update filter patterns to use consistent naming for exclusion filters ([6b25c005](https://github.com/ucdjs/ucd/commit/6b25c00550812568759a370fc4c59c95daf5720d)) (by [@luxass](https://github.com/luxass)) +* remove filterPatterns from UCDStore interfaces and update related classes ([a94430ce](https://github.com/ucdjs/ucd/commit/a94430cebf4dd1648eae499fdf5812292f18d81f)) (by [@luxass](https://github.com/luxass)) +* remove unused file filtering options ([73cc0133](https://github.com/ucdjs/ucd/commit/73cc0133cb7b0eac8f22fdd23bcc3a099925764c)) (by [@luxass](https://github.com/luxass)) +* change fs-interface ([72e6ae96](https://github.com/ucdjs/ucd/commit/72e6ae96604baeb64cbc4186442b332749be135e)) (by [@luxass](https://github.com/luxass)) +* simplify PRECONFIGURED_FILTERS from arrays to strings ([b68336b4](https://github.com/ucdjs/ucd/commit/b68336b438987f1d81e5dc7aa8b5768e8d6e77af)) (by [@luxass](https://github.com/luxass)) +* replace picomatch with createPathFilter for improved path filtering in RemoteUCDStore ([a74bc542](https://github.com/ucdjs/ucd/commit/a74bc542a2d68685bcdefec4d598e076a51bc43e)) (by [@luxass](https://github.com/luxass)) +* rename filters to filterPatterns for consistency across UCDStore interfaces and implementations ([7da35681](https://github.com/ucdjs/ucd/commit/7da35681595e776d6d6f8106a511711b387916d6)) (by [@luxass](https://github.com/luxass)) +* replace mkdirp with mkdir with recursive option in repairLocalStore ([a8f7190a](https://github.com/ucdjs/ucd/commit/a8f7190a6092a07721ad8689b24735655fef1b0d)) (by [@luxass](https://github.com/luxass)) +* simplify imports in local.ts by removing unused types ([9e9bb735](https://github.com/ucdjs/ucd/commit/9e9bb735aece80cb995ac16a718a7342266f5527)) (by [@luxass](https://github.com/luxass)) +* update LocalUCDStore to improve initialization and validation logic ([12a6caf8](https://github.com/ucdjs/ucd/commit/12a6caf835299d2accbbee7fd4eebbd89ddd8067)) (by [@luxass](https://github.com/luxass)) +* update file cache access to private class field and improve URL construction ([4ed626dd](https://github.com/ucdjs/ucd/commit/4ed626dd11b388259ef2c759af5e43fdddc68c85)) (by [@luxass](https://github.com/luxass)) ## What changed - All core operations (analyze, mirror, clean, repair) now return: diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 1659cde5e..e3d6385d1 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,60 +1,94 @@ # @ucdjs/utils -## 0.2.0 - -### Minor Changes - -- [#212](https://github.com/ucdjs/ucd/pull/212) [`9ea1f81`](https://github.com/ucdjs/ucd/commit/9ea1f81ac649d06b8290edc0db0eb049988073fe) Thanks [@luxass](https://github.com/luxass)! - BREAKING: Remove most exports from @ucdjs/utils package - - Most utility functions have been moved to the internal `@ucdjs-internal/shared` package to better organize the monorepo's internal utilities. If you were using any of the removed functions, you can install `@ucdjs-internal/shared` directly, but note that this package is internal and may change without being marked as breaking changes. - - The `@ucdjs/utils` package now focuses on stable, user-facing utilities only. - -- [#116](https://github.com/ucdjs/ucd/pull/116) [`4cb4b05`](https://github.com/ucdjs/ucd/commit/4cb4b0516173db402ee77d2ce1e9ed4e1923b359) Thanks [@luxass](https://github.com/luxass)! - feat: add `flattenFilePaths` - -- [#68](https://github.com/ucdjs/ucd/pull/68) [`31f9791`](https://github.com/ucdjs/ucd/commit/31f9791d1775055cbc4794a2e923fd08713fc395) Thanks [@luxass](https://github.com/luxass)! - feat(utils): introduce `createFileSystem` factory + `FSAdapter` interface providing in-memory and custom VFS support - -- [#59](https://github.com/ucdjs/ucd/pull/59) [`b19dc76`](https://github.com/ucdjs/ucd/commit/b19dc76984e611be178de2037e5436cf3cc27dab) Thanks [@luxass](https://github.com/luxass)! - refactor: migrate ucd-store to use utils - -- [#71](https://github.com/ucdjs/ucd/pull/71) [`505ec62`](https://github.com/ucdjs/ucd/commit/505ec6266588299b09e1b82de0c2478514671b5c) Thanks [@luxass](https://github.com/luxass)! - Merge LocalUCDStore & RemoteUCDStore into a single UCDStore class which handles everything. Since we are using the new fs-bridge exposed from `@ucdjs/utils` we can easily do this. - -- [#49](https://github.com/ucdjs/ucd/pull/49) [`d761237`](https://github.com/ucdjs/ucd/commit/d7612378002115098b7f35430aaadfed0913a3af) Thanks [@luxass](https://github.com/luxass)! - move filter's to utils pkg - -- [#72](https://github.com/ucdjs/ucd/pull/72) [`731283e`](https://github.com/ucdjs/ucd/commit/731283e1eb5fdb3178ba4ce4c1713af3246b5955) Thanks [@luxass](https://github.com/luxass)! - feat(utils): enhance path filter functionality - - - Introduced `extend` and `patterns` methods to `PathFilter` for dynamic filter management. - - Updated `createPathFilter` to return a `PathFilter` instead of a function type. - - Refactored type references in related modules to use `PathFilter`. - -- [#53](https://github.com/ucdjs/ucd/pull/53) [`8cd9a4c`](https://github.com/ucdjs/ucd/commit/8cd9a4c8a65128b142dccad1c532ef79c6fcbbc4) Thanks [@luxass](https://github.com/luxass)! - implement mirrorUCDFiles - -- [#56](https://github.com/ucdjs/ucd/pull/56) [`7cc3df9`](https://github.com/ucdjs/ucd/commit/7cc3df9b6bde24fc0bc758e179e1169bb9003496) Thanks [@luxass](https://github.com/luxass)! - refactor ucd-files - -- [#76](https://github.com/ucdjs/ucd/pull/76) [`a3f785f`](https://github.com/ucdjs/ucd/commit/a3f785f697a393dbef75728e9a8286359386c5f9) Thanks [@luxass](https://github.com/luxass)! - improve store - -- [#96](https://github.com/ucdjs/ucd/pull/96) [`64e31f5`](https://github.com/ucdjs/ucd/commit/64e31f5491db5e192136eb66159108d4a98bff03) Thanks [@luxass](https://github.com/luxass)! - move @ucdjs/utils/ucd-files into @ucdjs/ucd-store/ucd-files - -- [#50](https://github.com/ucdjs/ucd/pull/50) [`cc16dd3`](https://github.com/ucdjs/ucd/commit/cc16dd3f4af7a78ced58d74f7f3a265fc75af9a4) Thanks [@luxass](https://github.com/luxass)! - implement fs-adapter for usage in mirrorUCDFiles - -- [#75](https://github.com/ucdjs/ucd/pull/75) [`59dee88`](https://github.com/ucdjs/ucd/commit/59dee88baa6ab3ce936ef293c4733dc8a8d2fe26) Thanks [@luxass](https://github.com/luxass)! - feat: export constants - -- [#55](https://github.com/ucdjs/ucd/pull/55) [`99ac908`](https://github.com/ucdjs/ucd/commit/99ac908c0f8c79ddb214661da3888b07b725cd69) Thanks [@luxass](https://github.com/luxass)! - feat: add validateUCDFiles function and update FSAdapter interface with exists and readdir methods - -- [#74](https://github.com/ucdjs/ucd/pull/74) [`76b56b0`](https://github.com/ucdjs/ucd/commit/76b56b08f38f5da4dc441cdbc7fcb8d074ae5a55) Thanks [@luxass](https://github.com/luxass)! - Enhanced path filtering with extendable filters and temporary filter support. - - ```typescript - const filter = createPathFilter(["*.txt"]); - filter.extend(["!*Test*"]); // Add more patterns - filter("file.js", ["*.js"]); // Use extra filters temporarily - ``` - -### Patch Changes - -- [#155](https://github.com/ucdjs/ucd/pull/155) [`2d3774a`](https://github.com/ucdjs/ucd/commit/2d3774afe4786e45385ba3af19f160487541a64e) Thanks [@luxass](https://github.com/luxass)! - update types to match api types - -- Updated dependencies [[`d031fdc`](https://github.com/ucdjs/ucd/commit/d031fdc4426120e901f7f26072c17d2de2f3bd59), [`3dfaaae`](https://github.com/ucdjs/ucd/commit/3dfaaaebfbf4f03c0d9755db3fa0601ff825fbce), [`384810a`](https://github.com/ucdjs/ucd/commit/384810a92e9f68f207b349177842149e758e5813), [`7e8a4a7`](https://github.com/ucdjs/ucd/commit/7e8a4a7b0511af98b87a6004e479cdc46df570c5), [`6c564ab`](https://github.com/ucdjs/ucd/commit/6c564aba7670bd2f5d98e9720828031bb8eb0532), [`a028d2f`](https://github.com/ucdjs/ucd/commit/a028d2f37091a90c76c66ca8c10e43b45b999868), [`6b59312`](https://github.com/ucdjs/ucd/commit/6b5931201a9a19a1b8d70f25680e22d4ae0f0743), [`08189be`](https://github.com/ucdjs/ucd/commit/08189be0432803fe77ab19d9855b38aadaea5459), [`71d58fb`](https://github.com/ucdjs/ucd/commit/71d58fbf37f580e54a42600dcc4c71f3a63443c0), [`a9e3aae`](https://github.com/ucdjs/ucd/commit/a9e3aae0efd15e07c50b58b827857631f0553640)]: - - @ucdjs-internal/shared@0.1.0 - +## [0.2.0](https://github.com/ucdjs/ucd/compare/@ucdjs/utils@0.2.0...@ucdjs/utils@0.2.0) (2025-11-24) + + +### Features +* migrate utilities to @ucdjs-internal/shared ([4d7588fd](https://github.com/ucdjs/ucd/commit/4d7588fde6943006a59e89fc8338dc0078f347a9)) (by [@luxass](https://github.com/luxass)) +* add HTTP and Node file system bridges with comprehensive tests ([5bc90ebc](https://github.com/ucdjs/ucd/commit/5bc90ebcf5e20e11f4d209983975fa732d57cc3f)) (by [@luxass](https://github.com/luxass)) +* implement recursive directory listing in HTTPFileSystemBridge ([b3ee5dd3](https://github.com/ucdjs/ucd/commit/b3ee5dd3165c3d96166c895afae773f020374f10)) (by [@luxass](https://github.com/luxass)) +* enhance listdir functionality with recursive support ([7db08f77](https://github.com/ucdjs/ucd/commit/7db08f7739fcfb92b5594a468a0735afe716e930)) (by [@luxass](https://github.com/luxass)) +* add flattenFilePaths function to recursively flatten file structures ([da32ab48](https://github.com/ucdjs/ucd/commit/da32ab48388d9c88f57af22e080bd0933e5212ca)) (by [@luxass](https://github.com/luxass)) +* add tests for mirrorUCDFiles and validateUCDFiles functions ([3214f78e](https://github.com/ucdjs/ucd/commit/3214f78eeb246cdf86799834e8993c0ca4f98d9e)) (by [@luxass](https://github.com/luxass)) +* add environment package with configuration and validation utilities ([2743f549](https://github.com/ucdjs/ucd/commit/2743f549a6fa4d0fc779c573bee0ef3529a4bae3)) (by [@luxass](https://github.com/luxass)) +* add utility dependencies and improve error handling ([39eca3dc](https://github.com/ucdjs/ucd/commit/39eca3dcefd037aef240cf54ab48f4e2d054d057)) (by [@luxass](https://github.com/luxass)) +* initialize fetch package with API client and documentation ([c4ec17fd](https://github.com/ucdjs/ucd/commit/c4ec17fd2fab890eb42c79a80bb5c5418c4fb19a)) (by [@luxass](https://github.com/luxass)) +* add 'dev:api' script for API development ([b9c3b2ba](https://github.com/ucdjs/ucd/commit/b9c3b2ba3b0744409c6b31b46c4a3d0393e97154)) (by [@luxass](https://github.com/luxass)) +* add constants for Unicode and UCDJS API URLs ([63b468f9](https://github.com/ucdjs/ucd/commit/63b468f95555ac8049c0c2f5f9b0476c7a5447a9)) (by [@luxass](https://github.com/luxass)) +* enhance `PathFilterFn` to accept additional filters ([d9cf1fc6](https://github.com/ucdjs/ucd/commit/d9cf1fc67d5dd87793d6ffbc9de15dcc89996f14)) (by [@luxass](https://github.com/luxass)) +* enhance path filter functionality ([b1929622](https://github.com/ucdjs/ucd/commit/b19296220de3ad86b80c8f209591751944594806)) (by [@luxass](https://github.com/luxass)) +* update rm method to default to non-recursive and non-force ([6ad0a2c2](https://github.com/ucdjs/ucd/commit/6ad0a2c2e2e249bda32adafdaf395cd111d1679e)) (by [@luxass](https://github.com/luxass)) +* add comprehensive tests for HTTPFileSystemBridge ([58d9abe8](https://github.com/ucdjs/ucd/commit/58d9abe835f6faa329c10c54c0ee7af3b01add9f)) (by [@luxass](https://github.com/luxass)) +* enhance HTTPFileSystemBridge with new methods ([5ac936b2](https://github.com/ucdjs/ucd/commit/5ac936b28b62ccd9b579dfb492bb66683cde028a)) (by [@luxass](https://github.com/luxass)) +* implement Node.js file system operations ([f9c79acf](https://github.com/ucdjs/ucd/commit/f9c79acff0421d045d3b0ab264c23149bf8614c5)) (by [@luxass](https://github.com/luxass)) +* extend FileSystemBridge interface with new methods ([778da095](https://github.com/ucdjs/ucd/commit/778da0952a069895cca2093d8270034f05be5928)) (by [@luxass](https://github.com/luxass)) +* add new fs impl ([8a09ff29](https://github.com/ucdjs/ucd/commit/8a09ff29cd76e6716951b4e37802605f3b886836)) (by [@luxass](https://github.com/luxass)) +* add new vfs module ([3bf85d86](https://github.com/ucdjs/ucd/commit/3bf85d8635b539a613d7df79b7b27b1a6fb91b75)) (by [@luxass](https://github.com/luxass)) +* add optional proxy URL to MirrorOptions and internal functions ([3292668c](https://github.com/ucdjs/ucd/commit/3292668cc95891c5fcbca98218f404bfd36ff551)) (by [@luxass](https://github.com/luxass)) +* enhance validateUCDFiles to filter out directories and update test to reflect changes ([ef300d36](https://github.com/ucdjs/ucd/commit/ef300d362431912f2d5489736318e6f6adb6f0f8)) (by [@luxass](https://github.com/luxass)) +* update readdir method to support recursive option and modify validateUCDFiles to handle directories ([30e5440e](https://github.com/ucdjs/ucd/commit/30e5440ecef3f45261f5dbdfa861590769d2a747)) (by [@luxass](https://github.com/luxass)) +* update validateUCDFiles to return missing and not required files ([605ff972](https://github.com/ucdjs/ucd/commit/605ff9729d174766aedeaa0bf9535d220cfb8911)) (by [@luxass](https://github.com/luxass)) +* add TODO to validateUCDFiles for returning extra files ([95d54a2c](https://github.com/ucdjs/ucd/commit/95d54a2c177320d1c03e52698f6d7907dbe4b965)) (by [@luxass](https://github.com/luxass)) +* add validateUCDFiles function and update FSAdapter interface with exists and readdir methods ([470abb64](https://github.com/ucdjs/ucd/commit/470abb640a60801142e7e75f960d5783f0f767e0)) (by [@luxass](https://github.com/luxass)) +* enhance mirrorUCDFiles to handle errors and return located files ([febe7ab6](https://github.com/ucdjs/ucd/commit/febe7ab67c2ba9853164182f1340cf964c8b8453)) (by [@luxass](https://github.com/luxass)) +* enhance mirrorUCDFiles to handle errors and return located files ([b7e05f61](https://github.com/ucdjs/ucd/commit/b7e05f614b82929fce7b08eb586d0d379dcfdd4a)) (by [@luxass](https://github.com/luxass)) +* enhance mirrorUCDFiles with pattern matching and error handling ([73c02513](https://github.com/ucdjs/ucd/commit/73c02513ba0fd8f6e62500bc954313e36cf37490)) (by [@luxass](https://github.com/luxass)) +* add dependencies for unicode utilities and defu in package.json and pnpm-lock.yaml ([b7e31ff9](https://github.com/ucdjs/ucd/commit/b7e31ff9f734180bf439defbc6f942c124295f49)) (by [@luxass](https://github.com/luxass)) +* implement mirrorUCDFiles ([119a25b9](https://github.com/ucdjs/ucd/commit/119a25b9210e68271a0565155a13335844a0ec5d)) (by [@luxass](https://github.com/luxass)) +* add UCD file mirroring utilities and filesystem adapter ([e85bdbde](https://github.com/ucdjs/ucd/commit/e85bdbde6df5aaca29f214b943fbd85c53605ca3)) (by [@luxass](https://github.com/luxass)) +* add turbo.json configuration files for cli, schema-gen, ucd-store, and utils; update tsconfig.base.build.json and remove test:watch task from turbo.json ([48dad498](https://github.com/ucdjs/ucd/commit/48dad4988f63c50f2c878f310112cf0fd44e6058)) (by [@luxass](https://github.com/luxass)) + +### Bug Fixes +* ensure 'entries' is an array before processing ([54af41b9](https://github.com/ucdjs/ucd/commit/54af41b92e2849e1b5eae3d39296ab733af21418)) (by [@luxass](https://github.com/luxass)) +* set default baseUrl for HTTPFileSystemBridge ([0a699f21](https://github.com/ucdjs/ucd/commit/0a699f210b8eb60666773c8ec6d33db9cbc348cd)) (by [@luxass](https://github.com/luxass)) +* ensure baseUrl is always defined ([0753a323](https://github.com/ucdjs/ucd/commit/0753a323055c91fc41f682b61a7ea0d98c6297da)) (by [@luxass](https://github.com/luxass)) +* correct file path handling in flattenFilePaths function ([91aff454](https://github.com/ucdjs/ucd/commit/91aff45407699502d55c352a8dbe8b0d9a18eb6e)) (by [@luxass](https://github.com/luxass)) +* update predefined filter patterns for exclusions ([c39fa797](https://github.com/ucdjs/ucd/commit/c39fa797388ee47812dffa05601a1b9666d1a388)) (by [@luxass](https://github.com/luxass)) +* update listdir to return file names and enhance recursive listing ([f4f97aca](https://github.com/ucdjs/ucd/commit/f4f97acaba21c7dbb3958496ab4773cc98873491)) (by [@luxass](https://github.com/luxass)) +* throw if unresolved import ([8123dda2](https://github.com/ucdjs/ucd/commit/8123dda281a62ed6bd63c6d1b6975a27a6f78346)) (by [@luxass](https://github.com/luxass)) +* update API URLs in mirror and validate test files to use UCDJS_API_BASE_URL ([8c7678e3](https://github.com/ucdjs/ucd/commit/8c7678e35659fcab55c2c6f5df05fa86aa2bac3c)) (by [@luxass](https://github.com/luxass)) +* update API URLs in test files ([9dff312a](https://github.com/ucdjs/ucd/commit/9dff312a4ef4cdfeb26e6a263dc399eb07e1eb7f)) (by [@luxass](https://github.com/luxass)) +* use UNICODE_PROXY_URL as default base URL ([a26f9757](https://github.com/ucdjs/ucd/commit/a26f975776218e6db3b64c3e5a3036fd05f75ebd)) (by [@luxass](https://github.com/luxass)) +* update default Unicode API base URL ([2415c8e1](https://github.com/ucdjs/ucd/commit/2415c8e121fb7c1563371fac1a8e60f48be46362)) (by [@luxass](https://github.com/luxass)) +* handle process.env safely in constants file ([1dca07f2](https://github.com/ucdjs/ucd/commit/1dca07f28c2bc5c95c5aa017562405a00b6a3c51)) (by [@luxass](https://github.com/luxass)) +* correct mock reset method in validate test and add ucd-files to hidden logs ([6807b611](https://github.com/ucdjs/ucd/commit/6807b611919224970467a0c4c6e64a98c3a622c8)) (by [@luxass](https://github.com/luxass)) + +### Refactoring +* update package references to @ucdjs-tooling/tsdown-config ([ccc002da](https://github.com/ucdjs/ucd/commit/ccc002dafd139e0b08e55098470f7a2a8af361ab)) (by [@luxass](https://github.com/luxass)) +* update tsconfig references to use @ucdjs-tooling/tsconfig ([e5c39ac8](https://github.com/ucdjs/ucd/commit/e5c39ac8d2e0ad1cc4a29e4417013ed124c83801)) (by [@luxass](https://github.com/luxass)) +* migrate `flattenFilePaths` imports from `@ucdjs/utils` to `@ucdjs/shared` ([49318725](https://github.com/ucdjs/ucd/commit/49318725c45c27dad6354ff4b0faf6bc4da795fa)) (by [@luxass](https://github.com/luxass)) +* remove flatten utility and related tests ([4db6f390](https://github.com/ucdjs/ucd/commit/4db6f3909d2ea8fe3d67c5bd149c9635169174ea)) (by [@luxass](https://github.com/luxass)) +* move `safeJsonParse` function to shared package ([ee893aa4](https://github.com/ucdjs/ucd/commit/ee893aa4b3ab8e8aac3ed85ad1b87ea0e0ca3a91)) (by [@luxass](https://github.com/luxass)) +* update listdir return type to FSEntry[] ([ef8651d0](https://github.com/ucdjs/ucd/commit/ef8651d01b1e8791c785c004f73f3ac2b2bff4e6)) (by [@luxass](https://github.com/luxass)) +* enhance write operation to create parent directories ([793b0b1c](https://github.com/ucdjs/ucd/commit/793b0b1c1ec890c9f11d6e3a9c4cd1e14b0a9160)) (by [@luxass](https://github.com/luxass)) +* remove unused `getSupportedBridgeCapabilities` function ([1d559db3](https://github.com/ucdjs/ucd/commit/1d559db3584fa74c2780a3de7271002bd26f709c)) (by [@luxass](https://github.com/luxass)) +* enhance type safety in FileSystemBridge interfaces ([e333dd24](https://github.com/ucdjs/ucd/commit/e333dd24edbdc2c775591747522645deec88dce8)) (by [@luxass](https://github.com/luxass)) +* improve type safety and structure of file system bridge interfaces ([12673785](https://github.com/ucdjs/ucd/commit/12673785beae6ea87d4f3f915069740ccff5d1a3)) (by [@luxass](https://github.com/luxass)) +* enhance HTTP and Node file system bridge implementations ([da79ce61](https://github.com/ucdjs/ucd/commit/da79ce61e5aed26586e20a2c87873db864eec57b)) (by [@luxass](https://github.com/luxass)) +* simplify interface and enhance type safety ([c784e16e](https://github.com/ucdjs/ucd/commit/c784e16e8fc75448bec3cfccd471b9330a292b0c)) (by [@luxass](https://github.com/luxass)) +* update file tree types and import flattenFilePaths from utils ([c3cb6344](https://github.com/ucdjs/ucd/commit/c3cb6344d227a8c49883f942ba668c09a0677e7d)) (by [@luxass](https://github.com/luxass)) +* rename FileTreeNode to UnicodeTreeNode and update related schemas ([7f366e53](https://github.com/ucdjs/ucd/commit/7f366e531644413e4701a4ceab7f7b579eecade4)) (by [@luxass](https://github.com/luxass)) +* update type references in flatten functions ([85d91251](https://github.com/ucdjs/ucd/commit/85d91251f81e3a0002fe57b74954a21f17449188)) (by [@luxass](https://github.com/luxass)) +* update default base URL for remote store ([add5c0a7](https://github.com/ucdjs/ucd/commit/add5c0a7badfbe2e13d0a8bf20c02782ed0462fe)) (by [@luxass](https://github.com/luxass)) +* streamline store initialization and manifest handling ([de5eb013](https://github.com/ucdjs/ucd/commit/de5eb013c1c4d1f9634ef81c934dd538b267c73f)) (by [@luxass](https://github.com/luxass)) +* update `PathFilter` methods for improved filter management ([64e60659](https://github.com/ucdjs/ucd/commit/64e606598e497f67d8fd059e076a88f7fe406c15)) (by [@luxass](https://github.com/luxass)) +* update filter type and enhance file retrieval methods ([cf7f7b1d](https://github.com/ucdjs/ucd/commit/cf7f7b1d185a56c0e59f78bbac412d2305ba7439)) (by [@luxass](https://github.com/luxass)) +* replace hardcoded URLs with constants and improve store initialization ([3ea42a18](https://github.com/ucdjs/ucd/commit/3ea42a18899b4820df7672c0e37b8387e90fcf20)) (by [@luxass](https://github.com/luxass)) +* unify UCDStore implementation and remove legacy classes ([5a9bea8d](https://github.com/ucdjs/ucd/commit/5a9bea8df2883ee00e5c6d79d44532b857737208)) (by [@luxass](https://github.com/luxass)) +* remove local and remote UCD store implementations ([29f0f599](https://github.com/ucdjs/ucd/commit/29f0f599b53782a13ce97445135a738fa7f1901d)) (by [@luxass](https://github.com/luxass)) +* remove deprecated FsInterface tests and related code; implement repairUCDFiles functionality with improved error handling and file downloading logic ([9d37fafe](https://github.com/ucdjs/ucd/commit/9d37fafe0ba0d4fef419d1b43717634d58191166)) (by [@luxass](https://github.com/luxass)) +* remove FsInterface and related functions; update download logic to use buildUCDPath ([d3ee25dc](https://github.com/ucdjs/ucd/commit/d3ee25dc3c9dc22242f1ed4485047f3bc0cd7eba)) (by [@luxass](https://github.com/luxass)) +* replace internal flattening function with helper utility ([3610c72d](https://github.com/ucdjs/ucd/commit/3610c72da013d2a5819f5343159b72899a863e83)) (by [@luxass](https://github.com/luxass)) +* migrate ucd-store to use utils ([cadc55b4](https://github.com/ucdjs/ucd/commit/cadc55b4238f8fb99e82a84a2047a34fd693ca38)) (by [@luxass](https://github.com/luxass)) +* replace hardcoded proxy URL with configurable option in internal__processEntries ([Issue #58](https://github.com/ucdjs/ucd/issues/58)) ([f03d9ff2](https://github.com/ucdjs/ucd/commit/f03d9ff25df5e0023da7da95c27a134474d56792)) (by [@luxass](https://github.com/luxass)) +* improve documentation for validateUCDFiles function ([4c713242](https://github.com/ucdjs/ucd/commit/4c713242fce9bda8c52fd7166fd644ffac4319d1)) (by [@luxass](https://github.com/luxass)) +* ucd-files impl ([b1d799a4](https://github.com/ucdjs/ucd/commit/b1d799a44bb6f4fb5efe53836586e12df718128f)) (by [@luxass](https://github.com/luxass)) +* simplify createDefaultFSAdapter and add tests for FS adapter ([3fccaf55](https://github.com/ucdjs/ucd/commit/3fccaf55b4ced89c0f31a4869e630c8b173023b4)) (by [@luxass](https://github.com/luxass)) +* move filter functionality from ucd-store to utils package ([98b84b07](https://github.com/ucdjs/ucd/commit/98b84b07af8c09a3b8881af95a5fdf99d4afb52e)) (by [@luxass](https://github.com/luxass)) + +### Documentation +* enhance createPathFilter documentation with detailed examples ([f0308f87](https://github.com/ucdjs/ucd/commit/f0308f87cc02bd05533b59430a7892b8a40e0f22)) (by [@luxass](https://github.com/luxass)) +* update README to enhance usage examples and clarify functionality ([82a55e1c](https://github.com/ucdjs/ucd/commit/82a55e1c4f87ced174802e0ac73ceb6364e48544)) (by [@luxass](https://github.com/luxass)) ## 0.1.0 ### Minor Changes