tsds-lib-test 1.19.5 → 1.19.7
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.
|
@@ -16,16 +16,85 @@ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
|
16
16
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
17
17
|
var _tsdslib = require("tsds-lib");
|
|
18
18
|
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
19
|
+
function _define_property(obj, key, value) {
|
|
20
|
+
if (key in obj) {
|
|
21
|
+
Object.defineProperty(obj, key, {
|
|
22
|
+
value: value,
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true
|
|
26
|
+
});
|
|
27
|
+
} else {
|
|
28
|
+
obj[key] = value;
|
|
29
|
+
}
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
19
32
|
function _interop_require_default(obj) {
|
|
20
33
|
return obj && obj.__esModule ? obj : {
|
|
21
34
|
default: obj
|
|
22
35
|
};
|
|
23
36
|
}
|
|
37
|
+
function _object_spread(target) {
|
|
38
|
+
for(var i = 1; i < arguments.length; i++){
|
|
39
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
40
|
+
var ownKeys = Object.keys(source);
|
|
41
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
42
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
43
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
ownKeys.forEach(function(key) {
|
|
47
|
+
_define_property(target, key, source[key]);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return target;
|
|
51
|
+
}
|
|
52
|
+
function ownKeys(object, enumerableOnly) {
|
|
53
|
+
var keys = Object.keys(object);
|
|
54
|
+
if (Object.getOwnPropertySymbols) {
|
|
55
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
56
|
+
if (enumerableOnly) {
|
|
57
|
+
symbols = symbols.filter(function(sym) {
|
|
58
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
keys.push.apply(keys, symbols);
|
|
62
|
+
}
|
|
63
|
+
return keys;
|
|
64
|
+
}
|
|
65
|
+
function _object_spread_props(target, source) {
|
|
66
|
+
source = source != null ? source : {};
|
|
67
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
68
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
69
|
+
} else {
|
|
70
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
71
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return target;
|
|
75
|
+
}
|
|
24
76
|
var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
|
|
25
77
|
var major = +process.versions.node.split('.')[0];
|
|
26
78
|
var dist = _path.default.join(__dirname, '..', '..');
|
|
27
79
|
var version = major > 14 ? 'local' : 'stable';
|
|
28
80
|
var workerWrapper = (0, _tsdslib.wrapWorker)(_path.default.join(dist, 'cjs', 'lib', 'installGitRepo.js'));
|
|
81
|
+
function spawnQuiet(command, args, options, callback) {
|
|
82
|
+
(0, _crossspawncb.default)(command, args, _object_spread_props(_object_spread({}, options), {
|
|
83
|
+
encoding: 'utf8'
|
|
84
|
+
}), function(err) {
|
|
85
|
+
if (err) {
|
|
86
|
+
var qerr = err;
|
|
87
|
+
var cmdString = "".concat(command, " ").concat(args.join(' '));
|
|
88
|
+
qerr.message = "Command failed: ".concat(cmdString, "\n").concat(qerr.message);
|
|
89
|
+
qerr.command = command;
|
|
90
|
+
qerr.args = args;
|
|
91
|
+
qerr.cwd = options.cwd;
|
|
92
|
+
if (qerr.stderr) qerr.message += "\nstderr: ".concat(qerr.stderr);
|
|
93
|
+
if (qerr.stdout) qerr.message += "\nstdout: ".concat(qerr.stdout);
|
|
94
|
+
}
|
|
95
|
+
callback(err);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
29
98
|
function checkDirectoryExists(dest, callback) {
|
|
30
99
|
_fs.default.stat(dest, function(err) {
|
|
31
100
|
if (err && err.code === 'ENOENT') callback(null, false);
|
|
@@ -38,46 +107,49 @@ function cloneRepository(repo, dest, callback) {
|
|
|
38
107
|
var repoName = _path.default.basename(dest);
|
|
39
108
|
var queue = new _queuecb.default(1);
|
|
40
109
|
queue.defer(_mkdirpclassic.default.bind(null, dest));
|
|
41
|
-
queue.defer(
|
|
42
|
-
'
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
110
|
+
queue.defer(function(cb) {
|
|
111
|
+
return spawnQuiet('git', [
|
|
112
|
+
'clone',
|
|
113
|
+
repo,
|
|
114
|
+
repoName
|
|
115
|
+
], {
|
|
116
|
+
cwd: parentDir
|
|
117
|
+
}, cb);
|
|
118
|
+
});
|
|
49
119
|
queue.await(callback);
|
|
50
120
|
}
|
|
51
121
|
function updateRepository(dest, callback) {
|
|
52
122
|
var queue = new _queuecb.default(1);
|
|
53
|
-
queue.defer(
|
|
54
|
-
'
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
'
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
123
|
+
queue.defer(function(cb) {
|
|
124
|
+
return spawnQuiet('git', [
|
|
125
|
+
'clean',
|
|
126
|
+
'-fd'
|
|
127
|
+
], {
|
|
128
|
+
cwd: dest
|
|
129
|
+
}, cb);
|
|
130
|
+
});
|
|
131
|
+
queue.defer(function(cb) {
|
|
132
|
+
return spawnQuiet('git', [
|
|
133
|
+
'reset',
|
|
134
|
+
'--hard',
|
|
135
|
+
'HEAD'
|
|
136
|
+
], {
|
|
137
|
+
cwd: dest
|
|
138
|
+
}, cb);
|
|
139
|
+
});
|
|
140
|
+
queue.defer(function(cb) {
|
|
141
|
+
return spawnQuiet('git', [
|
|
142
|
+
'pull',
|
|
143
|
+
'--rebase'
|
|
144
|
+
], {
|
|
145
|
+
cwd: dest
|
|
146
|
+
}, cb);
|
|
147
|
+
});
|
|
75
148
|
queue.await(callback);
|
|
76
149
|
}
|
|
77
150
|
function installDependencies(dest, callback) {
|
|
78
|
-
(
|
|
79
|
-
'install'
|
|
80
|
-
'--silent'
|
|
151
|
+
spawnQuiet('npm', [
|
|
152
|
+
'install'
|
|
81
153
|
], {
|
|
82
154
|
cwd: dest
|
|
83
155
|
}, callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ts-dev-stack/tsds-lib-test/src/lib/installGitRepo.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport { safeRm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport type { CommandCallback, CommandOptions } from 'tsds-lib';\nimport { wrapWorker } from 'tsds-lib';\nimport url from 'url';\nimport type { InstallOptions } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst major = +process.versions.node.split('.')[0];\nconst dist = path.join(__dirname, '..', '..');\nconst version = major > 14 ? 'local' : 'stable';\nconst workerWrapper = wrapWorker(path.join(dist, 'cjs', 'lib', 'installGitRepo.js'));\n\nfunction checkDirectoryExists(dest: string, callback: (err: Error | null, exists?: boolean) => void) {\n fs.stat(dest, (err) => {\n if (err && err.code === 'ENOENT') callback(null, false);\n else if (err) callback(err);\n else callback(null, true);\n });\n}\n\nfunction cloneRepository(repo: string, dest: string, callback) {\n const parentDir = path.dirname(dest);\n const repoName = path.basename(dest);\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, dest));\n queue.defer(
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ts-dev-stack/tsds-lib-test/src/lib/installGitRepo.ts"],"sourcesContent":["import spawn, { type SpawnError } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport { safeRm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport type { CommandCallback, CommandOptions } from 'tsds-lib';\nimport { wrapWorker } from 'tsds-lib';\nimport url from 'url';\nimport type { InstallOptions } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst major = +process.versions.node.split('.')[0];\nconst dist = path.join(__dirname, '..', '..');\nconst version = major > 14 ? 'local' : 'stable';\nconst workerWrapper = wrapWorker(path.join(dist, 'cjs', 'lib', 'installGitRepo.js'));\n\ninterface QuietSpawnError extends SpawnError {\n command?: string;\n args?: string[];\n cwd?: string;\n}\n\nfunction spawnQuiet(command: string, args: string[], options: { cwd: string }, callback: (err?: Error | null) => void) {\n spawn(command, args, { ...options, encoding: 'utf8' }, (err?: SpawnError) => {\n if (err) {\n const qerr = err as QuietSpawnError;\n const cmdString = `${command} ${args.join(' ')}`;\n qerr.message = `Command failed: ${cmdString}\\n${qerr.message}`;\n qerr.command = command;\n qerr.args = args;\n qerr.cwd = options.cwd;\n if (qerr.stderr) qerr.message += `\\nstderr: ${qerr.stderr}`;\n if (qerr.stdout) qerr.message += `\\nstdout: ${qerr.stdout}`;\n }\n callback(err);\n });\n}\n\nfunction checkDirectoryExists(dest: string, callback: (err: Error | null, exists?: boolean) => void) {\n fs.stat(dest, (err) => {\n if (err && err.code === 'ENOENT') callback(null, false);\n else if (err) callback(err);\n else callback(null, true);\n });\n}\n\nfunction cloneRepository(repo: string, dest: string, callback) {\n const parentDir = path.dirname(dest);\n const repoName = path.basename(dest);\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, dest));\n queue.defer((cb) => spawnQuiet('git', ['clone', repo, repoName], { cwd: parentDir }, cb));\n queue.await(callback);\n}\n\nfunction updateRepository(dest: string, callback) {\n const queue = new Queue(1);\n queue.defer((cb) => spawnQuiet('git', ['clean', '-fd'], { cwd: dest }, cb));\n queue.defer((cb) => spawnQuiet('git', ['reset', '--hard', 'HEAD'], { cwd: dest }, cb));\n queue.defer((cb) => spawnQuiet('git', ['pull', '--rebase'], { cwd: dest }, cb));\n queue.await(callback);\n}\n\nfunction installDependencies(dest: string, callback) {\n spawnQuiet('npm', ['install'], { cwd: dest }, callback);\n}\n\nfunction cleanInstall(repo: string, dest: string, callback) {\n const queue = new Queue(1);\n queue.defer(safeRm.bind(null, dest));\n queue.defer(cloneRepository.bind(null, repo, dest));\n queue.defer(installDependencies.bind(null, dest));\n queue.await(callback);\n}\n\nfunction worker(repo: string, dest: string, options: CommandOptions | InstallOptions, callback: CommandCallback) {\n const installOptions = options as InstallOptions;\n\n if (installOptions.clean) {\n cleanInstall(repo, dest, callback);\n } else {\n checkDirectoryExists(dest, (err, exists) => {\n if (err) return callback(err);\n const queue = new Queue(1);\n if (!exists) {\n queue.defer(cloneRepository.bind(null, repo, dest));\n queue.defer(installDependencies.bind(null, dest));\n } else {\n queue.defer((cb) => {\n updateRepository(dest, (err2) => {\n if (err2) return cleanInstall(repo, dest, cb);\n installDependencies(dest, cb);\n });\n });\n }\n queue.await(callback);\n });\n }\n}\n\nexport default function installGitRepo(repo: string, dest: string, options: CommandOptions | CommandCallback, callback?: CommandCallback): undefined {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n version !== 'local' ? workerWrapper(version, repo, dest, options, callback) : worker(repo, dest, options, callback);\n}\n"],"names":["installGitRepo","__dirname","path","dirname","__filename","url","fileURLToPath","major","process","versions","node","split","dist","join","version","workerWrapper","wrapWorker","spawnQuiet","command","args","options","callback","spawn","encoding","err","qerr","cmdString","message","cwd","stderr","stdout","checkDirectoryExists","dest","fs","stat","code","cloneRepository","repo","parentDir","repoName","basename","queue","Queue","defer","mkdirp","bind","cb","await","updateRepository","installDependencies","cleanInstall","safeRm","worker","installOptions","clean","exists","err2"],"mappings":"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"}
|
|
@@ -11,6 +11,24 @@ const major = +process.versions.node.split('.')[0];
|
|
|
11
11
|
const dist = path.join(__dirname, '..', '..');
|
|
12
12
|
const version = major > 14 ? 'local' : 'stable';
|
|
13
13
|
const workerWrapper = wrapWorker(path.join(dist, 'cjs', 'lib', 'installGitRepo.js'));
|
|
14
|
+
function spawnQuiet(command, args, options, callback) {
|
|
15
|
+
spawn(command, args, {
|
|
16
|
+
...options,
|
|
17
|
+
encoding: 'utf8'
|
|
18
|
+
}, (err)=>{
|
|
19
|
+
if (err) {
|
|
20
|
+
const qerr = err;
|
|
21
|
+
const cmdString = `${command} ${args.join(' ')}`;
|
|
22
|
+
qerr.message = `Command failed: ${cmdString}\n${qerr.message}`;
|
|
23
|
+
qerr.command = command;
|
|
24
|
+
qerr.args = args;
|
|
25
|
+
qerr.cwd = options.cwd;
|
|
26
|
+
if (qerr.stderr) qerr.message += `\nstderr: ${qerr.stderr}`;
|
|
27
|
+
if (qerr.stdout) qerr.message += `\nstdout: ${qerr.stdout}`;
|
|
28
|
+
}
|
|
29
|
+
callback(err);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
14
32
|
function checkDirectoryExists(dest, callback) {
|
|
15
33
|
fs.stat(dest, (err)=>{
|
|
16
34
|
if (err && err.code === 'ENOENT') callback(null, false);
|
|
@@ -23,46 +41,41 @@ function cloneRepository(repo, dest, callback) {
|
|
|
23
41
|
const repoName = path.basename(dest);
|
|
24
42
|
const queue = new Queue(1);
|
|
25
43
|
queue.defer(mkdirp.bind(null, dest));
|
|
26
|
-
queue.defer(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}));
|
|
44
|
+
queue.defer((cb)=>spawnQuiet('git', [
|
|
45
|
+
'clone',
|
|
46
|
+
repo,
|
|
47
|
+
repoName
|
|
48
|
+
], {
|
|
49
|
+
cwd: parentDir
|
|
50
|
+
}, cb));
|
|
34
51
|
queue.await(callback);
|
|
35
52
|
}
|
|
36
53
|
function updateRepository(dest, callback) {
|
|
37
54
|
const queue = new Queue(1);
|
|
38
|
-
queue.defer(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
cwd: dest,
|
|
58
|
-
stdio: 'inherit'
|
|
59
|
-
}));
|
|
55
|
+
queue.defer((cb)=>spawnQuiet('git', [
|
|
56
|
+
'clean',
|
|
57
|
+
'-fd'
|
|
58
|
+
], {
|
|
59
|
+
cwd: dest
|
|
60
|
+
}, cb));
|
|
61
|
+
queue.defer((cb)=>spawnQuiet('git', [
|
|
62
|
+
'reset',
|
|
63
|
+
'--hard',
|
|
64
|
+
'HEAD'
|
|
65
|
+
], {
|
|
66
|
+
cwd: dest
|
|
67
|
+
}, cb));
|
|
68
|
+
queue.defer((cb)=>spawnQuiet('git', [
|
|
69
|
+
'pull',
|
|
70
|
+
'--rebase'
|
|
71
|
+
], {
|
|
72
|
+
cwd: dest
|
|
73
|
+
}, cb));
|
|
60
74
|
queue.await(callback);
|
|
61
75
|
}
|
|
62
76
|
function installDependencies(dest, callback) {
|
|
63
|
-
|
|
64
|
-
'install'
|
|
65
|
-
'--silent'
|
|
77
|
+
spawnQuiet('npm', [
|
|
78
|
+
'install'
|
|
66
79
|
], {
|
|
67
80
|
cwd: dest
|
|
68
81
|
}, callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ts-dev-stack/tsds-lib-test/src/lib/installGitRepo.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport { safeRm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport type { CommandCallback, CommandOptions } from 'tsds-lib';\nimport { wrapWorker } from 'tsds-lib';\nimport url from 'url';\nimport type { InstallOptions } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst major = +process.versions.node.split('.')[0];\nconst dist = path.join(__dirname, '..', '..');\nconst version = major > 14 ? 'local' : 'stable';\nconst workerWrapper = wrapWorker(path.join(dist, 'cjs', 'lib', 'installGitRepo.js'));\n\nfunction checkDirectoryExists(dest: string, callback: (err: Error | null, exists?: boolean) => void) {\n fs.stat(dest, (err) => {\n if (err && err.code === 'ENOENT') callback(null, false);\n else if (err) callback(err);\n else callback(null, true);\n });\n}\n\nfunction cloneRepository(repo: string, dest: string, callback) {\n const parentDir = path.dirname(dest);\n const repoName = path.basename(dest);\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, dest));\n queue.defer(
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ts-dev-stack/tsds-lib-test/src/lib/installGitRepo.ts"],"sourcesContent":["import spawn, { type SpawnError } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport { safeRm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport type { CommandCallback, CommandOptions } from 'tsds-lib';\nimport { wrapWorker } from 'tsds-lib';\nimport url from 'url';\nimport type { InstallOptions } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst major = +process.versions.node.split('.')[0];\nconst dist = path.join(__dirname, '..', '..');\nconst version = major > 14 ? 'local' : 'stable';\nconst workerWrapper = wrapWorker(path.join(dist, 'cjs', 'lib', 'installGitRepo.js'));\n\ninterface QuietSpawnError extends SpawnError {\n command?: string;\n args?: string[];\n cwd?: string;\n}\n\nfunction spawnQuiet(command: string, args: string[], options: { cwd: string }, callback: (err?: Error | null) => void) {\n spawn(command, args, { ...options, encoding: 'utf8' }, (err?: SpawnError) => {\n if (err) {\n const qerr = err as QuietSpawnError;\n const cmdString = `${command} ${args.join(' ')}`;\n qerr.message = `Command failed: ${cmdString}\\n${qerr.message}`;\n qerr.command = command;\n qerr.args = args;\n qerr.cwd = options.cwd;\n if (qerr.stderr) qerr.message += `\\nstderr: ${qerr.stderr}`;\n if (qerr.stdout) qerr.message += `\\nstdout: ${qerr.stdout}`;\n }\n callback(err);\n });\n}\n\nfunction checkDirectoryExists(dest: string, callback: (err: Error | null, exists?: boolean) => void) {\n fs.stat(dest, (err) => {\n if (err && err.code === 'ENOENT') callback(null, false);\n else if (err) callback(err);\n else callback(null, true);\n });\n}\n\nfunction cloneRepository(repo: string, dest: string, callback) {\n const parentDir = path.dirname(dest);\n const repoName = path.basename(dest);\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, dest));\n queue.defer((cb) => spawnQuiet('git', ['clone', repo, repoName], { cwd: parentDir }, cb));\n queue.await(callback);\n}\n\nfunction updateRepository(dest: string, callback) {\n const queue = new Queue(1);\n queue.defer((cb) => spawnQuiet('git', ['clean', '-fd'], { cwd: dest }, cb));\n queue.defer((cb) => spawnQuiet('git', ['reset', '--hard', 'HEAD'], { cwd: dest }, cb));\n queue.defer((cb) => spawnQuiet('git', ['pull', '--rebase'], { cwd: dest }, cb));\n queue.await(callback);\n}\n\nfunction installDependencies(dest: string, callback) {\n spawnQuiet('npm', ['install'], { cwd: dest }, callback);\n}\n\nfunction cleanInstall(repo: string, dest: string, callback) {\n const queue = new Queue(1);\n queue.defer(safeRm.bind(null, dest));\n queue.defer(cloneRepository.bind(null, repo, dest));\n queue.defer(installDependencies.bind(null, dest));\n queue.await(callback);\n}\n\nfunction worker(repo: string, dest: string, options: CommandOptions | InstallOptions, callback: CommandCallback) {\n const installOptions = options as InstallOptions;\n\n if (installOptions.clean) {\n cleanInstall(repo, dest, callback);\n } else {\n checkDirectoryExists(dest, (err, exists) => {\n if (err) return callback(err);\n const queue = new Queue(1);\n if (!exists) {\n queue.defer(cloneRepository.bind(null, repo, dest));\n queue.defer(installDependencies.bind(null, dest));\n } else {\n queue.defer((cb) => {\n updateRepository(dest, (err2) => {\n if (err2) return cleanInstall(repo, dest, cb);\n installDependencies(dest, cb);\n });\n });\n }\n queue.await(callback);\n });\n }\n}\n\nexport default function installGitRepo(repo: string, dest: string, options: CommandOptions | CommandCallback, callback?: CommandCallback): undefined {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n version !== 'local' ? workerWrapper(version, repo, dest, options, callback) : worker(repo, dest, options, callback);\n}\n"],"names":["spawn","fs","safeRm","mkdirp","path","Queue","wrapWorker","url","__dirname","dirname","__filename","fileURLToPath","major","process","versions","node","split","dist","join","version","workerWrapper","spawnQuiet","command","args","options","callback","encoding","err","qerr","cmdString","message","cwd","stderr","stdout","checkDirectoryExists","dest","stat","code","cloneRepository","repo","parentDir","repoName","basename","queue","defer","bind","cb","await","updateRepository","installDependencies","cleanInstall","worker","installOptions","clean","exists","err2","installGitRepo"],"mappings":"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"}
|