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.

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''.
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.
npm install aberlaas
yarn add aberlaas
pnpm add aberlaas

Shows main exports: init, lint, test, release. Assumes Node >=22.18.0 with ESM.

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!');