{"id":22138,"library":"rollup-plugin-multi-input","title":"rollup-plugin-multi-input","description":"Rollup plugin for bundling modular libraries with multiple entry points and glob support, preserving the source directory structure in the output. Version 1.9.0 is the latest stable release, maintained with semantic versioning and TypeScript types. It is now deprecated in favor of modular-library for Node.js >=22, and Rollup's native preserveModules is recommended otherwise. Key differentiators: glob patterns in input, relative path preservation, and transformOutputPath callback. Release cadence is irregular with features and fixes as needed.","status":"deprecated","version":"1.9.0","language":"javascript","source_language":"en","source_url":"https://github.com/alfredosalzillo/rollup-plugin-multi-input","tags":["javascript","rollup-plugin","rollup","es6","glob","multi-entry","modular","libraries","typescript"],"install":[{"cmd":"npm install rollup-plugin-multi-input","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-multi-input","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-multi-input","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin is used as a Rollup plugin","package":"rollup","optional":false}],"imports":[{"note":"v1.4.0+ is ESM-only; require() fails with ERR_REQUIRE_ESM. Use default import.","wrong":"const multiInput = require('rollup-plugin-multi-input');","symbol":"multiInput","correct":"import multiInput from 'rollup-plugin-multi-input';"},{"note":"The package uses default export, not named export. Named import returns undefined.","wrong":"import { multiInput } from 'rollup-plugin-multi-input';","symbol":"multiInput","correct":"import multiInput from 'rollup-plugin-multi-input';"},{"note":"When aliasing, ensure the function call is correct. The default export is a function.","wrong":"import multiInputPlugin from 'rollup-plugin-multi-input';\nconst plugin = multiInputPlugin();","symbol":"multiInput as multiInputPlugin","correct":"import multiInput from 'rollup-plugin-multi-input';\nconst plugin = multiInput();"}],"quickstart":{"code":"// rollup.config.js\nimport multiInput from 'rollup-plugin-multi-input';\n\nexport default {\n  input: ['src/**/*.js'],\n  output: {\n    format: 'esm',\n    dir: 'dist'\n  },\n  plugins: [\n    multiInput({\n      relative: 'src/',\n      transformOutputPath: (output, input) => output.replace('src/', 'lib/')\n    })\n  ]\n};","lang":"typescript","description":"Configures Rollup with multi-input plugin using glob pattern, relative path, and output path transformation."},"warnings":[{"fix":"Migrate to modular-library (Node >=22) or use output.preserveModules: true.","message":"This plugin is deprecated. Use modular-library or Rollup's built-in preserveModules instead.","severity":"deprecated","affected_versions":">=1.9.0"},{"fix":"Use import or dynamic import(). For Jest or older Node, set type: 'module' or use esm wrapper.","message":"Package is ESM-only since v1.4.0; require() fails with ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=1.4.0"},{"fix":"Use import multiInput from 'rollup-plugin-multi-input' (default import).","message":"multiInput is exported as default, not named. import { multiInput } from 'rollup-plugin-multi-input' returns undefined.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use string inputs for globs, or map object values explicitly.","message":"Object input configuration does not support glob patterns; only string/array paths support glob.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Update Node.js to 16 or later.","message":"Node.js engines >=16 required; older versions will throw at install or runtime.","severity":"breaking","affected_versions":">=1.9.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use import multiInput from 'rollup-plugin-multi-input'; in an ES module context.","cause":"Using require() on an ESM-only package (v1.4.0+).","error":"ERR_REQUIRE_ESM"},{"fix":"Use default import: import multiInput from 'rollup-plugin-multi-input'.","cause":"Named import { multiInput } returns undefined; misinterpreting export.","error":"multiInput is not a function"},{"fix":"Use string or array of strings for globs.","cause":"Object inputs with glob patterns are not supported.","error":"The input option cannot be specified as an object when using this plugin"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}