{"id":12828,"library":"aria-build","title":"aria-build: Zero-Configuration Bundler","description":"aria-build is a zero-configuration command-line interface (CLI) bundler and packager designed for both TypeScript and JavaScript projects, built upon Rollup. It also exposes a programmatic API for developers needing more granular control over their build processes. The current stable version, 0.7.4, was released approximately three years ago, suggesting the project is no longer actively maintained. Its primary differentiators include a simplified CLI experience, seamless integration with SWC and esbuild for efficient code transformations, and automatic generation of TypeScript declaration files. It aims to streamline common bundling tasks by offering sensible defaults for various module formats like ES and CommonJS. Due to the lack of recent updates, users should be aware that it might not fully support the latest advancements in the JavaScript and TypeScript ecosystems.","status":"abandoned","version":"0.7.4","language":"javascript","source_language":"en","source_url":"https://github.com/aelbore/aria-build","tags":["javascript","build","rollup","bundle","plugins","modules","bundler","bundling","es6","typescript"],"install":[{"cmd":"npm install aria-build","lang":"bash","label":"npm"},{"cmd":"yarn add aria-build","lang":"bash","label":"yarn"},{"cmd":"pnpm add aria-build","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required peer dependency for SWC-based transformations.","package":"@swc/core","optional":false},{"reason":"Required peer dependency for file system operations within the build process.","package":"aria-fs","optional":false},{"reason":"Required peer dependency for TypeScript compilation and type checking.","package":"typescript","optional":false},{"reason":"Runtime dependency for TypeScript helper functions, specifically version 1.13.0 as recommended.","package":"tslib","optional":false}],"imports":[{"note":"The primary function for programmatic bundling. The package is ESM-first; CommonJS `require` might lead to runtime errors or require specific transpilation setups.","wrong":"const { bundle } = require('aria-build')","symbol":"bundle","correct":"import { bundle } from 'aria-build'"},{"note":"Utility function for cleaning output directories before a build. Follows the same ESM-first import pattern.","wrong":"const { clean } = require('aria-build')","symbol":"clean","correct":"import { clean } from 'aria-build'"},{"note":"TypeScript type definition for configuring programmatic builds. While `import type` is generally preferred for types, `aria-build` exports it directly, so a standard named import is shown in examples. Both might work depending on TS config.","wrong":"import type { TSRollupConfig } from 'aria-build'","symbol":"TSRollupConfig","correct":"import { TSRollupConfig } from 'aria-build'"}],"quickstart":{"code":"import { bundle, clean } from 'aria-build';\nimport path from 'node:path';\n\ninterface Pkg { dependencies?: Record<string, string>; }\n\n(async function() {\n  const pkg: Pkg = (await import(path.resolve(process.cwd(), 'package.json'))).default;\n\n  const external = [\n    ...(pkg.dependencies ? Object.keys(pkg.dependencies) : [])\n  ];\n\n  const config = {\n    input: './src/index.ts',\n    external,\n    output: [\n      {\n        file: './dist/aria-build.es.js',\n        format: 'es'\n      },\n      {\n        file: './dist/aria-build.js',\n        format: 'cjs'\n      }\n    ],\n    tsconfig: {\n      compilerOptions: {\n        declaration: true\n      }\n    }\n  };\n  \n  console.log('Cleaning dist directory...');\n  await clean('dist');\n  console.log('Bundling project...');\n  await bundle({ config, esbuild: true, write: true });\n  console.log('Bundling complete!');\n})().catch(console.error);","lang":"typescript","description":"This quickstart demonstrates how to programmatically bundle a TypeScript project using `aria-build`'s API, including cleaning the output directory, configuring ES and CJS formats, and enabling esbuild for transformations."},"warnings":[{"fix":"Consider evaluating alternative, actively maintained bundlers like Rollup directly, esbuild, or Vite. If using `aria-build`, pin all dependencies to versions known to work with 0.7.4.","message":"The `aria-build` package appears to be abandoned, with no updates in over three years. This means it might not support newer Node.js versions, modern JavaScript/TypeScript features, or latest versions of its peer dependencies (e.g., TypeScript 5.x).","severity":"gotcha","affected_versions":">=0.7.4"},{"fix":"Always pin exact versions (`\"aria-build\": \"0.7.4\"`) to ensure consistent builds and thoroughly test after any updates.","message":"As a 0.x version package, `aria-build` does not adhere to semantic versioning for breaking changes, meaning any minor release (e.g., 0.7.x to 0.8.x) could introduce breaking changes without a major version increment. Given its abandoned status, this is less about future changes and more about potential instability if you were to downgrade/upgrade to other 0.x versions.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Ensure your `tslib` version matches the one recommended by `aria-build` (`1.13.0`). If you encounter issues, verify `tslib` compatibility with your project's TypeScript version and other dependencies. You might need to use `resolutions` or `overrides` in your `package.json`.","message":"The installation instructions explicitly recommend `tslib@1.13.0`. This older version might conflict with newer TypeScript versions or other project dependencies that expect a more recent `tslib`. Using an incompatible `tslib` can lead to runtime errors or incorrect transpilation.","severity":"gotcha","affected_versions":">=0.7.4"},{"fix":"No direct fix for users, but it's a strong indicator to proceed with caution and consider alternatives for long-term projects.","message":"The project's README still displays Travis CI and Coveralls badges, which are often indicative of projects that have not updated their CI/CD pipelines in several years. This reinforces the assessment of the project being unmaintained.","severity":"deprecated","affected_versions":">=0.7.4"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Install all required peer dependencies: `npm install --save-dev typescript @swc/core aria-fs`.","cause":"One or more of `aria-build`'s peer dependencies are not installed in the project.","error":"Error: Cannot find module 'typescript' or module 'aria-fs' or module '@swc/core'"},{"fix":"Use ES module import syntax: `import { bundle, clean } from 'aria-build';`.","cause":"Attempting to use a CommonJS `require()` statement for `aria-build` in a context where it's primarily an ESM package, leading to incorrect module resolution.","error":"TypeError: (0 , aria_build_1.bundle) is not a function"},{"fix":"Install the specific version of `tslib` recommended by `aria-build`: `npm install --save-dev tslib@1.13.0`.","cause":"The `tslib` package, required by TypeScript for certain helper functions, is missing or an incompatible version is installed.","error":"TS2307: Cannot find module 'tslib' or its corresponding type declarations."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null}