crunchicorn

raw JSON →
0.0.3 verified Fri May 01 auth: no javascript deprecated

crunchicorn (v0.0.3) is an opinionated, zero-config CLI tool that bundles a complete frontend toolchain: ES2015+ transpilation via Babel, module bundling via Rollup, CSS preprocessing with PostCSS/cssnext, JS linting with StandardJS, minification via UglifyJS2 and cssnano, and font loading via Font Magician. Unlike Webpack or Gulp, it requires no config file and outputs a single JS file ready for the browser. The project appears to be in early development (v0.0.3) with a sparse GitHub repo and no recent releases. It is designed as a batteries-included alternative to piecing together multiple tools, but lacks active maintenance and ecosystem adoption.

error Error: Cannot find module 'rollup'
cause crunchicorn depends on Rollup but it is not installed. The package assumes global installation of all dependencies or that they are in node_modules.
fix
Run npm install -g crunchicorn to install globally, or install locally with npm install --save-dev crunchicorn and ensure node_modules/.bin is in PATH.
error Error: postcss-cssnext: Cannot find module 'caniuse-db'
cause The deprecated postcss-cssnext plugin requires caniuse-db, which may not be installed or outdated.
fix
Install caniuse-db directly: npm install caniuse-db or switch to postcss-preset-env.
error SyntaxError: Unexpected token import
cause crunchicorn expects ES module syntax but may be running on an older Node version that doesn't support import/export without transpilation.
fix
Use Node.js 12+ or ensure your code is properly transpiled. Actually, crunchicorn should handle this transformation; if it fails, consider upgrading Node or using a more modern bundler.
deprecated Package has not been updated since 2017; no support for modern JS features (ES2018+, dynamic import, etc.).
fix Use a modern tool like Vite, esbuild, or webpack with Babel.
breaking crunchicorn bundles CSS directly into the JS output via injected <style> tags, which may break Content Security Policy (CSP) restrictions.
fix Extract CSS separately with a tool like MiniCssExtractPlugin (webpack) or use a build system that outputs separate CSS files.
gotcha No configuration file: all options are limited to CLI flags. Users cannot customize Babel presets, PostCSS plugins, or linting rules.
fix If customization is needed, switch to a configurable bundler (e.g., webpack, Vite, or Rollup directly).
gotcha crunchicorn uses StandardJS for linting by default, which imposes a strict coding style (no semicolons, etc.) that may conflict with project conventions.
fix Disable linting with --no-lint flag, or use a linting tool like ESLint separately.
deprecated The underlying dependency postcss-cssnext is deprecated; it has been replaced by postcss-preset-env.
fix Use a modern PostCSS setup with postcss-preset-env or similar.
npm install crunchicorn
yarn add crunchicorn
pnpm add crunchicorn

creates three source files, runs crunchicorn to build a single bundle, then prints the output.

echo '// src/app.js
import { greet } from "./greet.js";
import "./style.css";
console.log(greet("crunchicorn"));' > src/app.js
echo '// src/greet.js
export function greet(name) { return `Hello, ${name}!`; }' > src/greet.js
echo '/* src/style.css */
body { background: #f0f0f0; }' > src/style.css
npx crunchicorn src/app.js out/bundle.js
node -e "console.log(require('fs').readFileSync('out/bundle.js','utf8'));"