Skip to content

Releases: JamieMason/syncpack

12.0.0

24 Dec 14:24
Compare
Choose a tag to compare

12.0.0 (2023-12-24)

See also the release notes for 12.0.0-alpha.0 and 12.0.0-alpha.1 for all changes made in latest since 11.2.1.

Features

Bug Fixes

  • cli: make status codes easier to read (e17b696), closes #172

Support this project

Github-sponsors

support on ko-fi

12.0.0-alpha.1

23 Dec 08:57
Compare
Choose a tag to compare
12.0.0-alpha.1 Pre-release
Pre-release

12.0.0-alpha.1 (2023-12-23)

Bug Fixes

  • effect: apply breaking changes after update (2ea9a79)
  • npm: update dependencies (ce80ea5)
  • npm: update dependencies (f7c5382)

Support this project

Github-sponsors

support on ko-fi

12.0.0-alpha.0

05 Nov 17:51
Compare
Choose a tag to compare
12.0.0-alpha.0 Pre-release
Pre-release

12.0.0-alpha.0 (2023-11-05)

Bug Fixes

  • local: do not replace version with workspace:* (d8a4eaa)
  • npm: update dependencies (f016552)

Features

  • cli: throw if command is not found (0608605)
  • cli: display an error code/reason for every kind of mismatch
  • cli: output a count of ignored instances
  • docs: huge documentation overhaul
  • groups: add support for $LOCAL keyword in config, Closes #161
  • groups: allow dependencies: ["**"] and packages: ["**"] to be omitted
  • list: add usage count next to each dependency in syncpack list, Closes #162
  • options: add support for --indent ‘\t’
  • update: group and filter npm updates by major, minor, patch etc
  • update: show more information while querying npm for updates
  • versions: add support for workspace:~ and workspace:*
  • versions: preserve semver group rules when fixing mismatches, Closes #157
  • versions: support npm:foo@0.1.0
  • versions: support semver boundaries >=1.0.0 <=3.0.0
  • versions: support semver git tags git://github.com/user/project.git#0.3.0
  • versions: support semver tags 4.0.0-alpha.61

Breaking Changes

  1. semverRange has been deprecated in config files, if you'd like to define a global policy for semver ranges you can achieve this with a semver group.

    {
    -  "semverRange": "^",
    +  "semverGroups": [{ "range": "^" }]
    }
  2. There is no longer a default Semver Group. By default, version mismatches will be fixed while leaving the semver ranges as they were. This is intended to make it easier for new users to onboard, but it is recommended that you define Semver Groups yourself which match your project's requirements.

    See the Getting Started guide for a walkthrough on this.

Summary

This is the biggest syncpack release to date and has taken a couple of months to complete. Given the scale of the changes, it is an alpha release.

The tests have been rewritten to be easier to maintain and bugs were found along the way, so there will be other small improvements and bug fixes which I've lost track of that are not listed here.

Please give it a try in a local branch and submit an issue if you find any problems.

There is a brand new Getting Started guide and other new documentation which I encourage you to read.

Finally, if anyone reading this finds syncpack useful then please tell people about it – it's completely free and has been a ton of work.

Support this project

Github-sponsors

support on ko-fi

6.1.0

03 Jan 16:55
Compare
Choose a tag to compare

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"
    }
  ]
}