syncpack 8.4.11 → 8.5.14

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.
Files changed (129) hide show
  1. package/README.md +1 -1
  2. package/dist/bin-fix-mismatches/fix-mismatches-cli.d.ts +3 -0
  3. package/dist/bin-fix-mismatches/fix-mismatches-cli.js +10 -0
  4. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +2 -3
  5. package/dist/bin-fix-mismatches/fix-mismatches.js +19 -58
  6. package/dist/bin-fix-mismatches/index.js +3 -4
  7. package/dist/bin-format/format-cli.d.ts +3 -0
  8. package/dist/bin-format/format-cli.js +10 -0
  9. package/dist/bin-format/format.d.ts +2 -3
  10. package/dist/bin-format/format.js +10 -11
  11. package/dist/bin-format/index.js +3 -4
  12. package/dist/bin-lint-semver-ranges/index.js +3 -4
  13. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.d.ts +3 -0
  14. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +10 -0
  15. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +2 -3
  16. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +73 -27
  17. package/dist/bin-list/index.js +3 -4
  18. package/dist/bin-list/list-cli.d.ts +3 -0
  19. package/dist/bin-list/list-cli.js +10 -0
  20. package/dist/bin-list/list.d.ts +2 -3
  21. package/dist/bin-list/list.js +60 -35
  22. package/dist/bin-list-mismatches/index.js +3 -4
  23. package/dist/bin-list-mismatches/list-mismatches-cli.d.ts +3 -0
  24. package/dist/bin-list-mismatches/list-mismatches-cli.js +10 -0
  25. package/dist/bin-list-mismatches/list-mismatches.d.ts +2 -3
  26. package/dist/bin-list-mismatches/list-mismatches.js +75 -73
  27. package/dist/bin-set-semver-ranges/index.js +3 -4
  28. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.d.ts +3 -0
  29. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +10 -0
  30. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +2 -3
  31. package/dist/bin-set-semver-ranges/set-semver-ranges.js +5 -29
  32. package/dist/constants.d.ts +27 -21
  33. package/dist/constants.js +28 -32
  34. package/dist/lib/disk.d.ts +3 -3
  35. package/dist/lib/disk.js +0 -1
  36. package/dist/lib/exit-if-invalid.d.ts +2 -0
  37. package/dist/lib/exit-if-invalid.js +10 -0
  38. package/dist/lib/get-context/get-all-instances.d.ts +3 -0
  39. package/dist/lib/get-context/get-all-instances.js +8 -0
  40. package/dist/lib/get-context/get-config/config.d.ts +151 -0
  41. package/dist/{types/index.js → lib/get-context/get-config/config.js} +0 -0
  42. package/dist/lib/get-context/get-config/index.d.ts +8 -0
  43. package/dist/lib/{get-input/get-config.js → get-context/get-config/index.js} +35 -10
  44. package/dist/lib/get-context/get-config/internal-config.d.ts +24 -0
  45. package/dist/{types/semver-group.js → lib/get-context/get-config/internal-config.js} +0 -0
  46. package/dist/lib/get-context/get-groups/get-semver-groups.d.ts +4 -0
  47. package/dist/lib/get-context/get-groups/get-semver-groups.js +45 -0
  48. package/dist/lib/get-context/get-groups/get-version-groups.d.ts +4 -0
  49. package/dist/lib/get-context/get-groups/get-version-groups.js +71 -0
  50. package/dist/lib/get-context/get-groups/semver-group/index.d.ts +30 -0
  51. package/dist/lib/get-context/get-groups/semver-group/index.js +33 -0
  52. package/dist/lib/get-context/get-groups/version-group/index.d.ts +30 -0
  53. package/dist/lib/get-context/get-groups/version-group/index.js +23 -0
  54. package/dist/{bin-fix-mismatches/get-expected-version → lib/get-context/get-groups/version-group/instance-group}/get-highest-version.d.ts +0 -0
  55. package/dist/{bin-fix-mismatches/get-expected-version → lib/get-context/get-groups/version-group/instance-group}/get-highest-version.js +10 -10
  56. package/dist/lib/get-context/get-groups/version-group/instance-group/index.d.ts +32 -0
  57. package/dist/lib/get-context/get-groups/version-group/instance-group/index.js +79 -0
  58. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-file-paths.d.ts +3 -3
  59. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-file-paths.js +7 -2
  60. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-lerna-patterns.d.ts +1 -1
  61. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-lerna-patterns.js +0 -0
  62. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-pnpm-patterns.d.ts +1 -1
  63. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-pnpm-patterns.js +0 -0
  64. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-yarn-patterns.d.ts +1 -1
  65. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/get-yarn-patterns.js +0 -0
  66. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/index.d.ts +3 -3
  67. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/index.js +1 -1
  68. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/props.d.ts +0 -0
  69. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/props.js +0 -0
  70. package/dist/lib/get-context/get-package-json-files/get-patterns/read-json-safe.d.ts +11 -0
  71. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/read-json-safe.js +0 -0
  72. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/read-yaml-safe.d.ts +1 -1
  73. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/get-patterns/read-yaml-safe.js +0 -0
  74. package/dist/lib/get-context/get-package-json-files/index.d.ts +5 -0
  75. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/index.js +8 -8
  76. package/dist/lib/get-context/get-package-json-files/package-json-file/index.d.ts +50 -0
  77. package/dist/lib/get-context/get-package-json-files/package-json-file/index.js +95 -0
  78. package/dist/lib/get-context/get-package-json-files/package-json-file/instance.d.ts +25 -0
  79. package/dist/lib/get-context/get-package-json-files/package-json-file/instance.js +46 -0
  80. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/tap.d.ts +1 -1
  81. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/tap.js +0 -0
  82. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/try-catch.d.ts +0 -0
  83. package/dist/lib/{get-input/get-wrappers → get-context/get-package-json-files}/try-catch.js +0 -0
  84. package/dist/lib/get-context/index.d.ts +22 -0
  85. package/dist/lib/get-context/index.js +38 -0
  86. package/dist/lib/is-semver.d.ts +1 -1
  87. package/dist/lib/is-semver.js +9 -9
  88. package/dist/lib/log.d.ts +6 -0
  89. package/dist/lib/log.js +40 -1
  90. package/dist/lib/newlines.d.ts +6 -0
  91. package/dist/lib/newlines.js +24 -0
  92. package/dist/lib/set-semver-range.d.ts +1 -1
  93. package/dist/lib/set-semver-range.js +1 -1
  94. package/dist/lib/write-if-changed.d.ts +2 -0
  95. package/dist/lib/write-if-changed.js +40 -0
  96. package/dist/option.d.ts +2 -1
  97. package/dist/option.js +4 -2
  98. package/package.json +21 -21
  99. package/dist/bin-fix-mismatches/get-expected-version/get-pinned-version.d.ts +0 -2
  100. package/dist/bin-fix-mismatches/get-expected-version/get-pinned-version.js +0 -7
  101. package/dist/bin-fix-mismatches/get-expected-version/get-workspace-version.d.ts +0 -6
  102. package/dist/bin-fix-mismatches/get-expected-version/get-workspace-version.js +0 -17
  103. package/dist/bin-fix-mismatches/get-expected-version/index.d.ts +0 -3
  104. package/dist/bin-fix-mismatches/get-expected-version/index.js +0 -27
  105. package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.d.ts +0 -2
  106. package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.js +0 -12
  107. package/dist/bin-list/list-version-groups.d.ts +0 -10
  108. package/dist/bin-list/list-version-groups.js +0 -52
  109. package/dist/lib/collect.d.ts +0 -1
  110. package/dist/lib/collect.js +0 -7
  111. package/dist/lib/get-input/get-config.d.ts +0 -12
  112. package/dist/lib/get-input/get-instances.d.ts +0 -29
  113. package/dist/lib/get-input/get-instances.js +0 -172
  114. package/dist/lib/get-input/get-wrappers/get-patterns/read-json-safe.d.ts +0 -4
  115. package/dist/lib/get-input/get-wrappers/index.d.ts +0 -38
  116. package/dist/lib/get-input/get-wrappers/readonly.d.ts +0 -4
  117. package/dist/lib/get-input/get-wrappers/readonly.js +0 -10
  118. package/dist/lib/get-input/index.d.ts +0 -20
  119. package/dist/lib/get-input/index.js +0 -32
  120. package/dist/lib/group-by.d.ts +0 -1
  121. package/dist/lib/group-by.js +0 -11
  122. package/dist/lib/write-if-changed/index.d.ts +0 -10
  123. package/dist/lib/write-if-changed/index.js +0 -25
  124. package/dist/lib/write-if-changed/set-newlines.d.ts +0 -4
  125. package/dist/lib/write-if-changed/set-newlines.js +0 -24
  126. package/dist/types/index.d.ts +0 -77
  127. package/dist/types/semver-group.d.ts +0 -30
  128. package/dist/types/version-group.d.ts +0 -35
  129. package/dist/types/version-group.js +0 -2
