Add Vite 8 support, BoxLang layout paths, and comprehensive docs#2
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 |
|
wow @homestar9 I did not know you had that, it looks great! |
|
Thank you! Let me know if you have any questions or discover any issues. I also created a public gist showing the |
(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