{"id":25031,"library":"broccoli-static-compiler","title":"broccoli-static-compiler","description":"Deprecated Broccoli plugin for copying static files with optional filtering and directory restructuring. The last published version (0.2.2) is no longer maintained. Replaced by broccoli-funnel since 2015. Does not support Broccoli 1.x or Node.js modern versions. Known for simple src/dest directory mapping and glob-based file selection. Alternatives: broccoli-funnel (recommended), broccoli-file-creator, or manual copy with broccoli-merge-trees.","status":"deprecated","version":"0.2.2","language":"javascript","source_language":"en","source_url":"https://github.com/joliss/broccoli-static-compiler","tags":["javascript","broccoli-plugin","files"],"install":[{"cmd":"npm install broccoli-static-compiler","lang":"bash","label":"npm"},{"cmd":"yarn add broccoli-static-compiler","lang":"bash","label":"yarn"},{"cmd":"pnpm add broccoli-static-compiler","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"inherits from Broccoli plugin base","package":"broccoli-caching-writer","optional":false},{"reason":"creates destination directories","package":"mkdirp","optional":false},{"reason":"may be needed to combine output with other trees","package":"broccoli-merge-trees","optional":true}],"imports":[{"note":"Package is CommonJS only. ESM import will fail.","wrong":"import pickFiles from 'broccoli-static-compiler';","symbol":"default","correct":"var pickFiles = require('broccoli-static-compiler');"},{"note":"The function is exported as a single default export, not a named export.","wrong":"const { pickFiles } = require('broccoli-static-compiler');","symbol":"default named","correct":"var pickFiles = require('broccoli-static-compiler');"}],"quickstart":{"code":"var pickFiles = require('broccoli-static-compiler');\nvar sourceTree = 'app';\nvar imagesTree = pickFiles(sourceTree, {\n  srcDir: '/images',\n  files: ['**/*.png', '**/*.jpg'],\n  destDir: '/assets'\n});\nmodule.exports = imagesTree;","lang":"javascript","description":"Shows how to copy selected image files from a source directory to a destination directory using glob patterns."},"warnings":[{"fix":"Replace require('broccoli-static-compiler') with require('broccoli-funnel') and adjust options (srcDir -> srcDir, destDir -> destDir, files -> allowFiles).","message":"broccoli-static-compiler is deprecated. Use broccoli-funnel instead.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Upgrade to broccoli-funnel which supports Broccoli 1.x and Node.js >=8.","message":"Package does not work with Broccoli 1.x and modern Node.js versions (>=10).","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Always specify 'files' if you want to filter, or omit to copy all. Note that empty array copies no files.","message":"The 'files' option requires explicit array of glob patterns; if omitted, all files from srcDir are copied.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use absolute paths or ensure paths are correct relative to Broccoli's working directory.","message":"srcDir and destDir are required; relative paths are resolved from the Broccoli working directory, not the project root.","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":"Install broccoli-funnel instead: npm install --save-dev broccoli-funnel, then update code.","cause":"Package not installed or removed from npm.","error":"Error: Cannot find module 'broccoli-static-compiler'"},{"fix":"Use: var pickFiles = require('broccoli-static-compiler');","cause":"Incorrect import pattern (e.g., named import instead of default).","error":"TypeError: pickFiles is not a function"},{"fix":"Switch to broccoli-funnel which supports both 0.x and 1.x.","cause":"This plugin relies on Broccoli 0.x APIs.","error":"Error: Broccoli 1.x incompatible"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}