@@ -0,0 +1,6 @@
1
+ type Ending = '\n' | '\r' | '\r\n' | string;
2
+ export declare const newlines: {
3
+ detect(source: string): Ending;
4
+ fix(source: string, lineEnding: Ending): string;
5
+ };
6
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.newlines = void 0;
4
+ var os_1 = require("os");
5
+ var CR = '\r';
6
+ var CRLF = '\r\n';
7
+ var LF = '\n';
8
+ exports.newlines = {
9
+ detect: function (source) {
10
+ var cr = source.split(CR).length;
11
+ var lf = source.split(LF).length;
12
+ var crlf = source.split(CRLF).length;
13
+ if (cr + lf === 0)
14
+ return os_1.EOL;
15
+ if (crlf === cr && crlf === lf)
16
+ return CRLF;
17
+ if (cr > lf)
18
+ return CR;
19
+ return LF;
20
+ },
21
+ fix: function (source, lineEnding) {
22
+ return source.replace(/\r\n|\n|\r/g, lineEnding);
23
+ }
24
+ };
@@ -1,2 +1,2 @@
1
- import type { ValidRange } from '../types';
1
+ import type { ValidRange } from './get-context/get-config/config';
2
2
  export declare function setSemverRange(semverRange: ValidRange, version: string): string;
