@aem-kit/shared

v2.1.0

Published

Shared utilities for the AEM Enterprise Engineering Kit.

Readme

@aem-kit/shared

Shared utilities used across the AEM Enterprise Engineering Kit: logging, process execution, filesystem helpers, name casing, and project-config resolution. Zero heavy dependencies (just picocolors).

API

import {
  log,                       // consistent CLI logger
  run, capture, which,       // process helpers
  ensureDir, writeFileSafe,  // fs helpers (non-destructive writes)
  copyDir, renderTemplate, renderTree,
  findProjectRoot, readProjectConfig, writeProjectConfig, CONFIG_FILE,
  toPascalCase, toKebabCase, toCamelCase, toTitleCase,
} from "@aem-kit/shared";
  • findProjectRoot(cwd) — walks up for .aemkit.json or a reactor pom.xml + core/.
  • writeFileSafe(path, content, { force }) — skips existing files unless force, so generators are idempotent.
  • copyDir(src, dest, { vars, force }) — recursive copy with {{token}} substitution in file contents and path segments; skips build artifacts (node_modules, target, dist, .git).
  • naming helpers normalize any of hero-banner / heroBanner / Hero Banner.

Related packages

| Package | Purpose | |---------|---------| | @aem-kit/create-project | Scaffold a new AEM project | | aem-kit | The aem CLI — generators, doctor, deploy | | @aem-kit/generators | Component / model / servlet / service generators | | @aem-kit/templates | AEM project templates (Monolith, Multi-repo, React, Angular, Spring Boot) | | @aem-kit/shared | Shared utilities (this package) |

License

MIT