Allow import YAML file for Vite, Webpack, Rollup and esbuild. With TypeScript support. Powered by unplugin.
npm i -D unplugin-yamlTip
You can view all examples here.
Vite
// vite.config.ts import YAMLPlugin from "unplugin-yaml/vite"; export default defineConfig({ plugins: [ YAMLPlugin({ /* options */ }), ], });Rollup
// rollup.config.js import YAMLPlugin from "unplugin-yaml/rollup"; export default { plugins: [ YAMLPlugin({ /* options */ }), ], };Webpack
// webpack.config.js module.exports = { /* ... */ plugins: [ require("unplugin-yaml/webpack").default({ /* options */ }), ], };Nuxt
// nuxt.config.js export default defineNuxtConfig({ modules: [ ["unplugin-yaml/nuxt", { /* options */ }] ], });Astro
// astro.config.mjs import { defineConfig } from "astro/config"; import YAMLPlugin from "unplugin-yaml/astro"; // https://astro.build/config export default defineConfig({ integrations: [ YAMLPlugin({ /* options */ }) ] });esbuild
// esbuild.config.js import { build } from "esbuild"; import YAMLPlugin from "unplugin-yaml/esbuild"; build({ /* ... */ plugins: [ YAMLPlugin({ /* options */ }), ], });Rspack
// rspack.config.mjs import rspack from "@rspack/core"; import YAMLPlugin from "unplugin-yaml/rspack"; /** @type {import('@rspack/core').Configuration} */ export default { plugins: [ new rspack.HtmlRspackPlugin({ template: "./index.html" }), YAMLPlugin() ], };Rolldown (Experimental)
// rolldown.config.js import { defineConfig } from "rolldown"; import YAMLPlugin from "unplugin-yaml/rolldown"; export default defineConfig({ input: "./index.js", plugins: [ YAMLPlugin({ /* options */ }), ], });YAMLPlugin({ include: [ /\.yamlcustom$/, // .yamlcustom ], parserOptions: { // see yaml load options } });If you are using TypeScript, you need to add the following to your tsconfig.json file:
{ "compilerOptions": { "types": [ "unplugin-yaml/types" ] } }Published under MIT License.