@breadstone-infrastructure/utilities
v0.0.221
Published
Common utility classes and functions
Readme
📦 @breadstone-infrastructure/utilities
| Package Status | Source |
|----------------|--------|
| | infra/utilities |
Common utility classes and functions for Breadstone projects. CLI framework, file system, logging, DI, and more for Node.js/TypeScript monorepos.
📁 Project Structure
Part of the monorepo mosaik
Package path: infra/utilities
Version: see npm
License: MIT
📦 Installation
yarn add @breadstone-infrastructure/utilities
# or
npm install @breadstone-infrastructure/utilities🔧 Usage
Import and use utilities in your TypeScript/Node.js projects:
import { Program, Logger, File, Directory, Path, ConsoleLogger } from '@breadstone-infrastructure/utilities';
// CLI Example
class MyCli extends Program {
// ...
}
// Logging Example
Logger.configure({ isDebug: true });
Logger.instance().logInfo('Hello, world!');
// File System Example
const files = File.glob('src/**/*.ts');
const content = File.readAllText(files[0]);⚙️ Features
- CLI framework for robust CLI tools
- File system utilities for files, directories, globs, JSON, RESX, templates, etc.
- Flexible logger with colorized output and advanced formatting
- Lightweight DI container
- System utilities for strings, arrays, numbers, formatting, and more
- TypeScript-first, modern codebase
- Nx Workspace integration
🛠 Recommendations
- Use with other Breadstone packages for CLI and automation tools.
- Integrate into your Nx workspace for shared utilities.
📦 Publishing
yarn nx run utilities:publish📄 License
MIT © Breadstone
Example: CLI Program
import { Program, ProgramCommandBase } from '@breadstone-infrastructure/utilities';
class HelloCommand extends ProgramCommandBase {
get name() { return 'hello'; }
get args() { return []; }
async execute() {
console.log('Hello from CLI!');
return { canceled: false, result: undefined };
}
}
class MyCli extends Program {
constructor() {
super({ description: 'My CLI' });
this.commands.register('hello', HelloCommand);
}
}
new MyCli().init().then(cli => cli.run());Nx Workspace
This package is part of the Breadstone Nx monorepo. Use Nx for building, testing, and managing dependencies:
npx nx run utilities:build
npx nx run utilities:testDevelopment
- Written in TypeScript.
- Linting:
yarn lint - Testing:
yarn test - Build:
yarn build
License
MIT © Breadstone
