Aberlaas
raw JSON → 2.27.4 verified Fri May 01 auth: no javascript
Scaffold JavaScript projects with a zero-config setup for testing (Jest), linting (ESLint + Prettier), and release (semantic-release). Version 2.27.x, active development. Differentiator: opinionated all-in-one toolkit that enforces modern JS practices, including CI scripts and precommit hooks, reducing decision fatigue for new projects. Requires Node >=22.18.0.
Common errors
error Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'aberlaas' imported from ... ↓
cause Package not installed or not in node_modules.
fix
Run 'npm install aberlaas' or 'yarn add aberlaas'.
error SyntaxError: Unexpected token 'export' ↓
cause Running ESM code in a CommonJS context without 'type': 'module'.
fix
Add "type": "module" to package.json or rename file to .mjs.
error TypeError: init is not a function ↓
cause Using default import instead of named import.
fix
Use 'import { init } from 'aberlaas'' instead of 'import init from 'aberlaas''.
Warnings
breaking v2 drops CommonJS support entirely. All imports must be ESM. ↓
fix Use import syntax and ensure package.json has "type": "module".
breaking Minimum Node version raised to 22.18.0 in v2.27.4. ↓
fix Upgrade Node to >=22.18.0 or pin to earlier version.
deprecated The 'precommit' option was removed in v2. Use 'lint-staged' instead. ↓
fix Configure lint-staged in your project instead of using the 'precommit' flag.
gotcha Initialization overwrites files without confirmation: package.json, eslint config, jest config. ↓
fix Backup existing files before running init, or specify a fresh directory.
gotcha The 'release' command uses semantic-release-preset and requires a proper CI environment (GitHub Actions). Local dry-run may fail if GITHUB_TOKEN is missing. ↓
fix Set GITHUB_TOKEN environment variable or run with 'dryRun: false' only in CI.
Install
npm install aberlaas yarn add aberlaas pnpm add aberlaas Imports
- init wrong
const { init } = require('aberlaas')correctimport { init } from 'aberlaas' - lint wrong
import lint from 'aberlaas'correctimport { lint } from 'aberlaas' - test wrong
import { runTests } from 'aberlaas'correctimport { test } from 'aberlaas'
Quickstart
import { init, lint, test, release } from 'aberlaas';
// Initialize a new project
await init({ name: 'my-project', cwd: './my-project' });
// Run lint
await lint({ fix: true });
// Run tests
await test({ coverage: true });
// Release
await release({ dryRun: true });
console.log('Done!');