@@ -13,7 +13,7 @@ function setSemverRange(semverRange, version) {
13
13
  : version;
14
14
  var from1stNumber = nextVersion.search(/[0-9]/);
15
15
  var from1stDot = nextVersion.indexOf('.');
16
- return semverRange === constants_1.RANGE_LOOSE
16
+ return semverRange === constants_1.RANGE.LOOSE
17
17
  ? "".concat(nextVersion.slice(from1stNumber, from1stDot), ".x.x")
18
18
  : "".concat(semverRange).concat(nextVersion.slice(from1stNumber));
19
19
  }
@@ -0,0 +1,2 @@
1
+ import type { Context } from './get-context';
2
+ export declare function writeIfChanged(ctx: Context): Context;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ exports.__esModule = true;
26
+ exports.writeIfChanged = void 0;
27
+ var log = __importStar(require("./log"));
28
+ function writeIfChanged(ctx) {
29
+ ctx.packageJsonFiles.forEach(function (packageJsonFile) {
30
+ if (packageJsonFile.hasChanged()) {
31
+ packageJsonFile.write();
32
+ log.fixed(packageJsonFile.shortPath);
33
+ }
34
+ else {
35
+ log.skip(packageJsonFile.shortPath);
36
+ }
37
+ });
38
+ return ctx;
39
+ }
40
+ exports.writeIfChanged = writeIfChanged;
package/dist/option.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { collect } from './lib/collect';
2
1
  export declare const option: {
3
2
  readonly config: readonly ["-c, --config <path>", "path to a syncpack config file"];
4
3
  readonly dev: readonly ["-d, --dev", string];
@@ -13,3 +12,5 @@ export declare const option: {
13
12
  readonly source: readonly ["-s, --source [pattern]", "glob pattern for package.json files to read from", typeof collect, string[]];
14
13
  readonly workspace: readonly ["-w, --workspace", "include locally developed package versions"];
15
14
  };
15
+ declare function collect(value: string, previous: string[]): string[];
16
+ export {};
package/dist/option.js CHANGED
@@ -10,7 +10,6 @@ exports.__esModule = true;
10
10
  exports.option = void 0;
11
11
  var chalk_1 = __importDefault(require("chalk"));
12
12
  var constants_1 = require("./constants");
13
- var collect_1 = require("./lib/collect");
14
13
  exports.option = {
15
14
  config: ['-c, --config <path>', 'path to a syncpack config file'],
16
15
  dev: ['-d, --dev', (0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["include {yellow devDependencies}"], ["include {yellow devDependencies}"])))],
