submodule-version 2.3.2 → 3.0.0

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 (120) hide show
  1. package/README.md +103 -20
  2. package/dist/runner/handleErrors/handleErrors.d.ts +1 -1
  3. package/dist/runner/handleErrors/handleErrors.js +3 -10
  4. package/dist/runner/handleErrors/handleErrors.js.map +1 -1
  5. package/dist/runner/index.js +0 -0
  6. package/dist/runner/runner.d.ts +4 -0
  7. package/dist/runner/runner.js +91 -37
  8. package/dist/runner/runner.js.map +1 -1
  9. package/dist/src/PubGrub/PubGrub.d.ts +28 -0
  10. package/dist/src/PubGrub/PubGrub.js +366 -0
  11. package/dist/src/PubGrub/PubGrub.js.map +1 -0
  12. package/dist/src/PubGrub/index.d.ts +2 -0
  13. package/dist/src/PubGrub/index.js +7 -0
  14. package/dist/src/PubGrub/index.js.map +1 -0
  15. package/dist/src/PubGrub/types.d.ts +56 -0
  16. package/dist/src/PubGrub/types.js +3 -0
  17. package/dist/src/PubGrub/types.js.map +1 -0
  18. package/dist/src/entryStore.d.ts +16 -0
  19. package/dist/src/entryStore.js +152 -0
  20. package/dist/src/entryStore.js.map +1 -0
  21. package/dist/src/errors.d.ts +28 -0
  22. package/dist/src/errors.js +30 -0
  23. package/dist/src/errors.js.map +1 -0
  24. package/dist/src/git/api/GithubError.d.ts +4 -0
  25. package/dist/src/git/api/GithubError.js +11 -0
  26. package/dist/src/git/api/GithubError.js.map +1 -0
  27. package/dist/src/git/api/api.d.ts +8 -0
  28. package/dist/src/git/api/api.js +133 -0
  29. package/dist/src/git/api/api.js.map +1 -0
  30. package/dist/src/git/api/index.d.ts +3 -0
  31. package/dist/src/git/api/index.js +8 -0
  32. package/dist/src/git/api/index.js.map +1 -0
  33. package/dist/src/git/git.d.ts +30 -23
  34. package/dist/src/git/git.js +8 -258
  35. package/dist/src/git/git.js.map +1 -1
  36. package/dist/src/git/index.d.ts +1 -0
  37. package/dist/src/git/index.js +3 -1
  38. package/dist/src/git/index.js.map +1 -1
  39. package/dist/src/git/local/index.d.ts +1 -0
  40. package/dist/src/git/local/index.js +6 -0
  41. package/dist/src/git/local/index.js.map +1 -0
  42. package/dist/src/git/local/local.d.ts +26 -0
  43. package/dist/src/git/local/local.js +288 -0
  44. package/dist/src/git/local/local.js.map +1 -0
  45. package/dist/src/index.d.ts +7 -0
  46. package/dist/src/index.js +16 -1
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/printError.d.ts +1 -0
  49. package/dist/src/printError.js +158 -0
  50. package/dist/src/printError.js.map +1 -0
  51. package/dist/src/sv.d.ts +18 -8
  52. package/dist/src/sv.js +235 -131
  53. package/dist/src/sv.js.map +1 -1
  54. package/dist/src/versionUtil/index.d.ts +2 -0
  55. package/dist/src/versionUtil/index.js +6 -0
  56. package/dist/src/versionUtil/index.js.map +1 -0
  57. package/dist/src/versionUtil/versionUtil.d.ts +16 -0
  58. package/dist/src/versionUtil/versionUtil.js +70 -0
  59. package/dist/src/versionUtil/versionUtil.js.map +1 -0
  60. package/package.json +4 -2
  61. package/runner/handleErrors/handleErrors.ts +3 -10
  62. package/runner/runner.ts +128 -46
  63. package/src/PubGrub/PubGrub.ts +578 -0
  64. package/src/PubGrub/__tests__/PubGrub.test.ts +351 -0
  65. package/src/PubGrub/index.ts +12 -0
  66. package/src/PubGrub/types.ts +72 -0
  67. package/src/__tests__/entryStore.test.ts +248 -0
  68. package/src/__tests__/printError.test.ts +148 -0
  69. package/src/__tests__/sv.test.ts +441 -0
  70. package/src/entryStore.ts +212 -0
  71. package/src/errors.ts +39 -0
  72. package/src/git/api/GithubError.ts +5 -0
  73. package/src/git/api/api.ts +180 -0
  74. package/src/git/api/index.ts +3 -0
  75. package/src/git/git.ts +8 -396
  76. package/src/git/index.ts +1 -0
  77. package/src/git/local/index.ts +1 -0
  78. package/src/git/local/local.ts +430 -0
  79. package/src/index.ts +17 -0
  80. package/src/printError.ts +189 -0
  81. package/src/sv.ts +321 -134
  82. package/src/versionUtil/__tests__/versionUtil.test.ts +62 -0
  83. package/src/versionUtil/index.ts +2 -0
  84. package/src/versionUtil/versionUtil.ts +103 -0
  85. package/tsconfig.json +1 -1
  86. package/dist/runner/handleErrors/handleBuildGraphError.d.ts +0 -1
  87. package/dist/runner/handleErrors/handleBuildGraphError.js +0 -42
  88. package/dist/runner/handleErrors/handleBuildGraphError.js.map +0 -1
  89. package/dist/runner/handleErrors/handleGitError.d.ts +0 -1
  90. package/dist/runner/handleErrors/handleGitError.js +0 -27
  91. package/dist/runner/handleErrors/handleGitError.js.map +0 -1
  92. package/dist/runner/handleErrors/handleInstallError.d.ts +0 -1
  93. package/dist/runner/handleErrors/handleInstallError.js +0 -30
  94. package/dist/runner/handleErrors/handleInstallError.js.map +0 -1
  95. package/dist/src/__tests__/versionUtil.test.d.ts +0 -1
  96. package/dist/src/__tests__/versionUtil.test.js +0 -80
  97. package/dist/src/__tests__/versionUtil.test.js.map +0 -1
  98. package/dist/src/buildGraph/GraphError.d.ts +0 -11
  99. package/dist/src/buildGraph/GraphError.js +0 -11
  100. package/dist/src/buildGraph/GraphError.js.map +0 -1
  101. package/dist/src/buildGraph/buildGraph.d.ts +0 -8
  102. package/dist/src/buildGraph/buildGraph.js +0 -100
  103. package/dist/src/buildGraph/buildGraph.js.map +0 -1
  104. package/dist/src/buildGraph/index.d.ts +0 -2
  105. package/dist/src/buildGraph/index.js +0 -8
  106. package/dist/src/buildGraph/index.js.map +0 -1
  107. package/dist/src/git/__tests__/parseGitUrl.test.d.ts +0 -1
  108. package/dist/src/git/__tests__/parseGitUrl.test.js +0 -30
  109. package/dist/src/git/__tests__/parseGitUrl.test.js.map +0 -1
  110. package/dist/src/versionUtil.d.ts +0 -13
  111. package/dist/src/versionUtil.js +0 -79
  112. package/dist/src/versionUtil.js.map +0 -1
  113. package/runner/handleErrors/handleBuildGraphError.ts +0 -49
  114. package/runner/handleErrors/handleGitError.ts +0 -28
  115. package/runner/handleErrors/handleInstallError.ts +0 -26
  116. package/src/__tests__/versionUtil.test.ts +0 -96
  117. package/src/buildGraph/GraphError.ts +0 -12
  118. package/src/buildGraph/buildGraph.ts +0 -150
  119. package/src/buildGraph/index.ts +0 -2
  120. package/src/versionUtil.ts +0 -97
