This file documents forced dependency resolutions in the root package.json and their reasons.
The goal is to minimize resolutions and remove them when no longer needed.
- Forced version:
^29 - Reason: Consistency — ensures all workspace packages and transitive dependencies resolve to the same Jest 29.x version, preventing version mismatches across the monorepo.
- Parent packages: All 5 workspace services,
@axinom/mosaic-graphql-common,@axinom/mosaic-service-common,jest-auto-stub - Date added: 2023-04-18
- Commit:
296f757c— "chore: bump dependencies, update jest config node bumps for build pipelines" - Can be removed when: All consumers naturally depend on Jest 29.x (unlikely to be needed since Mosaic packages may lag behind)
- Forced version:
^29 - Reason: Consistency — keeps
jest-clialigned with thejestresolution above.jest-cliis a direct dependency ofjest, so this ensures the CLI matches the test runner version. - Parent packages:
jest - Date added: 2023-04-18
- Commit:
296f757c— "chore: bump dependencies, update jest config node bumps for build pipelines" - Can be removed when: The
jestresolution is removed
- Forced version:
^29 - Reason: Consistency — ensures all workspace packages share the same
@types/jestmajor version to avoid type conflicts between Jest 29 type definitions. - Parent packages: All 5 workspace services,
jest-auto-stub - Date added: 2023-04-18
- Commit:
296f757c— "chore: bump dependencies, update jest config node bumps for build pipelines" - Can be removed when: The
jestresolution is removed
- Forced version:
^10.2.0 - Reason: CVE remediation — addresses CVE-2024-21534 (CVSS 9.8, critical RCE via unsafe
vmmodule usage in versions <10.0.0) and CVE-2025-1302 (CVSS 8.9, incomplete fix for the same issue, patched in 10.3.0). The^10.2.0range currently resolves to 10.3.0, covering both CVEs. - Parent packages:
@asyncapi/parser@2.1.2(via@axinom/mosaic-cli) requires^7.2.0— still vulnerable without this resolution.@stoplight/spectral-core@1.20.0/1.21.0now naturally require^10.3.0. - Original selector:
^7.2.0(@asyncapi/parser@2.1.2) - Date added: 2025-05-06
- Commit:
197ee4eb— "[AB#47252] fix: bumping several packages to address CVEs (#443)" - Can be removed when:
@axinom/mosaic-cliupdates@asyncapi/parserto^3.x(which usesjsonpath-plus@^10.0.7natively)
ajv@7.x (Dependabot #209, #208)
- Vulnerability: ReDoS when using
$dataoption (medium severity) - Current version: 7.2.4
- Patched in: 8.18.0 (major version jump)
- Blocked by:
@axinom/mosaic-service-common@0.66.0depends onajv@^7.0.3;entitlement-serviceandmedia-servicedirectly depend onajv@^7.2.4 - Date: 2026-02-23
- Check again when:
@axinom/mosaic-service-commonupdates toajv@^8
ajv@5.x (Dependabot #86)
- Vulnerability: Prototype Pollution (medium severity)
- Current version: 5.5.2
- Patched in: 6.12.3 (major version jump)
- Blocked by:
@axinom/mosaic-cli→@asyncapi/parser@2.1.2→@asyncapi/raml-dt-schema-parser@4.0.3→ramldt2jsonschema@1.2.3→json-schema-migrate@0.2.0→ajv@^5.0.0 - Date: 2026-02-23
- Check again when:
@axinom/mosaic-cliupdates@asyncapi/parserto^3.x
- Vulnerability: arrayLimit bypass DoS (high + low severity)
- Current version: 6.13.0
- Patched in: 6.14.1 (#184) / 6.14.2 (#201)
- Blocked by:
express@4.21.2andbody-parser@1.20.3exact-pinqs@6.13.0. Express 5.x uses^6.14.0but all Mosaic packages useexpress@^4.x - Date: 2026-02-23
- Check again when: Express 4.x releases a patch with updated qs, or Mosaic packages migrate to Express 5
- Vulnerability: ReDoS via multiple non-adjacent GLOBSTAR segments (high severity)
- Current version: 3.1.2
- Patched in: 3.1.3
- Blocked by:
@stoplight/spectral-core@1.20.0/1.21.0exact-pinsminimatch@3.1.2. The^3.xconsumers have been split into a separate lockfile entry and resolve to 3.1.3 (patched). Only the exact-pin entry remains vulnerable. - Date: 2026-03-03
- Check again when:
@stoplight/spectral-coreupdates its minimatch dependency
- Vulnerability: RCE via RegExp.flags and Date.prototype.toISOString() (high severity)
- Current version: 6.0.2
- Patched in: 7.0.3 (major version jump)
- Blocked by:
terser-webpack-pluginandcss-minimizer-webpack-pluginrequire^6.0.1/^6.0.2. Latest versions still use^6.x. - Date: 2026-03-03
- Check again when:
terser-webpack-pluginupdates toserialize-javascript@^7
- Vulnerability: Arbitrary File Write via Path Traversal (high severity)
- Current version: 2.79.2
- Patched in: 2.80.0
- Blocked by:
@stoplight/spectral-ruleset-bundler@latestpinsrollup@~2.79.2(tilde range only allows 2.79.x) - Date: 2026-03-03
- Check again when:
@stoplight/spectral-ruleset-bundlerupdates its rollup dependency
- Vulnerability: Prototype Pollution in
_.unsetand_.omit(high severity) - Current version: 3.7.6
- Patched in: 3.8.3
- Blocked by:
@ardatan/relay-compiler@12.0.0tilde-pinsimmutable@~3.7.6(allows only 3.7.x). Fix requires@graphql-tools/relay-operation-optimizerto update from^6.5.0to^7.x(which uses@ardatan/relay-compiler@13.xwithimmutable@^5.1.5). - Date: 2026-03-12
- Check again when:
@graphql-tools/relay-operation-optimizerreleases a v7 that the graphql-codegen plugins accept
- Vulnerability: Arbitrary temp file/dir write via symlink (low severity)
- Current version: 0.0.33
- Patched in: 0.2.4
- Blocked by:
external-editor@3.1.0(latest) pinstmp@^0.0.33;^0.0.33resolves only0.0.33in strict semver.external-editorhas not released a new version since 3.1.0. - Date: 2026-03-12
- Check again when:
external-editorreleases a new version with an updatedtmpdep, or@graphql-codegen/clistops depending oninquirer@8