Skip to content

chore: switch to @unicode-utils/*#374

Merged
luxass merged 1 commit intomainfrom
refactor/switch-to-new-structure
Oct 30, 2025
Merged

chore: switch to @unicode-utils/*#374
luxass merged 1 commit intomainfrom
refactor/switch-to-new-structure

Conversation

@luxass
Copy link
Member

@luxass luxass commented Oct 30, 2025

🔗 Linked issue

📚 Description

We recently made some changes to the unicode-utils repository. So we need to migrate to their new package structure.

This should just work, but it could very well be that there is some small changes.

Summary by CodeRabbit

  • Chores
    • Upgraded unicode utilities dependency to a newer version across the application. No functional changes or user-visible impact.

@changeset-bot
Copy link

changeset-bot bot commented Oct 30, 2025

⚠️ No Changeset found

Latest commit: 0fc0e60

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions bot added pkg: cli Changes related to the CLI package. pkg: ucd-store Changes related to the UCD Store package. apps: api Changes related to the API. pkg: shared Changes related to the Shared package. labels Oct 30, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 30, 2025

Walkthrough

This PR replaces all occurrences of the deprecated @luxass/unicode-utils package with @unicode-utils/core across multiple packages and configuration files, updating package.json dependencies, pnpm-workspace.yaml catalog entries, and all corresponding import statements in source and test files.

Changes

Cohort / File(s) Summary
Dependency catalog configuration
pnpm-workspace.yaml
Updated prod catalog: replaced @luxass/unicode-utils@0.12.0-beta.14 with @unicode-utils/core@0.12.0-beta.18; updated minimumReleaseAgeExclude to exclude @unicode-utils/*
Package manifest updates
apps/api/package.json, packages/cli/package.json, packages/shared/package.json, packages/ucd-store-v2/package.json, packages/ucd-store/package.json, vscode/package.json
Replaced dependency @luxass/unicode-utils with @unicode-utils/core (catalog:prod) in all six package manifests
Source code imports
apps/api/src/routes/v1_versions/routes.ts, packages/cli/src/cmd/store/_shared.ts, packages/ucd-store/src/internal/mirror.ts, vscode/src/commands/open-entry.ts, vscode/src/composables/useUCDExplorer.ts, vscode/src/lib/files.ts
Updated import paths from @luxass/unicode-utils to @unicode-utils/core for functions like hasUCDFolderPath, resolveUCDVersion, and UNICODE_VERSION_METADATA
Test file imports
apps/api/test/routes/v1_versions.test.ts, packages/cli/test/cmd/store/init.test.ts, packages/ucd-store/test/core/init.test.ts, packages/ucd-store/test/file-operations/* (4 files), packages/ucd-store/test/maintenance/* (4 files)
Updated test imports to source UNICODE_VERSION_METADATA and other utilities from @unicode-utils/core; module mocks and dynamic imports adjusted accordingly

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Rationale: Changes are highly homogeneous—all follow the same import/dependency swap pattern across 24 files. Spot-check a few files from each cohort to verify consistency.
  • Areas requiring attention:
    • Verify that @unicode-utils/core exposes the same API surface (functions and metadata) as the old @luxass/unicode-utils
    • Confirm the version bump (0.12.0-beta.14 → 0.12.0-beta.18) is compatible with all usages
    • Check that test mocks correctly forward calls to the new module

Possibly related PRs

Poem

🐰 Hop along, old import friend,
Your unicode days now come to end!
We've swapped your path with shiny new,
@unicode-utils/core shines through.
From luxass to the modern way,
Our code hops brighter every day!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "chore: switch to @unicode-utils/" directly and accurately describes the main change in the changeset. The title uses appropriate conventional commit convention with the "chore:" prefix, indicating dependency/configuration updates. The changeset comprehensively replaces the old "@luxass/unicode-utils" package with "@unicode-utils/core" across all package.json files and updates all corresponding import statements throughout the codebase. The wildcard notation "" appropriately captures the broader package namespace switch, aligning with the PR objectives to migrate to a new package structure. The title is concise, clear, and specific enough that a teammate reviewing git history would immediately understand the primary change.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/switch-to-new-structure

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2f455a5 and 0fc0e60.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (24)
  • apps/api/package.json (1 hunks)
  • apps/api/src/routes/v1_versions/routes.ts (1 hunks)
  • apps/api/test/routes/v1_versions.test.ts (10 hunks)
  • packages/cli/package.json (1 hunks)
  • packages/cli/src/cmd/store/_shared.ts (1 hunks)
  • packages/cli/test/cmd/store/init.test.ts (1 hunks)
  • packages/shared/package.json (1 hunks)
  • packages/ucd-store-v2/package.json (1 hunks)
  • packages/ucd-store/package.json (1 hunks)
  • packages/ucd-store/src/internal/mirror.ts (1 hunks)
  • packages/ucd-store/test/core/init.test.ts (1 hunks)
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts (1 hunks)
  • packages/ucd-store/test/file-operations/file-paths.test.ts (1 hunks)
  • packages/ucd-store/test/file-operations/file-tree.test.ts (1 hunks)
  • packages/ucd-store/test/file-operations/get-file.test.ts (1 hunks)
  • packages/ucd-store/test/maintenance/analyze.test.ts (1 hunks)
  • packages/ucd-store/test/maintenance/clean.test.ts (1 hunks)
  • packages/ucd-store/test/maintenance/mirror.test.ts (1 hunks)
  • packages/ucd-store/test/maintenance/repair.test.ts (1 hunks)
  • pnpm-workspace.yaml (2 hunks)
  • vscode/package.json (1 hunks)
  • vscode/src/commands/open-entry.ts (1 hunks)
  • vscode/src/composables/useUCDExplorer.ts (1 hunks)
  • vscode/src/lib/files.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{test,spec}.?(c|m)[jt]s?(x)

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{test,spec}.?(c|m)[jt]s?(x): Name test files using the pattern **/.{test,spec}.?(c|m)[jt]s?(x)
In tests, import utilities from #test-utils/
rather than @ucdjs/test-utils

