{"id":26410,"library":"sofy","title":"Sofy","description":"Sofy is an extended JavaScript bundler (v1.0.7) built on top of Gulp, Rollup, Webpack, and Babel, allowing developers to define file compilation tasks in a single config file (sofy.js). It supports SCSS/CSS processing (minification, autoprefixing), JavaScript bundling (Webpack, Babel, uglify), file concatenation, and watching. The stable version is 1.0.7 with no recent changes beyond minor fixes. Compared to pure Webpack or Rollup, Sofy offers a lower-config abstraction for Gulp-like task definitions but sacrifices flexibility and modern ESM support. The repository is archival? (See warnings), and the package has very low usage and maintenance.","status":"abandoned","version":"1.0.7","language":"javascript","source_language":"en","source_url":"https://github.com/varunsridharan/sofy","tags":["javascript","bundler","modular","extensible","web","projects","js","scss","gulp"],"install":[{"cmd":"npm install sofy","lang":"bash","label":"npm"},{"cmd":"yarn add sofy","lang":"bash","label":"yarn"},{"cmd":"pnpm add sofy","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core task runner underlying Sofy","package":"gulp","optional":false},{"reason":"Used for bundling JavaScript files","package":"rollup","optional":true},{"reason":"Alternative bundler integrated for compilation","package":"webpack","optional":true},{"reason":"Transpile ES6+ code","package":"gulp-babel","optional":true},{"reason":"Minify JavaScript output","package":"gulp-uglify","optional":true},{"reason":"Compile SCSS to CSS","package":"gulp-sass","optional":true},{"reason":"Add vendor prefixes to CSS","package":"gulp-autoprefixer","optional":true},{"reason":"Concatenate files","package":"gulp-concat","optional":true},{"reason":"Combine file contents","package":"gulp-combine-files","optional":true}],"imports":[{"note":"Package is CJS-only; ESM import may fail. Use require().","wrong":"import sofy from 'sofy';","symbol":"sofy","correct":"const sofy = require('sofy');"},{"note":"CLI used via npx or global install. No programmatic API documented.","wrong":"sofy --create","symbol":"Sofy (CLI)","correct":"npx sofy --create"},{"note":"Config file sofy.js is CommonJS module; export pattern must use module.exports.","wrong":"export default { ... };","symbol":"module.exports (config)","correct":"module.exports = { files: {...}, config: {...} };"}],"quickstart":{"code":"// sofy.config.js\nconst files = {\n  'src/app.js': {\n    dist: 'dist/',\n    rename: 'app.bundle.js',\n    bable: true,\n    uglify: true,\n    watch: ['src/**/*.js']\n  }\n};\nconst config = {\n  bable_custom_config1: {\n    presets: ['@babel/preset-env']\n  }\n};\nmodule.exports = { files, config };\n// Then run: npx sofy --compile","lang":"javascript","description":"Shows a minimal sofy.js configuration file with a single JavaScript file input that is transpiled with Babel and minified with Uglify. Demonstrates the module.exports pattern and CLI usage."},"warnings":[{"fix":"Avoid using for production; consider alternatives like Webpack, Rollup, or Gulp directly.","message":"The package name 'sofy' conflicts with a popular Instagram dog account; documentation is whimsical and not serious.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate to modern build tools (e.g., Vite, esbuild) or plain Gulp 4 with current plugins.","message":"Package has not been updated since 2020 (v1.0.7); uses outdated Gulp 3/4 patterns and deprecated plugins like gulp-combine-files.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use 'babel' in config, not 'bable'.","message":"The config option 'bable' is misspelled (should be 'babel'); common typo in documentation.","severity":"breaking","affected_versions":"all"},{"fix":"Use Node.js 12 or downgrade to older plugin versions; check peer deprecations.","message":"All JavaScript processing (Babel, Webpack, Rollup) uses Gulp plugins that may not be compatible with Node.js >12.","severity":"gotcha","affected_versions":"all"},{"fix":"Avoid using 'combine_files: true'; use concat or manual file combinations.","message":"The package relies on gulp-combine-files which is unmaintained and may cause issues.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Remove 'combine_files' from config or install the missing plugin: npm install gulp-combine-files --save-dev","cause":"Missing peer dependency or deprecated package not installed.","error":"Error: Cannot find module 'gulp-combine-files'"},{"fix":"Use npx sofy --create or install globally: npm install -g sofy","cause":"Sofy CLI not installed globally or not run via npx.","error":"sofy: command not found"},{"fix":"Ensure config.bable_custom_config1 is defined and referenced correctly in file options.","cause":"Babel config not passed correctly in sofy.js config block.","error":"TypeError: Cannot read property 'presets' of undefined"},{"fix":"Use Sofy's files/config keys instead of Rollup options.","cause":"Mixing Rollup-style config with Sofy's own config structure.","error":"Error: `output.rollupOptions` is not supported in sofy."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}