{"id":25613,"library":"fusile","title":"Fusile","description":"Fusile is a web asset precompiling file system proxy using FUSE to mount a virtual directory that compiles files on demand. Current stable version is v2.0.0, which switched from Babel 5 to Babel 6 (requires babel-core). It auto-loads installed transpilers (e.g., babel-core, coffee-script, less, node-sass, stylus) and compiles assets when accessed, with intelligent caching and optional file watching. Unlike build tools or module bundlers, it provides a proxy filesystem that serves compiled files transparently to any consumer (browser, server, linter). Maintained by Munter, now in maintenance mode.","status":"maintenance","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/Munter/fusile","tags":["javascript","fuse","filesystem","web","asset","precompiler"],"install":[{"cmd":"npm install fusile","lang":"bash","label":"npm"},{"cmd":"yarn add fusile","lang":"bash","label":"yarn"},{"cmd":"pnpm add fusile","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for ES6+ transpilation (v2.0.0 broke compatibility with babel v5)","package":"babel-core","optional":true},{"reason":"Optional transpiler for CoffeeScript files","package":"coffee-script","optional":true},{"reason":"Optional transpiler for LESS files","package":"less","optional":true},{"reason":"Optional transpiler for Sass/SCSS files","package":"node-sass","optional":true},{"reason":"Optional transpiler for Stylus files","package":"stylus","optional":true},{"reason":"Optional transpiler for LiveScript files","package":"LiveScript","optional":true},{"reason":"Optional transpiler for Coco files","package":"coco","optional":true},{"reason":"Optional transpiler for Dogescript files","package":"dogescript","optional":true},{"reason":"Optional transpiler for Markdown files","package":"marked","optional":true},{"reason":"Optional transpiler for Myth CSS files","package":"myth","optional":true},{"reason":"Optional transpiler for Swig templates","package":"swig","optional":true}],"imports":[{"note":"CLI tool used via command line; programmatic use is internal, no public API documented.","wrong":"const fusile = require('fusile')","symbol":"default","correct":"import fusile from 'fusile'"},{"note":"If using TypeScript, type definitions may not exist; check @types/fusile.","symbol":"Fusile","correct":"import { Fusile } from 'fusile'"},{"note":"Config is not publicly documented; avoid relying on internal exports.","symbol":"config","correct":"import { config } from 'fusile'"}],"quickstart":{"code":"fusile ./src ./compiled --watch \"**/*.jsx\" --watch \"**/*.less\"","lang":"javascript","description":"Mounts a FUSE filesystem that watches .jsx and .less files in ./src and compiles them on read in ./compiled."},"warnings":[{"fix":"Replace 'babel' with 'babel-core' and create a .babelrc file. See https://babeljs.io/docs/usage/babelrc/","message":"v2.0.0 drops Babel 5 in favor of babel-core (Babel 6+). Existing setups using babel must upgrade to babel-core and add a .babelrc file.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Install FUSE for macOS from osxfuse.github.io or for Linux via apt-get install fuse.","message":"Requires FUSE for macOS/Linux; not supported on Windows without third-party FUSE implementation.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Install transpilers globally or run fusile from the project root where they are installed.","message":"Transpilers must be installed in the context of fusile (global or project root). Local devDependencies may not be found if fusile is installed globally.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider alternatives like webpack, vite, or esbuild for active development.","message":"Project is in maintenance mode; no new features planned. v3.x roadmap items may never be implemented.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Manually clear compiled directory or implement custom cleanup.","message":"File watcher does not delete compiled files when source is removed; cache may serve stale files.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"npm install babel-core --save and ensure .babelrc exists.","cause":"Installed babel v5 instead of babel-core v6+.","error":"Error: Cannot find module 'babel'"},{"fix":"npm install -g fusile or use npx fusile.","cause":"Fusile not installed globally or not in PATH.","error":"fusile: command not found"},{"fix":"Install FUSE (e.g., osxfuse on macOS, fuse on Linux).","cause":"FUSE is not installed or loaded.","error":"Error: fuse device not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}