@@ -0,0 +1,103 @@
1
+ import semver from 'semver';
2
+
3
+ export type TVersionConstraint = string;
4
+
5
+ const normalizeConstraint = (constraint = '*'): string | null => {
6
+ const value = constraint.trim();
7
+
8
+ if (!value) return null;
9
+
10
+ return semver.validRange(value);
11
+ };
12
+
13
+ const validate = (value: string, range = false): boolean => {
14
+ const input = value.trim();
15
+
16
+ if (!input) return false;
17
+
18
+ if (range) return normalizeConstraint(input) !== null;
19
+
20
+ return semver.valid(input) === input;
21
+ };
22
+
23
+ const compare = (a: string, b: string): number => semver.compare(a, b);
24
+
25
+ const satisfies = (version: string, constraint = '*'): boolean => {
26
+ const range = normalizeConstraint(constraint);
27
+
28
+ return range !== null && semver.satisfies(version, range);
29
+ };
30
+
31
+ const sort = (versions: string[]): string[] => (
32
+ [...versions].filter(v => validate(v)).sort(semver.rcompare)
33
+ );
34
+
35
+ const select = (
36
+ versions: string[],
37
+ constraints: string[] = ['*'],
38
+ ): string[] => sort(versions).filter(version => (
39
+ constraints.every(constraint => satisfies(version, constraint))
40
+ ));
41
+
42
+ const latest = (
43
+ versions: string[],
44
+ constraints: string[] = ['*'],
45
+ ): string => select(versions, constraints)[0] || '';
46
+
47
+ const intersection = (...sets: string[][]): string[] => {
48
+ if (!sets.length) return [];
49
+
50
+ return sort(sets[0].filter(version => (
51
+ sets.slice(1).every(set => set.includes(version))
52
+ )));
53
+ };
54
+
55
+ const union = (...sets: string[][]): string[] => (
56
+ sort([...new Set(sets.flat())])
57
+ );
58
+
59
+ const difference = (left: string[], right: string[]): string[] => {
60
+ const excluded = new Set(right);
61
+
62
+ return sort(left.filter(version => !excluded.has(version)));
63
+ };
64
+
65
+ const intersects = (left: string[], right: string[]): boolean => {
66
+ const rightSet = new Set(right);
67
+
68
+ return left.some(version => rightSet.has(version));
69
+ };
70
+
71
+ const isSubset = (subset: string[], superset: string[]): boolean => {
72
+ const allowed = new Set(superset);
73
+
74
+ return subset.every(version => allowed.has(version));
75
+ };
76
+
77
+ const bump = (
78
+ version: string,
79
+ kind: 'release' | 'minor' | 'major',
80
+ ): string => {
81
+ const release = kind === 'release' ? 'patch' : kind;
82
+ const next = semver.inc(version, release);
83
+
84
+ if (!next) throw new Error(`Invalid semantic version: ${version}`);
85
+
86
+ return next;
87
+ };
88
+
89
+ export const versionUtil = {
90
+ normalizeConstraint,
91
+ validate,
92
+ compare,
93
+ satisfies,
94
+ sort,
95
+ select,
96
+ latest,
97
+ intersection,
98
+ union,
99
+ difference,
100
+ intersects,
101
+ isSubset,
102
+ bump,
103
+ };
package/tsconfig.json CHANGED
@@ -25,6 +25,6 @@
25
25
  ],