Files:

  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • packages/cli/test/cmd/store/init.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
apps/api/test/**

📄 CodeRabbit inference engine (AGENTS.md)

Place Cloudflare Worker tests for the API app under apps/api/test/** (excluding apps/api/test/unit/**)

Files:

  • apps/api/test/routes/v1_versions.test.ts
🧠 Learnings (13)
📓 Common learnings
Learnt from: luxass
PR: ucdjs/ucd#107
File: apps/api/src/routes/v1_files.ts:18-32
Timestamp: 2025-07-13T09:23:43.820Z
Learning: UNICODE_STABLE_VERSION from luxass/unicode-utils-new refers to a specific Unicode version string (not a dynamic value), and the validation logic in the files API correctly checks the normalized version (after "latest" substitution) against UNICODE_VERSION_METADATA rather than the mappedVersion from resolveUCDVersion().
📚 Learning: 2025-07-13T09:23:43.820Z
Learnt from: luxass
PR: ucdjs/ucd#107
File: apps/api/src/routes/v1_files.ts:18-32
Timestamp: 2025-07-13T09:23:43.820Z
Learning: UNICODE_STABLE_VERSION from luxass/unicode-utils-new refers to a specific Unicode version string (not a dynamic value), and the validation logic in the files API correctly checks the normalized version (after "latest" substitution) against UNICODE_VERSION_METADATA rather than the mappedVersion from resolveUCDVersion().

Applied to files:

  • apps/api/src/routes/v1_versions/routes.ts
  • vscode/src/lib/files.ts
  • packages/ucd-store/src/internal/mirror.ts
  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • pnpm-workspace.yaml
  • packages/ucd-store-v2/package.json
  • packages/cli/test/cmd/store/init.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/shared/package.json
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • apps/api/package.json
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/package.json
  • packages/cli/src/cmd/store/_shared.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • vscode/src/composables/useUCDExplorer.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-06-09T05:10:32.105Z
Learnt from: luxass
PR: ucdjs/ucd#45
File: packages/ucd-store/src/download.ts:24-24
Timestamp: 2025-06-09T05:10:32.105Z
Learning: In the ucd-store package refactor, picomatch was moved from direct usage in download.ts to internal usage within the createPathFilter function in filter.ts. The pattern format is still picomatch-compatible, so JSDoc comments referencing picomatch pattern format remain correct.

Applied to files:

  • vscode/src/lib/files.ts
  • packages/ucd-store/src/internal/mirror.ts
  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • packages/ucd-store-v2/package.json
  • packages/cli/test/cmd/store/init.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/package.json
  • packages/cli/src/cmd/store/_shared.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • vscode/src/composables/useUCDExplorer.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-10-26T05:12:25.095Z
Learnt from: CR
PR: ucdjs/ucd#0
File: AGENTS.md:0-0
Timestamp: 2025-10-26T05:12:25.095Z
Learning: Applies to **/*.{test,spec}.?(c|m)[jt]s?(x) : In tests, import utilities from #test-utils/* rather than ucdjs/test-utils

