Skip to content

#254 integrate libs#76

Merged
mumenthalers merged 85 commits intomainfrom
#254-integrate-libs
Mar 12, 2026
Merged

#254 integrate libs#76
mumenthalers merged 85 commits intomainfrom
#254-integrate-libs

Conversation

@mumenthalers
Copy link
Contributor

No description provided.

mumenthalers and others added 30 commits February 5, 2026 10:14
 - @shiftcode/inversify-logger@2.1.0-pr254.0
 - @shiftcode/nest-logger@2.1.0-pr254.0
BREAKING-CHANGE:
newly added to sc-commons-public
BREAKING-CHANGE:
newly added to sc-commons-public
BREAKING-CHANGE:
newly added to sc-commons-public
BREAKING-CHANGE:
newly added to sc-commons-public
BREAKING-CHANGE:
newly added to sc-commons-public
even if there are no test at all
 - @shiftcode/cdk-utilities@0.0.0-pr254.1
 - @shiftcode/iac-utilities@0.0.0-pr254.1
 - @shiftcode/inversify-logger@0.0.0-pr254.1
 - @shiftcode/lambda-utilities@0.0.0-pr254.1
 - @shiftcode/nest-logger@0.0.0-pr254.1
BREAKING-CHANGE:
newly added to sc-commons-public
BREAKING-CHANGE:
newly added to sc-commons-public
 - @shiftcode/airtable-mapper@0.0.0-pr254.2
 - @shiftcode/airtable-syncer@0.0.0-pr254.2
 - @shiftcode/cdk-utilities@0.0.0-pr254.2
 - @shiftcode/iac-utilities@0.0.0-pr254.2
 - @shiftcode/inversify-logger@0.0.0-pr254.2
 - @shiftcode/lambda-utilities@0.0.0-pr254.2
 - @shiftcode/nest-logger@0.0.0-pr254.2
 - @shiftcode/airtable-mapper@1.0.0-pr254.10
 - @shiftcode/airtable-syncer@1.0.0-pr254.10
 - @shiftcode/branch-utilities@6.0.0-pr254.13
 - @shiftcode/cdk-utilities@1.0.0-pr254.10
 - @shiftcode/eslint-config-recommended@7.0.0-pr254.13
 - @shiftcode/eslint-plugin-rules@6.0.0-pr254.13
 - @shiftcode/iac-utilities@1.0.0-pr254.10
 - @shiftcode/inversify-logger@1.0.0-pr254.10
 - @shiftcode/lambda-utilities@1.0.0-pr254.10
 - @shiftcode/logger@5.0.0-pr254.13
 - @shiftcode/nest-logger@1.0.0-pr254.10
 - @shiftcode/publish-helper@6.0.0-pr254.13
 - @shiftcode/utilities@5.0.0-pr254.13
@michaelwittwer michaelwittwer requested a review from Copilot March 11, 2026 06:46
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Integrates multiple internal libraries into the monorepo while standardizing tooling (Vitest, ESLint flat config, Prettier, lint-staged, commitlint) and introducing new packages/utilities.

Changes:

  • Migrates tests from Jest to Vitest across packages (configs + spec updates) and introduces shared tsconfig.spec.json usage.
  • Adds new packages (@shiftcode/nest-logger, @shiftcode/inversify-logger, @shiftcode/lambda-utilities, @shiftcode/iac-utilities, @shiftcode/airtable-*, @shiftcode/cdk-utilities) and new utilities (e.g., uniqueWith).
  • Reworks repo/tooling configuration (Prettier config, lint-staged, commitlint, ESLint recommended config updates, Node engine/version updates, CI matrix changes).

Reviewed changes

