yarn-berry-deduplicate 6.0.3 → 6.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,59 +1,31 @@
1
- # yarn-deduplicate
1
+ # yarn-berry-deduplicate
2
2
 
3
- Cleans up `yarn.lock` by removing duplicates.
4
-
5
- Builds:
6
- [![Node.js CI](https://github.com/scinos/yarn-deduplicate/actions/workflows/node.js.yml/badge.svg)](https://github.com/scinos/yarn-deduplicate/actions/workflows/node.js.yml)
7
-
8
- This package only works with Yarn v1. Yarn v2 supports package deduplication
9
- [natively](https://github.com/yarnpkg/berry/pull/1558)!
10
-
11
- A duplicate package is when two dependencies are resolved to a different version, even when a single
12
- version matches the range specified in the dependencies. See the
13
- [Deduplication strategies](#deduplication-strategies) section for a few examples.
14
-
15
- ## Installation
16
-
17
- Install the package globally:
18
-
19
- ```sh
20
- npm install -g yarn-deduplicate
21
- ```
3
+ *This is a fork of [yarn-deduplicate](https://www.npmjs.com/package/yarn-deduplicate) for yarn berry. *
22
4
 
23
- or
24
-
25
- ```sh
26
- yarn global add yarn-deduplicate
27
- ```
28
-
29
- This package also works wth
30
- [npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b), so you
31
- don't need to install it. For example, to recreate the most common scenario below with `npx`, run:
5
+ Cleans up `yarn.lock` by removing duplicates.
32
6
 
33
- ```sh
34
- npx yarn-deduplicate yarn.lock
35
- ```
7
+ Yarn berry includes [`yarn dedupe`](https://yarnpkg.com/cli/dedupe) that currently only supports "highest" strategy. Follow this issue: https://github.com/yarnpkg/berry/issues/2297.
36
8
 
37
- ---
9
+ In the meantime, this is a fork of [yarn-deduplicate](https://www.npmjs.com/package/yarn-deduplicate) that works with both highest and fewer strategies.
38
10
 
39
11
  ## Usage
40
12
 
41
- The most common scenario is to run
42
-
43
13
  ```sh
44
- yarn-deduplicate yarn.lock
14
+ yarn dlx yarn-berry-deduplicate
45
15
  ```
46
16
 
47
- This will use the default strategy to remove duplicated packages in `yarn.lock`.
17
+ This will use the fewest then highest strategy to remove duplicated packages in `yarn.lock`.
48
18
 
49
19
  If you do not specify the yarn.lock path, it defaults to `yarn.lock`.
50
20
 
51
21
  Check all available options with:
52
22
 
53
23
  ```sh
54
- yarn-deduplicate --help
24
+ yarn dlx yarn-berry-deduplicate --help
55
25
  ```
56
26
 
27
+ Note: you can apply multiple times deduplication and each time dedupe more. To prevent issues, try running `yarn dedupe` after each `yarn-berry-deduplicate`.
28
+
57
29
  ---
58
30
 
59
31
  ## Duplicated packages
package/dist/cli.js CHANGED
@@ -32,7 +32,7 @@ if (strategy !== 'highest' && strategy !== 'fewer' && strategy !== 'both') {
32
32
  }
33
33
  try {
34
34
  const yarnLock = fs_1.default.readFileSync(file, 'utf8');
35
- const useMostCommon = strategy === 'fewer';
35
+ const useMostCommon = strategy === 'fewer' || strategy === 'both';
36
36
  if (list) {
37
37
  if (strategy !== 'highest' && strategy !== 'fewer') {
38
38
  console.error(`Invalid strategy ${strategy}`);
@@ -82,7 +82,13 @@ try {
82
82
  if (eolMatch && eolMatch[0] === '\r\n') {
83
83
  dedupedYarnLock = dedupedYarnLock.replace(/\n/g, '\r\n');
84
84
  }
85
- fs_1.default.writeFileSync(file, dedupedYarnLock);
85
+ if (dedupedYarnLock === yarnLock) {
86
+ console.log('No duplicates found, yarn.lock identical');
87
+ }
88
+ else {
89
+ console.log('Found duplicates, yarn.lock changed');
90
+ fs_1.default.writeFileSync(file, dedupedYarnLock);
91
+ }
86
92
  }
87
93
  if (fail && yarnLock !== dedupedYarnLock) {
88
94
  console.error(FAIL_MESSAGE);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yarn-berry-deduplicate",
3
- "version": "6.0.3",
3
+ "version": "6.0.5",
4
4
  "bin": "./dist/cli.js",
5
5
  "description": "Deduplication tool for yarn.lock files",
6
6
  "keywords": [
@@ -19,7 +19,7 @@
19
19
  "typecheck": "yarn tsc --build tsconfig.json --force && yarn tsc --build tests/tsconfig.json --force",
20
20
  "validate": "yarn test && yarn lint && yarn typecheck",
21
21
  "prepack": "yarn build",
22
- "build": "yarn clean && yarn tsc --build",
22
+ "build": "yarn clean && yarn tsc --build && chmod +x ./dist/cli.js",
23
23
  "release": "release-it"
24
24
  },
25
25
  "homepage": "https://github.com/christophehurpeau/yarn-deduplicate#readme",