26
26
  "exclude": [
27
27
  "node_modules",
28
- "__tests__"
28
+ "**/__tests__"
29
29
  ]
30
30
  }
@@ -1 +0,0 @@
1
- export declare const handleBuildGraphError: (error: Error) => void;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.handleBuildGraphError = void 0;
7
- const buildGraph_1 = require("../../src/buildGraph");
8
- const log_1 = require("../log");
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const handleBuildGraphError = (error) => {
11
- if (!(error instanceof buildGraph_1.GraphError))
12
- return;
13
- const { message: errorMessage, details } = error;
14
- if (errorMessage === 'NOT_A_NPM') {
15
- log_1.log.error('Not a npm project');
16
- }
17
- if (errorMessage === 'UNKNOWN_VERSION') {
18
- const { name, version, parent } = details;
19
- const stV = chalk_1.default.bgRed.bold.white(` ${version} `);
20
- const stName = chalk_1.default.red.bold(name);
21
- const stParent = chalk_1.default.green.bold(parent);
22
- log_1.log.error('Unknown version', stV, 'for', stName, 'in', stParent);
23
- }
24
- if (errorMessage === 'VERSION_CONFLICT') {
25
- const { parents, name } = details;
26
- const longestVersion = Object.values(parents ?? {}).reduce((len, v) => (v.length > len ? v.length : len), 0);
27
- const formattedName = chalk_1.default.green.bold(name);
28
- const baseMsg = `${chalk_1.default.red('Confilict')} for ${formattedName}:`;
29
- const conflictMsg = Object.entries(parents ?? {})
30
- .reduce((msg, [pName, v]) => {
31
- const formatedV = chalk_1.default.bold.red(String(v).padEnd(longestVersion, ' '));
32
- return [
33
- ...msg,
34
- ` - Version ${formatedV} used in ${chalk_1.default.green.bold(pName)}`,
35
- ];
36
- }, [baseMsg]);
37
- log_1.log.error(conflictMsg.join('\n'));
38
- }
39
- log_1.log.error(errorMessage);
40
- };
41
- exports.handleBuildGraphError = handleBuildGraphError;
42
- //# sourceMappingURL=handleBuildGraphError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleBuildGraphError.js","sourceRoot":"","sources":["../../../runner/handleErrors/handleBuildGraphError.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAkD;AAClD,gCAA6B;AAC7B,kDAA0B;AAEnB,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAU,CAAC;QAAE,OAAO;IAE3C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACjC,SAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,YAAY,KAAK,iBAAiB,EAAE,CAAC;QACvC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC1C,MAAM,GAAG,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,SAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAElC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACrE,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAChC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,aAAa,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,aAAa,GAAG,CAAC;QAElE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CACtC,CAAC;YAEF,OAAO;gBACL,GAAG,GAAG;gBACN,eAAe,SAAS,YAAY,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aAC9D,CAAC;QACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhB,SAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,SAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC1B,CAAC,CAAC;AA5CW,QAAA,qBAAqB,yBA4ChC"}
@@ -1 +0,0 @@
1
- export declare const handleGitError: (error: Error) => void;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleGitError = void 0;
4
- const git_1 = require("../../src/git");
5
- const log_1 = require("../log");
6
- const handleGitError = (error) => {
7
- if (!(error instanceof git_1.GitError))
8
- return;
9
- const { message: errorMessage } = error;
10
- if (errorMessage === 'GIT_NOT_A_REPO') {
11
- log_1.log.error('Is not a git repo');
12
- }
13
- if (errorMessage === 'GIT_MODULE_CHECKOUT_FAILED') {
14
- log_1.log.error('Checkout failded');
15
- }
16
- if (errorMessage === 'GIT_REPO_URL_REQUIRED') {
17
- log_1.log.error('Module is not published yet - pass --repo-url for the first publish');
18
- }
19
- if (errorMessage === 'GIT_NOT_LATEST_VERSION') {
20
- log_1.log.error('Publish is only possible from the latest version');
21
- }
22
- if (errorMessage === 'GIT_SYNC_CONFLICT') {
23
- log_1.log.error('Sync with remote failed - resolve conflicts manually');
24
- }
25
- };
26
- exports.handleGitError = handleGitError;
27
- //# sourceMappingURL=handleGitError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleGitError.js","sourceRoot":"","sources":["../../../runner/handleErrors/handleGitError.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,gCAA6B;AAEtB,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE;IAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,cAAQ,CAAC;QAAE,OAAO;IAEzC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAExC,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;QACtC,SAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,YAAY,KAAK,4BAA4B,EAAE,CAAC;QAClD,SAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,YAAY,KAAK,uBAAuB,EAAE,CAAC;QAC7C,SAAG,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,YAAY,KAAK,wBAAwB,EAAE,CAAC;QAC9C,SAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,YAAY,KAAK,mBAAmB,EAAE,CAAC;QACzC,SAAG,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAxBW,QAAA,cAAc,kBAwBzB"}
@@ -1 +0,0 @@
1
- export declare const handleInstallError: (error: Error, gitUrl: string) => Promise<void>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.handleInstallError = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const versionUtil_1 = require("../../src/versionUtil");
9
- const log_1 = require("../log");
10
- const git_1 = require("../../src/git");
11
- const handleInstallError = async (error, gitUrl) => {
12
- const { message } = error;
13
- const { url, version, name } = git_1.git.parseUrl(gitUrl);
14
- if (message === 'NOT_A_GIT_URL') {
15
- return log_1.log.error(chalk_1.default.red.bold(url), '- is not a git url!');
16
- }
17
- if (message === 'REQUESTED_VERSION_NOT_EXISTS') {
18
- const versions = await git_1.git.listVersions(name);
19
- const latestVersion = versionUtil_1.versionUtil.latest(versions);
20
- const requestedVersion = version || latestVersion;
21
- const styledName = `Package ${chalk_1.default.bold.green(name)}`;
22
- const styledVer = chalk_1.default.bgRed.bold.white(` ${requestedVersion} `);
23
- const errMsg = `does not contain version ${styledVer}.`;
24
- const styledVList = chalk_1.default.bold.green(versions.join(', '));
25
- const helpMsg = `Use one from [${styledVList}]`;
26
- return log_1.log.error(styledName, errMsg, helpMsg);
27
- }
28
- };
29
- exports.handleInstallError = handleInstallError;
30
- //# sourceMappingURL=handleInstallError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleInstallError.js","sourceRoot":"","sources":["../../../runner/handleErrors/handleInstallError.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAoD;AACpD,gCAA6B;AAC7B,uCAAoC;AAE7B,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAY,EAAE,MAAc,EAAE,EAAE;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,SAAG,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,KAAK,8BAA8B,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,SAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,yBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,OAAO,IAAI,aAAa,CAAC;QAClD,MAAM,UAAU,GAAG,WAAW,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,4BAA4B,SAAS,GAAG,CAAC;QACxD,MAAM,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,iBAAiB,WAAW,GAAG,CAAC;QAEhD,OAAO,SAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const versionUtil_1 = require("../versionUtil");
4
- describe('Latest', () => {
5
- it('Single version', () => {
6
- const v = versionUtil_1.versionUtil.latest(['1.0.0']);
7
- expect(v).toBe('1.0.0');
8
- });
9
- it('Path versions', () => {
10
- const v = versionUtil_1.versionUtil.latest(['^1.0.0', '^1.0.1']);
11
- expect(v).toBe('1.0.1');
12
- });
13
- it('Minor versions', () => {
14
- const v = versionUtil_1.versionUtil.latest(['^1.1.0', '^1.0.23']);
15
- expect(v).toBe('1.1.0');
16
- });
17
- it('Major versions', () => {
18
- const v = versionUtil_1.versionUtil.latest(['^2.0.0', '^1.10.23']);
19
- expect(v).toBe('2.0.0');
20
- });
21
- });
22
- describe('Validate', () => {
23
- it('Pass', () => {
24
- expect(versionUtil_1.versionUtil.validate('')).toBe(false);
25
- expect(versionUtil_1.versionUtil.validate('123')).toBe(false);
26
- expect(versionUtil_1.versionUtil.validate('1.2.3')).toBe(true);
27
- expect(versionUtil_1.versionUtil.validate('1.2.3', true)).toBe(true);
28
- expect(versionUtil_1.versionUtil.validate('^1.2.3', true)).toBe(true);
29
- expect(versionUtil_1.versionUtil.validate('^1.2.3')).toBe(false);
30
- expect(versionUtil_1.versionUtil.validate('*')).toBe(false);
31
- expect(versionUtil_1.versionUtil.validate('*', true)).toBe(true);
32
- });
33
- });
34
- describe('Compare', () => {
35
- it('Major mode', () => {
36
- expect(versionUtil_1.versionUtil.compare([1, 2, 3], [1, 3, 4], 0)).toBe(true);
37
- expect(versionUtil_1.versionUtil.compare([1, 3, 3], [1, 2, 4], 0)).toBe(false);
38
- expect(versionUtil_1.versionUtil.compare([1, 2, 3], [1, 2, 4], 1)).toBe(true);
39
- expect(versionUtil_1.versionUtil.compare([1, 2, 4], [1, 2, 3], 1)).toBe(false);
40
- // Higher minor allows lower patch: 0.3.0 fits ^0.2.6
41
- expect(versionUtil_1.versionUtil.compare([0, 2, 6], [0, 3, 0], 0)).toBe(true);
42
- expect(versionUtil_1.versionUtil.compare([0, 2, 6], [0, 2, 5], 0)).toBe(false);
43
- expect(versionUtil_1.versionUtil.compare([0, 2, 6], [0, 2, 6], 0)).toBe(true);
44
- expect(versionUtil_1.versionUtil.compare([0, 2, 6], [1, 3, 0], 0)).toBe(false);
45
- });
46
- it('Minor mode', () => {
47
- expect(versionUtil_1.versionUtil.compare([1, 2, 3], [1, 2, 4], 1)).toBe(true);
48
- expect(versionUtil_1.versionUtil.compare([1, 2, 4], [1, 2, 3], 1)).toBe(false);
49
- });
50
- it('Path mode', () => {
51
- expect(versionUtil_1.versionUtil.compare([1, 2, 3], [1, 2, 3], 2)).toBe(true);
52
- expect(versionUtil_1.versionUtil.compare([1, 2, 4], [1, 2, 3], 2)).toBe(false);
53
- expect(versionUtil_1.versionUtil.compare([1, 2, 3], [1, 2, 4], 2)).toBe(false);
54
- });
55
- });
56
- describe('Pick', () => {
57
- it('Caret range includes higher minors', () => {
58
- const versions = ['0.2.5', '0.2.6', '0.2.8', '0.3.0', '1.0.0'];
59
- expect(versionUtil_1.versionUtil.pick(versions, '^0.2.6')).toEqual(['0.2.6', '0.2.8', '0.3.0']);
60
- });
61
- it('Tilde range keeps minor pinned', () => {
62
- const versions = ['1.2.3', '1.2.10', '1.3.0'];
63
- expect(versionUtil_1.versionUtil.pick(versions, '~1.2.3')).toEqual(['1.2.3', '1.2.10']);
64
- });
65
- });
66
- describe('Bump', () => {
67
- it('Release', () => {
68
- expect(versionUtil_1.versionUtil.bump('0.0.0', 'release')).toBe('0.0.1');
69
- expect(versionUtil_1.versionUtil.bump('1.2.3', 'release')).toBe('1.2.4');
70
- });
71
- it('Minor', () => {
72
- expect(versionUtil_1.versionUtil.bump('0.0.0', 'minor')).toBe('0.1.0');
73
- expect(versionUtil_1.versionUtil.bump('1.2.3', 'minor')).toBe('1.3.0');
74
- });
75
- it('Major', () => {
76
- expect(versionUtil_1.versionUtil.bump('0.0.0', 'major')).toBe('1.0.0');
77
- expect(versionUtil_1.versionUtil.bump('1.2.3', 'major')).toBe('2.0.0');
78
- });
79
- });
80
- //# sourceMappingURL=versionUtil.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versionUtil.test.js","sourceRoot":"","sources":["../../../src/__tests__/versionUtil.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- type TDetails = {
2
- name: string;
3
- parents?: Record<string, string>;
4
- version?: string;
5
- parent?: string;
6
- };
7
- export declare class GraphError extends Error {
8
- details: TDetails;
9
- constructor(type: string, details: TDetails);
10
- }
11
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphError = void 0;
4
- class GraphError extends Error {
5
- constructor(type, details) {
6
- super(type);
7
- this.details = details;
8
- }
9
- }
10
- exports.GraphError = GraphError;
11
- //# sourceMappingURL=GraphError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphError.js","sourceRoot":"","sources":["../../../src/buildGraph/GraphError.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAa,IAAY,EAAS,OAAiB;QACjD,KAAK,CAAC,IAAI,CAAC,CAAC;QADoB,YAAO,GAAP,OAAO,CAAU;IAEnD,CAAC;CACF;AAJD,gCAIC"}
@@ -1,8 +0,0 @@
1
- export interface IGraphEntry {
2
- versions: string[];
3
- parents: Record<string, string>;
4
- used: string[];
5
- allowedVersions: string[];
6
- version: string;
7
- }
8
- export declare const buildGraph: () => Promise<Record<string, IGraphEntry>>;
@@ -1,100 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildGraph = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const pkgJSONManager_1 = require("../pkgJSONManager");
10
- const versionUtil_1 = require("../versionUtil");
11
- const git_1 = require("../git");
12
- const runOptions_1 = require("../runOptions");
13
- const GraphError_1 = require("./GraphError");
14
- const buildGraph = async () => {
15
- const baseJson = await pkgJSONManager_1.pkgJSONManager.read();
16
- const baseTree = {};
17
- if (!baseJson) {
18
- throw new Error('NOT_A_NPM');
19
- }
20
- if (!baseJson.sv) {
21
- /** There is no dependencies, graph is empty */
22
- return {};
23
- }
24
- const recursiveBuilder = async (dependencies = {}, parent = '*') => {
25
- await Promise.all(Object.entries(dependencies).map(async ([url, version]) => {
26
- const { name } = git_1.git.parseUrl(url);
27
- const { cwd, modulesDir } = runOptions_1.RunOptions;
28
- const moduleDir = path_1.default.join(cwd, modulesDir, name);
29
- const isInstalled = fs_1.default.existsSync(moduleDir);
30
- if (version && !versionUtil_1.versionUtil.validate(version, true)) {
31
- throw new GraphError_1.GraphError('UNKNOWN_VERSION', { name, version, parent });
32
- }
33
- if (!isInstalled) {
34
- await git_1.git.addSumbmodule(url);
35
- }
36
- const existEntry = baseTree[name] || null;
37
- const mJson = existEntry
38
- ? null
39
- : await pkgJSONManager_1.pkgJSONManager.read(name);
40
- const meta = {
41
- version: existEntry?.meta.version
42
- || mJson?.version
43
- || version
44
- || '*',
45
- sv: existEntry?.meta.sv || mJson?.sv || {},
46
- };
47
- const parents = existEntry?.parents || {};
48
- baseTree[name] = {
49
- meta,
50
- parents: { ...parents, [parent]: version },
51
- };
52
- await recursiveBuilder(meta.sv, name);
53
- }));
54
- };
55
- await recursiveBuilder(baseJson.sv, baseJson.name);
56
- const graph = await Promise.all(Object.entries(baseTree).map(async ([name, data]) => {
57
- const versions = await git_1.git.listVersions(name);
58
- const { parents, meta } = data;
59
- const used = Object.entries(parents).reduce((selective, [, v]) => (versionUtil_1.versionUtil.pick(selective, v)), versions);
60
- const allowedVersions = Object.entries(parents)
61
- .filter(([parent]) => parent !== baseJson.name)
62
- .reduce((selective, [, v]) => (versionUtil_1.versionUtil.pick(selective, v)), versions);
63
- // No compatible version found and module has version tags
64
- if (!used.length && versions.length) {
65
- throw new GraphError_1.GraphError('VERSION_CONFLICT', { parents, name });
66
- }
67
- /**
68
- * Текущая версия — тег, на котором реально стоит HEAD. Сравнивать с
69
- * package.json нельзя: его version не обязан совпадать с тегами,
70
- * и такое сравнение отрывает HEAD (checkout на тег) при каждом buildGraph
71
- * Checkout делаем только на чистой копии без локальной работы:
72
- * незакоммиченные изменения или незапушенные коммиты
73
- * важнее резолва версий.
74
- */
75
- const current = await git_1.git.currentVersion(name);
76
- if (!current || !used.includes(current)) {
77
- const latest = versionUtil_1.versionUtil.latest(used);
78
- const moduleDir = path_1.default.join(runOptions_1.RunOptions.cwd, runOptions_1.RunOptions.modulesDir, name);
79
- const [hasChanges, hasUnpushed] = await Promise.all([
80
- git_1.git.hasChanges(moduleDir),
81
- git_1.git.hasUnpushedCommits(moduleDir),
82
- ]);
83
- const allChangesDone = !hasChanges && !hasUnpushed;
84
- if (latest && latest !== current && allChangesDone) {
85
- await git_1.git.checkout(name, latest);
86
- }
87
- }
88
- const version = current || meta.version;
89
- return {
90
- name,
91
- data: { versions, parents, used, allowedVersions, version },
92
- };
93
- }));
94
- return graph.reduce((acc, { name, data }) => ({
95
- ...acc,
96
- [name]: data,
97
- }), {});
98
- };
99
- exports.buildGraph = buildGraph;
100
- //# sourceMappingURL=buildGraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildGraph.js","sourceRoot":"","sources":["../../../src/buildGraph/buildGraph.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { buildGraph } from './buildGraph';
2
- export { GraphError } from './GraphError';
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphError = exports.buildGraph = void 0;
4
- var buildGraph_1 = require("./buildGraph");
5
- Object.defineProperty(exports, "buildGraph", { enumerable: true, get: function () { return buildGraph_1.buildGraph; } });
6
- var GraphError_1 = require("./GraphError");
7
- Object.defineProperty(exports, "GraphError", { enumerable: true, get: function () { return GraphError_1.GraphError; } });
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/buildGraph/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const parseGitUrl_1 = require("../parseGitUrl");
4
- describe('Parse git url', () => {
5
- it('Without version', () => {
6
- const url = 'git@github.com:Casique-front/audio-mixer.git';
7
- expect((0, parseGitUrl_1.parseGitUrl)(url)).toEqual({
8
- url: 'git@github.com:Casique-front/audio-mixer.git',
9
- version: undefined,
10
- name: 'audio-mixer',
11
- });
12
- });
13
- it('With version', () => {
14
- const url = 'git@github.com:Casique-front/audio-mixer.git@1.0.1';
15
- expect((0, parseGitUrl_1.parseGitUrl)(url)).toEqual({
16
- url: 'git@github.com:Casique-front/audio-mixer.git',
17
- version: '1.0.1',
18
- name: 'audio-mixer',
19
- });
20
- });
21
- it('Wrong string', () => {
22
- const url = 'xxx@version';
23
- expect((0, parseGitUrl_1.parseGitUrl)(url)).toEqual({
24
- url: 'xxx@version',
25
- version: null,
26
- name: '',
27
- });
28
- });
29
- });
30
- //# sourceMappingURL=parseGitUrl.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseGitUrl.test.js","sourceRoot":"","sources":["../../../../src/git/__tests__/parseGitUrl.test.ts"],"names":[],"mappings":";;AAAA,gDAA6C;AAE7C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,GAAG,GAAG,8CAA8C,CAAC;QAE3D,MAAM,CAAC,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,GAAG,EAAE,8CAA8C;YACnD,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,GAAG,oDAAoD,CAAC;QAEjE,MAAM,CAAC,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,GAAG,EAAE,8CAA8C;YACnD,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,GAAG,aAAa,CAAC;QAE1B,MAAM,CAAC,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,GAAG,EAAE,aAAa;YAClB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- declare enum ComapreMode {
2
- major = 0,
3
- minor = 1,
4
- path = 2
5
- }
6
- export declare const versionUtil: {
7
- compare: (baseVer: number[], actualVer: number[], compareMode: ComapreMode) => boolean;
8
- pick: (allVersions: string[], v: string) => string[];
9
- validate: (v: string, relative?: boolean) => boolean;
10
- latest: (versions: string[]) => string;
11
- bump: (version: string, kind: "release" | "minor" | "major") => string;
12
- };
13
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.versionUtil = void 0;
4
- var ComapreMode;
5
- (function (ComapreMode) {
6
- ComapreMode[ComapreMode["major"] = 0] = "major";
7
- ComapreMode[ComapreMode["minor"] = 1] = "minor";
8
- ComapreMode[ComapreMode["path"] = 2] = "path";
9
- })(ComapreMode || (ComapreMode = {}));
10
- const cleanup = (v) => v.replace(/^\^?~?/, '');
11
- const toArray = (v) => (cleanup(v).split('.').map(Number));
12
- const mode = (v) => {
13
- // Minor and path can be vary. Only major should be same
14
- if (v.startsWith('^'))
15
- return ComapreMode.major;
16
- // Path can be vary. Major and minor should be same
17
- if (v.startsWith('~'))
18
- return ComapreMode.minor;
19
- // Everything should be same
20
- return ComapreMode.path;
21
- };
22
- const compare = (baseVer, actualVer, compareMode) => {
23
- // Components pinned by the mode must match exactly
24
- for (let i = 0; i <= compareMode; i++) {
25
- if (baseVer[i] !== actualVer[i])
26
- return false;
27
- }
28
- // The rest must be same or higher, compared from most significant:
29
- // a higher minor allows any patch (0.3.0 fits ^0.2.6)
30
- for (let i = compareMode + 1; i < 3; i++) {
31
- if (actualVer[i] !== baseVer[i])
32
- return actualVer[i] > baseVer[i];
33
- }
34
- return true;
35
- };
36
- const pick = (allVersions, v) => {
37
- if (v === '*')
38
- return allVersions;
39
- const vMode = mode(v);
40
- const vArr = toArray(v);
41
- return allVersions.filter(av => {
42
- const avArr = toArray(av);
43
- return compare(vArr, avArr, vMode);
44
- });
45
- };
46
- const validate = (v, relative) => {
47
- if (relative) {
48
- if (v === '*')
49
- return true;
50
- return /^[\^$]?\d+\.\d+\.\d+$/.test(v);
51
- }
52
- return /^\d+\.\d+\.\d+$/.test(v);
53
- };
54
- const latest = (versions) => (cleanup([...versions].sort((v1, v2) => {
55
- const v1Arr = toArray(v1);
56
- const v2Arr = toArray(v2);
57
- return v1Arr.reduce((acc, v1Val, i) => {
58
- if (acc !== 0)
59
- return acc;
60
- const v2Val = v2Arr[i];
61
- return v2Val - v1Val;
62
- }, 0);
63
- })[0] || ''));
64
- const bump = (version, kind) => {
65
- const [major, minor, patch] = toArray(version);
66
- if (kind === 'major')
67
- return `${major + 1}.0.0`;
68
- if (kind === 'minor')
69
- return `${major}.${minor + 1}.0`;
70
- return `${major}.${minor}.${patch + 1}`;
71
- };
72
- exports.versionUtil = {
73
- compare,
74
- pick,
75
- validate,
76
- latest,
77
- bump,
78
- };
79
- //# sourceMappingURL=versionUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versionUtil.js","sourceRoot":"","sources":["../../src/versionUtil.ts"],"names":[],"mappings":"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"}