Sofy

raw JSON →
1.0.7 verified Fri May 01 auth: no javascript abandoned

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.

error Error: Cannot find module 'gulp-combine-files'
cause Missing peer dependency or deprecated package not installed.
fix
Remove 'combine_files' from config or install the missing plugin: npm install gulp-combine-files --save-dev
error sofy: command not found
cause Sofy CLI not installed globally or not run via npx.
fix
Use npx sofy --create or install globally: npm install -g sofy
error TypeError: Cannot read property 'presets' of undefined
cause Babel config not passed correctly in sofy.js config block.
fix
Ensure config.bable_custom_config1 is defined and referenced correctly in file options.
error Error: `output.rollupOptions` is not supported in sofy.
cause Mixing Rollup-style config with Sofy's own config structure.
fix
Use Sofy's files/config keys instead of Rollup options.
gotcha The package name 'sofy' conflicts with a popular Instagram dog account; documentation is whimsical and not serious.
fix Avoid using for production; consider alternatives like Webpack, Rollup, or Gulp directly.
deprecated Package has not been updated since 2020 (v1.0.7); uses outdated Gulp 3/4 patterns and deprecated plugins like gulp-combine-files.
fix Migrate to modern build tools (e.g., Vite, esbuild) or plain Gulp 4 with current plugins.
breaking The config option 'bable' is misspelled (should be 'babel'); common typo in documentation.
fix Use 'babel' in config, not 'bable'.
gotcha All JavaScript processing (Babel, Webpack, Rollup) uses Gulp plugins that may not be compatible with Node.js >12.
fix Use Node.js 12 or downgrade to older plugin versions; check peer deprecations.
deprecated The package relies on gulp-combine-files which is unmaintained and may cause issues.
fix Avoid using 'combine_files: true'; use concat or manual file combinations.
npm install sofy
yarn add sofy
pnpm add sofy

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.

// sofy.config.js
const files = {
  'src/app.js': {
    dist: 'dist/',
    rename: 'app.bundle.js',
    bable: true,
    uglify: true,
    watch: ['src/**/*.js']
  }
};
const config = {
  bable_custom_config1: {
    presets: ['@babel/preset-env']
  }
};
module.exports = { files, config };
// Then run: npx sofy --compile