JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 15
  • Score
    100M100P100Q78414F
  • License ISC

Core functionality for the budget control financial management system

Package Exports

  • budget-control-fm-core

Readme

budget-control-fm-core

Core functionality for the Budget Control Financial Management system.

This package provides shared domain logic and foundational utilities used by the Budget Control ecosystem. It is intended to be consumed by other packages such as ingestion pipelines, classification engines, and runtime adapters.

This package is ESM-only.


Requirements

  • Node.js 20 or later (LTS recommended)
  • An ESM-compatible environment

If your project still uses CommonJS, you must migrate it to ESM before using this library.


Installation

npm install budget-control-fm-core


Usage

Example usage in a TypeScript or ESM project:

import { hello } from "budget-control-fm-core";

console.log(hello());

Output:

Hi budget-control-fm-core


API

hello(): string

Returns a greeting string.

Example:

hello();

Returns:

"Hi budget-control-fm-core"


Development

Clone the repository:

git clone https://github.com/budget-control-fm/budget-control-fm-core.git cd budget-control-fm-core

Install dependencies:

npm install

Available scripts:

npm run dev → Run entrypoint using tsx npm run lint → Lint project using Biome npm run lint:fix → Automatically fix lint issues npm run typecheck → Run TypeScript type checking npm test → Run unit tests npm run test:coverage → Run tests with coverage npm run build → Compile the project npm run clean → Remove build output npm run sonar → Run Sonar analysis npm run format → Format source files


Release Process

This project uses Changesets for versioning and automated publishing.

To create a release:

npx changeset

Commit the generated changeset file and open a pull request.

When the PR is merged:

  1. The Release workflow creates a Version Packages pull request.
  2. That PR updates package.json and CHANGELOG.md.
  3. When the release PR is merged, the package is automatically published to npm.

Contributing

  1. Create a branch
  2. Make your changes
  3. Run the checks:

npm run lint npm run typecheck npm test npm run build

  1. If the change should be released, create a changeset:

npx changeset

  1. Open a pull request to main.

Changelog

See CHANGELOG.md.

This file is automatically generated by Changesets during the release process.


License

ISC