Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
3cd8138
chore(deps): add deps for newly added libs
mumenthalers Feb 5, 2026
f246a82
build: add postbuild script to make the scripts executable
mumenthalers Feb 5, 2026
2355173
build: use `npx prepare-dist`
mumenthalers Feb 5, 2026
51b0bae
chore: install vitest
mumenthalers Feb 5, 2026
3ea3d65
feat: introduce nest-logger in sc-commons-public
mumenthalers Feb 5, 2026
7371a88
feat: introduce inversify-logger in sc-commons-public
mumenthalers Feb 5, 2026
cb124d4
build: let tests run
mumenthalers Feb 5, 2026
091fe66
ci: test node 24
mumenthalers Feb 5, 2026
aa83675
ci: use GITHUB_TOKEN for publish
mumenthalers Feb 5, 2026
cf35881
build: add peer deps as dev deps as well
mumenthalers Feb 5, 2026
0995a52
build: fix prepublish step
mumenthalers Feb 5, 2026
59bbf69
build(release): next version [skip_build]
actions-user Feb 5, 2026
23777c2
chore: add deps for newly added libs
mumenthalers Feb 5, 2026
25d3c81
feat: introduce lambda-utilities
mumenthalers Feb 5, 2026
cd37367
feat: introduce iac-utilities
mumenthalers Feb 5, 2026
694454c
feat: introduce cdk-utilities
mumenthalers Feb 5, 2026
746ed83
feat: introduce nest-logger
mumenthalers Feb 5, 2026
0b1f574
feat: introduce inversify-logger
mumenthalers Feb 5, 2026
fc3efc7
test: let tests run
mumenthalers Feb 5, 2026
6409b17
test: allow tests to run
mumenthalers Feb 5, 2026
151994a
build: add missing dep
mumenthalers Feb 5, 2026
fdbd203
build: install deps
mumenthalers Feb 5, 2026
3ecd41e
test: let tests run
mumenthalers Feb 5, 2026
98237b4
build(release): next version [skip_build]
actions-user Feb 5, 2026
34e87c2
feat: introduce airtable-mapper
mumenthalers Feb 5, 2026
da94f45
feat: introduce airtable-syncer
mumenthalers Feb 5, 2026
f94f67d
chore: add deps for newly added libs
mumenthalers Feb 5, 2026
368ebc9
docs: add badges for newly added libs
mumenthalers Feb 5, 2026
e9e74ca
chore: dev version for peer dep
mumenthalers Feb 5, 2026
4132d58
build(release): next version [skip_build]
actions-user Feb 5, 2026
8acdbd8
fix: allow @ts- comments for spec/test files
mumenthalers Feb 5, 2026
85d5fc1
build: update supported node version
mumenthalers Feb 5, 2026
0df1507
build: missing dev dep
mumenthalers Feb 5, 2026
362fa8a
build(release): next version [skip_build]
actions-user Feb 5, 2026
f9f8c85
feat: add global default ignores
mumenthalers Feb 5, 2026
5ecbbe5
feat: relax rules for non-src and test/spec files
mumenthalers Feb 5, 2026
0d968c0
chore: simplify/align configs
mumenthalers Feb 5, 2026
ad23b9a
build(release): next version [skip_build]
actions-user Feb 5, 2026
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
4 changes: 0 additions & 4 deletions .commitlintrc.yml

This file was deleted.

10 changes: 7 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ jobs:
if: needs.checkExecution.outputs.shouldExecute == 'true'
strategy:
matrix:
# Test with Node.js v20 and v22
# Test with Node.js 22, 24 and v25
node:
- 20
- 22
- 24
- 25
name: Node.js v${{ matrix.node }}
steps:
# checkout branch
Expand All @@ -69,6 +70,9 @@ jobs:
run: npm run test:ci
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
needs: [checkExecution, test]
# only execute if not skipped by commit message
if: needs.checkExecution.outputs.shouldExecute == 'true'
Expand Down Expand Up @@ -112,4 +116,4 @@ jobs:
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GH_TOKEN_PUBLIC_REPO }} # necessary for publish-libs script
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # necessary for publish-libs script
5 changes: 0 additions & 5 deletions .lintstagedrc.yml

This file was deleted.

1 change: 0 additions & 1 deletion .prettierignore

