{"id":20913,"library":"alp-rollup-plugin-config","title":"alp-rollup-plugin-config","description":"Rollup plugin to transform YAML configuration files using copy and YAML transform during the build process. v4.0.2 requires Node >=22.18.0, supports Rollup 2, 3, and 4, and includes full TypeScript type definitions. It is part of the alp ecosystem but can be used standalone. The plugin copies YAML files and optionally applies transformations, enabling dynamic config injection in Rollup bundles.","status":"active","version":"4.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/christophehurpeau/alp","tags":["javascript","typescript"],"install":[{"cmd":"npm install alp-rollup-plugin-config","lang":"bash","label":"npm"},{"cmd":"yarn add alp-rollup-plugin-config","lang":"bash","label":"yarn"},{"cmd":"pnpm add alp-rollup-plugin-config","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for plugin functionality","package":"rollup","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require will fail.","wrong":"const alpRollupPluginConfig = require('alp-rollup-plugin-config')","symbol":"default","correct":"import alpRollupPluginConfig from 'alp-rollup-plugin-config'"},{"note":"Named export also available; both default and named export refer to same function.","wrong":null,"symbol":"alpRollupPluginConfig","correct":"import { alpRollupPluginConfig } from 'alp-rollup-plugin-config'"},{"note":"TypeScript type import only. Use `import type` for types to avoid runtime errors.","wrong":"const { PluginOptions } = require('alp-rollup-plugin-config')","symbol":"PluginOptions","correct":"import type { PluginOptions } from 'alp-rollup-plugin-config'"}],"quickstart":{"code":"import configPlugin from 'alp-rollup-plugin-config';\nimport { defineConfig } from 'rollup';\n\nexport default defineConfig({\n  input: 'src/index.js',\n  plugins: [\n    configPlugin({\n      files: ['config.yaml', 'config.prod.yaml'],\n      transform: (content) => {\n        const d = JSON.parse(content);\n        d.appVersion = process.env.APP_VERSION ?? 'dev';\n        return JSON.stringify(d);\n      },\n      copy: true\n    })\n  ],\n  output: {\n    dir: 'dist',\n    format: 'esm'\n  }\n});","lang":"typescript","description":"Shows how to use alp-rollup-plugin-config in a Rollup config to copy and transform YAML files during build."},"warnings":[{"fix":"Upgrade Node to >=22.18.0 and Rollup to >=2.","message":"v4.0.0 drops support for Node <22.18.0 and Rollup <2.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Update to ^4.0.0 and adjust Node version.","message":"v3.x series is no longer maintained; upgrade to v4.","severity":"deprecated","affected_versions":">=3.0.0 <4.0.0"},{"fix":"Use absolute paths or ensure relative paths resolve from the project root.","message":"Plugin must be used in Rollup's transform hook context; ensure config files are in the correct location relative to the working directory.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run npm install rollup --save-dev to install Rollup.","cause":"Missing Rollup peer dependency.","error":"Error: Plugin 'alp-rollup-plugin-config' requires a peer of rollup@^2.64.0 || ^3.0.0 || ^4.0.0 but none is installed."},{"fix":"Change to ES module import syntax: import configPlugin from 'alp-rollup-plugin-config'.","cause":"Using CommonJS require with ESM-only package.","error":"TypeError: alpRollupPluginConfig is not a function"},{"fix":"Upgrade Node to >=22.18.0.","cause":"Node version too low for v4.x.","error":"Error: Node version 18.0.0 is not supported. Please use Node >=22.18.0."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}