v1.4.0
This release marks a major milestone in the development of the @sse-ui ecosystem. We have completely overhauled how hook metadata and types are generated, providing a much richer experience for developers and a more maintainable codebase for contributors.
💎 Key Highlights
- Intelligent Type Generation: The generate-nuxt-types.js engine has been rebuilt to track type usage. It now intelligently inlines simple type aliases (like AudioMimeType) into schemas while preserving complex standalone interfaces (like AudioAnalysisData) for better visibility.
- Cleaner Metadata: We’ve implemented redundancy filtering. Top-level Options and Return interfaces are now automatically omitted from the types array to avoid clutter, as they are already fully described in the props and returns schemas.
- Refactored Documentation Engine: generate-doc.js has been updated to handle the new metadata format, including improved descriptions, links, and schema visualization. We have also deprecated the old generate-md.js script in favor of this unified approach.
- Framework Integration: Added @ssets/scule and @vueuse/nuxt to our dependency stack to enhance camelCase conversion and framework-specific utility support.
🛠️ Internal Refactors
- Standalone Types Support: Added a dedicated types array to hook definitions to accommodate standalone interfaces, enums, and complex aliases.
- TypeDoc Integration: Enhanced the extraction of metadata from TypeDoc JSON to ensure better handling of optional flags and default values.
- Hook Cleanup: Removed unused interfaces and legacy types from useFetch, useIndexedDB, useMediaSession, and useUserMedia to streamline the library footprint.
📦 Versioning & Dependencies
- Bumped sse-hooks-directory to 1.4.0.
- Added support for TypeMeta in schema definitions for more robust type management.
Full Changelog: https://github.com/sseuniverse/sse-hooks/compare/v1.3.1...v1.4.0