@@ -40,9 +39,12 @@ exports.option = {
40
39
  source: [
41
40
  '-s, --source [pattern]',
42
41
  'glob pattern for package.json files to read from',
43
- collect_1.collect,
42
+ collect,
44
43
  [],
45
44
  ],
46
45
  workspace: ['-w, --workspace', 'include locally developed package versions']
47
46
  };
47
+ function collect(value, previous) {
48
+ return previous.concat([value]);
49
+ }
48
50
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "syncpack",
3
3
  "description": "Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces",
4
- "version": "8.4.11",
4
+ "version": "8.5.14",
5
5
  "author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
6
6
  "bin": {
7
7
  "syncpack": "dist/bin.js",
@@ -27,32 +27,32 @@
27
27
  ],
28
28
  "dependencies": {
29
29
  "chalk": "4.1.2",
30
- "commander": "9.4.1",
31
- "cosmiconfig": "7.0.1",
32
- "expect-more": "1.2.0",
30
+ "commander": "10.0.0",
31
+ "cosmiconfig": "8.0.0",
32
+ "expect-more": "1.3.0",
33
33
  "fp-ts": "2.13.1",
34
- "fs-extra": "10.1.0",
35
- "glob": "8.0.3",
36
- "minimatch": "5.1.0",
34
+ "fs-extra": "11.1.0",
35
+ "glob": "8.1.0",
36
+ "minimatch": "6.1.6",
37
37
  "read-yaml-file": "2.1.0",
38
38
  "semver": "7.3.8"
39
39
  },
40
40
  "devDependencies": {
41
- "@types/fs-extra": "9.0.13",
42
- "@types/glob": "8.0.0",
43
- "@types/jest": "29.2.0",
44
- "@types/node": "18.11.7",
41
+ "@types/fs-extra": "11.0.1",
42
+ "@types/glob": "8.0.1",
43
+ "@types/jest": "29.4.0",
44
+ "@types/node": "18.11.19",
45
45
  "@types/semver": "7.3.13",
46
- "@typescript-eslint/eslint-plugin": "5.41.0",
47
- "@typescript-eslint/parser": "5.41.0",
48
- "eslint": "8.26.0",
49
- "eslint-plugin-import": "2.26.0",
50
- "expect-more-jest": "5.4.1",
51
- "jest": "29.2.2",
52
- "prettier": "2.7.1",
53
- "rimraf": "3.0.2",
54
- "ts-jest": "29.0.3",
55
- "typescript": "4.8.4"
46
+ "@typescript-eslint/eslint-plugin": "5.51.0",
47
+ "@typescript-eslint/parser": "5.51.0",
48
+ "eslint": "8.33.0",
49
+ "eslint-plugin-import": "2.27.5",
50
+ "expect-more-jest": "5.5.0",
51
+ "jest": "29.4.1",
52
+ "prettier": "2.8.3",
53
+ "rimraf": "4.1.2",
54
+ "ts-jest": "29.0.5",
55
+ "typescript": "4.9.5"
56
56
  },
