submodule-version 2.0.3 → 2.1.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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/Graph/Graph.d.ts +12 -0
  6. package/dist/src/Graph/Graph.js +85 -0
  7. package/dist/src/Graph/Graph.js.map +1 -0
  8. package/dist/src/Graph/GraphError.d.ts +11 -0
  9. package/dist/src/Graph/GraphError.js +11 -0
  10. package/dist/src/Graph/GraphError.js.map +1 -0
  11. package/dist/src/Graph/index.d.ts +2 -0
  12. package/dist/src/Graph/index.js +8 -0
  13. package/dist/src/Graph/index.js.map +1 -0
  14. package/dist/src/PkgJSONManager.d.ts +6 -0
  15. package/dist/src/PkgJSONManager.js +53 -0
  16. package/dist/src/PkgJSONManager.js.map +1 -0
  17. package/dist/src/git/__tests__/parseGitUrl.test.js.map +1 -0
  18. package/dist/src/git/git.d.ts +6 -0
  19. package/dist/src/git/git.js +53 -0
  20. package/dist/src/git/git.js.map +1 -0
  21. package/dist/src/git/index.d.ts +1 -0
  22. package/dist/src/git/index.js +6 -0
  23. package/dist/src/git/index.js.map +1 -0
  24. package/dist/src/{parseGitUrl.d.ts → git/parseGitUrl.d.ts} +1 -2
  25. package/dist/src/git/parseGitUrl.js.map +1 -0
  26. package/dist/src/index.d.ts +1 -0
  27. package/dist/src/index.js +6 -0
  28. package/dist/src/index.js.map +1 -0
  29. package/dist/src/runOptions.d.ts +4 -0
  30. package/dist/src/runOptions.js +9 -0
  31. package/dist/src/runOptions.js.map +1 -0
  32. package/dist/src/runner/handleErrors/handleBuildGraphError.d.ts +1 -0
  33. package/dist/src/runner/handleErrors/handleBuildGraphError.js +42 -0
  34. package/dist/src/runner/handleErrors/handleBuildGraphError.js.map +1 -0
  35. package/dist/src/runner/handleErrors/handleErrors.d.ts +1 -0
  36. package/dist/src/runner/handleErrors/handleErrors.js +13 -0
  37. package/dist/src/runner/handleErrors/handleErrors.js.map +1 -0
  38. package/dist/src/runner/handleErrors/handleInstallError.d.ts +1 -0
  39. package/dist/src/runner/handleErrors/handleInstallError.js +30 -0
  40. package/dist/src/runner/handleErrors/handleInstallError.js.map +1 -0
  41. package/dist/src/runner/handleErrors/index.d.ts +1 -0
  42. package/dist/src/runner/handleErrors/index.js +6 -0
  43. package/dist/src/runner/handleErrors/index.js.map +1 -0
  44. package/dist/src/runner/index.d.ts +1 -0
  45. package/dist/src/runner/index.js +4 -0
  46. package/dist/src/runner/index.js.map +1 -0
  47. package/dist/src/runner/runer.js +54 -0
  48. package/dist/src/runner/runer.js.map +1 -0
  49. package/dist/src/sv.d.ts +8 -0
  50. package/dist/src/sv.js +55 -0
  51. package/dist/src/sv.js.map +1 -0
  52. package/dist/src/versionUtil.js.map +1 -1
  53. package/index-dev.ts +1 -1
  54. package/index.ts +1 -1
  55. package/package.json +12 -3
  56. package/src/Graph/Graph.ts +121 -0
  57. package/src/Graph/GraphError.ts +12 -0
  58. package/src/Graph/index.ts +2 -0
  59. package/src/PkgJSONManager.ts +57 -0
  60. package/src/git/git.ts +64 -0
  61. package/src/git/index.ts +1 -0
  62. package/src/{parseGitUrl.ts → git/parseGitUrl.ts} +1 -1
  63. package/src/index.ts +1 -0
  64. package/src/runOptions.ts +4 -0
  65. package/src/runner/handleErrors/handleBuildGraphError.ts +49 -0
  66. package/src/runner/handleErrors/handleErrors.ts +9 -0
  67. package/src/runner/handleErrors/handleInstallError.ts +26 -0
  68. package/src/runner/handleErrors/index.ts +1 -0
  69. package/src/runner/index.ts +1 -0
  70. package/src/runner/runer.ts +76 -0
  71. package/src/sv.ts +67 -0
  72. package/dist/src/__tests__/parseGitUrl.test.js.map +0 -1
  73. package/dist/src/buildGraph.d.ts +0 -7
  74. package/dist/src/buildGraph.js +0 -88
  75. package/dist/src/buildGraph.js.map +0 -1
  76. package/dist/src/config.d.ts +0 -4
  77. package/dist/src/config.js +0 -8
  78. package/dist/src/config.js.map +0 -1
  79. package/dist/src/git.d.ts +0 -5
  80. package/dist/src/git.js +0 -55
  81. package/dist/src/git.js.map +0 -1
  82. package/dist/src/install.d.ts +0 -1
  83. package/dist/src/install.js +0 -43
  84. package/dist/src/install.js.map +0 -1
  85. package/dist/src/parseGitUrl.js.map +0 -1
  86. package/dist/src/pkgJsonUtil.d.ts +0 -5
  87. package/dist/src/pkgJsonUtil.js +0 -38
  88. package/dist/src/pkgJsonUtil.js.map +0 -1
  89. package/dist/src/submoduleVersion.js +0 -43
  90. package/dist/src/submoduleVersion.js.map +0 -1
  91. package/src/buildGraph.ts +0 -126
  92. package/src/config.ts +0 -4
  93. package/src/git.ts +0 -52
  94. package/src/install.ts +0 -47
  95. package/src/pkgJsonUtil.ts +0 -36
  96. package/src/submoduleVersion.ts +0 -54
  97. /package/dist/src/{__tests__ → git/__tests__}/parseGitUrl.test.d.ts +0 -0
  98. /package/dist/src/{__tests__ → git/__tests__}/parseGitUrl.test.js +0 -0
  99. /package/dist/src/{parseGitUrl.js → git/parseGitUrl.js} +0 -0
  100. /package/dist/src/{submoduleVersion.d.ts → runner/runer.d.ts} +0 -0
  101. /package/src/{__tests__ → git/__tests__}/parseGitUrl.test.ts +0 -0