Applied to files:

  • vscode/src/lib/files.ts
  • packages/ucd-store/src/internal/mirror.ts
  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • packages/cli/test/cmd/store/init.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • vscode/src/composables/useUCDExplorer.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-07-20T05:37:40.565Z
Learnt from: luxass
PR: ucdjs/ucd#131
File: tooling/eslint-plugin/package.json:0-0
Timestamp: 2025-07-20T05:37:40.565Z
Learning: In the ucdjs/ucd project, internal tooling packages (private packages in the tooling/ directory) export TypeScript files directly without requiring a build step, unlike published packages which use tsdown to build and export from ./dist/. Examples include ucdjs/tsdown-config and ucdjs/eslint-plugin.

Applied to files:

  • vscode/src/lib/files.ts
  • packages/ucd-store/src/internal/mirror.ts
  • packages/cli/package.json
  • vscode/package.json
  • packages/ucd-store-v2/package.json
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/shared/package.json
  • packages/ucd-store/test/core/init.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/package.json
📚 Learning: 2025-10-14T07:15:35.199Z
Learnt from: luxass
PR: ucdjs/ucd#326
File: packages/shared/src/ucd-config.ts:34-58
Timestamp: 2025-10-14T07:15:35.199Z
Learning: In packages/shared/src/ucd-config.ts, the `getDefaultUCDEndpointConfig` function uses a build-time define `__UCD_ENDPOINT_DEFAULT_CONFIG__` that is replaced at build time by the bundler. The `??` operator is evaluated at build time, so the final code contains no runtime branching. Therefore, runtime unit tests for this function are not valuable—the build process itself handles the injection and fallback logic.

Applied to files:

  • packages/ucd-store/src/internal/mirror.ts
  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-06-29T11:20:13.668Z
Learnt from: luxass
PR: ucdjs/ucd#87
File: packages/worker-shared/tsconfig.build.json:1-4
Timestamp: 2025-06-29T11:20:13.668Z
Learning: In the ucdjs/ucd project, the packages use tsdown instead of tsc for building libraries. The tsconfig.build.json files are primarily for IDE experience and type checking, not for direct compilation, so including "test" directories in these configs doesn't affect build output.

Applied to files:

  • vscode/package.json
  • packages/ucd-store-v2/package.json
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/package.json
📚 Learning: 2025-10-26T05:12:25.095Z
Learnt from: CR
PR: ucdjs/ucd#0
File: AGENTS.md:0-0
Timestamp: 2025-10-26T05:12:25.095Z
Learning: Applies to test/utils/** : Keep internal test utilities under test/utils/ and import them via #internal/test-utils/*

Applied to files:

  • packages/ucd-store/test/file-operations/file-paths.test.ts
📚 Learning: 2025-08-23T05:20:36.940Z
Learnt from: luxass
PR: ucdjs/ucd#209
File: packages/ucd-store/test/clean.test.ts:9-9
Timestamp: 2025-08-23T05:20:36.940Z
Learning: In the ucdjs/ucd codebase using modern Vitest, the assert export from "vitest" works as a callable function assert(condition, message) and provides TypeScript type narrowing, making it the preferred choice over expect() for runtime assertions that need compile-time type safety. The existing usage pattern assert(condition, message) throughout the test suite is working correctly.

Applied to files:

  • packages/ucd-store/test/file-operations/file-paths.test.ts
  • packages/cli/test/cmd/store/init.test.ts
  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/file-operations/get-file.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/core/init.test.ts
  • apps/api/test/routes/v1_versions.test.ts
  • packages/ucd-store/test/maintenance/analyze.test.ts
  • packages/ucd-store/test/file-operations/file-tree.test.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-08-23T05:20:36.940Z
Learnt from: luxass
PR: ucdjs/ucd#209
File: packages/ucd-store/test/clean.test.ts:9-9
Timestamp: 2025-08-23T05:20:36.940Z
Learning: In the ucdjs/ucd codebase, Vitest's assert import works as a callable function assert(condition, message) and provides TypeScript type narrowing, making it the preferred choice over expect() for runtime assertions that also need compile-time type safety.

Applied to files:

  • packages/ucd-store/test/maintenance/clean.test.ts
  • packages/ucd-store/test/maintenance/mirror.test.ts
  • packages/ucd-store/test/file-operations/capability-requirements.test.ts
  • packages/ucd-store/test/maintenance/repair.test.ts
📚 Learning: 2025-08-23T05:16:26.866Z
Learnt from: luxass
PR: ucdjs/ucd#209
File: packages/ucd-store/test/clean.test.ts:9-9
Timestamp: 2025-08-23T05:16:26.866Z
Learning: In the ucdjs/ucd codebase, the team prefers using `assert(condition, message)` over `expect(condition).toBeTruthy()` because assert provides TypeScript type narrowing while expect doesn't. This is important for maintaining type safety after runtime validation checks.

Applied to files:

  • packages/ucd-store/test/maintenance/mirror.test.ts
📚 Learning: 2025-10-26T05:12:25.095Z
Learnt from: CR
PR: ucdjs/ucd#0
File: AGENTS.md:0-0
Timestamp: 2025-10-26T05:12:25.095Z
Learning: Applies to **/vitest.config.worker.ts : Use a separate Vitest worker project config (vitest.config.worker.ts) for Cloudflare Worker tests

