From e2cdad0a197e8a7a44f585210ea168fc233b6368 Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Sat, 27 Jun 2026 22:26:31 +0200 Subject: [PATCH 1/7] Initialize HydePHP v3 --- HYDEPHP_V3_PLANNING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 HYDEPHP_V3_PLANNING.md diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md new file mode 100644 index 00000000000..8538e0fe194 --- /dev/null +++ b/HYDEPHP_V3_PLANNING.md @@ -0,0 +1,10 @@ +# Welcome to the HydePHP v3 planning document! + +Having this document in code lets us know the devlopment state at any given point in the development tree. + +## Planned features + +## Changes requires to this branch + +## Changes required to the v2 branch + From ec92d505755bd4298fb8298ca27de3e0693b20d5 Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Sat, 27 Jun 2026 22:28:35 +0200 Subject: [PATCH 2/7] Scaffold release notes document --- HYDEPHP_V3_PLANNING.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index 8538e0fe194..aec7bf67365 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -8,3 +8,14 @@ Having this document in code lets us know the devlopment state at any given poin ## Changes required to the v2 branch +--- + +## Release Notes + +### New Features + +### Feature Changes + +### Breaking Changes + +### Upgrade guide From 18d3ba204b53d83cd0aab578c793342d2f119810 Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Sun, 28 Jun 2026 18:28:37 +0200 Subject: [PATCH 3/7] Reset upgrade guide --- HYDEPHP_V3_PLANNING.md | 2 + UPGRADE.md | 498 +----------------------- docs/getting-started/upgrade-guide.md | 541 +------------------------- 3 files changed, 14 insertions(+), 1027 deletions(-) diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index aec7bf67365..1516c999227 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -19,3 +19,5 @@ Having this document in code lets us know the devlopment state at any given poin ### Breaking Changes ### Upgrade guide + +Please fill in UPGRADE.md as you make changes. diff --git a/UPGRADE.md b/UPGRADE.md index 05d6332ea52..da52a0505be 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,16 +1,14 @@ -# HydePHP v2.0 Upgrade Guide +# HydePHP v3.0 Upgrade Guide ## Overview -HydePHP v2.0 represents a major evolution of the framework, introducing significant improvements to the asset system, navigation API, and overall developer experience. This release modernizes the frontend tooling by replacing Laravel Mix with Vite, completely rewrites the navigation system for better flexibility, and introduces numerous performance optimizations throughout the framework. - -This document will guide you through the upgrade process. If you want to learn more about the new features, take a look at the [Release Notes](https://hydephp.com/docs/2.x/release-notes). +// ## Before You Begin ### Prerequisites -Before upgrading to HydePHP v2.0, ensure your application is running **HydePHP v1.6 or later** (ideally v1.8). These versions include transition helpers that will make the migration process smoother. +// ### Backup Your Project @@ -25,514 +23,38 @@ If you're not already using Git for version control, now is an excellent time to ```bash git init git add . -git commit -m "Pre-upgrade backup before HydePHP v2.0" +git commit -m "Pre-upgrade backup before HydePHP v3.0" ``` ### Estimated Time -The upgrade process typically takes **30-60 minutes** for most projects. Complex sites with extensive customizations may take up to 90 minutes. The majority of this time involves: - -- Updating and installing dependencies (~15 minutes) -- Migrating configuration files (~20 minutes) -- Testing and verifying the site (~15-30 minutes) +// ## Step 1: Update Dependencies ### Update Composer Dependencies -Open your `composer.json` file and update the following dependencies: - -```json -{ - "require": { - "php": "^8.2", - "hyde/framework": "^2.0", - "laravel-zero/framework": "^11.0" - }, - "require-dev": { - "hyde/realtime-compiler": "^4.0" - } -} -``` - -Then run: - -```bash -composer update -``` - -The dump-autoload script will likely fail, but this is expected and will be resolved in subsequent steps. +// ### Update Node Dependencies -Open your `package.json` file and replace the entire `devDependencies` section: - -**Before (v1.x with Laravel Mix):** -```json -{ - "devDependencies": { - "@tailwindcss/typography": "^0.5.2", - "autoprefixer": "^10.4.5", - "hydefront": "^3.4.1", - "laravel-mix": "^6.0.49", - "postcss": "^8.4.31", - "tailwindcss": "^3.0.24" - } -} -``` - -**After (v2.x with Vite):** -```json -{ - "type": "module", - "devDependencies": { - "@tailwindcss/typography": "^0.5.0", - "@tailwindcss/vite": "^4.1.0", - "autoprefixer": "^10.4.0", - "hyde-vite-plugin": "^1.1.0", - "hydefront": "^4.0.0", - "postcss": "^8.5.0", - "tailwindcss": "^4.1.0", - "vite": "^7.1.0" - } -} -``` - -Update the NPM scripts in your `package.json`: - -```json -{ - "scripts": { - "dev": "vite", - "build": "vite build" - } -} -``` - -Then run: - -```bash -npm install -``` - -## Step 2: Migrate from Laravel Mix to Vite - -### Delete the Old Mix Configuration - -Remove the `webpack.mix.js` file from your project root. - -### Create the New Vite Configuration - -Create a new `vite.config.js` file in your project root: - -```javascript -import { defineConfig } from 'vite'; -import tailwindcss from "@tailwindcss/vite"; -import hyde from 'hyde-vite-plugin'; - -export default defineConfig({ - plugins: [ - hyde({ - input: ['resources/assets/app.css', 'resources/assets/app.js'], - watch: ['_pages', '_posts', '_docs'], - refresh: true, - }), - tailwindcss(), - ], -}); -``` - -### Update Your CSS imports - -Update `resources/assets/app.css`: - -**Before:** -```css -@import '~hydefront/dist/hyde.css'; - -@tailwind base; -@tailwind components; -@tailwind utilities; - -[x-cloak] { display: none !important; } -``` - -**After:** -```css -@import 'hydefront/components/torchlight.css' layer(base); - -@import 'tailwindcss'; - -@config '../../tailwind.config.js'; -``` - -## Step 3: Upgrade Tailwind CSS to v4 - -Run the automated Tailwind upgrade tool: - -```bash -npx @tailwindcss/upgrade -``` - -Review the [Tailwind v4 Upgrade Guide](https://tailwindcss.com/docs/upgrade-guide) for detailed information about breaking changes in custom configurations. - -## Step 4: Verify Vite Works - -Now you can run Vite build: - -```bash -npm run build -``` - -## Step 5: Update Configuration Files - -### Update `config/hyde.php` - -#### Replace Features With Enum Values - -**Before:** -```php -'features' => [ - Features::htmlPages(), - Features::markdownPosts(), -], -``` - -**After:** -```php -'features' => [ - Feature::HtmlPages, - Feature::MarkdownPosts, -], -``` - -#### Update Navigation Configuration - -**Before:** -```php -'navigation' => [ - 'custom_items' => [ - 'Custom Item' => '/custom-page', - ], -], -``` - -**After:** -```php -'navigation' => [ - 'custom' => [ - ['label' => 'Custom Item', 'destination' => '/custom-page'], - ], -], -``` - -Or use the Navigation facade: - -```php -use Hyde\Facades\Navigation; - -'navigation' => [ - 'custom' => [ - Navigation::item('https://github.com/hydephp/hyde', 'GitHub', 200), - ], -], -``` - -#### Update Subdirectory Display Setting - -**Before:** -```php -'navigation' => [ - 'subdirectories' => 'hidden', -], -``` - -**After:** -```php -'navigation' => [ - 'subdirectory_display' => 'hidden', -], -``` - - -### Update Author Configuration - -If you're using blog post authors, update the configuration format: - -**Before:** -```php -'authors' => [ - Author::create('username', 'Display Name', 'https://example.com'), -], -``` - -**After:** -```php -'authors' => [ - 'username' => Author::create( - name: 'Display Name', - website: 'https://example.com', - bio: 'Author bio', - avatar: 'avatar.png', - socials: ['twitter' => '@username'] - ), -], -``` - -#### Rename Cache Busting Setting - -**Before:** -```php -'enable_cache_busting' => true, -``` - -**After:** -```php -'cache_busting' => true, -``` - -#### Remove Deprecated HydeFront Settings - -Remove these configuration options (they're now handled automatically): - -```php -'hydefront_version' => ..., -'hydefront_cdn_url' => ..., -``` - -### Update `config/docs.php` - -Reorganize the sidebar configuration: - -**Before:** -```php -'sidebar_order' => [ - 'readme', - 'installation', -], - -'table_of_contents' => [ - 'enabled' => true, -], - -'sidebar_group_labels' => [ - // ... -], -``` - -**After:** -```php -'sidebar' => [ - 'order' => [ - 'readme', - 'installation', - ], - - 'labels' => [ - // ... - ], - - 'table_of_contents' => [ - 'enabled' => true, - 'min_heading_level' => 2, - 'max_heading_level' => 4, - ], -], -``` - -### Update `app/config.php` - -Add the new navigation service provider under the `'providers'` array: - -```php -Hyde\Foundation\Providers\NavigationServiceProvider::class, -``` - -And add the following classes to the `'aliases'` array: - -```php -'Vite' => \Hyde\Facades\Vite::class, -'MediaFile' => \Hyde\Support\Filesystem\MediaFile::class, -``` - -## Step 6: Update Code References - -### Routes Facade API Changes - -**Before:** -```php -$route = Routes::get('route-name'); // Returns null if not found -$route = Routes::getOrFail('route-name'); // Throws exception -``` - -**After:** -```php -$route = Routes::find('route-name'); // Returns null if not found -$route = Routes::get('route-name'); // Throws exception -``` - -### Asset API Updates - -If you're using asset methods in custom code, note that they now return `MediaFile` instances: - -```php -// Methods renamed for clarity -Hyde::asset('image.png'); // Previously: Hyde::mediaLink() -Asset::get('image.png'); // Previously: Asset::mediaLink() -Asset::exists('image.png'); // Previously: Asset::hasMediaFile() -HydeFront::cdnLink('app.css'); // Previously: Asset::cdnLink() -MediaFile::sourcePath('image.png') // Previously: Hyde::mediaPath() -``` - -The `MediaFile` instances are Stringable and will automatically resolve to relative links, so in most cases (especially in Blade templates), no code changes are needed. - -### Includes Facade Return Types - -Methods now return `HtmlString` objects instead of raw strings: - -**Before:** -```blade -{!! Includes::html('partial') !!} -``` - -**After:** -```blade -{{ Includes::html('partial') }} -``` - -**Security Note:** Output is no longer escaped by default. If you're including user-generated content, use `{{ e(Includes::html('foo')) }}` for escaping. - -### DataCollections Renamed - -**Before:** -```php -use Hyde\Support\DataCollections; -``` - -**After:** -```php -use Hyde\Support\DataCollection; -``` - -## Step 7: Update Build Commands - -Update any CI/CD pipelines or build scripts: - -**Before:** -```bash -npm run prod -php hyde build --run-prod -``` - -**After:** -```bash -npm run build -php hyde build --vite -``` - -The `--run-dev`, `--run-prod`, and `--run-prettier` flags have been removed. Use `--vite` instead. - -## Step 8: Clear Caches - -Next, to ensure we have a clean slate, run the following commands: - -```bash -composer dump-autoload -php hyde cache:clear -rm app/storage/framework/views/*.php -``` - -You may also want to republish any views you have published. - -## Step 9: Rebuild Your Site - -After completing all the configuration updates: - -```bash -npm run build - -# Build your site -php hyde build - -# Or use the realtime compiler for development -php hyde serve -``` - -## Step 10: Test Your Site - -1. Test all navigation menus for correct ordering and appearance -2. Verify media assets are loading correctly -3. Check that all pages render properly -4. Test the search functionality (if using documentation) -5. Verify author information displays correctly on blog posts -6. Test dark mode if you're using theme toggle buttons +// ## Migration Checklist Use this checklist to track your upgrade progress: -- [ ] Confirmed running HydePHP v1.6+ (preferably v1.8) -- [ ] Updated `composer.json` dependencies -- [ ] Ran `composer update` -- [ ] Updated `package.json` dependencies and scripts -- [ ] Added `"type": "module"` to `package.json` -- [ ] Ran `npm install` -- [ ] Deleted `webpack.mix.js` -- [ ] Created `vite.config.js` -- [ ] Updated `resources/assets/app.css` imports -- [ ] Ran `npx @tailwindcss/upgrade` for Tailwind v4 -- [ ] Updated `config/hyde.php` features to use enum values -- [ ] Updated navigation configuration to array format -- [ ] Renamed `enable_cache_busting` to `cache_busting` -- [ ] Removed deprecated HydeFront settings -- [ ] Updated author configuration format (if using blog) -- [ ] Reorganized sidebar configuration in `config/docs.php` -- [ ] Updated Routes facade method calls (if used in custom code) -- [ ] Updated Includes facade usage (if used in custom views) -- [ ] Renamed DataCollections to DataCollection (if used) -- [ ] Ran `npm run build` -- [ ] Ran `php hyde build` -- [ ] Tested site menus for correct ordering and appearance -- [ ] Verified media assets load correctly -- [ ] Checked all pages render properly -- [ ] Tested documentation search (if applicable) -- [ ] Verified blog author information (if applicable) +- [ ] Example item ## Troubleshooting -### Assets Not Compiling - -If you encounter issues with asset compilation: - -1. Delete `node_modules` and `package-lock.json` -2. Run `npm install` again -3. Clear the `_media` directory -4. Run `npm run build` - -### Missing Routes - -If you get `RouteNotFoundException` errors: - -- Check that you've updated `Routes::get()` to `Routes::find()` for cases where the route might not exist -- Verify your page source files are in the correct directories - -### Validation Errors - -If you get syntax validation errors from DataCollection: - -- Ensure all your YAML/JSON data files have valid syntax -- Empty data files are no longer allowed in v2.0 - -### Errors During build - -If you have published Blade views, those may need to be republished if they use old syntax. If you use custom code you may need to look closer at the full release diff. ## Getting Help If you encounter issues during the upgrade: -- **Documentation**: [https://hydephp.com/docs/2.x](https://hydephp.com/docs/2.x) +- **Documentation**: [https://hydephp.com/docs/3.x](https://hydephp.com/docs/3.x) - **GitHub Issues**: [https://github.com/hydephp/hyde/issues](https://github.com/hydephp/hyde/issues) - **Community Discord**: [https://discord.hydephp.com](https://discord.hydephp.com) -For the complete changelog with all pull request references, see the [full release notes](https://github.com/hydephp/hyde/releases/tag/v2.0.0). +For the complete changelog with all pull request references, see the [full release notes](https://github.com/hydephp/hyde/releases/tag/v3.0.0). diff --git a/docs/getting-started/upgrade-guide.md b/docs/getting-started/upgrade-guide.md index 70896bc5978..3dca3642972 100644 --- a/docs/getting-started/upgrade-guide.md +++ b/docs/getting-started/upgrade-guide.md @@ -1,544 +1,7 @@ --- navigation: - label: v2 Upgrade Guide + label: v3 Upgrade Guide priority: 16 --- -# HydePHP v2.0 Upgrade Guide - -## Overview - -HydePHP v2.0 represents a major evolution of the framework, introducing significant improvements to the asset system, navigation API, and overall developer experience. This release modernizes the frontend tooling by replacing Laravel Mix with Vite, completely rewrites the navigation system for better flexibility, and introduces numerous performance optimizations throughout the framework. - -This document will guide you through the upgrade process. If you want to learn more about the new features, take a look at the [Release Notes](https://hydephp.com/docs/2.x/release-notes). - -## Before You Begin - -### Prerequisites - -Before upgrading to HydePHP v2.0, ensure your application is running **HydePHP v1.6 or later** (ideally v1.8). These versions include transition helpers that will make the migration process smoother. - -### Backup Your Project - -Before starting the upgrade process, it's **strongly recommended** to: - -- **Commit all changes to Git** - This allows you to easily revert if needed -- **Create a backup** of your entire project directory -- **Have a previous site build** so you can compare output - -If you're not already using Git for version control, now is an excellent time to initialize a repository: - -```bash -git init -git add . -git commit -m "Pre-upgrade backup before HydePHP v2.0" -``` - -### Estimated Time - -The upgrade process typically takes **30-60 minutes** for most projects. Complex sites with extensive customizations may take up to 90 minutes. The majority of this time involves: - -- Updating and installing dependencies (~15 minutes) -- Migrating configuration files (~20 minutes) -- Testing and verifying the site (~15-30 minutes) - -## Step 1: Update Dependencies - -### Update Composer Dependencies - -Open your `composer.json` file and update the following dependencies: - -```json -{ - "require": { - "php": "^8.2", - "hyde/framework": "^2.0", - "laravel-zero/framework": "^11.0" - }, - "require-dev": { - "hyde/realtime-compiler": "^4.0" - } -} -``` - -Then run: - -```bash -composer update -``` - -The dump-autoload script will likely fail, but this is expected and will be resolved in subsequent steps. - -### Update Node Dependencies - -Open your `package.json` file and replace the entire `devDependencies` section: - -**Before (v1.x with Laravel Mix):** -```json -{ - "devDependencies": { - "@tailwindcss/typography": "^0.5.2", - "autoprefixer": "^10.4.5", - "hydefront": "^3.4.1", - "laravel-mix": "^6.0.49", - "postcss": "^8.4.31", - "tailwindcss": "^3.0.24" - } -} -``` - -**After (v2.x with Vite):** -```json -{ - "type": "module", - "devDependencies": { - "@tailwindcss/typography": "^0.5.0", - "@tailwindcss/vite": "^4.1.0", - "autoprefixer": "^10.4.0", - "hyde-vite-plugin": "^1.1.0", - "hydefront": "^4.0.0", - "postcss": "^8.5.0", - "tailwindcss": "^4.1.0", - "vite": "^7.1.0" - } -} -``` - -Update the NPM scripts in your `package.json`: - -```json -{ - "scripts": { - "dev": "vite", - "build": "vite build" - } -} -``` - -Then run: - -```bash -npm install -``` - -## Step 2: Migrate from Laravel Mix to Vite - -### Delete the Old Mix Configuration - -Remove the `webpack.mix.js` file from your project root. - -### Create the New Vite Configuration - -Create a new `vite.config.js` file in your project root: - -```javascript -import { defineConfig } from 'vite'; -import tailwindcss from "@tailwindcss/vite"; -import hyde from 'hyde-vite-plugin'; - -export default defineConfig({ - plugins: [ - hyde({ - input: ['resources/assets/app.css', 'resources/assets/app.js'], - watch: ['_pages', '_posts', '_docs'], - refresh: true, - }), - tailwindcss(), - ], -}); -``` - -### Update Your CSS imports - -Update `resources/assets/app.css`: - -**Before:** -```css -@import '~hydefront/dist/hyde.css'; - -@tailwind base; -@tailwind components; -@tailwind utilities; - -[x-cloak] { display: none !important; } -``` - -**After:** -```css -@import 'hydefront/components/torchlight.css' layer(base); - -@import 'tailwindcss'; - -@config '../../tailwind.config.js'; -``` - -## Step 3: Upgrade Tailwind CSS to v4 - -Run the automated Tailwind upgrade tool: - -```bash -npx @tailwindcss/upgrade -``` - -Review the [Tailwind v4 Upgrade Guide](https://tailwindcss.com/docs/upgrade-guide) for detailed information about breaking changes in custom configurations. - -## Step 4: Verify Vite Works - -Now you can run Vite build: - -```bash -npm run build -``` - -## Step 5: Update Configuration Files - -### Update `config/hyde.php` - -#### Replace Features With Enum Values - -**Before:** -```php -'features' => [ - Features::htmlPages(), - Features::markdownPosts(), -], -``` - -**After:** -```php -'features' => [ - Feature::HtmlPages, - Feature::MarkdownPosts, -], -``` - -#### Update Navigation Configuration - -**Before:** -```php -'navigation' => [ - 'custom_items' => [ - 'Custom Item' => '/custom-page', - ], -], -``` - -**After:** -```php -'navigation' => [ - 'custom' => [ - ['label' => 'Custom Item', 'destination' => '/custom-page'], - ], -], -``` - -Or use the Navigation facade: - -```php -use Hyde\Facades\Navigation; - -'navigation' => [ - 'custom' => [ - Navigation::item('https://github.com/hydephp/hyde', 'GitHub', 200), - ], -], -``` - -#### Update Subdirectory Display Setting - -**Before:** -```php -'navigation' => [ - 'subdirectories' => 'hidden', -], -``` - -**After:** -```php -'navigation' => [ - 'subdirectory_display' => 'hidden', -], -``` - - -### Update Author Configuration - -If you're using blog post authors, update the configuration format: - -**Before:** -```php -'authors' => [ - Author::create('username', 'Display Name', 'https://example.com'), -], -``` - -**After:** -```php -'authors' => [ - 'username' => Author::create( - name: 'Display Name', - website: 'https://example.com', - bio: 'Author bio', - avatar: 'avatar.png', - socials: ['twitter' => '@username'] - ), -], -``` - -#### Rename Cache Busting Setting - -**Before:** -```php -'enable_cache_busting' => true, -``` - -**After:** -```php -'cache_busting' => true, -``` - -#### Remove Deprecated HydeFront Settings - -Remove these configuration options (they're now handled automatically): - -```php -'hydefront_version' => ..., -'hydefront_cdn_url' => ..., -``` - -### Update `config/docs.php` - -Reorganize the sidebar configuration: - -**Before:** -```php -'sidebar_order' => [ - 'readme', - 'installation', -], - -'table_of_contents' => [ - 'enabled' => true, -], - -'sidebar_group_labels' => [ - // ... -], -``` - -**After:** -```php -'sidebar' => [ - 'order' => [ - 'readme', - 'installation', - ], - - 'labels' => [ - // ... - ], - - 'table_of_contents' => [ - 'enabled' => true, - 'min_heading_level' => 2, - 'max_heading_level' => 4, - ], -], -``` - -### Update `app/config.php` - -Add the new navigation service provider under the `'providers'` array: - -```php -Hyde\Foundation\Providers\NavigationServiceProvider::class, -``` - -And add the following classes to the `'aliases'` array: - -```php -'Vite' => \Hyde\Facades\Vite::class, -'MediaFile' => \Hyde\Support\Filesystem\MediaFile::class, -``` - -## Step 6: Update Code References - -### Routes Facade API Changes - -**Before:** -```php -$route = Routes::get('route-name'); // Returns null if not found -$route = Routes::getOrFail('route-name'); // Throws exception -``` - -**After:** -```php -$route = Routes::find('route-name'); // Returns null if not found -$route = Routes::get('route-name'); // Throws exception -``` - -### Asset API Updates - -If you're using asset methods in custom code, note that they now return `MediaFile` instances: - -```php -// Methods renamed for clarity -Hyde::asset('image.png'); // Previously: Hyde::mediaLink() -Asset::get('image.png'); // Previously: Asset::mediaLink() -Asset::exists('image.png'); // Previously: Asset::hasMediaFile() -HydeFront::cdnLink('app.css'); // Previously: Asset::cdnLink() -MediaFile::sourcePath('image.png') // Previously: Hyde::mediaPath() -``` - -The `MediaFile` instances are Stringable and will automatically resolve to relative links, so in most cases (especially in Blade templates), no code changes are needed. - -### Includes Facade Return Types - -Methods now return `HtmlString` objects instead of raw strings: - -**Before:** -```blade -{!! Includes::html('partial') !!} -``` - -**After:** -```blade -{{ Includes::html('partial') }} -``` - -**Security Note:** Output is no longer escaped by default. If you're including user-generated content, use `{{ e(Includes::html('foo')) }}` for escaping. - -### DataCollections Renamed - -**Before:** -```php -use Hyde\Support\DataCollections; -``` - -**After:** -```php -use Hyde\Support\DataCollection; -``` - -## Step 7: Update Build Commands - -Update any CI/CD pipelines or build scripts: - -**Before:** -```bash -npm run prod -php hyde build --run-prod -``` - -**After:** -```bash -npm run build -php hyde build --vite -``` - -The `--run-dev`, `--run-prod`, and `--run-prettier` flags have been removed. Use `--vite` instead. - -## Step 8: Clear Caches - -Next, to ensure we have a clean slate, run the following commands: - -```bash -composer dump-autoload -php hyde cache:clear -rm app/storage/framework/views/*.php -``` - -You may also want to republish any views you have published. - -## Step 9: Rebuild Your Site - -After completing all the configuration updates: - -```bash -npm run build - -# Build your site -php hyde build - -# Or use the realtime compiler for development -php hyde serve -``` - -## Step 10: Test Your Site - -1. Test all navigation menus for correct ordering and appearance -2. Verify media assets are loading correctly -3. Check that all pages render properly -4. Test the search functionality (if using documentation) -5. Verify author information displays correctly on blog posts -6. Test dark mode if you're using theme toggle buttons - -## Migration Checklist - -Use this checklist to track your upgrade progress: - -- [ ] Confirmed running HydePHP v1.6+ (preferably v1.8) -- [ ] Updated `composer.json` dependencies -- [ ] Ran `composer update` -- [ ] Updated `package.json` dependencies and scripts -- [ ] Added `"type": "module"` to `package.json` -- [ ] Ran `npm install` -- [ ] Deleted `webpack.mix.js` -- [ ] Created `vite.config.js` -- [ ] Updated `resources/assets/app.css` imports -- [ ] Ran `npx @tailwindcss/upgrade` for Tailwind v4 -- [ ] Updated `config/hyde.php` features to use enum values -- [ ] Updated navigation configuration to array format -- [ ] Renamed `enable_cache_busting` to `cache_busting` -- [ ] Removed deprecated HydeFront settings -- [ ] Updated author configuration format (if using blog) -- [ ] Reorganized sidebar configuration in `config/docs.php` -- [ ] Updated Routes facade method calls (if used in custom code) -- [ ] Updated Includes facade usage (if used in custom views) -- [ ] Renamed DataCollections to DataCollection (if used) -- [ ] Ran `npm run build` -- [ ] Ran `php hyde build` -- [ ] Tested site menus for correct ordering and appearance -- [ ] Verified media assets load correctly -- [ ] Checked all pages render properly -- [ ] Tested documentation search (if applicable) -- [ ] Verified blog author information (if applicable) - -## Troubleshooting - -### Assets Not Compiling - -If you encounter issues with asset compilation: - -1. Delete `node_modules` and `package-lock.json` -2. Run `npm install` again -3. Clear the `_media` directory -4. Run `npm run build` - -### Missing Routes - -If you get `RouteNotFoundException` errors: - -- Check that you've updated `Routes::get()` to `Routes::find()` for cases where the route might not exist -- Verify your page source files are in the correct directories - -### Validation Errors - -If you get syntax validation errors from DataCollection: - -- Ensure all your YAML/JSON data files have valid syntax -- Empty data files are no longer allowed in v2.0 - -### Errors During build - -If you have published Blade views, those may need to be republished if they use old syntax. If you use custom code you may need to look closer at the full release diff. - -## Getting Help - -If you encounter issues during the upgrade: - -- **Documentation**: [https://hydephp.com/docs/2.x](https://hydephp.com/docs/2.x) -- **GitHub Issues**: [https://github.com/hydephp/hyde/issues](https://github.com/hydephp/hyde/issues) -- **Community Discord**: [https://discord.hydephp.com](https://discord.hydephp.com) - -For the complete changelog with all pull request references, see the [full release notes](https://github.com/hydephp/hyde/releases/tag/v2.0.0). +Will be filled in from UPGRADE.md before release. From b0dc3714652dc6e1b298283d47e4272887739684 Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Sun, 28 Jun 2026 18:39:19 +0200 Subject: [PATCH 4/7] [3.x] Remove check for deprecated Laravel Mix command flags Merge pull request #2461 from hydephp/v3/remove-deprecated-run-mix-command-check --- HYDEPHP_V3_PLANNING.md | 4 +++ .../src/Console/Commands/BuildSiteCommand.php | 25 +------------------ 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index 1516c999227..726136d54c1 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -16,6 +16,10 @@ Having this document in code lets us know the devlopment state at any given poin ### Feature Changes +### Minor Changes and Cleanup + +- Removed the legacy `checkForDeprecatedRunMixCommandUsage` check and the placeholder `--run-dev`/`--run-prod` options from the `build` command, which were kept in v2 only to surface a helpful error message. ([#2461](https://github.com/hydephp/develop/pull/2461)) + ### Breaking Changes ### Upgrade guide diff --git a/packages/framework/src/Console/Commands/BuildSiteCommand.php b/packages/framework/src/Console/Commands/BuildSiteCommand.php index c42b1202be7..0f0fadfe443 100644 --- a/packages/framework/src/Console/Commands/BuildSiteCommand.php +++ b/packages/framework/src/Console/Commands/BuildSiteCommand.php @@ -29,9 +29,7 @@ class BuildSiteCommand extends Command protected $signature = 'build {--vite : Build frontend assets using Vite} {--pretty-urls : Should links in output use pretty URLs?} - {--no-api : Disable API calls, for example, Torchlight} - {--run-dev : [Removed] Use --vite instead} - {--run-prod : [Removed] Use --vite instead}'; + {--no-api : Disable API calls, for example, Torchlight}'; /** @var string */ protected $description = 'Build the static site'; @@ -41,8 +39,6 @@ class BuildSiteCommand extends Command public function handle(): int { - $this->checkForDeprecatedRunMixCommandUsage(); - $timeStart = microtime(true); $this->title('Building your static site!'); @@ -157,23 +153,4 @@ protected function getExitCode(): int return Command::SUCCESS; } - - /** - * This method is called when the removed --run-dev or --run-prod options are used. - * - * @deprecated Use --vite instead - * @since v2.0 - This will be removed after 2-3 minor releases depending on the timeframe between them. (~v2.3) - * - * @codeCoverageIgnore - */ - protected function checkForDeprecatedRunMixCommandUsage(): void - { - if ($this->option('run-dev') || $this->option('run-prod')) { - $this->error('The --run-dev and --run-prod options have been removed in HydePHP v2.0.'); - $this->info('Please use --vite instead to build assets for production with Vite.'); - $this->line('See https://github.com/hydephp/develop/pull/2013 for more information.'); - - exit(Command::INVALID); - } - } } From 36dc8a973fcb9c1fc1717283a98bd47b2539387d Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Fri, 3 Jul 2026 20:03:39 +0200 Subject: [PATCH 5/7] [3.x] Remove deprecated hyde.server.dashboard boolean config check (#2462) --- HYDEPHP_V3_PLANNING.md | 1 + .../realtime-compiler/src/Http/DashboardController.php | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index 726136d54c1..2fb15a611c4 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -19,6 +19,7 @@ Having this document in code lets us know the devlopment state at any given poin ### Minor Changes and Cleanup - Removed the legacy `checkForDeprecatedRunMixCommandUsage` check and the placeholder `--run-dev`/`--run-prod` options from the `build` command, which were kept in v2 only to surface a helpful error message. ([#2461](https://github.com/hydephp/develop/pull/2461)) +- Removed the deprecated `hyde.server.dashboard` boolean config check from `DashboardController::enabled()`, which was kept in v2 for backwards compatibility but had since then been replaced with `hyde.server.dashboard.enabled`. ([#2461](https://github.com/hydephp/develop/pull/2462)) ### Breaking Changes diff --git a/packages/realtime-compiler/src/Http/DashboardController.php b/packages/realtime-compiler/src/Http/DashboardController.php index fdd3620848b..cd3ac35a9cd 100644 --- a/packages/realtime-compiler/src/Http/DashboardController.php +++ b/packages/realtime-compiler/src/Http/DashboardController.php @@ -238,13 +238,6 @@ public function getTip(): HtmlString public static function enabled(): bool { - /** @deprecated Previously, the setting was hyde.server.dashboard, so for backwards compatability we need this */ - if (is_bool($oldConfig = config('hyde.server.dashboard'))) { - trigger_error('Using `hyde.server.dashboard` as boolean is deprecated. Please use `hyde.server.dashboard.enabled` instead.', E_USER_DEPRECATED); - - return $oldConfig; - } - return config('hyde.server.dashboard.enabled', true); } From 5c582ff55fe46f02cb5fa37b6830c44ace1859fe Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Fri, 3 Jul 2026 23:41:39 +0200 Subject: [PATCH 6/7] [3.x] Breaking: Remove the rebuild command (#2490) * Breaking: Remove the rebuild command * Fix broken anchor links in compile-and-deploy.md to use explicit anchors * Move rebuild command from Deprecated to Removed in CHANGELOG --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- CHANGELOG.md | 4 +- HYDEPHP_V3_PLANNING.md | 4 + UPGRADE.md | 24 +++- docs/creating-content/compile-and-deploy.md | 11 +- docs/getting-started/console-commands.md | 19 --- .../Console/Commands/RebuildPageCommand.php | 119 ------------------ .../src/Console/ConsoleServiceProvider.php | 1 - .../Commands/RebuildPageCommandTest.php | 83 ------------ .../Feature/PostsAuthorIntegrationTest.php | 14 ++- .../tests/Feature/Views/MetadataViewTest.php | 4 +- .../Unit/MediaDirectoryCanBeChangedTest.php | 18 --- .../Unit/Views/NavigationMenuViewTest.php | 6 +- 12 files changed, 46 insertions(+), 261 deletions(-) delete mode 100644 packages/framework/src/Console/Commands/RebuildPageCommand.php delete mode 100644 packages/framework/tests/Feature/Commands/RebuildPageCommandTest.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 22a6bd714a3..4b3f13e4f50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,10 +23,10 @@ This serves two purposes: - for changes in existing functionality. ### Deprecated -- Deprecated the `rebuild` command. It has no remaining internal consumers now that the realtime compiler renders pages in-memory, and single-page builds can silently leave aggregate outputs (sitemap, RSS, search index, navigation) stale. It will be removed in v3.0; use `Hyde\Framework\Actions\StaticPageBuilder::handle()` instead if you need to build a single page programmatically. +- for changes that will be removed in upcoming releases. ### Removed -- for now removed features. +- Removed the `rebuild` command. It had no remaining internal consumers now that the realtime compiler renders pages in-memory, and single-page builds can silently leave aggregate outputs (sitemap, RSS, search index, navigation) stale. Use `Hyde\Framework\Actions\StaticPageBuilder::handle()` instead if you need to build a single page programmatically. ### Fixed - Improved documentation page detection in MarkdownService so it works for child classes in https://github.com/hydephp/develop/pull/2332 diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index 2fb15a611c4..d49332cd29f 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -23,6 +23,10 @@ Having this document in code lets us know the devlopment state at any given poin ### Breaking Changes +- Removed the `rebuild` command (`RebuildPageCommand`). It was originally added to build a single file to disk before the realtime compiler existed, and later used internally by the RC to build-and-serve a path, but the RC now renders everything in-memory, leaving `rebuild` with no remaining consumer. It also had no safe user-facing use case: a single-page build only produces a correct `_site` when the page is self-contained, while a page change routinely invalidates aggregate outputs (sitemap, RSS, search index, post listings, navigation), so single-path building could silently leave a stale output directory that looked complete. The underlying single-page build capability remains available internally via the `StaticPageBuilder` action. ([#2490](https://github.com/hydephp/develop/pull/2490)) + ### Upgrade guide Please fill in UPGRADE.md as you make changes. + +- The `rebuild` command has been removed. If you need to build a single page programmatically, use `Hyde\Framework\Actions\StaticPageBuilder::handle()` instead. diff --git a/UPGRADE.md b/UPGRADE.md index da52a0505be..4a841e045c2 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -40,11 +40,33 @@ git commit -m "Pre-upgrade backup before HydePHP v3.0" // +## Step 2: Replace the Removed `rebuild` Command + +The `rebuild` command has been removed in v3.0. It had no remaining internal consumers now that the realtime compiler renders pages entirely in-memory, and building a single page could silently leave aggregate outputs (sitemap, RSS, search index, navigation) stale while looking like a complete build. + +**Before:** +```bash +php hyde rebuild _posts/hello-world.md +``` + +**After:** + +If you need to build a single page programmatically, use `StaticPageBuilder::handle()` directly: + +```php +use Hyde\Foundation\Facades\Pages; +use Hyde\Framework\Actions\StaticPageBuilder; + +StaticPageBuilder::handle(Pages::getPage('_posts/hello-world.md')); +``` + +Note that this only produces a correct `_site` when the page is self-contained. For anything that touches aggregate outputs, run `php hyde build` to rebuild the whole site instead. + ## Migration Checklist Use this checklist to track your upgrade progress: -- [ ] Example item +- [ ] Replaced any `php hyde rebuild ` usage with `StaticPageBuilder::handle()` or a full `php hyde build` ## Troubleshooting diff --git a/docs/creating-content/compile-and-deploy.md b/docs/creating-content/compile-and-deploy.md index 7025c3ba559..d8c23b6cfd0 100644 --- a/docs/creating-content/compile-and-deploy.md +++ b/docs/creating-content/compile-and-deploy.md @@ -16,12 +16,6 @@ Now that you have some amazing content, you'll want to compile your site into st php hyde build ``` -**You can also compile a single file, though this is deprecated and will be removed in v3.0 (use `Hyde\Framework\Actions\StaticPageBuilder::handle()` instead if you need this programmatically):** - -```bash -php hyde rebuild -``` - **And, you can even start a development server to compile your site on the fly:** ```bash @@ -34,9 +28,8 @@ php hyde serve #### Learn more about these commands in the [console commands](console-commands) documentation: -- [Build command](console-commands#build-the-static-site) -- [Rebuild command (Deprecated)](console-commands#rebuild) -- [Serve command](console-commands#start-the-realtime-compiler) +- [Build command](console-commands#build) +- [Serve command](console-commands#serve) --- diff --git a/docs/getting-started/console-commands.md b/docs/getting-started/console-commands.md index ac6bd345847..bcaf5ad599f 100644 --- a/docs/getting-started/console-commands.md +++ b/docs/getting-started/console-commands.md @@ -47,7 +47,6 @@ Here is a quick reference of all the available commands. You can also run `php h |-----------------------------------------|---------------------------------------------------------------------------------------------| | [`build`](#build) | Build the static site | | [`serve`](#serve) | Start the realtime compiler server | -| [`rebuild`](#rebuild) | Run the static site builder for a single file (Deprecated, will be removed in v3.0) | | [`build:rss`](#build-rss) | Generate the RSS feed | | [`build:search`](#build-search) | Generate the `docs/search.json` file | | [`build:sitemap`](#build-sitemap) | Generate the `sitemap.xml` file | @@ -79,24 +78,6 @@ Build the static site | `--pretty-urls` | Should links in output use pretty URLs? | | `--no-api` | Disable API calls, for example, Torchlight | -## Run the static site builder for a single file - - - ->warning **Deprecated:** The `rebuild` command is deprecated and will be removed in HydePHP v3.0. It has no remaining internal consumers now that the realtime compiler renders pages in-memory, and building a single page can silently leave aggregate outputs (sitemap, RSS, search index, navigation) stale. If you need to build a single page programmatically, use `Hyde\Framework\Actions\StaticPageBuilder::handle()` instead. - -```bash -php hyde rebuild -``` - -Run the static site builder for a single file - -#### Arguments - -| | | -|--------|--------------------------------------------------------------------------------| -| `path` | The relative file path (example: \_posts/hello-world.md) \n - Is required: yes | - ## Start the Realtime Compiler Server diff --git a/packages/framework/src/Console/Commands/RebuildPageCommand.php b/packages/framework/src/Console/Commands/RebuildPageCommand.php deleted file mode 100644 index f6cdb201858..00000000000 --- a/packages/framework/src/Console/Commands/RebuildPageCommand.php +++ /dev/null @@ -1,119 +0,0 @@ -printDeprecationWarning(); - - if ($this->argument('path') === Hyde::getMediaDirectory()) { - return (new TransferMediaAssets())->run($this->output); - - $this->info('All done!'); - - return Command::SUCCESS; - } - - return $this->makeBuildTask($this->output, $this->getNormalizedPathString())->run(); - } - - /** - * @deprecated The `rebuild` command is deprecated and will be removed in HydePHP v3.0. - */ - protected function printDeprecationWarning(): void - { - $this->warn('The `rebuild` command is deprecated and will be removed in HydePHP v3.0.'); - $this->line('If you need to build a single page programmatically, use Hyde\Framework\Actions\StaticPageBuilder::handle() instead.'); - $this->newLine(); - } - - protected function getNormalizedPathString(): string - { - return str_replace('\\', '/', unslash($this->argument('path'))); - } - - protected function makeBuildTask(OutputStyle $output, string $path): BuildTask - { - return new class($output, $path) extends BuildTask - { - public static string $message = 'Rebuilding page'; - - protected string $path; - - public function __construct(OutputStyle $output, string $path) - { - $this->output = $output; - $this->path = $path; - } - - public function handle(): void - { - $this->validate(); - - StaticPageBuilder::handle(Pages::getPage($this->path)); - } - - public function printFinishMessage(): void - { - $this->createdSiteFile(Command::fileLink( - Hyde::sitePath(Pages::getPage($this->path)->getOutputPath()) - ))->withExecutionTime(); - } - - protected function validate(): void - { - $directory = Hyde::pathToRelative(dirname($this->path)); - - $directories = [ - Hyde::pathToRelative(BladePage::path()), - Hyde::pathToRelative(BladePage::path()), - Hyde::pathToRelative(MarkdownPage::path()), - Hyde::pathToRelative(MarkdownPost::path()), - Hyde::pathToRelative(DocumentationPage::path()), - ]; - - if (! in_array($directory, $directories)) { - throw new Exception("Path [$this->path] is not in a valid source directory.", 400); - } - - if (! file_exists(Hyde::path($this->path))) { - throw new Exception("File [$this->path] not found.", 404); - } - } - }; - } -} diff --git a/packages/framework/src/Console/ConsoleServiceProvider.php b/packages/framework/src/Console/ConsoleServiceProvider.php index a62819aa05e..5d50838deb2 100644 --- a/packages/framework/src/Console/ConsoleServiceProvider.php +++ b/packages/framework/src/Console/ConsoleServiceProvider.php @@ -21,7 +21,6 @@ public function register(): void Commands\BuildSearchCommand::class, Commands\BuildSiteCommand::class, Commands\BuildSitemapCommand::class, - Commands\RebuildPageCommand::class, Commands\MakePageCommand::class, Commands\MakePostCommand::class, diff --git a/packages/framework/tests/Feature/Commands/RebuildPageCommandTest.php b/packages/framework/tests/Feature/Commands/RebuildPageCommandTest.php deleted file mode 100644 index df3e6acaa4c..00000000000 --- a/packages/framework/tests/Feature/Commands/RebuildPageCommandTest.php +++ /dev/null @@ -1,83 +0,0 @@ -file('_pages/test-page.md', 'foo'); - - $this->artisan('rebuild _pages/test-page.md') - ->expectsOutputToContain('_site/test-page.html') - ->assertExitCode(0); - - $this->assertFileExists(Hyde::path('_site/test-page.html')); - - $this->resetSite(); - } - - public function testCommandOutputsDeprecationWarning() - { - $this->file('_pages/test-page.md', 'foo'); - - $this->artisan('rebuild _pages/test-page.md') - ->expectsOutput('The `rebuild` command is deprecated and will be removed in HydePHP v3.0.') - ->expectsOutput('If you need to build a single page programmatically, use Hyde\Framework\Actions\StaticPageBuilder::handle() instead.') - ->assertExitCode(0); - - $this->resetSite(); - } - - public function testMediaFilesCanBeTransferred() - { - $this->directory(Hyde::path('_site/media')); - $this->file('_media/test.jpg'); - - $this->artisan('rebuild _media')->assertExitCode(0); - - $this->assertFileExists(Hyde::path('_site/media/test.jpg')); - } - - public function testValidateCatchesBadSourceDirectory() - { - $this->artisan('rebuild foo/bar') - ->expectsOutput('Path [foo/bar] is not in a valid source directory.') - ->assertExitCode(400); - } - - public function testValidateCatchesMissingFile() - { - $this->artisan('rebuild _pages/foo.md') - ->expectsOutput('File [_pages/foo.md] not found.') - ->assertExitCode(404); - } - - public function testRebuildDocumentationPage() - { - $this->file('_docs/foo.md'); - - $this->artisan('rebuild _docs/foo.md')->assertExitCode(0); - - $this->assertFileExists(Hyde::path('_site/docs/foo.html')); - - $this->resetSite(); - } - - public function testRebuildBlogPost() - { - $this->file('_posts/foo.md'); - - $this->artisan('rebuild _posts/foo.md')->assertExitCode(0); - - $this->assertFileExists(Hyde::path('_site/posts/foo.html')); - - $this->resetSite(); - } -} diff --git a/packages/framework/tests/Feature/PostsAuthorIntegrationTest.php b/packages/framework/tests/Feature/PostsAuthorIntegrationTest.php index 85c653095ec..be5d11955ef 100644 --- a/packages/framework/tests/Feature/PostsAuthorIntegrationTest.php +++ b/packages/framework/tests/Feature/PostsAuthorIntegrationTest.php @@ -6,7 +6,9 @@ use Hyde\Facades\Author; use Hyde\Pages\MarkdownPost; +use Hyde\Foundation\Facades\Pages; use Hyde\Framework\Actions\CreatesNewMarkdownPostFile; +use Hyde\Framework\Actions\StaticPageBuilder; use Hyde\Hyde; use Hyde\Testing\TestCase; use Illuminate\Support\Facades\Config; @@ -34,7 +36,7 @@ public function testCreatePostWithUndefinedAuthor() { $this->createPostFile('post-with-undefined-author', 'test_undefined_author'); - $this->artisan('rebuild _posts/post-with-undefined-author.md')->assertExitCode(0); + StaticPageBuilder::handle(Pages::getPage('_posts/post-with-undefined-author.md')); $this->assertFileExists(Hyde::path('_site/posts/post-with-undefined-author.html')); // Check that the author is rendered as is in the DOM @@ -55,7 +57,7 @@ public function testCreatePostWithDefinedAuthorWithName() 'named_author' => Author::create('Test Author', null), ]); - $this->artisan('rebuild _posts/post-with-defined-author-with-name.md')->assertExitCode(0); + StaticPageBuilder::handle(Pages::getPage('_posts/post-with-defined-author-with-name.md')); $this->assertFileExists(Hyde::path('_site/posts/post-with-defined-author-with-name.html')); // Check that the author is contains the set name in the DOM @@ -76,7 +78,7 @@ public function testCreatePostWithDefinedAuthorWithWebsite() 'test_author_with_website' => Author::create('Test Author', 'https://example.org'), ]); - $this->artisan('rebuild _posts/post-with-defined-author-with-name.md')->assertExitCode(0); + StaticPageBuilder::handle(Pages::getPage('_posts/post-with-defined-author-with-name.md')); $this->assertFileExists(Hyde::path('_site/posts/post-with-defined-author-with-name.html')); // Check that the author is contains the set name in the DOM @@ -111,7 +113,7 @@ public function testAllPostAuthorFieldsCanBeSetInFrontMatter() MD ); - $this->artisan('rebuild _posts/post-with-all-author-fields.md')->assertExitCode(0); + StaticPageBuilder::handle(Pages::getPage('_posts/post-with-all-author-fields.md')); $this->cleanUpWhenDone('_site/posts/post-with-all-author-fields.html'); $this->assertFileExists(Hyde::path('_site/posts/post-with-all-author-fields.html')); @@ -167,8 +169,8 @@ public function testConfiguredPostAuthorFieldsCanBeOverriddenInFrontMatter() MD ); - $this->artisan('rebuild _posts/literal.md')->assertExitCode(0); - $this->artisan('rebuild _posts/changed.md')->assertExitCode(0); + StaticPageBuilder::handle(Pages::getPage('_posts/literal.md')); + StaticPageBuilder::handle(Pages::getPage('_posts/changed.md')); $this->assertFileExists(Hyde::path('_site/posts/literal.html')); $this->assertFileExists(Hyde::path('_site/posts/changed.html')); $this->cleanUpWhenDone('_site/posts/literal.html'); diff --git a/packages/framework/tests/Feature/Views/MetadataViewTest.php b/packages/framework/tests/Feature/Views/MetadataViewTest.php index fb23472ea34..ad3bc28796a 100644 --- a/packages/framework/tests/Feature/Views/MetadataViewTest.php +++ b/packages/framework/tests/Feature/Views/MetadataViewTest.php @@ -7,6 +7,8 @@ use Hyde\Hyde; use Hyde\Testing\TestCase; use Hyde\Foundation\HydeKernel; +use Hyde\Foundation\Facades\Pages; +use Hyde\Framework\Actions\StaticPageBuilder; /** * This tests ensures all metadata is rendered correctly in the compiled pages. @@ -33,7 +35,7 @@ protected function setUp(): void protected function build(?string $page = null): void { if ($page) { - $this->artisan("rebuild $page"); + StaticPageBuilder::handle(Pages::getPage($page)); } else { $this->artisan('build'); } diff --git a/packages/framework/tests/Unit/MediaDirectoryCanBeChangedTest.php b/packages/framework/tests/Unit/MediaDirectoryCanBeChangedTest.php index 585ffebfb06..c1dc7be7599 100644 --- a/packages/framework/tests/Unit/MediaDirectoryCanBeChangedTest.php +++ b/packages/framework/tests/Unit/MediaDirectoryCanBeChangedTest.php @@ -37,24 +37,6 @@ public function testMediaOutputDirectoryCanBeChangedForSiteBuilds() $this->resetSite(); } - public function testMediaOutputDirectoryCanBeChangedForSiteRebuilds() - { - Filesystem::deleteDirectory('_site'); - - $this->directory('_assets'); - $this->file('_assets/app.css'); - - Hyde::setMediaDirectory('_assets'); - - $this->artisan('rebuild _assets'); - - $this->assertDirectoryDoesNotExist(Hyde::path('_site/media')); - $this->assertDirectoryExists(Hyde::path('_site/assets')); - $this->assertFileExists(Hyde::path('_site/assets/app.css')); - - $this->resetSite(); - } - public function testCompiledPagesHaveLinksToTheRightMediaFileLocation() { Filesystem::moveDirectory('_media', '_assets'); diff --git a/packages/framework/tests/Unit/Views/NavigationMenuViewTest.php b/packages/framework/tests/Unit/Views/NavigationMenuViewTest.php index e1aa632ac05..f8a5c578046 100644 --- a/packages/framework/tests/Unit/Views/NavigationMenuViewTest.php +++ b/packages/framework/tests/Unit/Views/NavigationMenuViewTest.php @@ -6,6 +6,8 @@ use Illuminate\Support\Str; use Hyde\Facades\Filesystem; +use Hyde\Foundation\Facades\Pages; +use Hyde\Framework\Actions\StaticPageBuilder; use Hyde\Hyde; use Hyde\Testing\TestCase; use Hyde\Pages\MarkdownPage; @@ -137,7 +139,7 @@ public function testNavigationMenuLabelCanBeChangedInFrontMatter() '); Hyde::boot(); - $this->artisan('rebuild _pages/foo.md'); + StaticPageBuilder::handle(Pages::getPage('_pages/foo.md')); $this->assertStringContainsString('My custom label', file_get_contents(Hyde::path('_site/foo.html'))); Filesystem::unlink('_site/foo.html'); } @@ -151,7 +153,7 @@ public function testNavigationMenuLabelCanBeChangedInBladeMatter() ); Hyde::boot(); - $this->artisan('rebuild _pages/foo.blade.php'); + StaticPageBuilder::handle(Pages::getPage('_pages/foo.blade.php')); $this->assertStringContainsString('My custom label', file_get_contents(Hyde::path('_site/foo.html'))); Filesystem::unlink('_site/foo.html'); } From 078d7c971e38d94dda3b37cfc1ddcbdb7ffbd16a Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Sat, 4 Jul 2026 00:50:42 +0200 Subject: [PATCH 7/7] [3.x] Upgrade Vite 7 to Vite 8 (#2414) * Upgrade Vite 7 to Vite 8 Squashed to also contain: - Fix vite 8 peer dependency conflict by using local vite-plugin package - Update tsconfig.json * Compile TypeScript --------- Co-authored-by: github-actions[bot] --- HYDEPHP_V3_PLANNING.md | 1 + UPGRADE.md | 14 +- package-lock.json | 675 +++++++----- package.json | 4 +- packages/hyde/package.json | 2 +- packages/vite-plugin/dist/index.js | 2 +- packages/vite-plugin/package-lock.json | 1302 ++++++++++-------------- packages/vite-plugin/package.json | 6 +- packages/vite-plugin/src/index.ts | 10 +- packages/vite-plugin/tsconfig.json | 2 +- 10 files changed, 972 insertions(+), 1046 deletions(-) diff --git a/HYDEPHP_V3_PLANNING.md b/HYDEPHP_V3_PLANNING.md index d49332cd29f..c2923c23465 100644 --- a/HYDEPHP_V3_PLANNING.md +++ b/HYDEPHP_V3_PLANNING.md @@ -20,6 +20,7 @@ Having this document in code lets us know the devlopment state at any given poin - Removed the legacy `checkForDeprecatedRunMixCommandUsage` check and the placeholder `--run-dev`/`--run-prod` options from the `build` command, which were kept in v2 only to surface a helpful error message. ([#2461](https://github.com/hydephp/develop/pull/2461)) - Removed the deprecated `hyde.server.dashboard` boolean config check from `DashboardController::enabled()`, which was kept in v2 for backwards compatibility but had since then been replaced with `hyde.server.dashboard.enabled`. ([#2461](https://github.com/hydephp/develop/pull/2462)) +- Upgraded the bundled `vite` dependency from v7 to v8, and widened the `hyde-vite-plugin`'s `vite` peer dependency range from `>=6.3.5 <8.0.0` to `>=6.3.5 <9.0.0` so downstream projects can adopt Vite 8 without waiting for a new plugin major. The plugin's build config now targets Vite 8's Rolldown-based bundler (`rolldownOptions` instead of `rollupOptions`). ([#2414](https://github.com/hydephp/develop/pull/2414)) ### Breaking Changes diff --git a/UPGRADE.md b/UPGRADE.md index 4a841e045c2..544a723c88a 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -38,7 +38,19 @@ git commit -m "Pre-upgrade backup before HydePHP v3.0" ### Update Node Dependencies -// +HydePHP v3 upgrades the bundled `vite` dependency from v7 to v8. Update your `package.json` `devDependencies` to require the new major version: + +```json +{ + "devDependencies": { + "vite": "^8.0.0" + } +} +``` + +Then run `npm install` (or your package manager's equivalent) to pick up the update. + +If you have a custom `vite.config.js` that overrides `build.rollupOptions`, note that Vite 8 builds with Rolldown by default. The `hyde-vite-plugin` now configures its own build options under `build.rolldownOptions` rather than `build.rollupOptions` — if your custom config only sets `rollupOptions`, double check your output still ends up where you expect after upgrading. ## Step 2: Replace the Removed `rebuild` Command diff --git a/package-lock.json b/package-lock.json index 4779f2e5cd6..e110d165cbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,45 @@ "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.3.2", "autoprefixer": "^10.4.27", - "hyde-vite-plugin": "^1.1.0", + "hyde-vite-plugin": "file:packages/vite-plugin", "hydefront": "^4.0.0", "postcss": "^8.5.9", "tailwindcss": "^4.1.16", - "vite": "^7.3.2" + "vite": "^8.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@esbuild/aix-ppc64": { @@ -28,6 +62,7 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=18" } @@ -45,6 +80,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -62,6 +98,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -79,6 +116,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -96,6 +134,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -113,6 +152,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -130,6 +170,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -147,6 +188,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -164,6 +206,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -181,6 +224,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -198,6 +242,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -215,6 +260,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -232,6 +278,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -249,6 +296,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -266,6 +314,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -283,6 +332,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -300,6 +350,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -317,6 +368,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -334,6 +386,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -351,6 +404,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -368,6 +422,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -385,6 +440,7 @@ "os": [ "openharmony" ], + "peer": true, "engines": { "node": ">=18" } @@ -402,6 +458,7 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=18" } @@ -419,6 +476,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -436,6 +494,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -453,6 +512,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -489,6 +549,17 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", @@ -507,24 +578,39 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz", + "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.123.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.123.0.tgz", + "integrity": "sha512-YtECP/y8Mj1lSHiUWGSRzy/C6teUKlS87dEfuVKT09LgQbUsBW1rNg+MiJ4buGu3yuADV60gbIvo9/HplA56Ew==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.13.tgz", + "integrity": "sha512-5ZiiecKH2DXAVJTNN13gNMUcCDg4Jy8ZjbXEsPnqa248wgOVeYRX0iqXXD5Jz4bI9BFHgKsI2qmyJynstbmr+g==", "cpu": [ "arm64" ], @@ -533,12 +619,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.13.tgz", + "integrity": "sha512-tz/v/8G77seu8zAB3A5sK3UFoOl06zcshEzhUO62sAEtrEuW/H1CcyoupOrD+NbQJytYgA4CppXPzlrmp4JZKA==", "cpu": [ "arm64" ], @@ -547,12 +636,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.13.tgz", + "integrity": "sha512-8DakphqOz8JrMYWTJmWA+vDJxut6LijZ8Xcdc4flOlAhU7PNVwo2MaWBF9iXjJAPo5rC/IxEFZDhJ3GC7NHvug==", "cpu": [ "x64" ], @@ -561,26 +653,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.13.tgz", + "integrity": "sha512-4wBQFfjDuXYN/SVI8inBF3Aa+isq40rc6VMFbk5jcpolUBTe5cYnMsHZ51nFWsx3PVyyNN3vgoESki0Hmr/4BA==", "cpu": [ "x64" ], @@ -589,26 +670,15 @@ "optional": true, "os": [ "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.13.tgz", + "integrity": "sha512-JW/e4yPIXLms+jmnbwwy5LA/LxVwZUWLN8xug+V200wzaVi5TEGIWQlh8o91gWYFxW609euI98OCCemmWGuPrw==", "cpu": [ "arm" ], @@ -617,26 +687,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.13.tgz", + "integrity": "sha512-ZfKWpXiUymDnavepCaM6KG/uGydJ4l2nBmMxg60Ci4CbeefpqjPWpfaZM7PThOhk2dssqBAcwLc6rAyr0uTdXg==", "cpu": [ "arm64" ], @@ -645,54 +704,32 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.13.tgz", + "integrity": "sha512-bmRg3O6Z0gq9yodKKWCIpnlH051sEfdVwt+6m5UDffAQMUUqU0xjnQqqAUm+Gu7ofAAly9DqiQDtKu2nPDEABA==", "cpu": [ - "loong64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", - "cpu": [ - "ppc64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.13.tgz", + "integrity": "sha512-8Wtnbw4k7pMYN9B/mOEAsQ8HOiq7AZ31Ig4M9BKn2So4xRaFEhtCSa4ZJaOutOWq50zpgR4N5+L/opnlaCx8wQ==", "cpu": [ "ppc64" ], @@ -701,40 +738,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.13.tgz", + "integrity": "sha512-D/0Nlo8mQuxSMohNJUF2lDXWRsFDsHldfRRgD9bRgktj+EndGPj4DOV37LqDKPYS+osdyhZEH7fTakTAEcW7qg==", "cpu": [ "s390x" ], @@ -743,12 +755,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.13.tgz", + "integrity": "sha512-eRrPvat2YaVQcwwKi/JzOP6MKf1WRnOCr+VaI3cTWz3ZoLcP/654z90lVCJ4dAuMEpPdke0n+qyAqXDZdIC4rA==", "cpu": [ "x64" ], @@ -757,12 +772,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.13.tgz", + "integrity": "sha512-PsdONiFRp8hR8KgVjTWjZ9s7uA3uueWL0t74/cKHfM4dR5zXYv4AjB8BvA+QDToqxAFg4ZkcVEqeu5F7inoz5w==", "cpu": [ "x64" ], @@ -771,26 +789,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.13.tgz", + "integrity": "sha512-hCNXgC5dI3TVOLrPT++PKFNZ+1EtS0mLQwfXXXSUD/+rGlB65gZDwN/IDuxLpQP4x8RYYHqGomlUXzpO8aVI2w==", "cpu": [ "arm64" ], @@ -799,40 +806,51 @@ "optional": true, "os": [ "openharmony" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.13.tgz", + "integrity": "sha512-viLS5C5et8NFtLWw9Sw3M/w4vvnVkbWkO7wSNh3C+7G1+uCkGpr6PcjNDSFcNtmXY/4trjPBqUfcOL+P3sWy/g==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@emnapi/core": "1.9.1", + "@emnapi/runtime": "1.9.1", + "@napi-rs/wasm-runtime": "^1.1.2" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.13.tgz", + "integrity": "sha512-Fqa3Tlt1xL4wzmAYxGNFV36Hb+VfPc9PYU+E25DAnswXv3ODDu/yyWjQDbXMo5AGWkQVjLgQExuVu8I/UaZhPQ==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.13.tgz", + "integrity": "sha512-/pLI5kPkGEi44TDlnbio3St/5gUFeN51YWNAk/Gnv6mEQBOahRBh52qVFVBpmrnU01n2yysvBML9Ynu7K4kGAQ==", "cpu": [ "x64" ], @@ -841,21 +859,17 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", - "cpu": [ - "x64" ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.13.tgz", + "integrity": "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, "node_modules/@tailwindcss/node": { "version": "4.3.2", @@ -990,9 +1004,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1010,9 +1021,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1030,9 +1038,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1050,9 +1055,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1220,12 +1222,39 @@ "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/node": { + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, "node_modules/autoprefixer": { "version": "10.4.27", @@ -1310,6 +1339,13 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, "node_modules/caniuse-lite": { "version": "1.0.30001800", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001800.tgz", @@ -1330,6 +1366,13 @@ } ] }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -1381,6 +1424,8 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "optional": true, + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -1481,14 +1526,8 @@ "license": "ISC" }, "node_modules/hyde-vite-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hyde-vite-plugin/-/hyde-vite-plugin-1.1.0.tgz", - "integrity": "sha512-T0vii08Y+C1oSDx3NpbkJf4Me6l2bhH6zyD6n00n/W9O9dvLrsMddmFGzrz1I7Cj2Tce7g4Ec2DaFHRJ1tL54A==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "vite": ">=6.3.5 <8.0.0" - } + "resolved": "packages/vite-plugin", + "link": true }, "node_modules/hydefront": { "version": "4.0.0", @@ -1874,49 +1913,48 @@ "dev": true, "license": "MIT" }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "node_modules/rolldown": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.13.tgz", + "integrity": "sha512-bvVj8YJmf0rq4pSFmH7laLa6pYrhghv3PRzrCdRAr23g66zOKVJ4wkvFtgohtPLWmthgg8/rkaqRHrpUEh0Zbw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.123.0", + "@rolldown/pluginutils": "1.0.0-rc.13" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" + "@rolldown/binding-android-arm64": "1.0.0-rc.13", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.13", + "@rolldown/binding-darwin-x64": "1.0.0-rc.13", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.13", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.13", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.13", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.13", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.13", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.13", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.13", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.13", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.13", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.13", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.13", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.13" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, "node_modules/source-map-js": { @@ -1929,6 +1967,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/tailwindcss": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz", @@ -1950,6 +1999,25 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/terser": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", + "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -1967,6 +2035,35 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", @@ -2006,17 +2103,16 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", - "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.7.tgz", + "integrity": "sha512-P1PbweD+2/udplnThz3btF4cf6AgPky7kk23RtHUkJIU5BIxwPprhRGmOAHs6FTI7UiGbTNrgNP6jSYD6JaRnw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.13", "tinyglobby": "^0.2.15" }, "bin": { @@ -2033,9 +2129,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -2048,13 +2145,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { + "optional": true + }, + "jiti": { "optional": true }, - "lightningcss": { + "less": { "optional": true }, "sass": { @@ -2079,6 +2179,21 @@ "optional": true } } + }, + "packages/vite-plugin": { + "name": "hyde-vite-plugin", + "version": "1.1.0", + "dev": true, + "license": "MIT", + "devDependencies": { + "@types/node": "^20.0.0", + "terser": "^5.29.2", + "typescript": "^5.0.0", + "vite": "^8.0.0" + }, + "peerDependencies": { + "vite": ">=6.3.5 <9.0.0" + } } } } diff --git a/package.json b/package.json index 3000c76f6d6..ac6dbb0472c 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.3.2", "autoprefixer": "^10.4.27", - "hyde-vite-plugin": "^1.1.0", + "hyde-vite-plugin": "file:packages/vite-plugin", "hydefront": "^4.0.0", "postcss": "^8.5.9", "tailwindcss": "^4.1.16", - "vite": "^7.3.2" + "vite": "^8.0.0" } } diff --git a/packages/hyde/package.json b/packages/hyde/package.json index a856c2d1710..865eda6f554 100644 --- a/packages/hyde/package.json +++ b/packages/hyde/package.json @@ -13,6 +13,6 @@ "hydefront": "^4.0.0", "postcss": "^8.5.8", "tailwindcss": "^4.1.18", - "vite": "^7.3.2" + "vite": "^8.0.0" } } diff --git a/packages/vite-plugin/dist/index.js b/packages/vite-plugin/dist/index.js index c421c4e59f9..3b9b38223c4 100644 --- a/packages/vite-plugin/dist/index.js +++ b/packages/vite-plugin/dist/index.js @@ -1 +1 @@ -import fs from"fs";import path from"path";import{fileURLToPath}from"url";const HOT_FILE_PATH="app/storage/framework/runtime/vite.hot";function resolveResource(e){try{const s=fileURLToPath(import.meta.url),t=path.dirname(s);return path.resolve(t,"../resources",e)}catch(s){return path.resolve(__dirname,"../resources",e)}}function fileExists(e){try{return fs.statSync(e).isFile()}catch{return!1}}function hasJavaScriptContent(e){try{if(!fs.existsSync(e))return!1;return fs.readFileSync(e,"utf-8").replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"").trim().length>0}catch(e){return!1}}export default function hydePlugin(e={}){const{input:s=["resources/assets/app.css","resources/assets/app.js"],watch:t=["_pages","_posts","_docs"],refresh:r=!0}=e;let a,n;return{name:"hyde-vite-plugin",config(e,{command:t}){if("build"===t){const e={};for(const t of s){const s=path.resolve(process.cwd(),t);if(t.endsWith("app.js"))hasJavaScriptContent(s)&&fileExists(s)&&(e.js=s);else if(t.endsWith("app.css")&&fileExists(s))e.css=s;else if(fileExists(s)){e[path.basename(t,path.extname(t))]=s}}return{build:{outDir:"_media",emptyOutDir:!1,rollupOptions:{input:e,output:{entryFileNames:e=>"js"===e.name?"app.js":"[name].js",chunkFileNames:"[name].js",assetFileNames:e=>e.name&&e.name.endsWith(".css")?"app.css":"[name].[ext]"}}}}}},configResolved(e){a=e,n=path.resolve(process.cwd(),HOT_FILE_PATH)},configureServer(e){fs.mkdirSync(path.dirname(n),{recursive:!0}),fs.writeFileSync(n,""),["SIGINT","SIGTERM"].forEach((e=>{process.on(e,(()=>{try{fs.rmSync(n)}catch(e){}process.exit()}))})),e.middlewares.use(((e,s,t)=>{if("/"===e.url)try{const e=resolveResource("index.html"),t=fs.readFileSync(e,"utf-8");s.end(t)}catch(e){t()}else t()})),r&&t.forEach((s=>{const t=path.resolve(process.cwd(),s);fs.existsSync(t)&&(e.watcher.add(path.join(t,"**")),e.watcher.add(path.join(t,"**/**")))}))}}} \ No newline at end of file +import fs from"fs";import path from"path";import{fileURLToPath}from"url";const HOT_FILE_PATH="app/storage/framework/runtime/vite.hot";function resolveResource(e){try{const s=fileURLToPath(import.meta.url),t=path.dirname(s);return path.resolve(t,"../resources",e)}catch(s){return path.resolve(__dirname,"../resources",e)}}function fileExists(e){try{return fs.statSync(e).isFile()}catch{return!1}}function hasJavaScriptContent(e){try{if(!fs.existsSync(e))return!1;return fs.readFileSync(e,"utf-8").replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"").trim().length>0}catch(e){return!1}}export default function hydePlugin(e={}){const{input:s=["resources/assets/app.css","resources/assets/app.js"],watch:t=["_pages","_posts","_docs"],refresh:r=!0}=e;let a,n;return{name:"hyde-vite-plugin",config(e,{command:t}){if("build"===t){const e={};for(const t of s){const s=path.resolve(process.cwd(),t);if(t.endsWith("app.js"))hasJavaScriptContent(s)&&fileExists(s)&&(e.js=s);else if(t.endsWith("app.css")&&fileExists(s))e.css=s;else if(fileExists(s)){e[path.basename(t,path.extname(t))]=s}}return{build:{outDir:"_media",emptyOutDir:!1,rolldownOptions:{input:e,output:{entryFileNames:e=>"js"===e.name?"app.js":"[name].js",chunkFileNames:"[name].js",assetFileNames:e=>e.name&&e.name.endsWith(".css")?"app.css":"[name].[ext]"}}}}}},configResolved(e){a=e,n=path.resolve(process.cwd(),HOT_FILE_PATH)},configureServer(e){fs.mkdirSync(path.dirname(n),{recursive:!0}),fs.writeFileSync(n,""),["SIGINT","SIGTERM"].forEach((e=>{process.on(e,(()=>{try{fs.rmSync(n)}catch(e){}process.exit()}))})),e.middlewares.use(((e,s,t)=>{if("/"===e.url)try{const e=resolveResource("index.html"),t=fs.readFileSync(e,"utf-8");s.end(t)}catch(e){t()}else t()})),r&&t.forEach((s=>{const t=path.resolve(process.cwd(),s);fs.existsSync(t)&&(e.watcher.add(path.join(t,"**")),e.watcher.add(path.join(t,"**/**")))}))}}} \ No newline at end of file diff --git a/packages/vite-plugin/package-lock.json b/packages/vite-plugin/package-lock.json index 13bd9e29409..fdc679e518d 100644 --- a/packages/vite-plugin/package-lock.json +++ b/packages/vite-plugin/package-lock.json @@ -12,452 +12,44 @@ "@types/node": "^20.0.0", "terser": "^5.29.2", "typescript": "^5.0.0", - "vite": "^7.3.2" + "vite": "^8.0.0" }, "peerDependencies": { - "vite": ">=6.3.5 <8.0.0" + "vite": ">=6.3.5 <9.0.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", - "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", - "cpu": [ - "ppc64" - ], + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", - "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", - "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", - "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", - "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", - "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", - "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", - "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", - "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", - "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", - "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", - "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", - "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", - "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", - "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", - "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", - "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", - "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", - "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", - "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", - "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", - "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", - "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", - "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", - "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", - "cpu": [ - "ia32" - ], + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", - "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", - "cpu": [ - "x64" - ], + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@jridgewell/gen-mapping": { @@ -524,66 +116,39 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], + "node_modules/@oxc-project/types": { + "version": "0.138.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.138.0.tgz", + "integrity": "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "funding": { + "url": "https://github.com/sponsors/Boshen" + } }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.4.tgz", + "integrity": "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==", "cpu": [ "arm64" ], @@ -591,55 +156,16 @@ "license": "MIT", "optional": true, "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", - "cpu": [ - "arm" + "android" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.4.tgz", + "integrity": "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==", "cpu": [ "arm64" ], @@ -647,167 +173,187 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", - "cpu": [ - "arm64" + "darwin" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.4.tgz", + "integrity": "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==", "cpu": [ - "loong64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", - "cpu": [ - "loong64" + "darwin" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.4.tgz", + "integrity": "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==", "cpu": [ - "ppc64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.4.tgz", + "integrity": "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==", "cpu": [ - "ppc64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.4.tgz", + "integrity": "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.4.tgz", + "integrity": "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.4.tgz", + "integrity": "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==", "cpu": [ - "s390x" + "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.4.tgz", + "integrity": "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==", "cpu": [ - "x64" + "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.4.tgz", + "integrity": "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.4.tgz", + "integrity": "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ - "openbsd" - ] + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.4.tgz", + "integrity": "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==", "cpu": [ "arm64" ], @@ -816,54 +362,51 @@ "optional": true, "os": [ "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.4.tgz", + "integrity": "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==", "cpu": [ - "ia32" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.4.tgz", + "integrity": "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.4.tgz", + "integrity": "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==", "cpu": [ "x64" ], @@ -872,15 +415,29 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, "license": "MIT" }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/node": { "version": "20.19.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.17.tgz", @@ -918,46 +475,14 @@ "dev": true, "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, + "license": "Apache-2.0", "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.7", - "@esbuild/android-arm": "0.27.7", - "@esbuild/android-arm64": "0.27.7", - "@esbuild/android-x64": "0.27.7", - "@esbuild/darwin-arm64": "0.27.7", - "@esbuild/darwin-x64": "0.27.7", - "@esbuild/freebsd-arm64": "0.27.7", - "@esbuild/freebsd-x64": "0.27.7", - "@esbuild/linux-arm": "0.27.7", - "@esbuild/linux-arm64": "0.27.7", - "@esbuild/linux-ia32": "0.27.7", - "@esbuild/linux-loong64": "0.27.7", - "@esbuild/linux-mips64el": "0.27.7", - "@esbuild/linux-ppc64": "0.27.7", - "@esbuild/linux-riscv64": "0.27.7", - "@esbuild/linux-s390x": "0.27.7", - "@esbuild/linux-x64": "0.27.7", - "@esbuild/netbsd-arm64": "0.27.7", - "@esbuild/netbsd-x64": "0.27.7", - "@esbuild/openbsd-arm64": "0.27.7", - "@esbuild/openbsd-x64": "0.27.7", - "@esbuild/openharmony-arm64": "0.27.7", - "@esbuild/sunos-x64": "0.27.7", - "@esbuild/win32-arm64": "0.27.7", - "@esbuild/win32-ia32": "0.27.7", - "@esbuild/win32-x64": "0.27.7" + "node": ">=8" } }, "node_modules/fdir": { @@ -993,10 +518,283 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", "dev": true, "funding": [ { @@ -1020,9 +818,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, "license": "MIT", "engines": { @@ -1033,9 +831,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", "dev": true, "funding": [ { @@ -1053,7 +851,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -1061,49 +859,38 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "node_modules/rolldown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.4.tgz", + "integrity": "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.138.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" + "@rolldown/binding-android-arm64": "1.1.4", + "@rolldown/binding-darwin-arm64": "1.1.4", + "@rolldown/binding-darwin-x64": "1.1.4", + "@rolldown/binding-freebsd-x64": "1.1.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", + "@rolldown/binding-linux-arm64-gnu": "1.1.4", + "@rolldown/binding-linux-arm64-musl": "1.1.4", + "@rolldown/binding-linux-ppc64-gnu": "1.1.4", + "@rolldown/binding-linux-s390x-gnu": "1.1.4", + "@rolldown/binding-linux-x64-gnu": "1.1.4", + "@rolldown/binding-linux-x64-musl": "1.1.4", + "@rolldown/binding-openharmony-arm64": "1.1.4", + "@rolldown/binding-wasm32-wasi": "1.1.4", + "@rolldown/binding-win32-arm64-msvc": "1.1.4", + "@rolldown/binding-win32-x64-msvc": "1.1.4" } }, "node_modules/source-map": { @@ -1157,14 +944,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -1173,6 +960,14 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/typescript": { "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", @@ -1194,18 +989,17 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", - "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.3.tgz", + "integrity": "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.16", + "rolldown": "~1.1.3", + "tinyglobby": "^0.2.17" }, "bin": { "vite": "bin/vite.js" @@ -1221,9 +1015,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.3.0", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -1236,13 +1031,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { "optional": true }, - "lightningcss": { + "jiti": { + "optional": true + }, + "less": { "optional": true }, "sass": { diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index 0c3310666fd..7fec29cc275 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -27,12 +27,12 @@ }, "homepage": "https://github.com/hydephp/vite-plugin", "peerDependencies": { - "vite": ">=6.3.5 <8.0.0" + "vite": ">=6.3.5 <9.0.0" }, "devDependencies": { "@types/node": "^20.0.0", "terser": "^5.29.2", "typescript": "^5.0.0", - "vite": "^7.3.2" + "vite": "^8.0.0" } -} +} \ No newline at end of file diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts index 86621127bba..62c30f2d193 100644 --- a/packages/vite-plugin/src/index.ts +++ b/packages/vite-plugin/src/index.ts @@ -91,7 +91,7 @@ export default function hydePlugin(options: HydePluginOptions = {}): Plugin { if (command === 'build') { // Process input files - use named keys to prevent filename collisions const resolvedInput: Record = {}; - + for (const entry of input) { const resolvedPath = path.resolve(process.cwd(), entry); @@ -112,10 +112,10 @@ export default function hydePlugin(options: HydePluginOptions = {}): Plugin { build: { outDir: '_media', emptyOutDir: false, - rollupOptions: { + rolldownOptions: { input: resolvedInput, output: { - entryFileNames: (chunkInfo) => { + entryFileNames: (chunkInfo: any) => { // Use app.js for the JS entry point if (chunkInfo.name === 'js') { return 'app.js'; @@ -123,7 +123,7 @@ export default function hydePlugin(options: HydePluginOptions = {}): Plugin { return '[name].js'; }, chunkFileNames: '[name].js', - assetFileNames: (assetInfo) => { + assetFileNames: (assetInfo: any) => { // Use app.css for CSS assets if (assetInfo.name && assetInfo.name.endsWith('.css')) { return 'app.css'; @@ -186,4 +186,4 @@ export default function hydePlugin(options: HydePluginOptions = {}): Plugin { } } }; -} +} \ No newline at end of file diff --git a/packages/vite-plugin/tsconfig.json b/packages/vite-plugin/tsconfig.json index 975c01ca556..89b8415d872 100644 --- a/packages/vite-plugin/tsconfig.json +++ b/packages/vite-plugin/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ES2020", "module": "ES2020", - "moduleResolution": "node", + "moduleResolution": "bundler", "esModuleInterop": true, "declaration": true, "outDir": "./dist",