57
57
  "engines": {
58
58
  "node": ">=10"
@@ -1,2 +0,0 @@
1
- import type { PinnedVersionGroup } from '../../types/version-group';
2
- export declare function getPinnedVersion(versionGroup: Pick<PinnedVersionGroup, 'pinVersion'>): string;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getPinnedVersion = void 0;
4
- function getPinnedVersion(versionGroup) {
5
- return versionGroup.pinVersion || '';
6
- }
7
- exports.getPinnedVersion = getPinnedVersion;
@@ -1,6 +0,0 @@
1
- import type { SourceWrapper } from '../../lib/get-input/get-wrappers';
2
- /**
3
- * If the dependency `name` is a package developed locally in this monorepo, we
4
- * should use its version as the source of truth.
5
- */
6
- export declare function getWorkspaceVersion(name: string, wrappers: SourceWrapper[]): string;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getWorkspaceVersion = void 0;
4
- /**
5
- * If the dependency `name` is a package developed locally in this monorepo, we
6
- * should use its version as the source of truth.
7
- */
8
- function getWorkspaceVersion(name, wrappers) {
9
- var wrapper = wrappers.find(function (_a) {
10
- var contents = _a.contents;
11
- return contents.name === name;
12
- });
13
- if (!wrapper)
14
- return '';
15
- return wrapper.contents.version || '';
16
- }
17
- exports.getWorkspaceVersion = getWorkspaceVersion;
@@ -1,3 +0,0 @@
1
- import type { ProgramInput } from '../../lib/get-input';
2
- import type { IndexedBannedVersionGroup, IndexedPinnedVersionGroup, IndexedVersionGroup } from '../../lib/get-input/get-instances';
3
- export declare function getExpectedVersion(name: string, versionGroup: Pick<IndexedBannedVersionGroup, 'isBanned' | 'instances'> | Pick<IndexedPinnedVersionGroup, 'instances' | 'pinVersion'> | Pick<IndexedVersionGroup, 'instances'>, input: Pick<ProgramInput, 'workspace' | 'wrappers'>): string | undefined;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getExpectedVersion = void 0;
4
- var get_highest_version_1 = require("./get-highest-version");
5
- var get_pinned_version_1 = require("./get-pinned-version");
6
- var get_workspace_version_1 = require("./get-workspace-version");
7
- function getExpectedVersion(name, versionGroup, input) {
8
- if ('isBanned' in versionGroup && versionGroup.isBanned === true) {
9
- // remove this dependency
10
- return undefined;
11
- }
12
- if ('pinVersion' in versionGroup && versionGroup.pinVersion) {
13
- return (0, get_pinned_version_1.getPinnedVersion)(versionGroup);
14
- }
15
- if (input.workspace === true) {
16
- var workspaceVersion = (0, get_workspace_version_1.getWorkspaceVersion)(name, input.wrappers);
17
- if (workspaceVersion)
18
- return workspaceVersion;
19
- }
20
- return (0, get_highest_version_1.getHighestVersion)(versionGroup.instances
21
- .filter(function (instance) { return instance.name === name; })
22
- .map(function (_a) {
23
- var version = _a.version;
24
- return version;
25
- }));
26
- }
27
- exports.getExpectedVersion = getExpectedVersion;
@@ -1,2 +0,0 @@
1
- import type { IndexedSemverGroup, Instance } from '../lib/get-input/get-instances';
2
- export declare function listSemverGroupMismatches(semverGroup: IndexedSemverGroup): Instance[];
@@ -1,12 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.listSemverGroupMismatches = void 0;
4
- var set_semver_range_1 = require("../lib/set-semver-range");
5
- var sort_by_name_1 = require("../lib/sort-by-name");
6
- function listSemverGroupMismatches(semverGroup) {
7
- return semverGroup.instances.sort(sort_by_name_1.sortByName).filter(function (_a) {
8
- var version = _a.version;
9
- return version !== (0, set_semver_range_1.setSemverRange)(semverGroup.range, version);
10
- });
11
- }
12
- exports.listSemverGroupMismatches = listSemverGroupMismatches;
@@ -1,10 +0,0 @@
1
- import type { AnyIndexedVersionGroup, Instance } from '../lib/get-input/get-instances';
2
- export interface ListItem {
3
- hasMismatches: boolean;
4
- instances: Instance[];
5
- isBanned: boolean;
6
- isIgnored: boolean;
7
- name: string;
8
- uniques: string[];
9
- }
10
- export declare function listVersionGroups(versionGroup: AnyIndexedVersionGroup): ListItem[];
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- exports.__esModule = true;
19
- exports.listVersionGroups = void 0;
20
- var expect_more_1 = require("expect-more");
21
- var group_by_1 = require("../lib/group-by");
22
- var sort_by_name_1 = require("../lib/sort-by-name");
23
- function listVersionGroups(versionGroup) {
24
- var instances = versionGroup.instances;
25
- var instancesByName = (0, group_by_1.groupBy)('name', instances.sort(sort_by_name_1.sortByName));
26
- return Object.entries(instancesByName).map(function (_a) {
27
- var _b = __read(_a, 2), name = _b[0], instances = _b[1];
28
- var pinnedVersion = 'pinVersion' in versionGroup ? versionGroup.pinVersion : '';
29
- var hasPinnedVersion = (0, expect_more_1.isNonEmptyString)(pinnedVersion);
30
- var versions = instances.map(function (_a) {
31
- var version = _a.version;
32
- return version;
33
- });
34
- var uniques = Array.from(new Set(versions));
35
- var isBanned = 'isBanned' in versionGroup && versionGroup.isBanned === true;
36
- var isIgnored = 'isIgnored' in versionGroup && versionGroup.isIgnored === true;
37
- var hasMismatches = isBanned ||
38
- versions.some(function (version, i) {
39
- return (hasPinnedVersion && version !== pinnedVersion) ||
40
- (i > 0 && version !== versions[i - 1]);
41
- });
42
- return {
43
- hasMismatches: hasMismatches,
44
- instances: instances,
45
- isBanned: isBanned,
46
- isIgnored: isIgnored,
47
- name: name,
48
- uniques: uniques
49
- };
50
- });
51
- }
52
- exports.listVersionGroups = listVersionGroups;
@@ -1 +0,0 @@
1
- export declare function collect(value: string, previous: string[]): string[];
@@ -1,7 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.collect = void 0;
4
- function collect(value, previous) {
5
- return previous.concat([value]);
6
- }
7
- exports.collect = collect;
@@ -1,12 +0,0 @@
1
- import type { SyncpackConfig } from '../../types';
2
- import type { Disk } from '../disk';
3
- /**
4
- * Take all configuration from the command line and config file, combine it, and
5
- * set defaults for anything which hasn't been defined.
6
- *
7
- * @param rcFile Optional configuration file contents
8
- * @param program Optional command line options
9
- */
10
- export declare const getConfig: (disk: Disk, program: Partial<SyncpackConfig & {
11
- configPath: string | undefined;
12
- }>) => SyncpackConfig;
@@ -1,29 +0,0 @@
1
- import type { DependencyType, SyncpackConfig } from '../../types';
2
- import type { AnySemverGroup, IgnoredSemverGroup, SemverGroup } from '../../types/semver-group';
3
- import type { AnyVersionGroup, BannedVersionGroup, IgnoredVersionGroup, PinnedVersionGroup, VersionGroup } from '../../types/version-group';
4
- import type { SourceWrapper } from './get-wrappers';
5
- export interface Instance {
6
- dependencyType: DependencyType;
7
- name: string;
8
- version: string;
9
- wrapper: SourceWrapper;
10
- }
11
- export interface InstanceIndex {
12
- instances: Instance[];
13
- instancesByName: InstancesByName;
14
- }
15
- export declare type InstancesByName = Record<string, Instance[]>;
16
- export declare type IndexedIgnoredSemverGroup = IgnoredSemverGroup & InstanceIndex;
17
- export declare type IndexedSemverGroup = SemverGroup & InstanceIndex;
18
- export declare type AnyIndexedSemverGroup = AnySemverGroup & InstanceIndex;
19
- export declare type IndexedVersionGroup = VersionGroup & InstanceIndex;
20
- export declare type IndexedBannedVersionGroup = BannedVersionGroup & InstanceIndex;
21
- export declare type IndexedIgnoredVersionGroup = IgnoredVersionGroup & InstanceIndex;
22
- export declare type IndexedPinnedVersionGroup = PinnedVersionGroup & InstanceIndex;
23
- export declare type AnyIndexedVersionGroup = AnyVersionGroup & InstanceIndex;
24
- export interface Instances {
25
- all: Instance[];
26
- semverGroups: AnyIndexedSemverGroup[];
27
- versionGroups: AnyIndexedVersionGroup[];
28
- }
29
- export declare function getInstances(options: SyncpackConfig, wrappers: SourceWrapper[]): Instances;
@@ -1,172 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __values = (this && this.__values) || function(o) {
14
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
- if (m) return m.call(o);
16
- if (o && typeof o.length === "number") return {
17
- next: function () {
18
- if (o && i >= o.length) o = void 0;
19
- return { value: o && o[i++], done: !o };
20
- }
21
- };
22
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
- };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- exports.__esModule = true;
44
- exports.getInstances = void 0;
45
- var expect_more_1 = require("expect-more");
46
- var minimatch_1 = __importDefault(require("minimatch"));
47
- var log_1 = require("../log");
48
- function getInstances(options, wrappers) {
49
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
50
- var _e, _f, _g, _h, _j;
51
- var allInstances = {
52
- all: [],
53
- semverGroups: options.semverGroups.map(withInstances),
54
- versionGroups: options.versionGroups.map(withInstances)
55
- };
56
- try {
57
- for (var wrappers_1 = __values(wrappers), wrappers_1_1 = wrappers_1.next(); !wrappers_1_1.done; wrappers_1_1 = wrappers_1.next()) {
58
- var wrapper = wrappers_1_1.value;
59
- var pkgName = wrapper.contents.name || 'packagewithoutaname';
60
- try {
61
- for (var _k = (e_2 = void 0, __values(options.dependencyTypes)), _l = _k.next(); !_l.done; _l = _k.next()) {
62
- var dependencyType = _l.value;
63
- if (dependencyType === 'workspace') {
64
- var name = (_e = wrapper.contents) === null || _e === void 0 ? void 0 : _e.name;
65
- var version = (_f = wrapper.contents) === null || _f === void 0 ? void 0 : _f.version;
66
- addInstance({ dependencyType: dependencyType, name: name, pkgName: pkgName, version: version, wrapper: wrapper });
67
- }
68
- else if (dependencyType === 'pnpmOverrides') {
69
- var versionsByName = (_h = (_g = wrapper.contents) === null || _g === void 0 ? void 0 : _g.pnpm) === null || _h === void 0 ? void 0 : _h.overrides;
70
- if (!(0, expect_more_1.isObject)(versionsByName))
71
- continue;
72
- var pkgs = Object.entries(versionsByName);
73
- try {
74
- for (var pkgs_1 = (e_3 = void 0, __values(pkgs)), pkgs_1_1 = pkgs_1.next(); !pkgs_1_1.done; pkgs_1_1 = pkgs_1.next()) {
75
- var _m = __read(pkgs_1_1.value, 2), name = _m[0], version = _m[1];
76
- addInstance({ dependencyType: dependencyType, name: name, pkgName: pkgName, version: version, wrapper: wrapper });
77
- }
78
- }
79
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
80
- finally {
81
- try {
82
- if (pkgs_1_1 && !pkgs_1_1.done && (_c = pkgs_1["return"])) _c.call(pkgs_1);
83
- }
84
- finally { if (e_3) throw e_3.error; }
85
- }
86
- }
87
- else {
88
- var versionsByName = (_j = wrapper.contents) === null || _j === void 0 ? void 0 : _j[dependencyType];
89
- if (!(0, expect_more_1.isObject)(versionsByName))
90
- continue;
91
- var pkgs = Object.entries(versionsByName);
92
- try {
93
- for (var pkgs_2 = (e_4 = void 0, __values(pkgs)), pkgs_2_1 = pkgs_2.next(); !pkgs_2_1.done; pkgs_2_1 = pkgs_2.next()) {
94
- var _o = __read(pkgs_2_1.value, 2), name = _o[0], version = _o[1];
95
- addInstance({ dependencyType: dependencyType, name: name, pkgName: pkgName, version: version, wrapper: wrapper });
96
- }
97
- }
98
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
99
- finally {
100
- try {
101
- if (pkgs_2_1 && !pkgs_2_1.done && (_d = pkgs_2["return"])) _d.call(pkgs_2);
102
- }
103
- finally { if (e_4) throw e_4.error; }
104
- }
105
- }
106
- }
107
- }
108
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
109
- finally {
110
- try {
111
- if (_l && !_l.done && (_b = _k["return"])) _b.call(_k);
112
- }
113
- finally { if (e_2) throw e_2.error; }
114
- }
115
- }
116
- }
117
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
118
- finally {
119
- try {
120
- if (wrappers_1_1 && !wrappers_1_1.done && (_a = wrappers_1["return"])) _a.call(wrappers_1);
121
- }
122
- finally { if (e_1) throw e_1.error; }
123
- }
124
- return allInstances;
125
- function addInstance(input) {
126
- var dependencyType = input.dependencyType, name = input.name, pkgName = input.pkgName, version = input.version, wrapper = input.wrapper;
127
- if (!(0, expect_more_1.isNonEmptyString)(name)) {
128
- return (0, log_1.verbose)('skip instance, no name', input);
129
- }
130
- if (name.search(new RegExp(options.filter)) === -1) {
131
- return (0, log_1.verbose)('skip instance, name does not match filter', input);
132
- }
133
- if (!(0, expect_more_1.isNonEmptyString)(version)) {
134
- return (0, log_1.verbose)('skip instance, no version', input);
135
- }
136
- var instance = { dependencyType: dependencyType, name: name, version: version, wrapper: wrapper };
137
- (0, log_1.verbose)("add ".concat(name, "@").concat(version, " to ").concat(dependencyType, " ").concat(wrapper.filePath));
138
- allInstances.all.push(instance);
139
- groupInstancesBy('semverGroups', dependencyType, pkgName, instance);
140
- groupInstancesBy('versionGroups', dependencyType, pkgName, instance);
141
- }
142
- function withInstances(group) {
143
- var instances = [];
144
- var instancesByName = {};
145
- return __assign(__assign({}, group), { instances: instances, instancesByName: instancesByName });
146
- }
147
- function groupInstancesBy(groupName, dependencyType, pkgName, instance) {
148
- var name = instance.name;
149
- var groups = allInstances[groupName];
150
- if (!groups.length)
151
- return;
152
- for (var i in groups) {
153
- var group = groups[i];
154
- if (matchesGroup(dependencyType, pkgName, name, group)) {
155
- if (!group.instancesByName[name]) {
156
- group.instancesByName[name] = [];
157
- }
158
- group.instancesByName[name].push(instance);
159
- group.instances.push(instance);
160
- return;
161
- }
162
- }
163
- throw new Error("".concat(name, " in ").concat(pkgName, " did not match any ").concat(groupName));
164
- }
165
- function matchesGroup(dependencyType, pkgName, dependencyName, group) {
166
- return ((!(0, expect_more_1.isNonEmptyArray)(group.dependencyTypes) ||
167
- group.dependencyTypes.includes(dependencyType)) &&
168
- group.packages.some(function (pattern) { return (0, minimatch_1["default"])(pkgName, pattern); }) &&
169
- group.dependencies.some(function (pattern) { return (0, minimatch_1["default"])(dependencyName, pattern); }));
170
- }
171
- }
172
- exports.getInstances = getInstances;
@@ -1,4 +0,0 @@
1
- import * as E from 'fp-ts/lib/Either';
2
- import type { SourceWrapper } from '..';
3
- import type { Disk } from '../../../../lib/disk';
4
- export declare function readJsonSafe(disk: Disk): (filePath: string) => E.Either<Error | SyntaxError, SourceWrapper>;
@@ -1,38 +0,0 @@
1
- import type { SyncpackConfig } from '../../../types';
2
- import type { Disk } from '../../../lib/disk';
3
- export interface Source {
4
- bugs?: {
5
- url: string;
6
- } | string;
7
- dependencies?: Record<string, string>;
8
- description?: string;
9
- devDependencies?: Record<string, string>;
10
- keywords?: string[];
11
- name?: string;
12
- peerDependencies?: Record<string, string>;
13
- pnpm?: {
14
- overrides?: Record<string, string>;
15
- };
16
- repository?: {
17
- directory?: string;
18
- type: string;
19
- url: string;
20
- } | string;
21
- resolutions?: Record<string, string>;
22
- scripts?: Record<string, string>;
23
- version?: string;
24
- workspaces?: Record<string, string[]> | string[];
25
- [otherProps: string]: Record<string, string | string[] | Record<string, string | string[]>> | string | string[] | undefined;
26
- }
27
- export interface SourceWrapper {
28
- /** the absolute path on disk to this package.json file */
29
- readonly filePath: string;
30
- /** the parsed JSON contents of this package.json file */
31
- contents: Source;
32
- /** the raw file contents of this package.json file */
33
- readonly json: string;
34
- }
35
- /**
36
- * Read the file contents and metadata for every package.json file needed.
37
- */
38
- export declare function getWrappers(disk: Disk, program: SyncpackConfig): SourceWrapper[];
@@ -1,4 +0,0 @@
1
- /**
2
- * Remove unwanted readonly type added by TaskEither.traverseArray
3
- */
4
- export declare function removeReadonlyType<T>(value: readonly T[]): T[];
@@ -1,10 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.removeReadonlyType = void 0;
4
- /**
5
- * Remove unwanted readonly type added by TaskEither.traverseArray
6
- */
7
- function removeReadonlyType(value) {
8
- return value;
9
- }
10
- exports.removeReadonlyType = removeReadonlyType;