@zoboz/bam v1.3.0
@zoboz/bam
Blazing-fast Automation Module (BAM) for your JavaScript/TypeScript projects. This package delivers Zoboz's powerful safety checks and shimming features without forcing you into a specific orchestration flow.
What is @zoboz/bam?
@zoboz/bam is the lightweight, high-performance core of Zoboz's functionality, designed for developers who want maximum flexibility. It provides essential features like:
- Dependency validation: Ensure your
package.jsonstays clean and consistent. - Shimming: Smooth over common inconsistencies between different environments.
- Safety checks: Guard against common mistakes in project configurations.
All of this without dictating how you should orchestrate your workflows.
How is @zoboz/bam different from @zoboz/core?
| Feature | @zoboz/bam | @zoboz/core |
|---|---|---|
| Orchestration | Manual, you control the flow | Automated, handles everything out of the box |
| Performance | Optimized, minimal overhead | Slightly heavier due to orchestration layer |
| Flexibility | Total, use what you need | Less flexible, but convenient |
| Dependencies | Lean, no extra bloat | Includes all orchestration dependencies |
| Ideal for | Advanced users, custom workflows | Quick setups, full automation |
When Should You Use @zoboz/bam?
- You want to control the orchestration yourself.
- You only need specific features like safety checks or shimming.
- You’re building a custom pipeline and don't want unnecessary overhead.
- You prefer modular, fast tools over full-stack automation.
If you're looking for a more "plug-and-play" experience where everything is handled for you, check out @zoboz/core.
Compatibility Table (Development Environment)
The following table applies to the development phase of your package. Consumers of your package can rely on even older versions of Node.js if you do not use features unavailable in older versions. Essentially, your package determines Node.js compatibility for its users.
OS & CPU Compatibility
| Operating System | arm64 | x64 |
|---|---|---|
| MacOS | ✅ Fully Native | ✅ Fully Native |
| Linux | ✅ Fully Native | ✅ Fully Native |
| Windows | ✅ Fully Native | ✅ Fully Native |
Installation
npm install -g @zoboz/bamor with Yarn:
yarn global add @zoboz/bamUsage Examples
Reformat Specifiers
Reformat import/export specifiers in your project files.
zoboz-bam reformat-specifiers \
--absolute-package-dir /path/to/your/package \
--absolute-source-dir /path/to/your/src \
--absolute-output-dir /path/to/output \
--output-format esmNotice: the file contents for both absolute-source-dir and absolute-output-dir should already exist. This tool is going to overwrite the needed adjustments in the absolute-output-dir. Think of it more like how a linter with --fix works, but on the generated dist code rather than the source code.
Options:
--absolute-package-dir: Absolute path to yourpackage.jsondirectory.--absolute-source-dir: Absolute path to the actual source code directory.--absolute-output-dir: Absolute path to the already transpiled output, to get reformatted.--output-format: Specify the output format the output is following (dts,esm, orcjs).
Verify package.json
Verify and optionally fix issues in your package.json file.
zoboz-bam verify-package-json \
--absolute-package-dir /path/to/your/package \
--can-update-package-jsonOptions:
--absolute-package-dir: Absolute path to yourpackage.jsondirectory.--can-update-package-json: If included, the tool will automatically fix detected issues.
Why Choose @zoboz/bam?
- Blazing Fast: Minimal overhead, maximum performance.
- Modular: Use exactly what you need, nothing more.
- Customizable: Perfect for advanced users and unique workflows.
If you want automation without sacrificing control, @zoboz/bam is your go-to.
License
MIT License.
For full automation, orchestration, and more out-of-the-box features, check out @zoboz/core.
Happy hacking! 🚀