
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
@fluojs/vite
Advanced tools
English 한국어
Vite plugin and build utilities for fluo projects.
npm install --save-dev @fluojs/vite vite @babel/core @babel/plugin-proposal-decorators @babel/preset-typescript
@babel/core >=7.26.0, @babel/plugin-proposal-decorators >=7.28.0, @babel/preset-typescript >=7.27.0, and vite >=6.2.0 are peer dependencies because fluoDecoratorsPlugin() loads Babel, resolves the Babel decorator plugin and TypeScript preset, and reports missing peer dependencies from the Vite transform hook when Vite transforms source files.
import { fluoDecoratorsPlugin } from '@fluojs/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [fluoDecoratorsPlugin()],
build: {
ssr: 'src/main.ts',
target: 'node20',
},
});
The plugin transforms .ts application files with Babel using the 2023-11 decorators proposal and @babel/preset-typescript. It strips Vite query suffixes before deciding the file boundary, then skips declaration files, *.test.ts or *.spec.ts files, node_modules, and non-.ts files so generated Vitest test files continue to use the dedicated @fluojs/testing/vitest transform path. Importing @fluojs/vite or creating fluoDecoratorsPlugin() does not load @babel/core; missing Babel peers are surfaced as transform-time diagnostics for the source file Vite is transforming.
@fluojs/vite owns application build transforms, not Vitest test transforms. Generated non-Deno starters keep the file-boundary split explicit:
vite.config.ts imports fluoDecoratorsPlugin() from @fluojs/vite..ts files, lazily loads Babel on the first eligible transform, and runs @babel/plugin-proposal-decorators with { version: '2023-11' } plus @babel/preset-typescript.vitest.config.ts imports fluoBabelDecoratorsPlugin() from @fluojs/testing/vitest, so *.test.ts and *.spec.ts files stay on the testing-specific transform path.Keep those boundaries separate when customizing generated projects. Re-enabling experimentalDecorators, relying on direct esbuild decorator handling, or routing test files through the Vite application transform is outside the documented fluo support contract.
fluoDecoratorsPlugin() — creates the Vite plugin used by generated fluo starter projects.@fluojs/cli: generates starter projects that import this Vite plugin.@fluojs/testing: provides the Vitest-specific decorator transform entrypoint.packages/vite/src/index.tspackages/vite/src/decorators-plugin.tspackages/cli/src/new/scaffold.tsFAQs
Vite plugin and build utilities for fluo projects.
The npm package @fluojs/vite receives a total of 57 weekly downloads. As such, @fluojs/vite popularity was classified as not popular.
We found that @fluojs/vite demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.