Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(groups): add $LOCAL keyword for dependencies array #161

Closed
JamieMason opened this issue Sep 19, 2023 · 1 comment
Closed

feat(groups): add $LOCAL keyword for dependencies array #161

JamieMason opened this issue Sep 19, 2023 · 1 comment

Comments

@JamieMason
Copy link
Owner

Description

Add a new $LOCAL keyword which is recognised under the dependencies property of version and semver groups.

When used, this keyword is expanded to provide the names of every locally developed package which was matched by the source patterns.

{
  "versionGroups": [
    {
      "label": "Use 'workspace:*' for locally developed packages under 'devDependencies'",
      "packages": ["**"],
      "dependencies": ["$LOCAL"],
      "dependencyTypes": ["dev"],
      "pinVersion": "workspace:*"
    }
  ]
}
JamieMason added a commit that referenced this issue Nov 5, 2023
This is the biggest syncpack release to date and has taken a couple of months to complete. There will be other improvements and bug fixes which I've lost track of along the way and are not listed here. The tests have been rewritten to be easier to maintain and bugs were found along the way there.

Given the scale of the changes, this is an alpha release. Please give it a try in a local branch and [submit an issue](https://github.com/JamieMason/syncpack/issues/new/choose) if you find any problems.

There is also a brand new [Getting Started](https://jamiemason.github.io/syncpack/guide/getting-started) guide which I encourage you to read.

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

Please help spread the word ❤️ Thanks!

## Bug Fixes

- **npm:** update dependencies

## Features

- **cli:** display an error code/reason for every kind of mismatch
- **cli:** output a count of ignored instances
- **docs:** huge [documentation](https://jamiemason.github.io/syncpack/guide/getting-started) 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.

   ```diff
   {
   -  "semverRange": "^",
   +  "semverGroups": [{ "range": "^" }]
   }
   ```

1. 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](https://jamiemason.github.io/syncpack/guide/getting-started) guide for a walkthrough on this.
@JamieMason
Copy link
Owner Author

Released in 12.0.0-alpha.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant