{"id":13420,"library":"kiki-bundler","title":"Kiki Bundler","description":"Kiki Bundler (current stable version 1.9.3) is an opinionated frontend asset bundler primarily focused on rapid Sass compilation. Designed to address slow build times in legacy projects, it provides a fast, out-of-the-box experience with minimal configuration, significantly improving incremental build performance compared to tools like Grunt with Ruby-Sass or even Libsass directly. The project, while having its last significant updates around 2017, features built-in Autoprefixer support for vendor prefixing and includes a command-line interface for common `build` and `watch` tasks. It distinguishes itself by its speed optimizations for Sass workflows, aiming to reduce compilation times from seconds to milliseconds for incremental changes. However, as of 2026, the project appears to be unmaintained.","status":"abandoned","version":"1.9.3","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/marvinhagemeister/kiki","tags":["javascript","typescript"],"install":[{"cmd":"npm install kiki-bundler","lang":"bash","label":"npm"},{"cmd":"yarn add kiki-bundler","lang":"bash","label":"yarn"},{"cmd":"pnpm add kiki-bundler","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Used for parsing command-line arguments for the Kiki CLI tool. A fix for missing dependency was applied in v1.9.0 for production installs.","package":"yargs","optional":false}],"imports":[{"note":"Imports the programmatic build function for direct integration into Node.js scripts, allowing for custom build orchestration.","symbol":"build","correct":"import { build } from 'kiki-bundler'"},{"note":"Imports the main CLI execution function, primarily useful for testing the CLI or integrating Kiki's command processing into larger Node.js applications.","symbol":"run","correct":"import { run } from 'kiki-bundler'"},{"note":"TypeScript type definition for the `kiki.config.json` configuration structure, enabling type-safe configuration in Node.js or TypeScript projects.","symbol":"KikiConfig","correct":"import type { KikiConfig } from 'kiki-bundler'"}],"quickstart":{"code":"```json\n// kiki.config.json\n{\n  \"sass\": {\n    \"src\": \"src/scss\",\n    \"dest\": \"dist/css\",\n    \"addVendorPrefixes\": true,\n    \"cssnext\": false\n  }\n}\n```\n```json\n// package.json\n{\n  \"name\": \"my-project\",\n  \"version\": \"1.0.0\",\n  \"scripts\": {\n    \"build\": \"kiki build --production\",\n    \"watch\": \"kiki watch\"\n  },\n  \"devDependencies\": {\n    \"kiki-bundler\": \"^1.9.3\"\n  }\n}\n```\n```bash\n# In your project directory\nmkdir -p src/scss\necho \"body { color: blue; }\" > src/scss/main.scss\nnpm install --save-dev kiki-bundler\nnpm run build\n# You should see dist/css/main.css created with compiled and minified CSS\n```","lang":"typescript","description":"Demonstrates how to set up Kiki Bundler with a `kiki.config.json` file and run `build` and `watch` commands via npm scripts, compiling a simple Sass file."},"warnings":[{"fix":"Review your CSS output and configuration (`addVendorPrefixes`) if you were relying on automatic prefix removal in older versions. Adjust your Sass or PostCSS setup accordingly.","message":"Automatic vendor prefix removal feature was reversed in v1.4.0. Prior to this version, Kiki might have removed existing vendor prefixes which was deemed confusing for users. Post v1.4.0, it preserves them unless explicitly configured otherwise via `addVendorPrefixes`.","severity":"breaking","affected_versions":"<1.4.0"},{"fix":"If specific CSS minification features or behaviors previously provided by `cssnano` are required, integrate `cssnano` or an alternative minifier into your build pipeline separately. Be aware of the original safety concerns mentioned by the package author.","message":"Removal of `cssnano` for minification in v1.6.0 due to safety concerns. This means older versions relied on `cssnano` which could be unsafe, and newer versions (>=1.6.0) no longer use it for minification, potentially affecting output size or specific transformations.","severity":"breaking","affected_versions":">=1.6.0"},{"fix":"Update build scripts and CI/CD configurations to check `stderr` for error output and properly handle non-zero exit codes for failed builds.","message":"Build errors now print to `stderr` and the process exits with code 1 on build failures (outside of watch mode) in v1.8.0. Scripts or CI/CD pipelines relying on parsing `stdout` for error messages or assuming a 0 exit code on all build completions will break.","severity":"breaking","affected_versions":">=1.8.0"},{"fix":"Ensure `kiki-bundler` is installed as a `devDependency` or upgrade to `v1.9.0` or later, which includes a fix to ensure `yargs` is correctly bundled or listed as a production dependency.","message":"Missing `yargs` dependency when installing with `npm install --production` for versions prior to v1.9.0. This could lead to CLI failures in production environments where only production dependencies are installed.","severity":"gotcha","affected_versions":"<1.9.0"},{"fix":"Consider migrating to actively maintained bundlers like Webpack, Rollup, or Vite for projects requiring ongoing updates, security patches, and support for modern development environments. Use with caution in new projects.","message":"The Kiki Bundler project appears to be unmaintained since roughly 2017, despite being listed as 1.9.3. There are no recent updates for modern Node.js versions, dependency updates, or addressing new web standards. This may lead to compatibility issues with newer Node.js runtimes or operating systems, or lack of support for modern CSS features.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Run `kiki` via `npm run <script_name>` (e.g., `npm run build`), or use `npx kiki <command>`, or ensure `node_modules/.bin` is in your system's PATH.","cause":"The `kiki-bundler` package's executable is not in your system's PATH, often due to a local `npm install` without calling from `npm scripts` or `npx`.","error":"kiki: command not found"},{"fix":"Create `kiki.config.json` in your project's root directory or specify its path using `kiki <command> -c my-custom-config.json`.","cause":"Kiki Bundler requires a configuration file named `kiki.config.json` by default in the project root, or a custom path specified with the `-c` flag.","error":"Error: Could not find config file: kiki.config.json"},{"fix":"Review your Sass files (within the `src` directory specified in `kiki.config.json`) for typos or missing `@import` statements for the necessary variables, mixins, or partials.","cause":"A Sass file references a variable or mixin that is not defined or imported correctly within its scope, leading to a compilation error.","error":"Sass compilation failed: Undefined variable: $my-variable."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"kiki","cli_version":null}