Copilot reviewed 291 out of 303 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
tsconfig.jest.json Removes Jest-specific TS config (part of Vitest migration).
prettier.config.js Adds repo-wide Prettier config in JS.
lint-staged.config.js Adds root lint-staged config.
commitlint.config.js Adds commitlint config using conventional preset.
package.json Updates root tooling deps (adds Vitest, updates commitlint, moves lerna/tslib).
README.md Expands package list + adds utility command docs.
.prettierrc.yml Removes old YAML Prettier config.
.prettierignore Removes ignore file (previously ignored dist/).
.lintstagedrc.yml Removes old YAML lint-staged config.
.commitlintrc.yml Removes old YAML commitlint config.
.github/workflows/main.yml Updates CI Node matrix + publication permissions/token handling.
packages/utilities/vitest.config.js Adds per-package Vitest config forwarding to root config.
packages/utilities/tsconfig.spec.json Adds spec TS config extending root tsconfig.spec.json.
packages/utilities/tsconfig.lint.json Switches to shared lint TS config + broader include.
packages/utilities/tsconfig.json Simplifies tsconfig compilerOptions.
packages/utilities/src/lib/**.spec.ts Migrates Jest it to Vitest test + adds Vitest imports.
packages/utilities/src/lib/array/unique-with.function.ts Adds uniqueWith utility implementation.
packages/utilities/src/lib/array/unique-with.function.spec.ts Adds tests for uniqueWith.
packages/utilities/src/index.ts Exports uniqueWith.
packages/utilities/package.json Switches scripts to Vitest/Prettier/ESLint conventions + bumps version/engine.
packages/utilities/lint-staged.config.js Adds package lint-staged config.
packages/utilities/jest.config.js Removes Jest config.
packages/utilities/eslint.config.js Adds ESLint flat config using shared recommended preset.
packages/utilities/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/publish-helper/vitest.config.js Adds per-package Vitest config.
packages/publish-helper/tsconfig.spec.json Adds spec TS config.
packages/publish-helper/tsconfig.lint.json Switches to shared lint TS config.
packages/publish-helper/tsconfig.json Simplifies tsconfig compilerOptions.
packages/publish-helper/tsconfig.jest.json Removes Jest TS config.
packages/publish-helper/src/publish-lib.ts Removes global no-console eslint disable.
packages/publish-helper/src/prepare-dist.ts Removes global no-console eslint disable.
packages/publish-helper/src/prepare-dist.spec.ts Migrates to Vitest imports.
packages/publish-helper/src/helpers.ts Removes global no-console eslint disable.
packages/publish-helper/package.json Switches to Vitest + bumps deps/versions/engine.
packages/publish-helper/lint-staged.config.js Adds lint-staged config.
packages/publish-helper/jest.config.js Removes Jest config.
packages/publish-helper/eslint.config.js Adds ESLint flat config with no-console override.
packages/publish-helper/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/nest-logger/vitest.config.js Adds per-package Vitest config.
packages/nest-logger/tsconfig.spec.json Adds spec TS config (decorators metadata).
packages/nest-logger/tsconfig.lint.json Adds lint TS config.
packages/nest-logger/tsconfig.json Adds build TS config.
packages/nest-logger/test/mock-log.transport.ts Adds a mock transport for tests.
packages/nest-logger/src/services/logger.service.ts Adds Nest-facing LoggerService wrapper for @shiftcode/logger.
packages/nest-logger/src/services/logger.service.spec.ts Adds module/service tests using Nest testing utils.
packages/nest-logger/src/module/logger.module.ts Adds Nest dynamic module to wire transports + transient logger injection.
packages/nest-logger/src/model/nest-logger.ts Adds Nest LoggerService adapter for @shiftcode/logger.
packages/nest-logger/src/index.ts Exports module + service.
packages/nest-logger/package.json Introduces new package manifest (deps/exports/scripts).
packages/nest-logger/lint-staged.config.js Adds lint-staged config.
packages/nest-logger/eslint.config.js Adds ESLint flat config.
packages/nest-logger/README.md Adds package README/usage docs.
packages/logger/vitest.config.js Adds per-package Vitest config.
packages/logger/tsconfig.spec.json Adds spec TS config.
packages/logger/tsconfig.lint.json Switches to shared lint TS config.
packages/logger/tsconfig.json Simplifies tsconfig compilerOptions.
packages/logger/tsconfig.jest.json Removes Jest TS config.
packages/logger/test/console-mock.function.ts Migrates console mocking from Jest to Vitest.
packages/logger/src/**.spec.ts Migrates Jest tests to Vitest.
packages/logger/src/testing/spy-log.transport.ts Migrates mock fn from Jest to Vitest.
packages/logger/package.json Switches to Vitest + adjusts exports/license/versions/engine.
packages/logger/lint-staged.config.js Adds lint-staged config.
packages/logger/jest.config.js Removes Jest config.
packages/logger/eslint.config.js Adds ESLint flat config.
packages/logger/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/lambda-utilities/vitest.config.js Adds per-package Vitest config.
packages/lambda-utilities/tsconfig.spec.json Adds spec TS config (decorators metadata).
packages/lambda-utilities/tsconfig.lint.json Adds lint TS config.
packages/lambda-utilities/tsconfig.json Adds build TS config.
packages/lambda-utilities/src/ssm/index.ts Adds SSM subpath export.
packages/lambda-utilities/src/ssm/fetch-ssm-string-param-value.function.ts Adds Lambda extension-based SSM parameter fetcher.
packages/lambda-utilities/src/s3/index.ts Adds S3 subpath export.
packages/lambda-utilities/src/lib/is-aws-lambda-env.function.ts Adds helper to detect Lambda runtime env.
packages/lambda-utilities/src/index.ts Adds main exports.
packages/lambda-utilities/package.json Introduces new package manifest (exports/scripts/peer deps).
packages/lambda-utilities/lint-staged.config.js Adds lint-staged config.
packages/lambda-utilities/README.md Adds package README/exports description.
packages/inversify-logger/vitest.config.js Adds per-package Vitest config.
packages/inversify-logger/tsconfig.spec.json Adds spec TS config (decorators metadata).
packages/inversify-logger/tsconfig.lint.json Adds lint TS config.
packages/inversify-logger/tsconfig.json Adds build TS config.
packages/inversify-logger/test/mock-log.transport.ts Adds mock transport for tests.
packages/inversify-logger/src/utils/log-transport-helper.ts Adds helper to bind transports into Inversify container.
packages/inversify-logger/src/utils/log-transport-helper.spec.ts Adds tests for transport binding helper.
packages/inversify-logger/src/services/logger.service.ts Adds Inversify LoggerService wrapper.
packages/inversify-logger/src/services/logger.service.spec.ts Adds integration-style container tests.
packages/inversify-logger/src/module/logger.module.ts Adds Inversify ContainerModule wiring LoggerService.
packages/inversify-logger/src/index.ts Exports module/service/helper.
packages/inversify-logger/package.json Introduces new package manifest.
packages/inversify-logger/lint-staged.config.js Adds lint-staged config.
packages/inversify-logger/README.md Adds package README/usage docs.
packages/iac-utilities/vitest.config.js Adds per-package Vitest config.
packages/iac-utilities/tsconfig.spec.json Adds spec TS config.
packages/iac-utilities/tsconfig.lint.json Adds lint TS config.
packages/iac-utilities/tsconfig.json Adds build TS config (JSON modules etc.).
packages/iac-utilities/test/*.json Adds schema fixtures for Ajv tests.
packages/iac-utilities/test/*.test.ts Adds JSON schema validation tests (Vitest).
packages/iac-utilities/src/*.ts Adds CLI entrypoints for scripts (yargs-based).
packages/iac-utilities/src/scripts/*.ts Adds various AWS/IaC automation utilities + helpers.
packages/iac-utilities/src/json-schemas/*.json Adds JSON schemas for config validation.
packages/iac-utilities/src/base/** Adds base runtime/IaC utilities + tests.
packages/iac-utilities/package.json Introduces new package manifest with bins and scripts.
packages/iac-utilities/lint-staged.config.js Adds lint-staged config.
packages/iac-utilities/eslint.config.js Adds ESLint flat config with no-console override.
packages/iac-utilities/README.md Adds package docs and script usage.
packages/eslint-plugin-rules/vitest.config.js Adds Vitest config with increased timeouts.
packages/eslint-plugin-rules/tsconfig.spec.json Adds spec TS config.
packages/eslint-plugin-rules/tsconfig.lint.json Switches to shared lint TS config.
packages/eslint-plugin-rules/tsconfig.json Removes outDir/declarationDir overrides (build relies on base).
packages/eslint-plugin-rules/test/rule-tester.ts Reworks RuleTester wiring to Vitest + ESM dir handling.
packages/eslint-plugin-rules/src/rules/* Updates spec imports + adds new rule no-spread-array-math.
packages/eslint-plugin-rules/src/index.ts Registers new rule in plugin exports.
packages/eslint-plugin-rules/package.json Switches from Jest to Vitest + license/version updates.
packages/eslint-plugin-rules/lint-staged.config.js Adds lint-staged config.
packages/eslint-plugin-rules/jest.config.js Removes Jest config.
packages/eslint-plugin-rules/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/eslint-config-recommended/tsconfig.lint.json Switches to shared lint TS config.
packages/eslint-config-recommended/tsconfig.json Simplifies tsconfig compilerOptions.
packages/eslint-config-recommended/src/index.ts Adds default ignores + refactors “test/non-src” rule relaxations.
packages/eslint-config-recommended/package.json Switches scripts + bumps plugin dependency version/license/engine.
packages/eslint-config-recommended/lint-staged.config.js Adds lint-staged config.
packages/eslint-config-recommended/README.md Updates sample config filename.
packages/eslint-config-recommended/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/cdk-utilities/vitest.config.js Adds per-package Vitest config.
packages/cdk-utilities/tsconfig.spec.json Switches to root tsconfig.spec.json.
packages/cdk-utilities/tsconfig.lint.json Adds lint TS config.
packages/cdk-utilities/tsconfig.json Adds build TS config.
packages/cdk-utilities/src/lib/utils/* Adds CloudFront function generators + types + tests.
packages/cdk-utilities/src/lib/*.ts Adds new CDK constructs/utilities.
packages/cdk-utilities/src/index.ts Exports new constructs/utilities.
packages/cdk-utilities/package.json Introduces new package manifest.
packages/cdk-utilities/lint-staged.config.js Adds lint-staged config.
packages/cdk-utilities/eslint.config.js Adds ESLint flat config with internal module allowlist.
packages/cdk-utilities/README.md Adds package README.
packages/branch-utilities/vitest.config.js Adds per-package Vitest config.
packages/branch-utilities/tsconfig.spec.json Switches to root tsconfig.spec.json.
packages/branch-utilities/tsconfig.lint.json Switches to shared lint TS config.
packages/branch-utilities/tsconfig.json Simplifies tsconfig compilerOptions.
packages/branch-utilities/src/lib/base.utils.spec.ts Migrates to Vitest imports.
packages/branch-utilities/package.json Switches scripts to Vitest + bumps version/engine.
packages/branch-utilities/lint-staged.config.js Adds lint-staged config.
packages/branch-utilities/jest.config.js Removes Jest config.
packages/branch-utilities/.lintstagedrc.yml Removes old lint-staged YAML config.
packages/airtable-syncer/vitest.config.js Adds Vitest config with SWC plugin + setup file.
packages/airtable-syncer/tsconfig.*.json Adds build/lint/spec TS configs.
packages/airtable-syncer/test/** Adds test setup, mocks, and fixtures.
packages/airtable-syncer/src/** Introduces Airtable sync services/module/config/models/static helpers + tests.
packages/airtable-syncer/package.json Introduces new package manifest.
packages/airtable-syncer/lint-staged.config.js Adds lint-staged config.
packages/airtable-syncer/eslint.config.js Adds ESLint flat config with unsafe TS rule relaxations.
packages/airtable-syncer/README.md Adds package README/usage docs.
packages/airtable-mapper/vitest.config.js Adds per-package Vitest config.
packages/airtable-mapper/tsconfig.*.json Adds build/lint/spec TS configs.
packages/airtable-mapper/src/** Introduces mapping/models/converters/public API + tests.
packages/airtable-mapper/package.json Introduces new package manifest.
packages/airtable-mapper/lint-staged.config.js Adds lint-staged config.
packages/airtable-mapper/README.md Adds package README/positioning docs.
Comments suppressed due to low confidence (2)

.prettierignore:1

  • dist/ was previously ignored by Prettier; removing .prettierignore means npm run format (prettier --write .) may start formatting generated build output, slowing formatting and creating noisy diffs. Re-introduce a Prettier ignore for dist/** (and any other build artifacts) or pass an ignore file/path explicitly.
    package.json:38
  • The workflow now tests Node 24 and 25, but the root engines.node only allows 22.x. This mismatch can cause confusing warnings or failures in environments that enforce engines. Either widen the root engine range to include the tested versions, or adjust the CI matrix to match the supported range.
  "engines": {
    "node": "^22.15.0"
  }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

mumenthalers and others added 12 commits March 12, 2026 13:21
…et runtime in documentation

BREAKING CHANGE:
- node@v24 runtime requires
 - @shiftcode/airtable-mapper@1.0.0-pr254.11
 - @shiftcode/airtable-syncer@1.0.0-pr254.11
 - @shiftcode/branch-utilities@6.0.0-pr254.14
 - @shiftcode/cdk-utilities@1.0.0-pr254.11
 - @shiftcode/eslint-config-recommended@7.0.0-pr254.14
 - @shiftcode/eslint-plugin-rules@6.0.0-pr254.14
 - @shiftcode/iac-utilities@1.0.0-pr254.11
 - @shiftcode/inversify-logger@1.0.0-pr254.11
 - @shiftcode/lambda-utilities@1.0.0-pr254.11
 - @shiftcode/logger@5.0.0-pr254.14
 - @shiftcode/nest-logger@1.0.0-pr254.11
 - @shiftcode/publish-helper@6.0.0-pr254.14
 - @shiftcode/utilities@5.0.0-pr254.14
BREAKING CHANGE:
- getGhToken dropped in favor of tryGetGhToken and getGhTokenOrThrow
 - @shiftcode/airtable-mapper@1.0.0-pr254.12
 - @shiftcode/airtable-syncer@1.0.0-pr254.12
 - @shiftcode/branch-utilities@6.0.0-pr254.15
 - @shiftcode/cdk-utilities@1.0.0-pr254.12
 - @shiftcode/eslint-config-recommended@7.0.0-pr254.15
 - @shiftcode/eslint-plugin-rules@6.0.0-pr254.15
 - @shiftcode/iac-utilities@1.0.0-pr254.12
 - @shiftcode/inversify-logger@1.0.0-pr254.12
 - @shiftcode/lambda-utilities@1.0.0-pr254.12
 - @shiftcode/logger@5.0.0-pr254.15
 - @shiftcode/nest-logger@1.0.0-pr254.12
 - @shiftcode/publish-helper@6.0.0-pr254.15
 - @shiftcode/utilities@5.0.0-pr254.15
@michaelwittwer michaelwittwer self-requested a review March 12, 2026 13:35
Copilot AI review requested due to automatic review settings March 12, 2026 13:42
 - @shiftcode/airtable-mapper@1.0.0-pr254.13
 - @shiftcode/airtable-syncer@1.0.0-pr254.13
 - @shiftcode/branch-utilities@6.0.0-pr254.16
 - @shiftcode/cdk-utilities@1.0.0-pr254.13
 - @shiftcode/eslint-config-recommended@7.0.0-pr254.16
 - @shiftcode/eslint-plugin-rules@6.0.0-pr254.16
 - @shiftcode/iac-utilities@1.0.0-pr254.13
 - @shiftcode/inversify-logger@1.0.0-pr254.13
 - @shiftcode/lambda-utilities@1.0.0-pr254.13
 - @shiftcode/logger@5.0.0-pr254.16
 - @shiftcode/nest-logger@1.0.0-pr254.13
 - @shiftcode/publish-helper@6.0.0-pr254.16
 - @shiftcode/utilities@5.0.0-pr254.16
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 292 out of 311 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

mumenthalers and others added 4 commits March 12, 2026 15:20
 - @shiftcode/airtable-mapper@1.0.0-pr254.14
 - @shiftcode/airtable-syncer@1.0.0-pr254.14
 - @shiftcode/branch-utilities@6.0.0-pr254.17
 - @shiftcode/cdk-utilities@1.0.0-pr254.14
 - @shiftcode/eslint-config-recommended@7.0.0-pr254.17
 - @shiftcode/eslint-plugin-rules@6.0.0-pr254.17
 - @shiftcode/iac-utilities@1.0.0-pr254.14
 - @shiftcode/inversify-logger@1.0.0-pr254.14
 - @shiftcode/lambda-utilities@1.0.0-pr254.14
 - @shiftcode/logger@5.0.0-pr254.17
 - @shiftcode/nest-logger@1.0.0-pr254.14
 - @shiftcode/publish-helper@6.0.0-pr254.17
 - @shiftcode/utilities@5.0.0-pr254.17
Copilot AI review requested due to automatic review settings March 12, 2026 14:26
@mumenthalers mumenthalers review requested due to automatic review settings March 12, 2026 14:26
@mumenthalers mumenthalers merged commit 4335319 into main Mar 12, 2026
@mumenthalers mumenthalers deleted the #254-integrate-libs branch March 12, 2026 14:28
@michaelwittwer michaelwittwer linked an issue Mar 12, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Node 24

4 participants