syncpack

Consistent dependency versions in large JavaScript Monorepos.

MIT License

Downloads
2.5M
Stars
1.3K
Committers
27

Bot releases are visible (Hide)

syncpack - 6.2.0

Published by JamieMason almost 3 years ago

6.2.0 (2022-01-03)

Features

  • groups: target specific dependency types (565c1e7)

Examples

Use loose semver ranges for devDependencies only, with the rest of the repo using the default setting.

{
  "semverGroups": [
    {
      "dependencies": ["**"],
      "dependencyTypes": ["devDependencies"],
      "packages": ["**"],
      "semverRange": "^"
    }
  ]
}

Force the version of jest to * (latest) for the whole monorepo, but only within peerDependencies.

{
  "versionGroups": [
    {
      "dependencies": ["jest"],
      "dependencyTypes": ["peerDependencies"],
      "packages": ["**"],
      "pinVersion": "*"
    }
  ]
}
syncpack - 6.1.0

Published by JamieMason almost 3 years ago

6.1.0 (2022-01-03)

Features

Examples

Set every dependency from the AWS SDK to all use 1.64.1 in the whole monorepo.

  • @aws-cdk/assert 1.64.1
  • @aws-cdk/aws-s3 1.64.1
  • @aws-cdk/aws-ssm 1.64.1
  • @aws-cdk/core 1.64.1
{
  "versionGroups": [
    {
      "dependencies": ["@aws-cdk/**"],
      "packages": ["**"],
      "pinVersion": "1.64.1"
    }
  ]
}

Set every dependency from the AWS SDK to 1.64.1 in your alpha packages, and 0.37.0 for those packages in the rest of the monorepo:

{
  "versionGroups": [
    {
      "dependencies": ["@aws-cdk/**"],
      "packages": ["@alpha/**"],
      "pinVersion": "1.64.1"
    },
    {
      "dependencies": ["@aws-cdk/**"],
      "packages": ["**"],
      "pinVersion": "0.37.0"
    }
  ]
}

Lock the version of lodash everywhere

{
  "versionGroups": [
    {
      "dependencies": ["lodash"],
      "packages": ["**"],
      "pinVersion": "14.17.0"
    }
  ]
}
Use webpack@4 in some packages and webpack@5 in others
{
  "versionGroups": [
    {
      "dependencies": ["webpack"],
      "packages": ["@old-stuff/server", "@old-stuff/ui"],
      "pinVersion": "4.x.x"
    },
    {
      "dependencies": ["webpack"],
      "packages": ["@new-stuff/server", "@new-stuff/ui"],
      "pinVersion": "5.x.x"
    }
  ]
}
syncpack - 6.0.0

Published by JamieMason almost 3 years ago

6.0.0 (2022-01-01)

Bug Fixes

  • npm: update dependencies (fdef0a2)

Features

  • core: add glob support and semver range rule groups (787757c)

BREAKING CHANGES

  • core: Dependencies defined within the resolutions and overrides fields are now processed by syncpack and are enabled by default. To exclude these new fields you will need to define only the fields you do want to process, either in your configuration file:
{
  "dev": true,
  "peer": true,
  "prod": true
}

or via the command line:

syncpack list --dev --peer --prod
syncpack - 5.8.15

Published by JamieMason about 3 years ago

5.8.15 (2021-08-08)

Bug Fixes

  • npm: update dependencies (aea1f37)
syncpack - 5.8.14

Published by JamieMason about 3 years ago

5.8.14 (2021-08-01)

Bug Fixes

  • cli: apply breaking change from commander (a61d384)
  • format: write files if only whitespace changes (f38ea40), closes #54
syncpack - 5.8.12

Published by JamieMason about 3 years ago

5.8.12 (2021-08-01)

Bug Fixes

  • npm: update dependencies (91254f6)

Features

  • core: add lint-semver-ranges command (b4209f0), closes #56
syncpack - 5.7.11

Published by JamieMason over 3 years ago

5.7.11 (2021-01-29)

Bug Fixes

  • npm: update dependencies (5531da6)

Features

  • fix-mismatches: use local package version when available (640cb7f), closes #47
syncpack - 5.6.10

Published by JamieMason about 4 years ago

5.6.10 (2020-09-17)

Bug Fixes

  • cli: use defaults when source is empty array (c2f6199)
  • core: support multiple version groups (bfd12b4), closes #43
  • list: display mismatches from version groups (43ba18d)
syncpack - 5.6.7

Published by JamieMason about 4 years ago

5.6.7 (2020-08-30)

Bug Fixes

  • npm: update dependencies (2e3ea3b)

Features

  • core: support granular versioning rules (2197f90), closes #41
syncpack - 5.5.6

Published by JamieMason about 4 years ago

Bug Fixes

  • core: ignore link: versions rather than throw (7a48366), closes #38

Features

  • core: expose format configuration (4f74d9a), closes #30
  • core: sort resolutions field a-z (f76a127), closes #34
  • core: support yarn workspaces config as object (34eceaf), closes #33
syncpack - 5.2.5

Published by JamieMason about 4 years ago

Bug Fixes

  • npm: update dependencies (19ad510)

Features

  • core: add support for config files (cfd5df3)
syncpack - 5.1.4

Published by JamieMason about 4 years ago

Bug Fixes

  • npm: update dependencies (f2cac6a)

Features

  • core: add support for pnpm workspaces (a6112ec), closes #42
syncpack - 5.0.3

Published by JamieMason over 4 years ago

5.0.3 (2020-06-19)

Bug Fixes

  • format: leave sort order of "files" array unchanged (1bd584f), closes #35
  • npm: update dependencies (9e0bd7e)
syncpack - 5.0.1

Published by JamieMason over 4 years ago

5.0.1 (2020-02-16)

Bug Fixes

  • core: include root package.json when reading yarn & lerna config (a7875cb)
  • npm: update dependencies (5fdcc7b)

BREAKING CHANGES

  • npm: engines.node has been increased to >=10 because [email protected] is a hard dependency of syncpack and requires node >=10
syncpack - 4.5.5

Published by JamieMason over 4 years ago

4.5.5 (2020-01-19)

Bug Fixes

  • npm: update dependencies (1776b5f)
syncpack - 4.5.4

Published by JamieMason over 4 years ago

4.5.4 (2019-07-16)

Bug Fixes

syncpack - 4.5.2

Published by JamieMason over 5 years ago

4.5.2 (2019-05-14)

Features

syncpack - 4.5.3

Published by JamieMason over 5 years ago

4.5.3 (2019-06-17)

Bug Fixes

  • npm: update dependencies (10834a9)
syncpack - 4.4.2

Published by JamieMason over 5 years ago

4.4.2 (2019-05-06)

Bug Fixes

  • filter: --filter is a string, not a boolean (5587f2b)
syncpack - 4.4.1

Published by JamieMason over 5 years ago

4.4.1 (2019-04-29)

Features

  • options: add dependency filter regex (9df5684)
Package Rankings
Top 1.62% on Npmjs.org
Badges
Extracted from project README
support on ko-fi NPM version NPM downloads Build Status
Related Projects