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
38 changes: 34 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,44 @@ jobs:
with:
skipOnCommitMsg: "[skip_build]"
githubToken: ${{ secrets.GITHUB_TOKEN }}
build:
test:
runs-on: ubuntu-latest
needs: checkExecution
# only execute if not skipped by commit message
if: needs.checkExecution.outputs.shouldExecute == 'true'
strategy:
matrix:
# Test with Node.js v20 and v22
node:
- 20
- 22
name: Node.js v${{ matrix.node }}
steps:
# checkout branch
- name: Checkout
uses: actions/checkout@v4
with:
# 0 indicates all history, because publish requires tag information
fetch-depth: 0
# we need privileged access to publish to protected branch
token: ${{ secrets.GH_TOKEN_PUBLIC_REPO }}
# setup node and dependency cache
- name: Setup Node and NPM Cache
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
# install dependencies
- name: Install
run: HUSKY=0 npm ci
# test
- name: Test
run: npm run test:ci
build:
runs-on: ubuntu-latest
needs: [checkExecution, test]
# only execute if not skipped by commit message
if: needs.checkExecution.outputs.shouldExecute == 'true'
steps:
# checkout branch
- name: Checkout
Expand All @@ -63,9 +96,6 @@ jobs:
# lint
- name: Lint
run: npm run lint:ci
# test
- name: Test
run: npm run test:ci
# build
- name: Build
run: npm run build:ci
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v20.11.1
lts/jod
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ We use lerna to manage the packages.
## ES Version
We support two runtimes: `node` and `latest browser versions`.