package/README.md CHANGED
@@ -16,7 +16,7 @@ Take a look on the next situation:
16
16
 
17
17
  - Project has 2 submodules `ui-button-element` and `render-engine`
18
18
  - Package `ui-button-element` dependents on the `render-engine`
19
- - Third repo `ui-slider-element` dependets on newest version of the `render-engine` and not include in the project
19
+ - Third repo `ui-slider-element` dependets on newest version of the `render-engine` and not included in the project
20
20
 
21
21
  This cause next problems:
22
22
 
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import './src/submoduleVersion';
2
+ import './src/runner';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- require("./src/submoduleVersion");
4
+ require("./src/runner");
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAEA,kCAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAEA,wBAAsB"}
@@ -0,0 +1,12 @@
1
+ import { PkgJSONManager } from '../PkgJSONManager';
2
+ export interface IGraphEntry {
3
+ versions: string[];
4
+ parents: Record<string, string>;
5
+ used: string[];
6
+ version: string;
7
+ }
8
+ export declare class Graph {
9
+ private pkgJSONManager;
10
+ constructor(pkgJSONManager: PkgJSONManager);
11
+ build(): Promise<Record<string, IGraphEntry>>;
12
+ }
@@ -0,0 +1,85 @@
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.Graph = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const versionUtil_1 = require("../versionUtil");
10
+ const git_1 = require("../git");
11
+ const runOptions_1 = require("../runOptions");
12
+ const GraphError_1 = require("./GraphError");
13
+ class Graph {
14
+ constructor(pkgJSONManager) {
15
+ this.pkgJSONManager = pkgJSONManager;
16
+ }
17
+ async build() {
18
+ const baseJson = await this.pkgJSONManager.read();
19
+ const baseTree = {};
20
+ if (!baseJson) {
21
+ throw new Error('NOT_A_NPM');
22
+ }
23
+ if (!baseJson.sv) {
24
+ /** There is no dependencies, graph is empty */
25
+ return {};
26
+ }
27
+ const recursiveBuilder = async (dependencies = {}, parent = '*') => {
28
+ await Promise.all(Object.entries(dependencies).map(async ([url, version]) => {
29
+ const { name } = git_1.git.parseUrl(url);
30
+ const { cwd, modulesDir } = runOptions_1.RunOptions;
31
+ const moduleDir = path_1.default.join(cwd, modulesDir, name);
32
+ const isInstalled = fs_1.default.existsSync(moduleDir);
33
+ if (version && !versionUtil_1.versionUtil.validate(version, true)) {
34
+ throw new GraphError_1.GraphError('UNKNOWN_VERSION', { name, version, parent });
35
+ }
36
+ if (!isInstalled) {
37
+ await git_1.git.addSumbmodule(url);
38
+ }
39
+ const existEntry = baseTree[name] || null;
40
+ const mJson = existEntry
41
+ ? null
42
+ : await this.pkgJSONManager.read(name);
43
+ const meta = {
44
+ version: existEntry?.meta.version
45
+ || mJson?.version
46
+ || version
47
+ || '*',
48
+ sv: existEntry?.meta.sv || mJson?.sv || {},
49
+ };
50
+ const parents = existEntry?.parents || {};
51
+ baseTree[name] = {
52
+ meta,
53
+ parents: { ...parents, [parent]: version },
54
+ };
55
+ await recursiveBuilder(meta.sv, name);
56
+ }));
57
+ };
58
+ await recursiveBuilder(baseJson.sv, baseJson.name);
59
+ const graph = await Promise.all(Object.entries(baseTree).map(async ([name, data]) => {
60
+ const versions = await git_1.git.listVersions(name);
61
+ const { parents, meta } = data;
62
+ const used = Object.entries(parents).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
+ if (!used.includes(meta.version)) {
68
+ const latest = versionUtil_1.versionUtil.latest(used);
69
+ if (latest) {
70
+ await git_1.git.checkout(name, latest);
71
+ }
72
+ }
73
+ return {
74
+ name,
75
+ data: { versions, parents, used, version: meta.version },
76
+ };
77
+ }));
78
+ return graph.reduce((acc, { name, data }) => ({
79
+ ...acc,
80
+ [name]: data,
81
+ }), {});
82
+ }
83
+ }
84
+ exports.Graph = Graph;
85
+ //# sourceMappingURL=Graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/Graph/Graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
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 {};
@@ -0,0 +1,11 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphError.js","sourceRoot":"","sources":["../../../src/Graph/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"}
@@ -0,0 +1,2 @@
1
+ export { Graph } from './Graph';
2
+ export { GraphError } from './GraphError';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphError = exports.Graph = void 0;
4
+ var Graph_1 = require("./Graph");
5
+ Object.defineProperty(exports, "Graph", { enumerable: true, get: function () { return Graph_1.Graph; } });
6
+ var GraphError_1 = require("./GraphError");
7
+ Object.defineProperty(exports, "GraphError", { enumerable: true, get: function () { return GraphError_1.GraphError; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Graph/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,6 @@
1
+ export declare class PkgJSONManager {
2
+ private cache;
3
+ read: (submoduleName?: string) => Promise<any>;
4
+ write: (data: Object, submoduleName?: string) => Promise<void>;
5
+ clearCache(): void;
6
+ }
@@ -0,0 +1,53 @@
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.PkgJSONManager = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const util_1 = require("util");
9
+ const path_1 = __importDefault(require("path"));
10
+ const runOptions_1 = require("./runOptions");
11
+ const existsAsync = (0, util_1.promisify)(fs_1.default.exists);
12
+ const readFileAsync = (0, util_1.promisify)(fs_1.default.readFile);
13
+ const writeFileAsync = (0, util_1.promisify)(fs_1.default.writeFile);
14
+ const JSON_NAME = 'package.json';
15
+ const getJsonPath = async (submoduleName) => {
16
+ const folder = submoduleName ? [runOptions_1.RunOptions.modulesDir, submoduleName] : [];
17
+ const jsonPath = path_1.default.join(runOptions_1.RunOptions.cwd, ...folder, JSON_NAME);
18
+ const isJsonExists = await existsAsync(jsonPath);
19
+ if (!isJsonExists)
20
+ return null;
21
+ return jsonPath;
22
+ };
23
+ class PkgJSONManager {
24
+ constructor() {
25
+ this.cache = new Map();
26
+ /* Reads package.json in project folder or in submodule */
27
+ this.read = async (submoduleName) => {
28
+ const jsonPath = await getJsonPath(submoduleName);
29
+ if (!jsonPath)
30
+ return null;
31
+ if (this.cache.has(jsonPath)) {
32
+ return this.cache.get(jsonPath);
33
+ }
34
+ const jsonString = await readFileAsync(jsonPath, 'utf-8');
35
+ const parsed = JSON.parse(jsonString);
36
+ this.cache.set(jsonPath, parsed);
37
+ return parsed;
38
+ };
39
+ /* Writes package.json in project folder or in submodule */
40
+ this.write = async (data, submoduleName) => {
41
+ const jsonPath = await getJsonPath(submoduleName);
42
+ if (!jsonPath)
43
+ return;
44
+ this.cache.set(jsonPath, data);
45
+ await writeFileAsync(jsonPath, JSON.stringify(data, null, 2));
46
+ };
47
+ }
48
+ clearCache() {
49
+ this.cache.clear();
50
+ }
51
+ }
52
+ exports.PkgJSONManager = PkgJSONManager;
53
+ //# sourceMappingURL=PkgJSONManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PkgJSONManager.js","sourceRoot":"","sources":["../../src/PkgJSONManager.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,+BAAiC;AACjC,gDAAwB;AACxB,6CAA0C;AAE1C,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,MAAM,CAAC,CAAC;AACzC,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,SAAS,CAAC,CAAC;AAC/C,MAAM,SAAS,GAAG,cAAc,CAAC;AAIjC,MAAM,WAAW,GAAG,KAAK,EAAE,aAAsB,EAAsB,EAAE;IACvE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAU,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAU,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAa,cAAc;IAA3B;QACU,UAAK,GAAqB,IAAI,GAAG,EAAE,CAAC;QAE5C,0DAA0D;QACnD,SAAI,GAAG,KAAK,EAAE,aAAsB,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEjC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,2DAA2D;QACpD,UAAK,GAAG,KAAK,EAAE,IAAY,EAAE,aAAsB,EAAE,EAAE;YAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE/B,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;IAKJ,CAAC;IAHQ,UAAU;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAnCD,wCAmCC"}
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ export declare const git: {
2
+ parseUrl: (url: string) => import("./parseGitUrl").IParseResult;
3
+ addSumbmodule: (url: string) => Promise<void>;
4
+ checkout: (name: string, version: string) => Promise<void>;
5
+ listVersions: (projectName: string) => Promise<string[]>;
6
+ };
@@ -0,0 +1,53 @@
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.git = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const child_process_1 = require("child_process");
9
+ const util_1 = require("util");
10
+ const path_1 = __importDefault(require("path"));
11
+ const log_1 = require("../log");
12
+ const parseGitUrl_1 = require("./parseGitUrl");
13
+ const versionUtil_1 = require("../versionUtil");
14
+ const runOptions_1 = require("../runOptions");
15
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
16
+ exports.git = {
17
+ parseUrl: parseGitUrl_1.parseGitUrl,
18
+ addSumbmodule: async (url) => {
19
+ const { name } = (0, parseGitUrl_1.parseGitUrl)(url);
20
+ const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, name);
21
+ // try {
22
+ await execAsync(`git submodule add ${url} ${module}`, { cwd: runOptions_1.RunOptions.cwd });
23
+ // } catch {
24
+ // log.error(url, 'Is not a git repo', RunOptions.cwd);
25
+ // }
26
+ },
27
+ checkout: async (name, version) => {
28
+ const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, name);
29
+ const styledName = chalk_1.default.green.bold(name);
30
+ const styledVer = chalk_1.default.green.bold(version);
31
+ try {
32
+ log_1.log.message('Checkout', styledName, 'to', styledVer);
33
+ await execAsync(`git -C ${module} checkout ${version} -q`, { cwd: runOptions_1.RunOptions.cwd });
34
+ }
35
+ catch {
36
+ log_1.log.error('Checkout failded');
37
+ }
38
+ },
39
+ listVersions: async (projectName) => {
40
+ const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, projectName);
41
+ const styledName = chalk_1.default.green.bold(projectName);
42
+ log_1.log.message('Fetching tag list for', styledName);
43
+ await execAsync(`git -C ${module} fetch --tags`, { cwd: runOptions_1.RunOptions.cwd });
44
+ const res = await execAsync(`git -C ${module} tag -l`, { cwd: runOptions_1.RunOptions.cwd });
45
+ const tagList = res.stdout.toString().split(/\r?\n/);
46
+ return tagList.filter(tag => {
47
+ if (!tag)
48
+ return false;
49
+ return versionUtil_1.versionUtil.validate(tag);
50
+ });
51
+ },
52
+ };
53
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/git/git.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iDAAqC;AACrC,+BAAiC;AACjC,gDAAwB;AACxB,gCAA6B;AAC7B,+CAA4C;AAC5C,gDAA6C;AAC7C,8CAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAErB,QAAA,GAAG,GAAG;IACjB,QAAQ,EAAE,yBAAW;IAErB,aAAa,EAAE,KAAK,EAAE,GAAW,EAAiB,EAAE;QAClD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEtD,QAAQ;QACN,MAAM,SAAS,CACb,qBAAqB,GAAG,IAAI,MAAM,EAAE,EACpC,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QACJ,YAAY;QACZ,yDAAyD;QACzD,IAAI;IACN,CAAC;IAED,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,OAAe,EAAiB,EAAE;QAC/D,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,SAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,SAAS,CACb,UAAU,MAAM,aAAa,OAAO,KAAK,EACzC,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,SAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,WAAmB,EAAqB,EAAE;QAC7D,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,SAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,UAAU,MAAM,eAAe,EAAE,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,UAAU,MAAM,SAAS,EACzB,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YAEvB,OAAO,yBAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export { git } from './git';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.git = void 0;
4
+ var git_1 = require("./git");
5
+ Object.defineProperty(exports, "git", { enumerable: true, get: function () { return git_1.git; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/git/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,0FAAA,GAAG,OAAA"}
@@ -1,7 +1,6 @@
1
- interface IParseResult {
1
+ export interface IParseResult {
2
2
  name: string;
3
3
  url: string;
4
4
  version: string | null;
5
5
  }
6
6
  export declare const parseGitUrl: (url: string) => IParseResult;
7
- export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseGitUrl.js","sourceRoot":"","sources":["../../../src/git/parseGitUrl.ts"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAC1D,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,EAAE;IACR,GAAG;IACH,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEI,MAAM,WAAW,GAAG,CAAC,GAAW,EAAgB,EAAE;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAE/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAExD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAElC,IAAI,CAAC,IAAI;QAAE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,WAAW,eAetB"}
@@ -0,0 +1 @@
1
+ export { SV } from './sv';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SV = void 0;
4
+ var sv_1 = require("./sv");
5
+ Object.defineProperty(exports, "SV", { enumerable: true, get: function () { return sv_1.SV; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2BAA0B;AAAjB,wFAAA,EAAE,OAAA"}
@@ -0,0 +1,4 @@
1
+ export declare class RunOptions {
2
+ static cwd: string;
3
+ static modulesDir: string;
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunOptions = void 0;
4
+ class RunOptions {
5
+ }
6
+ exports.RunOptions = RunOptions;
7
+ RunOptions.cwd = '';
8
+ RunOptions.modulesDir = '';
9
+ //# sourceMappingURL=runOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runOptions.js","sourceRoot":"","sources":["../../src/runOptions.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;;AAAvB,gCAGC;AAFe,cAAG,GAAW,EAAE,CAAC;AACjB,qBAAU,GAAW,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const handleBuildGraphError: (error: Error) => void;
@@ -0,0 +1,42 @@
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 Graph_1 = require("../../Graph");
8
+ const log_1 = require("../../log");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const handleBuildGraphError = (error) => {
11
+ if (!(error instanceof Graph_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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleBuildGraphError.js","sourceRoot":"","sources":["../../../../src/runner/handleErrors/handleBuildGraphError.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAyC;AACzC,mCAAgC;AAChC,kDAA0B;AAEnB,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAU,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"}
@@ -0,0 +1 @@
1
+ export declare const handleErrors: (error: Error, gitUrl: string) => Promise<void>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleErrors = void 0;
4
+ const handleBuildGraphError_1 = require("./handleBuildGraphError");
5
+ const handleInstallError_1 = require("./handleInstallError");
6
+ const handleErrors = async (error, gitUrl) => {
7
+ await Promise.all([
8
+ (0, handleBuildGraphError_1.handleBuildGraphError)(error),
9
+ (0, handleInstallError_1.handleInstallError)(error, gitUrl),
10
+ ]);
11
+ };
12
+ exports.handleErrors = handleErrors;
13
+ //# sourceMappingURL=handleErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleErrors.js","sourceRoot":"","sources":["../../../../src/runner/handleErrors/handleErrors.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAChE,6DAA0D;AAEnD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAY,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,6CAAqB,EAAC,KAAK,CAAC;QAC5B,IAAA,uCAAkB,EAAC,KAAK,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;AACL,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}
@@ -0,0 +1 @@
1
+ export declare const handleInstallError: (error: Error, gitUrl: string) => Promise<void>;
@@ -0,0 +1,30 @@
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("../../versionUtil");
9
+ const log_1 = require("../../log");
10
+ const git_1 = require("../../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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleInstallError.js","sourceRoot":"","sources":["../../../../src/runner/handleErrors/handleInstallError.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAAgD;AAChD,mCAAgC;AAChC,mCAAgC;AAEzB,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"}
@@ -0,0 +1 @@
1
+ export { handleErrors } from './handleErrors';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleErrors = void 0;
4
+ var handleErrors_1 = require("./handleErrors");
5
+ Object.defineProperty(exports, "handleErrors", { enumerable: true, get: function () { return handleErrors_1.handleErrors; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runner/handleErrors/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1 @@
1
+ import './runer';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./runer");
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runner/index.ts"],"names":[],"mappings":";;AAAA,mBAAiB"}
@@ -0,0 +1,54 @@
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
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const sv_1 = require("../sv");
9
+ const log_1 = require("../log");
10
+ const handleErrors_1 = require("./handleErrors");
11
+ const BASE_DIR = 'modules';
12
+ const makeEvent = (event) => {
13
+ const sv = new sv_1.SV(process.cwd(), BASE_DIR);
14
+ return async (arg) => {
15
+ const { url: gitUrl } = arg;
16
+ try {
17
+ await event(sv, arg);
18
+ }
19
+ catch (e) {
20
+ (0, handleErrors_1.handleErrors)(e, gitUrl);
21
+ }
22
+ };
23
+ };
24
+ const install = makeEvent(async (sv, arg) => {
25
+ const { url: gitUrl, target } = arg;
26
+ await sv.install(gitUrl, target);
27
+ });
28
+ const update = makeEvent(async (sv) => {
29
+ await sv.update();
30
+ });
31
+ const validate = makeEvent(async (sv) => {
32
+ const result = await sv.buildGraph();
33
+ Object.entries(result).forEach(([name, entry]) => {
34
+ if (!entry.used.includes(entry.version) && entry.versions.length === 0) {
35
+ log_1.log.message(chalk_1.default.yellow('⚠️ WARN: Module'), chalk_1.default.bgYellow.black(` ${name} `), chalk_1.default.yellow('does not contain any version tag!'));
36
+ }
37
+ });
38
+ log_1.log.message(chalk_1.default.green.bold('Everything is up to date!🔥'));
39
+ });
40
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
41
+ yargs_1.default.scriptName('sv')
42
+ .usage('$0 <cmd> [args]')
43
+ .command(['validate', '$0', 'v'], 'Validate and install modules', () => { }, validate)
44
+ .command(['update', 'u'], 'Update git modules to actual versions', () => { }, update)
45
+ .command(['install <url> [target]', 'i'], 'Install new submodule', y => y.positional('url', {
46
+ type: 'string',
47
+ describe: 'Git submodule url',
48
+ }).positional('target', {
49
+ type: 'string',
50
+ describe: 'Target module name',
51
+ }), install)
52
+ .help()
53
+ .argv;
54
+ //# sourceMappingURL=runer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runer.js","sourceRoot":"","sources":["../../../src/runner/runer.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,kDAA0B;AAC1B,8BAA2B;AAC3B,gCAA6B;AAC7B,iDAA8C;AAE9C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,SAAS,GAAG,CAAC,KAA0C,EAAE,EAAE;IAC/D,MAAM,EAAE,GAAG,IAAI,OAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO,KAAK,EAAE,GAAQ,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAoB,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,2BAAY,EAAC,CAAU,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IAC1C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAqC,CAAC;IACtE,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;IAClC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;IACpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IAErC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,SAAG,CAAC,OAAO,CACT,eAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAChC,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,EACjC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAClD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAG,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,eAAK,CAAC,UAAU,CAAC,IAAI,CAAC;KACnB,KAAK,CAAC,iBAAiB,CAAC;KACxB,OAAO,CACN,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,EACvB,8BAA8B,EAC9B,GAAG,EAAE,GAAE,CAAC,EACR,QAAQ,CACT;KACA,OAAO,CACN,CAAC,QAAQ,EAAE,GAAG,CAAC,EACf,uCAAuC,EACvC,GAAG,EAAE,GAAE,CAAC,EACR,MAAM,CACP;KACA,OAAO,CACN,CAAC,wBAAwB,EAAE,GAAG,CAAC,EAC/B,uBAAuB,EACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;IACvB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;IACtB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,oBAAoB;CAC/B,CAAC,EACF,OAAO,CACR;KACA,IAAI,EAAE;KACN,IAAI,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare class SV {
2
+ private pkgJSONManager;
3
+ private graph;
4
+ constructor(projectDir: string, modulesDir?: string);
5
+ buildGraph: () => Promise<Record<string, import("./Graph/Graph").IGraphEntry>>;
6
+ install: (gitUrl: string, parentModule?: string) => Promise<void>;
7
+ update: () => Promise<void>;
8
+ }