{"id":22001,"library":"rollup-plugin-emit-files","title":"rollup-plugin-emit-files","description":"A Rollup plugin that emits files into the output bundle, useful for copying static assets like images, fonts, or data files during the build process. Current stable version is 2.0.0. It requires Rollup ^3.2.5 and ships TypeScript types. Compared to alternatives like `rollup-plugin-copy`, it integrates directly with Rollup's emit mechanism, ensuring assets appear in the bundle output without separate copy tasks. The plugin supports glob patterns for include/exclude filtering and a destination path relative to the output directory. It is actively maintained with a simple API.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/juliendargelos/rollup-plugin-emit-files","tags":["javascript","typescript"],"install":[{"cmd":"npm install rollup-plugin-emit-files","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-emit-files","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-emit-files","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for Rollup plugin interface","package":"rollup","optional":false}],"imports":[{"note":"Plugin is ESM-only; CommonJS require will fail.","wrong":"const emitFiles = require('rollup-plugin-emit-files')","symbol":"emitFiles","correct":"import emitFiles from 'rollup-plugin-emit-files'"},{"note":"TypeScript users can import the Options type for type-checking plugin configuration.","symbol":"rollup-plugin-emit-files (types)","correct":"import type { Options } from 'rollup-plugin-emit-files'"},{"note":"The package uses a default export, not a named export.","wrong":"import { emitFiles } from 'rollup-plugin-emit-files'","symbol":"emitFiles (default export)","correct":"import emitFiles from 'rollup-plugin-emit-files'"}],"quickstart":{"code":"// rollup.config.js\nimport emitFiles from 'rollup-plugin-emit-files';\n\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'dist',\n    format: 'esm'\n  },\n  plugins: [\n    emitFiles({\n      src: 'static',\n      dest: '.',\n      include: ['**/*'],\n      exclude: []\n    })\n  ]\n};","lang":"javascript","description":"Shows a basic Rollup configuration using emitFiles to copy all files from the 'static' directory into the output folder 'dist'."},"warnings":[{"fix":"Use rollup-plugin-emit-files@1.x for Rollup 2.x, or upgrade to Rollup 3+.","message":"Version 2.0.0 requires Rollup ^3.2.5. It is incompatible with Rollup 2.x.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Ensure the src path is correct and contains at least one file matching the include pattern.","message":"The src directory must exist and contain files; otherwise the plugin emits silently without warning.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use dest: '.' for flat output or e.g. dest: 'assets' to place files inside an assets subfolder within the output directory.","message":"The dest path is relative to the output directory—not from the project root. Misconfiguration can cause files to be placed in unexpected locations.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Switch from require() to import, or use the ESM-compatible configuration.","message":"Older versions (v1.x) used a different export pattern; upgrading to v2.0.0 may break CommonJS usage.","severity":"deprecated","affected_versions":">=1.0.0 <2.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade Rollup to version ^3.2.5 using npm install rollup@^3.2.5","cause":"rollup-plugin-emit-files v2 has a peer dependency on rollup ^3.2.5, but an older Rollup version is installed.","error":"Error: The emitFiles plugin must be used with Rollup 3 or higher"},{"fix":"Change to default import: import emitFiles from 'rollup-plugin-emit-files'","cause":"Using a named import instead of default import: import { emitFiles } from '...'","error":"TypeError: emitFiles is not a function"},{"fix":"Run npm install --save-dev rollup-plugin-emit-files","cause":"The package is not installed or is installed as a devDependency but the build environment doesn't have access.","error":"Cannot find module 'rollup-plugin-emit-files'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}