Applied to files:

  • apps/api/test/routes/v1_versions.test.ts
📚 Learning: 2025-10-26T05:12:25.095Z
Learnt from: CR
PR: ucdjs/ucd#0
File: AGENTS.md:0-0
Timestamp: 2025-10-26T05:12:25.095Z
Learning: Applies to apps/api/test/unit/** : Place Node.js unit tests for the API app under apps/api/test/unit/**

Applied to files:

  • packages/ucd-store/test/file-operations/file-tree.test.ts
🔇 Additional comments (26)
packages/ucd-store/test/maintenance/repair.test.ts (1)

6-6: LGTM! Verify test execution with the new package.

The import migration from @luxass/unicode-utils to @unicode-utils/core aligns with the PR objectives. The usage of UNICODE_VERSION_METADATA on line 15 expects it to be an iterable array-like structure.

Please run the test suite to confirm the new package exports UNICODE_VERSION_METADATA with compatible type and structure:

packages/ucd-store/test/maintenance/analyze.test.ts (1)

8-8: LGTM! Package migration looks good.

The import path has been correctly updated from @luxass/unicode-utils to @unicode-utils/core. The usage of UNICODE_VERSION_METADATA remains consistent throughout the test file.

Since this is a package migration, please verify that the test suite passes and that @unicode-utils/core exports UNICODE_VERSION_METADATA with the same structure as the previous package.

packages/ucd-store/test/file-operations/capability-requirements.test.ts (1)

4-4: LGTM! Import path updated correctly.

The import path change from @luxass/unicode-utils to @unicode-utils/core is correct and aligns with the package migration.

packages/ucd-store/test/file-operations/file-paths.test.ts (1)

3-3: LGTM! Import path updated correctly.

The import source update for UNICODE_VERSION_METADATA is correct and consistent with the package migration.

packages/cli/src/cmd/store/_shared.ts (1)

5-5: LGTM! Import path updated correctly.

The import path change is correct and maintains the same functionality for the CLI version prompt.

packages/ucd-store/test/maintenance/clean.test.ts (1)

8-8: LGTM! Import path updated correctly.

The import source update is correct and aligns with the broader package migration across all test files.

vscode/src/composables/useUCDExplorer.ts (1)

4-4: LGTM! Import path updated correctly.

The import path change is correct and maintains the same functionality for the VSCode extension's UCD explorer.

packages/ucd-store/test/maintenance/mirror.test.ts (1)

8-8: LGTM! Import path updated correctly.

The import source update is correct and consistent with other test file changes in this package.

pnpm-workspace.yaml (2)

9-9: LGTM! Workspace exclusion updated correctly.

Adding @unicode-utils/* to the minimumReleaseAgeExclude list allows immediate use of the new package without waiting for the 1-day release age requirement.


47-47: Based on my search attempts, I cannot locate the npm package @unicode-utils/core version 0.12.0-beta.14 or 0.12.0-beta.18 in publicly available repositories. The web searches consistently return unrelated packages (@unicode/unicode-* series), which suggests either the package doesn't exist on the public npm registry or uses a different naming convention.

Since I've exhausted my web search attempts and cannot find breaking change information through public channels, I'll need to flag this for manual verification within the codebase.

Verify package compatibility and imports with the new version.

The package @unicode-utils/core has been updated from 0.12.0-beta.14 to 0.12.0-beta.18, spanning 4 beta releases. While I was unable to locate public release notes or changelog information for this package, you should:

  1. Check the package's GitHub repository or release documentation for breaking changes between these beta versions
  2. Verify that existing imports and usage of @unicode-utils/core across the codebase still work correctly
  3. Run your test suite to ensure no API or behavioral changes have broken existing functionality
packages/ucd-store/src/internal/mirror.ts (1)

5-5: LGTM! Verify exports are available in the new package.

The import path update is correct. Both hasUCDFolderPath and resolveUCDVersion are used in the file, so ensure these exports are available in @unicode-utils/core.

Run this script to verify the exports are available:

apps/api/src/routes/v1_versions/routes.ts (1)

4-10: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

vscode/src/commands/open-entry.ts (1)

3-3: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

packages/ucd-store/test/core/init.test.ts (1)

10-10: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

packages/shared/package.json (1)

46-46: Dependency migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

packages/cli/test/cmd/store/init.test.ts (1)

6-6: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

packages/ucd-store/test/file-operations/get-file.test.ts (1)

4-4: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

vscode/src/lib/files.ts (1)

5-5: Import migration looks good!

The update to @unicode-utils/core is consistent with the package migration.

packages/ucd-store/test/file-operations/file-tree.test.ts (1)

4-4: Import migration looks good! Verify package compatibility.

The update to @unicode-utils/core is consistent with the package migration. Ensure the new package exports match the old package to avoid runtime issues.

Run the following script to verify that @unicode-utils/core is properly installed and exports the required symbols:

packages/ucd-store-v2/package.json (1)

51-51: Dependency migration looks good.

The replacement of the deprecated package with @unicode-utils/core is clean and consistent with the broader migration across the repository.

vscode/package.json (1)

181-181: DevDependency update is correct.

Moving to @unicode-utils/core in devDependencies aligns with the package migration strategy.

packages/cli/package.json (1)

50-50: Dependency update is correct.

The migration to @unicode-utils/core is properly configured as a runtime dependency.

packages/ucd-store/package.json (1)

51-51: Dependency replacement is clean.

The update to @unicode-utils/core maintains consistency across the ucd-store packages.

apps/api/package.json (1)

29-29: API dependency update looks good.

The migration to @unicode-utils/core is properly applied to the API application dependencies.

apps/api/test/routes/v1_versions.test.ts (2)

15-27: Mock setup updated correctly.

The module mock now references @unicode-utils/core while preserving the original mock behavior. The functions are properly wrapped to allow per-test mocking.


64-305: Verify that the new package exports the expected APIs.

All dynamic imports have been updated to use @unicode-utils/core. Please confirm that the new package exports getCurrentDraftVersion and resolveUCDVersion with compatible signatures.

Run the following script to verify the exports:

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 30, 2025

🌏 Preview Deployments

Application Status Preview URL
API ✅ Deployed View Preview
Website ✅ Deployed View Preview
Documentation ✅ Deployed View Preview

Built from commit: 0fc0e6058405a70a44f8dc19b9f65895bdd8cf72


🤖 This comment will be updated automatically when you push new commits to this PR.

@codecov
Copy link

codecov bot commented Oct 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@luxass luxass marked this pull request as ready for review October 30, 2025 05:54
Copilot AI review requested due to automatic review settings October 30, 2025 05:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates from the @luxass/unicode-utils package to the scoped @unicode-utils/core package (version 0.12.0-beta.18). The migration updates all import statements and package.json dependencies across the codebase.

  • Updated all import statements from @luxass/unicode-utils to @unicode-utils/core
  • Updated package catalog version from 0.12.0-beta.14 to 0.12.0-beta.18
  • Updated pnpm workspace configuration to exclude @unicode-utils/* from minimum release age

Reviewed Changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vscode/src/lib/files.ts Updated import statement to use new package
vscode/src/composables/useUCDExplorer.ts Updated import statement to use new package
vscode/src/commands/open-entry.ts Updated import statement to use new package
vscode/package.json Replaced dependency with new package
pnpm-workspace.yaml Updated catalog and minimumReleaseAgeExclude to reference new package
pnpm-lock.yaml Updated lockfile with new package resolutions
packages/ucd-store/test/*.test.ts Updated test file imports to use new package
packages/ucd-store/src/internal/mirror.ts Updated import statement to use new package
packages/ucd-store/package.json Replaced dependency with new package
packages/ucd-store-v2/package.json Replaced dependency with new package
packages/shared/package.json Replaced dependency with new package
packages/cli/test/cmd/store/init.test.ts Updated test file import to use new package
packages/cli/src/cmd/store/_shared.ts Updated import statement to use new package
packages/cli/package.json Replaced dependency with new package
apps/api/test/routes/v1_versions.test.ts Updated test mocks and imports to use new package
apps/api/src/routes/v1_versions/routes.ts Updated import statement to use new package
apps/api/package.json Replaced dependency with new package
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@luxass luxass merged commit 735ae59 into main Oct 30, 2025
41 checks passed
@luxass luxass deleted the refactor/switch-to-new-structure branch October 30, 2025 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

apps: api Changes related to the API. pkg: cli Changes related to the CLI package. pkg: shared Changes related to the Shared package. pkg: ucd-store Changes related to the UCD Store package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant