{"id":25430,"library":"esbuild-plugin-yaml-import","title":"esbuild-plugin-yaml-import","description":"An esbuild plugin that allows importing YAML files directly in your code. Version 0.1.1, maintained by linbudu599. It uses JS-YAML under the hood to parse YAML content into JSON, then leverages esbuild's built-in JSON loader. Key differentiators: simple setup, minimal configuration, support for transforming content before or after parsing, and TypeScript type declarations. Suitable for small to medium projects needing YAML import capability in esbuild. Release cadence is low; last update was a while ago. Compared to alternatives like 'esbuild-plugin-yaml', it offers transform hooks and direct JS-YAML configuration.","status":"active","version":"0.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/linbudu599/nx-plugins","tags":["javascript","esbuild","ESBuild","plugin","yaml","typescript"],"install":[{"cmd":"npm install esbuild-plugin-yaml-import","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-yaml-import","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-yaml-import","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; plugin integrates with esbuild's build system.","package":"esbuild","optional":false},{"reason":"Uses js-yaml for parsing YAML files.","package":"js-yaml","optional":false}],"imports":[{"note":"The package exports a single default function. Named import does not exist.","wrong":"import { yaml } from 'esbuild-plugin-yaml-import'","symbol":"default (or yaml plugin function)","correct":"import yaml from 'esbuild-plugin-yaml-import'"},{"note":"For TypeScript users, you can import the Options type for configuration.","wrong":null,"symbol":"Options type","correct":"import type { Options } from 'esbuild-plugin-yaml-import'"},{"note":"CommonJS require returns the default export directly, not an object.","wrong":"const { yaml } = require('esbuild-plugin-yaml-import')","symbol":"CommonJS require","correct":"const yaml = require('esbuild-plugin-yaml-import')"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport yamlPlugin from 'esbuild-plugin-yaml-import';\n\n// Sample YAML file: config.yaml\n// name: John\n// age: 30\n\nbuild({\n  entryPoints: ['src/index.ts'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [yamlPlugin()],\n}).catch(() => process.exit(1));","lang":"typescript","description":"Demonstrates basic setup: import esbuild and the plugin, then add it to plugins array. After bundling, you can import .yaml files as objects."},"warnings":[{"fix":"Ensure your YAML files have .yaml or .yml extension.","message":"Plugin only works with '.yaml' and '.yml' file extensions. Other YAML-like extensions are not recognized.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use synchronous transformations only.","message":"When using transformContent or transformParsed options, be aware that async functions are not supported; they must be synchronous.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Update esbuild to version 0.11.19 or later.","message":"If esbuild version is less than ^0.11.19, the plugin may fail due to API incompatibility.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install esbuild-plugin-yaml-import --save-dev","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'esbuild-plugin-yaml-import'"},{"fix":"Use import yaml from 'esbuild-plugin-yaml-import'","cause":"Importing the plugin incorrectly (e.g., named import instead of default).","error":"TypeError: yaml is not a function"},{"fix":"Validate YAML content with a linter.","cause":"YAML file is malformed or has invalid syntax.","error":"Build failed with error: Unexpected token ':' in file '...'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}