Releases: DevWizardHQ/laravel-localizer-react
Releases · DevWizardHQ/laravel-localizer-react
v1.1.0
What's Changed
- chore(deps-dev): bump typescript-eslint from 8.46.3 to 8.46.4 by @dependabot[bot] in #6
- chore(deps-dev): bump @typescript-eslint/parser from 8.46.3 to 8.46.4 by @dependabot[bot] in #7
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.3 to 8.46.4 by @dependabot[bot] in #8
- chore(deps-dev): bump @typescript-eslint/parser from 8.46.4 to 8.47.0 by @dependabot[bot] in #9
- chore(deps-dev): bump tsup from 8.5.0 to 8.5.1 by @dependabot[bot] in #10
- chore(deps-dev): bump @types/react from 19.2.2 to 19.2.5 by @dependabot[bot] in #13
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.4 to 8.47.0 by @dependabot[bot] in #12
- chore(deps-dev): bump @types/node from 24.10.0 to 24.10.1 by @dependabot[bot] in #11
- chore(deps-dev): bump typescript-eslint from 8.46.4 to 8.47.0 by @dependabot[bot] in #14
- chore(deps-dev): bump prettier from 3.6.2 to 3.7.4 by @dependabot[bot] in #16
- chore(deps-dev): bump typescript-eslint from 8.47.0 to 8.49.0 by @dependabot[bot] in #17
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.47.0 to 8.49.0 by @dependabot[bot] in #18
- chore(deps-dev): bump react and @types/react by @dependabot[bot] in #21
- chore(deps-dev): bump vite from 7.2.2 to 7.2.7 by @dependabot[bot] in #22
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.49.0 to 8.50.0 by @dependabot[bot] in #23
- chore(deps-dev): bump @testing-library/react from 16.3.0 to 16.3.1 by @dependabot[bot] in #24
- chore(deps-dev): bump vite from 7.2.7 to 7.3.0 by @dependabot[bot] in #25
- chore(deps-dev): bump react from 19.2.1 to 19.2.3 by @dependabot[bot] in #26
- chore(deps-dev): bump ts-jest from 29.4.5 to 29.4.6 by @dependabot[bot] in #19
- chore(deps-dev): bump @typescript-eslint/parser from 8.49.0 to 8.50.1 by @dependabot[bot] in #28
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.50.0 to 8.50.1 by @dependabot[bot] in #30
- chore(deps-dev): bump @eslint/js from 9.39.1 to 9.39.2 by @dependabot[bot] in #31
- chore(deps-dev): bump eslint from 9.39.1 to 9.39.2 by @dependabot[bot] in #32
- chore(deps-dev): bump typescript-eslint from 8.49.0 to 8.50.1 by @dependabot[bot] in #33
- chore(deps-dev): bump @typescript-eslint/parser from 8.50.1 to 8.51.0 by @dependabot[bot] in #34
- chore(deps-dev): bump typescript-eslint from 8.50.1 to 8.51.0 by @dependabot[bot] in #36
- chore(deps): bump dependabot/fetch-metadata from 2.4.0 to 2.5.0 by @dependabot[bot] in #37
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.51.0 to 8.52.0 by @dependabot[bot] in #38
- chore(deps-dev): bump typescript-eslint from 8.51.0 to 8.53.0 by @dependabot[bot] in #42
- chore(deps-dev): bump @types/react from 19.2.7 to 19.2.8 by @dependabot[bot] in #43
- chore(deps-dev): bump vite from 7.3.0 to 7.3.1 by @dependabot[bot] in #46
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.53.0 to 8.53.1 by @dependabot[bot] in #47
- chore(deps-dev): bump typescript-eslint from 8.53.0 to 8.53.1 by @dependabot[bot] in #50
- chore(deps-dev): bump @testing-library/react from 16.3.1 to 16.3.2 by @dependabot[bot] in #52
- chore(deps-dev): bump typescript-eslint from 8.53.1 to 8.54.0 by @dependabot[bot] in #53
- chore(deps-dev): bump prettier from 3.7.4 to 3.8.1 by @dependabot[bot] in #55
- chore(deps-dev): bump react and @types/react by @dependabot[bot] in #57
- chore(deps): bump minimatch from 10.1.1 to 10.1.2 by @dependabot[bot] in #60
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.54.0 to 8.55.0 by @dependabot[bot] in #61
- chore(deps-dev): bump @types/react from 19.2.10 to 19.2.13 by @dependabot[bot] in #65
- chore(deps-dev): bump @typescript-eslint/parser from 8.54.0 to 8.55.0 by @dependabot[bot] in #62
- chore(deps-dev): bump @types/react from 19.2.13 to 19.2.14 by @dependabot[bot] in #66
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.55.0 to 8.56.0 by @dependabot[bot] in #67
- chore(deps): bump minimatch from 10.1.2 to 10.2.0 by @dependabot[bot] in #70
- chore(deps-dev): bump @typescript-eslint/parser from 8.55.0 to 8.56.0 by @dependabot[bot] in #71
- chore(deps-dev): bump typescript-eslint from 8.54.0 to 8.56.0 by @dependabot[bot] in #68
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.56.0 to 8.56.1 by @dependabot[bot] in #74
- chore(deps-dev): bump typescript-eslint from 8.56.0 to 8.56.1 by @dependabot[bot] in #76
- chore(deps): bump minimatch from 10.2.2 to 10.2.4 by @dependabot[bot] in #77
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.56.1 to 8.57.0 by @dependabot[bot] in #79
- chore(deps-dev): bump typescript-eslint from 8.56.1 to 8.57.0 by @dependabot[bot] in #80
- chore(deps-dev): bump @typescript-eslint/parser from 8.57.0 to 8.57.1 by @dependabot[bot] in #84
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #15
- chore(deps-dev): bump @eslint/js from 9.39.2 to 10.0.1 by @dependabot[bot] in #63
- chore(deps-dev): bump eslint from 9.39.2 to 10.0.3 by @dependabot[bot] in #83
- chore(deps-dev): bump @types/node from 24.10.1 to 25.5.0 by @dependabot[bot] in #85
- chore(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot[bot] in #88
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.57.0 to 8.57.1 by @dependabot[bot] in #87
- chore(deps-dev): bump jest-environment-jsdom from 30.2.0 to 30.3.0 by @dependabot[bot] in #86
- fix: enable code quality workflow on pull requests by @iqbalhasandev in #90
- chore: update npm dependencies by @iqbalhasandev in #89
- fix: resolve npm peer dependency conflict blocking CI by @iqbalhasandev in #91
- chore: bump version to v1.1.0 by @iqbalhasandev in #92
- fix: resolve npm peer dependency conflict blocking CI by @iqbalhasandev in #93
New Contributors
- @iqbalhasandev made their first contribution in #90
Full Changelog: v1.0.1...v1.1.0
v1.0.1
v1.0.0
🎉 Initial Stable Release
This is the first stable release of Laravel Localizer React, providing seamless integration between Laravel translations and React applications.
✨ Features
useLocalizer Hook
A powerful React hook for accessing Laravel translations with full TypeScript support:
-
Translation Functions
__()- Main translation function with placeholder replacement and fallback supporttrans()- Alias for__()(Laravel compatibility)lang()- Alias for__()(Laravel compatibility)has()- Check if translation key existschoice()- Pluralization support with replacement variables
-
Locale Information
locale- Current locale code (e.g., 'en', 'fr')dir- Text direction ('ltr' or 'rtl')availableLocales- Available locales with metadata (label, flag, direction)translations- All translations for current locale
Placeholder Replacement
- Supports both
:placeholderand{placeholder}formats - Multiple placeholders in single string
- Numeric and string replacements
- Nested placeholder support
Pluralization
- Laravel-compatible pluralization format
- Support for zero, one, and many forms
- Placeholder replacement in pluralized strings
- Custom count-based rules
Vite Plugin
Automatic TypeScript generation with hot module replacement:
- Watches language files for changes
- Non-blocking command execution
- Configurable watch patterns
- Debug logging option
- Integrates with Laravel Artisan commands
Inertia.js Integration
Seamless integration with Inertia.js:
- Automatic locale detection from page props
- Reactive locale updates
- Shared locale data
- RTL support via page props
🎯 TypeScript Support
- Full type definitions
- IntelliSense support in IDEs
- Type-safe placeholder replacements
- Strict mode compatible
- Exported types for custom implementations
🧪 Testing
- Comprehensive test suite with Jest
- React Testing Library integration
- 100% code coverage
- Mock Inertia.js integration
- Example test patterns
📦 Package Configuration
- ESM-only distribution (modern bundlers)
- Tree-shakeable exports
- Separate entry points for hook and Vite plugin
- Proper peer dependencies
- Side-effect free
🔧 Build System
- Built with tsup for optimal bundling
- Source maps for debugging
- Minified production builds
- Declaration files included
� Documentation
- Complete README with examples
- API reference
- Setup guide
- Integration examples
- TypeScript usage patterns
🔗 Dependencies
- React 18 or 19 (peer dependency)
- Inertia.js v1 or v2 (peer dependency)
- Vite 5+ (peer dependency for plugin)
minimatchfor pattern matching in Vite plugin
⚡ Performance
- Memoized translation lookups
- Cached locale data
- Optimized re-renders
- Lazy evaluation
🎨 Developer Experience
- Hot module replacement in development
- Automatic regeneration on file changes
- Clear error messages
- Debug mode for troubleshooting
📝 Requirements
- Node.js 16+
- React 18+
- Inertia.js v1 or v2
- Laravel Localizer backend package
v0.0.4
v0.0.3
@beta
Full Changelog: v0.0.2...v0.0.3
v0.0.1
v0.0.1 - 2025-11-09
🎉 Initial Beta Release
-
useTranslation Hook: React hook for accessing Laravel translations
__()- Main translation function with replacements and fallbacktrans()- Alias for__()lang()- Alias for__()has()- Check if translation key existschoice()- Pluralization supportlocale- Current locale codedir- Text direction (ltr/rtl)availableLocales- Available locales with metadatatranslations- All translations for current locale
-
Vite Plugin: Automatic TypeScript generation
- Watches
lang/**directory for changes - Debounced regeneration (300ms)
- Runs
php artisan localizer:generate --allautomatically - Zero configuration required
- Watches
-
TypeScript Support: Full type safety
- Comprehensive interfaces for all types
- IntelliSense support in IDEs
- Strict mode compatible
-
Inertia.js Integration: Seamless integration with Inertia.js
- Works with both Inertia v1 and v2
- Supports React 18 and 19
- Automatic page props detection
📚 Documentation
- Comprehensive README with usage examples
- API documentation with TypeScript interfaces
- Migration guide from v1 to v2
🧪 Testing
- Jest configuration
- Comprehensive test suite with 100% coverage
- Testing Library for React components
- ESM module support
🛠️ Development Tools
- ESLint configuration with TypeScript and React rules
- Prettier for code formatting
- tsup for building and bundling
- GitHub Actions for CI/CD
📦 Package Configuration
- ESM-only distribution
- Tree-shakeable exports
- Proper package.json exports field
- Peer dependencies: React 18+, Inertia v1/v2, Vite 5+
Full Changelog: https://github.com/DevWizardHQ/laravel-localizer-react/commits/v0.0.1