Add Vite 8 support, BoxLang layout paths, and comprehensive docs#2
Merged
Conversation
- Bump version to 4.0.0 - Update peerDependencies to include Vite 7 and 8 - Update devDependencies: vite ^8.0.0, esbuild ^0.28.0 - Add appRefreshPaths export for BoxLang / tiered app layout (app/layouts/**, app/views/**, app/config/Router.bx) - Guard chunk.viteMetadata?.importedCss in renderChunk for Rolldown compatibility (Vite 8 may not set viteMetadata on every chunk) - Replace Manifest import from vite with a local type definition to avoid breakage if Vite renames the type in future versions - Replace any-typed renderChunk chunk param with ViteChunk interface - Fix resolveManifestConfig fallback to use .vite/manifest.json (Vite 5+ default) instead of manifest.json - Add package.json "type": "module" to support ESM eslint.config.js - Migrate ESLint config from .eslintrc.js to eslint.config.js (flat config, required for ESLint 9) - Update CI Node versions: 14/16/18 -> 18/20/22; upgrade actions to v4 - Rewrite README with full documentation: both layout configurations, configuration reference table, refresh paths, aliases, SSR, Inertia, env vars, and framework integration examples - Add tests for appRefreshPaths, BoxLang layout outDir, and refresh with appRefreshPaths (29 tests total, all passing) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011e6SYiDYZZazmdKsssrG5D
Vite 8 uses util.styleText internally which requires Node.js 20.12+, so the plugin cannot be tested against Node 18 when Vite 8 is the devDependency. Drop Node 18 from the CI matrix and set engines to >=20.19.0 to match Vite 8's minimum requirement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011e6SYiDYZZazmdKsssrG5D
codeql-action v1 was deprecated in January 2023. Updates all three action steps to v3 and checkout to v4. Adds required permissions block and category annotation for the analyze step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011e6SYiDYZZazmdKsssrG5D
|
@lmajano great timing! I just released Mixr 3.0, an open-source Forgebox module to help inject static assets from manifest files. I just added Vite support and CriticalCSS support. My approach works a bit differently by letting the user configure which "driver" is most appropriate for their project (e.g. Webpack, Vite, Laravel Mix, etc...). It also uses similar config logic I stole from cbSecurity so that submodues can have their own Mixr configurations. You're welcome to grab anything from my latest release if you think it would help the official Ortus plugin. Repo: https://github.com/homestar9/mixr |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(app/layouts/, app/views/, app/config/Router.bx)
compatibility (Vite 8 may not set viteMetadata on every chunk)
avoid breakage if Vite renames the type in future versions
(Vite 5+ default) instead of manifest.json
config, required for ESLint 9)
configuration reference table, refresh paths, aliases, SSR, Inertia,
env vars, and framework integration examples
with appRefreshPaths (29 tests total, all passing)
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011e6SYiDYZZazmdKsssrG5D