This file was deleted.

5 changes: 0 additions & 5 deletions .prettierrc.yml

This file was deleted.

36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,43 @@

Public helper packages with commonly used utilities / helpers.

<div align="center">
<img src="https://www.shiftcode.ch/assets/svg/logo_shiftcode.svg" width="216" alt="shiftcode logo" />
</div>

> [![@shiftcode/airtable-mapper](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fairtable-mapper%2Fpackage.json&label=%40shiftcode%2Fairtable-mapper)](packages/airtable-mapper) \
> interfaces and classes for airtable mapping

> [![@shiftcode/airtable-syncer](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fairtable-syncer%2Fpackage.json&label=%40shiftcode%2Fairtable-syncer)](packages/airtable-syncer) \
> base utils and services to export airtable and upload to S3

> [![@shiftcode/branch-utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fbranch-utilities%2Fpackage.json&label=%40shiftcode%2Fbranch-utilities)](packages/branch-utilities) \
> functions to read information about the current branch either locally or inside Github actions.

> [![@shiftcode/cdk-utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fcdk-utilities%2Fpackage.json&label=%40shiftcode%2Fcdk-utilities)](packages/cdk-utilities) \
> Constructs for iac with aws-cdk-lib

> [![@shiftcode/eslint-config-recommended](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Feslint-config-recommended%2Fpackage.json&label=%40shiftcode%2Feslint-config-recommended)](packages/eslint-config-recommended) \
> Our recommended config for eslint. We provide two versions, one for usage in node projects and one for Angular.

> [![@shiftcode/eslint-plugin-rules](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Feslint-plugin-rules%2Fpackage.json&label=%40shiftcode%2Feslint-plugin-rules)](packages/eslint-plugin-rules) \
> Contains some custom es lint rules. Those are used in our recommended eslint config.

> [![@shiftcode/logger](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Flogger%2Fpackage.json&label=%40shiftcode%2Flogger)](packages/logger)\
> A logging library configurable with different/multiple transports for your needs.

> [![@shiftcode/inversify-logger](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Finversify-logger%2Fpackage.json&label=%40shiftcode%2Finversify-logger)](packages/inversify-logger)\
> Inversify LogTransport to use with the @shiftcode/logger package.

> [![@shiftcode/iac-utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fiac-utilities%2Fpackage.json&label=%40shiftcode%2Fiac-utilities)](packages/iac-utilities)\
> scripts and util functions for aws iac

> [![@shiftcode/lambda-utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Flambda-utilities%2Fpackage.json&label=%40shiftcode%2Flambda-utilities)](packages/lambda-utilities)\
> Utils for lambda functions

> [![@shiftcode/nest-logger](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fnest-logger%2Fpackage.json&label=%40shiftcode%2Fnest-logger)](packages/nest-logger)\
> NestJS LogTransport to use with the @shiftcode/logger package.

> [![@shiftcode/publish-helper](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fpublish-helper%2Fpackage.json&label=%40shiftcode%2Fpublish-helper)](packages/publish-helper)\
> scripts to prepare and publish libs inside mono-repos with lerna

Expand Down Expand Up @@ -69,3 +97,11 @@ Polyfill can be found here: https://www.npmjs.com/package/regexp-match-indices.

For modern browsers the latest fully supported version is `es2023` (see [can-i-use](https://caniuse.com/?search=es2023))
which therefore is the target for `@shiftcode/utilities` package (see [package README](./packages/utilities/README.md)).

## Utility commands:

Clean up all `dist` folders:

```bash
find ./packages -type d -name "dist" -exec rm -rf {} +
```
12 changes: 12 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* @see https://commitlint.js.org/reference/configuration.html
* @type { import('@commitlint/types').UserConfig }
*/
const config = {
extends: ['@commitlint/config-conventional'],
rules: {
'header-max-length': [2, 'always', 100],
},
}

export default config
10 changes: 10 additions & 0 deletions lint-staged.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* @see https://github.com/lint-staged/lint-staged?tab=readme-ov-file#typescript
* @type { import('lint-staged').Configuration }
*/
const config = {
'package.json': ['npx sort-package-json'],
'*': ['npx prettier --write --ignore-unknown'],
}

export default config
Loading