submodule-version 2.0.4 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runner/handleErrors/handleBuildGraphError.d.ts +1 -0
- package/dist/runner/handleErrors/handleBuildGraphError.js +42 -0
- package/dist/runner/handleErrors/handleBuildGraphError.js.map +1 -0
- package/dist/runner/handleErrors/handleErrors.d.ts +1 -0
- package/dist/runner/handleErrors/handleErrors.js +15 -0
- package/dist/runner/handleErrors/handleErrors.js.map +1 -0
- package/dist/runner/handleErrors/handleGitError.d.ts +1 -0
- package/dist/runner/handleErrors/handleGitError.js +18 -0
- package/dist/runner/handleErrors/handleGitError.js.map +1 -0
- package/dist/runner/handleErrors/handleInstallError.d.ts +1 -0
- package/dist/runner/handleErrors/handleInstallError.js +30 -0
- package/dist/runner/handleErrors/handleInstallError.js.map +1 -0
- package/dist/runner/handleErrors/index.d.ts +1 -0
- package/dist/runner/handleErrors/index.js +6 -0
- package/dist/runner/handleErrors/index.js.map +1 -0
- package/dist/runner/index-dev.d.ts +2 -0
- package/dist/runner/index-dev.js +11 -0
- package/dist/runner/index-dev.js.map +1 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/{index.js → runner/index.js} +1 -1
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/log.js.map +1 -0
- package/dist/runner/runner.d.ts +9 -0
- package/dist/runner/runner.js +63 -0
- package/dist/runner/runner.js.map +1 -0
- package/dist/src/Graph/Graph.d.ts +12 -0
- package/dist/src/Graph/Graph.js +85 -0
- package/dist/src/Graph/Graph.js.map +1 -0
- package/dist/src/Graph/GraphError.d.ts +11 -0
- package/dist/src/Graph/GraphError.js +11 -0
- package/dist/src/Graph/GraphError.js.map +1 -0
- package/dist/src/Graph/index.d.ts +2 -0
- package/dist/src/Graph/index.js +8 -0
- package/dist/src/Graph/index.js.map +1 -0
- package/dist/src/PkgJSONManager.d.ts +6 -0
- package/dist/src/PkgJSONManager.js +53 -0
- package/dist/src/PkgJSONManager.js.map +1 -0
- package/dist/src/git/GitError.d.ts +4 -0
- package/dist/src/git/GitError.js +11 -0
- package/dist/src/git/GitError.js.map +1 -0
- package/dist/src/git/__tests__/parseGitUrl.test.js.map +1 -0
- package/dist/src/git/git.d.ts +7 -0
- package/dist/src/git/git.js +52 -0
- package/dist/src/git/git.js.map +1 -0
- package/dist/src/git/index.d.ts +2 -0
- package/dist/src/git/index.js +8 -0
- package/dist/src/git/index.js.map +1 -0
- package/dist/src/{parseGitUrl.d.ts → git/parseGitUrl.d.ts} +1 -2
- package/dist/src/git/parseGitUrl.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/runOptions.d.ts +4 -0
- package/dist/src/runOptions.js +9 -0
- package/dist/src/runOptions.js.map +1 -0
- package/dist/src/sv.d.ts +9 -0
- package/dist/src/sv.js +59 -0
- package/dist/src/sv.js.map +1 -0
- package/dist/src/versionUtil.js.map +1 -1
- package/package.json +5 -4
- package/runner/handleErrors/handleBuildGraphError.ts +49 -0
- package/runner/handleErrors/handleErrors.ts +11 -0
- package/runner/handleErrors/handleGitError.ts +16 -0
- package/runner/handleErrors/handleInstallError.ts +26 -0
- package/runner/handleErrors/index.ts +1 -0
- package/{index-dev.ts → runner/index-dev.ts} +2 -2
- package/runner/index.ts +3 -0
- package/runner/runner.ts +90 -0
- package/src/Graph/Graph.ts +121 -0
- package/src/Graph/GraphError.ts +12 -0
- package/src/Graph/index.ts +2 -0
- package/src/PkgJSONManager.ts +57 -0
- package/src/git/GitError.ts +5 -0
- package/src/git/git.ts +69 -0
- package/src/git/index.ts +2 -0
- package/src/{parseGitUrl.ts → git/parseGitUrl.ts} +1 -1
- package/src/index.ts +1 -0
- package/src/runOptions.ts +4 -0
- package/src/sv.ts +72 -0
- package/tsconfig.json +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/src/__tests__/parseGitUrl.test.js.map +0 -1
- package/dist/src/buildGraph.d.ts +0 -7
- package/dist/src/buildGraph.js +0 -88
- package/dist/src/buildGraph.js.map +0 -1
- package/dist/src/config.d.ts +0 -4
- package/dist/src/config.js +0 -8
- package/dist/src/config.js.map +0 -1
- package/dist/src/git.d.ts +0 -5
- package/dist/src/git.js +0 -55
- package/dist/src/git.js.map +0 -1
- package/dist/src/install.d.ts +0 -1
- package/dist/src/install.js +0 -43
- package/dist/src/install.js.map +0 -1
- package/dist/src/log.js.map +0 -1
- package/dist/src/parseGitUrl.js.map +0 -1
- package/dist/src/pkgJsonUtil.d.ts +0 -5
- package/dist/src/pkgJsonUtil.js +0 -38
- package/dist/src/pkgJsonUtil.js.map +0 -1
- package/dist/src/submoduleVersion.d.ts +0 -1
- package/dist/src/submoduleVersion.js +0 -43
- package/dist/src/submoduleVersion.js.map +0 -1
- package/index.ts +0 -3
- package/src/buildGraph.ts +0 -126
- package/src/config.ts +0 -4
- package/src/git.ts +0 -52
- package/src/install.ts +0 -47
- package/src/pkgJsonUtil.ts +0 -36
- package/src/submoduleVersion.ts +0 -54
- /package/dist/{src → runner}/log.d.ts +0 -0
- /package/dist/{src → runner}/log.js +0 -0
- /package/dist/src/{__tests__ → git/__tests__}/parseGitUrl.test.d.ts +0 -0
- /package/dist/src/{__tests__ → git/__tests__}/parseGitUrl.test.js +0 -0
- /package/dist/src/{parseGitUrl.js → git/parseGitUrl.js} +0 -0
- /package/{src → runner}/log.ts +0 -0
- /package/src/{__tests__ → git/__tests__}/parseGitUrl.test.ts +0 -0
|
@@ -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("../../src/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":["../../../runner/handleErrors/handleBuildGraphError.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA6C;AAC7C,gCAA6B;AAC7B,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,15 @@
|
|
|
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 handleGitError_1 = require("./handleGitError");
|
|
7
|
+
const handleErrors = async (error, gitUrl) => {
|
|
8
|
+
await Promise.all([
|
|
9
|
+
(0, handleBuildGraphError_1.handleBuildGraphError)(error),
|
|
10
|
+
(0, handleInstallError_1.handleInstallError)(error, gitUrl),
|
|
11
|
+
(0, handleGitError_1.handleGitError)(error, gitUrl),
|
|
12
|
+
]);
|
|
13
|
+
};
|
|
14
|
+
exports.handleErrors = handleErrors;
|
|
15
|
+
//# sourceMappingURL=handleErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleErrors.js","sourceRoot":"","sources":["../../../runner/handleErrors/handleErrors.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAChE,6DAA0D;AAC1D,qDAAkD;AAE3C,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;QACjC,IAAA,+BAAc,EAAC,KAAK,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const handleGitError: (error: Error, url: string) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
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, url) => {
|
|
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(url, 'Is not a git repo');
|
|
12
|
+
}
|
|
13
|
+
if (errorMessage === 'GIT_MODULE_CHECKOUT_FAILED') {
|
|
14
|
+
log_1.log.error('Checkout failded');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.handleGitError = handleGitError;
|
|
18
|
+
//# sourceMappingURL=handleGitError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,GAAW,EAAE,EAAE;IAC1D,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,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,YAAY,KAAK,4BAA4B,EAAE,CAAC;QAClD,SAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
|
|
@@ -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("../../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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -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":["../../../runner/handleErrors/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env ts-node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const log_1 = require("./log");
|
|
9
|
+
log_1.log.message(chalk_1.default.bgRed.white.bold(' RUNNED IN DEV MODE '));
|
|
10
|
+
require("./runner");
|
|
11
|
+
//# sourceMappingURL=index-dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-dev.js","sourceRoot":"","sources":["../../runner/index-dev.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,+BAA4B;AAE5B,SAAG,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC5D,oBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../runner/index.ts"],"names":[],"mappings":";;;AAEA,oBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../runner/log.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE;IACpC,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE;IAClC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,eAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEW,QAAA,GAAG,GAAG;IACjB,OAAO;IACP,KAAK;CACN,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.s = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
9
|
+
const src_1 = require("../src");
|
|
10
|
+
const log_1 = require("./log");
|
|
11
|
+
const handleErrors_1 = require("./handleErrors");
|
|
12
|
+
const BASE_DIR = 'modules';
|
|
13
|
+
const makeEvent = (event) => {
|
|
14
|
+
const sv = new src_1.SV(process.cwd(), BASE_DIR);
|
|
15
|
+
return async (arg) => {
|
|
16
|
+
const { url: gitUrl } = arg;
|
|
17
|
+
try {
|
|
18
|
+
await event(sv, arg);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
(0, handleErrors_1.handleErrors)(e, gitUrl);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const install = makeEvent(async (sv, arg) => {
|
|
26
|
+
const { url: gitUrl, target } = arg;
|
|
27
|
+
await sv.install(gitUrl, target);
|
|
28
|
+
});
|
|
29
|
+
const update = makeEvent(async (sv) => {
|
|
30
|
+
await sv.update();
|
|
31
|
+
});
|
|
32
|
+
const remove = makeEvent(async (sv, arg) => {
|
|
33
|
+
const { name } = arg;
|
|
34
|
+
await sv.remove(name);
|
|
35
|
+
});
|
|
36
|
+
const validate = makeEvent(async (sv) => {
|
|
37
|
+
const result = await sv.buildGraph();
|
|
38
|
+
Object.entries(result).forEach(([name, entry]) => {
|
|
39
|
+
if (!entry.used.includes(entry.version) && entry.versions.length === 0) {
|
|
40
|
+
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!'));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
log_1.log.message(chalk_1.default.green.bold('Everything is up to date!🔥'));
|
|
44
|
+
});
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
46
|
+
exports.s = yargs_1.default.scriptName('sv')
|
|
47
|
+
.usage('$0 <cmd> [args]')
|
|
48
|
+
.command(['validate', '$0', 'v'], 'Validate and install modules', () => { }, validate)
|
|
49
|
+
.command(['update', 'u'], 'Update git modules to actual versions', () => { }, update)
|
|
50
|
+
.command(['install <url> [target]', 'i'], 'Install new submodule', y => y.positional('url', {
|
|
51
|
+
type: 'string',
|
|
52
|
+
describe: 'Git submodule url',
|
|
53
|
+
}).positional('target', {
|
|
54
|
+
type: 'string',
|
|
55
|
+
describe: 'Target module name',
|
|
56
|
+
}), install)
|
|
57
|
+
.command(['remove <name>', 'r'], 'Remove submodule by name', y => y.positional('name', {
|
|
58
|
+
type: 'string',
|
|
59
|
+
describe: 'Submodule name',
|
|
60
|
+
}), remove)
|
|
61
|
+
.help()
|
|
62
|
+
.argv;
|
|
63
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../runner/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
"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,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,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,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitError = void 0;
|
|
4
|
+
class GitError extends Error {
|
|
5
|
+
constructor(type, details = {}) {
|
|
6
|
+
super(type);
|
|
7
|
+
this.details = details;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.GitError = GitError;
|
|
11
|
+
//# sourceMappingURL=GitError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitError.js","sourceRoot":"","sources":["../../../src/git/GitError.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IACjC,YAAa,IAAY,EAAS,UAA+B,EAAE;QACjE,KAAK,CAAC,IAAI,CAAC,CAAC;QADoB,YAAO,GAAP,OAAO,CAA0B;IAEnE,CAAC;CACF;AAJD,4BAIC"}
|
|
@@ -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,7 @@
|
|
|
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
|
+
rm: (submoduleName: string) => Promise<void>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
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 child_process_1 = require("child_process");
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const parseGitUrl_1 = require("./parseGitUrl");
|
|
11
|
+
const versionUtil_1 = require("../versionUtil");
|
|
12
|
+
const runOptions_1 = require("../runOptions");
|
|
13
|
+
const GitError_1 = require("./GitError");
|
|
14
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
15
|
+
exports.git = {
|
|
16
|
+
parseUrl: parseGitUrl_1.parseGitUrl,
|
|
17
|
+
addSumbmodule: async (url) => {
|
|
18
|
+
const { name } = (0, parseGitUrl_1.parseGitUrl)(url);
|
|
19
|
+
const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, name);
|
|
20
|
+
try {
|
|
21
|
+
await execAsync(`git submodule add ${url} ${module}`, { cwd: runOptions_1.RunOptions.cwd });
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
throw new GitError_1.GitError('GIT_NOT_A_REPO');
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
checkout: async (name, version) => {
|
|
28
|
+
const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, name);
|
|
29
|
+
try {
|
|
30
|
+
await execAsync(`git -C ${module} checkout ${version} -q`, { cwd: runOptions_1.RunOptions.cwd });
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
throw new GitError_1.GitError('GIT_MODULE_CHECKOUT_FAILED');
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
listVersions: async (projectName) => {
|
|
37
|
+
const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, projectName);
|
|
38
|
+
await execAsync(`git -C ${module} fetch --tags`, { cwd: runOptions_1.RunOptions.cwd });
|
|
39
|
+
const res = await execAsync(`git -C ${module} tag -l`, { cwd: runOptions_1.RunOptions.cwd });
|
|
40
|
+
const tagList = res.stdout.toString().split(/\r?\n/);
|
|
41
|
+
return tagList.filter(tag => {
|
|
42
|
+
if (!tag)
|
|
43
|
+
return false;
|
|
44
|
+
return versionUtil_1.versionUtil.validate(tag);
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
rm: async (submoduleName) => {
|
|
48
|
+
await execAsync(`git rm -f ${runOptions_1.RunOptions.modulesDir}/${submoduleName}`, { cwd: runOptions_1.RunOptions.cwd });
|
|
49
|
+
await execAsync(`rm -rf .git/${runOptions_1.RunOptions.modulesDir}/${submoduleName}`, { cwd: runOptions_1.RunOptions.cwd });
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/git/git.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAqC;AACrC,+BAAiC;AACjC,gDAAwB;AACxB,+CAA4C;AAC5C,gDAA6C;AAC7C,8CAA2C;AAC3C,yCAAsC;AAEtC,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,IAAI,CAAC;YACH,MAAM,SAAS,CACb,qBAAqB,GAAG,IAAI,MAAM,EAAE,EACpC,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,mBAAQ,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;IACH,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;QAEtD,IAAI,CAAC;YACH,MAAM,SAAS,CACb,UAAU,MAAM,aAAa,OAAO,KAAK,EACzC,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,mBAAQ,CAAC,4BAA4B,CAAC,CAAC;QACnD,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,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;IAED,EAAE,EAAE,KAAK,EAAE,aAAqB,EAAE,EAAE;QAClC,MAAM,SAAS,CACb,aAAa,uBAAU,CAAC,UAAU,IAAI,aAAa,EAAE,EACrD,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;QACF,MAAM,SAAS,CACb,eAAe,uBAAU,CAAC,UAAU,IAAI,aAAa,EAAE,EACvD,EAAE,GAAG,EAAE,uBAAU,CAAC,GAAG,EAAE,CACxB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitError = exports.git = void 0;
|
|
4
|
+
var git_1 = require("./git");
|
|
5
|
+
Object.defineProperty(exports, "git", { enumerable: true, get: function () { return git_1.git; } });
|
|
6
|
+
var GitError_1 = require("./GitError");
|
|
7
|
+
Object.defineProperty(exports, "GitError", { enumerable: true, get: function () { return GitError_1.GitError; } });
|
|
8
|
+
//# 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;AACZ,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|