Transform file to a default-export string, and can be transformed by esbuild.
npm i -D unplugin-raw
npm i -D esbuild # Optional, if you want to transform TypeScript to JavaScriptVite
// vite.config.ts import Raw from 'unplugin-raw/vite' export default defineConfig({ plugins: [Raw()], })
Rollup
// rollup.config.js import Raw from 'unplugin-raw/rollup' export default { plugins: [Raw()], }
Rolldown
// rolldown.config.js import Raw from 'unplugin-raw/rolldown' export default { plugins: [Raw()], }
esbuild
// esbuild.config.js import { build } from 'esbuild' build({ plugins: [require('unplugin-raw/esbuild')()], })
export interface TransformOptions { /** @default [/\.[cm]?[jt]sx?$/] */ include?: FilterPattern /** @default [/node_modules/] */ exclude?: FilterPattern /** @default {} */ options?: EsbuildTransformOptions } export interface Options { /** @default 'pre' */ enforce?: 'pre' | 'post' | undefined /** * Transform * @default false */ transform?: TransformOptions | boolean }
import text from './js.js?raw' import text2 from './jsx.jsx?raw' import bytes from './png.png?bytes' import text3 from './ts.ts?raw' // Import attributes (Rolldown and Vite 8+ doesn't support this syntax) import text4 from './with.js' with { type: 'text' } import bytes2 from './with.png' with { type: 'bytes' }
MIT License © 2023-PRESENT Kevin Deng