### Node 20
Node 20 (which is also supported by AWS Lambda) supports [97%](https://node.green/#ES2022) of `es2022` features
### Node 22
Node 22 (which is also supported by AWS Lambda) supports [97%](https://node.green/#ES2022) of `es2022` features
(no version supports 100%) and [100%](https://node.green/#ES2023) of `es2023` features.
The only `es2022` feature that is currently not supported and needs a polyfill when using it is
[RegExp Match Indices (shows up in flags)](https://node.green/#ES2022-features-RegExp-Match-Indices---hasIndices-----d--flag-) (see [2ality blog](https://2ality.com/2019/12/regexp-match-indices.html) for insights).
Expand Down
63 changes: 43 additions & 20 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"@commitlint/config-angular": "^19.3.0",
"@commitlint/prompt-cli": "^19.3.1",
"@types/jest": "^29.5.12",
"@types/node": "^20.11.1",
"@types/node": "^22.15.0",
"eslint": "^8.56.0",
"husky": "^9.0.11",
"jest": "^29.7.0",
Expand All @@ -37,6 +37,6 @@
"typescript": "^5.5.3"
},
"engines": {
"node": ">=20.11.1"
"node": "^22.15.0"
}
}
8 changes: 6 additions & 2 deletions packages/branch-utilities/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import {pathsToModuleNameMapper} from 'ts-jest'
import tsConfig from './tsconfig.jest.json' assert {type: 'json'}
/* eslint-env node,es2023 */
/* eslint-disable import/no-extraneous-dependencies */
import { pathsToModuleNameMapper } from 'ts-jest'
import { readFileSync } from 'node:fs'

const tsConfig = JSON.parse(readFileSync('./tsconfig.jest.json', 'utf-8'))

export default {
testEnvironment: 'node',
Expand Down
5 changes: 4 additions & 1 deletion packages/branch-utilities/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/branch-utilities",
"version": "3.1.0",
"version": "4.0.0-pr45.2",
"description": "Utilities for local and ci to get branch name and stage",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "MIT",
Expand Down Expand Up @@ -31,6 +31,9 @@
"peerDependencies": {
"tslib": "^2.3.0"
},
"engines": {
"node": "^20.0.0 || ^22.0.0"
},
"publishConfig": {
"directory": "dist"
}
Expand Down
7 changes: 5 additions & 2 deletions packages/eslint-config-recommended/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/eslint-config-recommended",
"version": "3.0.0",
"version": "4.0.0-pr45.2",
"description": "default shiftcode config for eslint",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "UNLICENSED",
Expand Down Expand Up @@ -36,7 +36,7 @@
"test:ci": "npm run test"
},
"dependencies": {
"@shiftcode/eslint-plugin-rules": "^3.0.0",
"@shiftcode/eslint-plugin-rules": "^4.0.0-pr45.2",
"@typescript-eslint/eslint-plugin": "^8.18.0",
"@typescript-eslint/parser": "^8.18.0",
"eslint": "^8.56.0",
Expand Down Expand Up @@ -68,6 +68,9 @@
"optional": true
}
},
"engines": {
"node": "^20.0.0 || ^22.0.0"
},
"publishConfig": {
"directory": "dist"
}
Expand Down
5 changes: 4 additions & 1 deletion packages/eslint-plugin-rules/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/eslint-plugin-rules",
"version": "3.0.0",
"version": "4.0.0-pr45.2",
"description": "eslint-rules for shiftcode-specific eslint rules",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "UNLICENSED",
Expand Down Expand Up @@ -36,6 +36,9 @@
"peerDependencies": {
"eslint": "^8.56.0"
},
"engines": {
"node": "^20.0.0 || ^22.0.0"
},
"publishConfig": {
"directory": "dist"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/logger/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-env node,es2023 */
// eslint-disable-next-line import/no-extraneous-dependencies
/* eslint-disable import/no-extraneous-dependencies */
import { pathsToModuleNameMapper } from 'ts-jest'
import { readFileSync } from 'node:fs'

Expand Down
10 changes: 8 additions & 2 deletions packages/logger/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/logger",
"version": "1.1.0",
"version": "2.0.0-pr45.2",
"description": "logger for local and aws lambda execution",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "UNLICENSED",
Expand Down Expand Up @@ -34,8 +34,14 @@
"test:ci": "npm run test",
"test:watch": "npm run test -- --watch"
},
"devDependencies": {
"@shiftcode/utilities": "^4.0.0-pr45.2"
},
"peerDependencies": {
"@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3"
"@shiftcode/utilities": "^4.0.0 || ^4.0.0-pr45"
},
"engines": {
"node": "^20.0.0 || ^22.0.0"
},
"publishConfig": {
"directory": "dist"
Expand Down
8 changes: 6 additions & 2 deletions packages/publish-helper/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import {pathsToModuleNameMapper} from 'ts-jest'
import tsConfig from './tsconfig.jest.json' assert {type: 'json'}
/* eslint-env node,es2023 */
/* eslint-disable import/no-extraneous-dependencies */
import { pathsToModuleNameMapper } from 'ts-jest'
import { readFileSync } from 'node:fs'

const tsConfig = JSON.parse(readFileSync('./tsconfig.jest.json', 'utf-8'))

export default {
testEnvironment: 'node',
Expand Down
9 changes: 6 additions & 3 deletions packages/publish-helper/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/publish-helper",
"version": "3.1.0",
"version": "4.0.0-pr45.2",
"description": "scripts for conventional (pre)releases",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "MIT",
Expand Down Expand Up @@ -30,14 +30,17 @@
"yargs": "^17.7.2"
},
"devDependencies": {
"@shiftcode/branch-utilities": "^3.1.0",
"@shiftcode/branch-utilities": "^4.0.0-pr45.2",
"@types/yargs": "^17.0.32"
},
"peerDependencies": {
"@shiftcode/branch-utilities": "^3.0.0 || ^3.0.0-pr28",
"@shiftcode/branch-utilities": "^4.0.0 || ^4.0.0-pr45",
"lerna": "^8.1.6",
"tslib": "^2.3.0"
},
"engines": {
"node": "^20.0.0 || ^22.0.0"
},
"publishConfig": {
"directory": "dist"
}
Expand Down
Loading