Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 37 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,56 @@
# core
# @org-quicko/core

Foundational Node.js library built with TypeScript used across Quicko.
Foundational TypeScript library used across Quicko for shared beans, types, utilities, logger helpers, and exceptions.

## Installation

```bash
npm install @org-quicko/core
```

## Local Development

```bash
npm ci
npm run lint
npm run build
npm run test
```

## Release Flow

This repository uses GitHub Actions to separate pull request validation, release drafting, and npm publishing.
This repo uses GitHub Actions for:

- pull request validation
- release drafting on `main`
- npm publish when a GitHub release is published

- Pull requests run install, date util tests, and build validation.
- Pushes to `main` update the next draft release using Release Drafter.
- Publishing happens only when a GitHub release is published.
- PR titles are used directly in the drafted release notes, so keep them clear and specific.
- PR labels influence both release note grouping and version bump resolution.
PR titles are used in release notes, and labels (`major`, `minor`, `patch`) drive the draft version bump.

### Publishing A New Version
## Publishing

1. Update the version in `package.json`.
1. Update `package.json` version.
2. Merge the change into `main`.
3. Review the drafted GitHub release.
4. Publish the release with a tag that matches the package version, for example `v2.0.4`.
3. Review the draft release on GitHub.
4. Publish the release with a tag that matches the package version.

Example:

- `package.json`: `2.0.5`
- release tag: `v2.0.5`

When the release is published, GitHub Actions will:

- verify the release tag matches `package.json`
- run install, tests, and build
- skip publish if that version already exists on npm
- publish the package to npm using the configured `NPM_TOKEN`
- publish to npm with provenance enabled

## Requirements

- GitHub Actions secret: `NPM_TOKEN`
- correct `package.json` metadata:
- `repository.url`
- `homepage`
- `bugs.url`

If repository metadata does not match `https://github.com/org-quicko/core-js`, npm provenance validation can fail.
8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@
"version": "2.0.6",
"description": "A library in typescript for common entities and utilities across Quicko",
"author": "Quicko",
"repository": {
"type": "git",
"url": "https://github.com/org-quicko/core-js"
},
"homepage": "https://github.com/org-quicko/core-js",
"bugs": {
"url": "https://github.com/org-quicko/core-js/issues"
},
"main": "dist/cjs/build/node/index.cjs",
"module": "dist/esm/build/node/index.js",
"browser": "dist/browser/build/browser/index.js",
Expand Down
Loading