315 lines
12 KiB
JavaScript
Executable File
315 lines
12 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
"use strict";
|
|
var __assign = (this && this.__assign) || function () {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
function step(op) {
|
|
if (f) throw new TypeError("Generator is already executing.");
|
|
while (_) try {
|
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
switch (op[0]) {
|
|
case 0: case 1: t = op; break;
|
|
case 4: _.label++; return { value: op[1], done: false };
|
|
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
default:
|
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
if (t[2]) _.ops.pop();
|
|
_.trys.pop(); continue;
|
|
}
|
|
op = body.call(thisArg, _);
|
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
}
|
|
};
|
|
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
r[k] = a[j];
|
|
return r;
|
|
};
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var yargs_1 = __importDefault(require("yargs"));
|
|
var path_1 = require("path");
|
|
var _1 = require(".");
|
|
var installations_1 = require("./installations");
|
|
var check_1 = require("./check");
|
|
var console_1 = require("./console");
|
|
var rc_1 = require("./rc");
|
|
var updateFlags = ['update', 'upgrade', 'up'];
|
|
var publishFlags = __spreadArrays([
|
|
'scripts',
|
|
'sig',
|
|
'dev-mod',
|
|
'changed',
|
|
'files'
|
|
], updateFlags);
|
|
var cliCommand = _1.values.myNameIs;
|
|
var getVersionMessage = function () {
|
|
var pkg = require(__dirname + '/../package.json');
|
|
return pkg.version;
|
|
};
|
|
console_1.makeConsoleColored();
|
|
var rcArgs = rc_1.readRcConfig();
|
|
if (process.argv.includes('--quiet') || rcArgs.quiet) {
|
|
console_1.disabledConsoleOutput();
|
|
}
|
|
var getPublishOptions = function (argv, override) {
|
|
if (override === void 0) { override = {}; }
|
|
var folder = argv._[1];
|
|
return __assign({ workingDir: path_1.join(process.cwd(), folder || ''), push: argv.push, replace: argv.replace, signature: argv.sig, changed: argv.changed, files: argv.files, private: argv.private, scripts: argv.scripts, update: argv.update || argv.upgrade, workspaceResolve: argv.workspaceResolve, devMod: argv.devMod }, override);
|
|
};
|
|
/* tslint:disable-next-line */
|
|
yargs_1.default
|
|
.usage(cliCommand + ' [command] [options] [package1 [package2...]]')
|
|
.coerce('store-folder', function (folder) {
|
|
if (!_1.yalcGlobal.yalcStoreMainDir) {
|
|
_1.yalcGlobal.yalcStoreMainDir = path_1.resolve(folder);
|
|
console.log('Package store folder used:', _1.yalcGlobal.yalcStoreMainDir);
|
|
}
|
|
})
|
|
.command({
|
|
command: '*',
|
|
builder: function () {
|
|
return yargs_1.default.boolean(['version']);
|
|
},
|
|
handler: function (argv) {
|
|
var msg = 'Use `yalc help` to see available commands.';
|
|
if (argv._[0]) {
|
|
msg = 'Unknown command `' + argv._[0] + '`. ' + msg;
|
|
}
|
|
else {
|
|
if (argv.version) {
|
|
msg = getVersionMessage();
|
|
}
|
|
}
|
|
console.log(msg);
|
|
},
|
|
})
|
|
.command({
|
|
command: 'publish',
|
|
describe: 'Publish package in yalc local repo',
|
|
builder: function () {
|
|
return yargs_1.default
|
|
.default('sig', false)
|
|
.default('scripts', true)
|
|
.default('dev-mod', true)
|
|
.default('workspace-resolve', true)
|
|
.default(rcArgs)
|
|
.alias('script', 'scripts')
|
|
.boolean(['push'].concat(publishFlags));
|
|
},
|
|
handler: function (argv) {
|
|
return _1.publishPackage(getPublishOptions(argv));
|
|
},
|
|
})
|
|
.command({
|
|
command: 'push',
|
|
describe: 'Publish package in yalc local repo and push to all installations',
|
|
builder: function () {
|
|
return yargs_1.default
|
|
.default('sig', false)
|
|
.default('scripts', false)
|
|
.default('dev-mod', true)
|
|
.default('workspace-resolve', true)
|
|
.default(rcArgs)
|
|
.alias('script', 'scripts')
|
|
.boolean(['safe'].concat(publishFlags))
|
|
.option('replace', { describe: 'Force package content replacement' });
|
|
},
|
|
handler: function (argv) {
|
|
return _1.publishPackage(getPublishOptions(argv, { push: true }));
|
|
},
|
|
})
|
|
.command({
|
|
command: 'installations',
|
|
describe: 'Work with installations file: show/clean',
|
|
builder: function () {
|
|
return yargs_1.default.boolean(['dry']);
|
|
},
|
|
handler: function (argv) { return __awaiter(void 0, void 0, void 0, function () {
|
|
var action, packages, _a;
|
|
return __generator(this, function (_b) {
|
|
switch (_b.label) {
|
|
case 0:
|
|
action = argv._[1];
|
|
packages = argv._.slice(2);
|
|
_a = action;
|
|
switch (_a) {
|
|
case 'show': return [3 /*break*/, 1];
|
|
case 'clean': return [3 /*break*/, 2];
|
|
}
|
|
return [3 /*break*/, 4];
|
|
case 1:
|
|
installations_1.showInstallations({ packages: packages });
|
|
return [3 /*break*/, 5];
|
|
case 2: return [4 /*yield*/, installations_1.cleanInstallations({ packages: packages, dry: argv.dry })];
|
|
case 3:
|
|
_b.sent();
|
|
return [3 /*break*/, 5];
|
|
case 4:
|
|
console.info('Need installation action: show | clean');
|
|
_b.label = 5;
|
|
case 5: return [2 /*return*/];
|
|
}
|
|
});
|
|
}); },
|
|
})
|
|
.command({
|
|
command: 'add',
|
|
describe: 'Add package from yalc repo to the project',
|
|
builder: function () {
|
|
return yargs_1.default
|
|
.boolean(__spreadArrays(['file', 'dev', 'link'], updateFlags))
|
|
.alias('D', 'dev')
|
|
.boolean('workspace')
|
|
.alias('save-dev', 'dev')
|
|
.alias('workspace', 'W')
|
|
.default(rcArgs)
|
|
.help(true);
|
|
},
|
|
handler: function (argv) {
|
|
var pure = !!argv.pure;
|
|
return _1.addPackages(argv._.slice(1), {
|
|
dev: argv.dev,
|
|
linkDep: argv.link,
|
|
restore: argv.restore,
|
|
pure: pure,
|
|
workspace: argv.workspace,
|
|
update: argv.update || argv.upgrade,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'link',
|
|
describe: 'Link package from yalc repo to the project',
|
|
builder: function () {
|
|
return yargs_1.default.default(rcArgs).help(true);
|
|
},
|
|
handler: function (argv) {
|
|
return _1.addPackages(argv._.slice(1), {
|
|
link: true,
|
|
pure: argv.pure,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'update',
|
|
describe: 'Update packages from yalc repo',
|
|
builder: function () {
|
|
return yargs_1.default
|
|
.boolean(__spreadArrays(updateFlags))
|
|
.default(rcArgs)
|
|
.help(true);
|
|
},
|
|
handler: function (argv) {
|
|
return _1.updatePackages(argv._.slice(1), {
|
|
update: argv.update || argv.upgrade,
|
|
restore: argv.restore,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'restore',
|
|
describe: 'Restore retreated packages',
|
|
builder: function () {
|
|
return yargs_1.default
|
|
.boolean(__spreadArrays(updateFlags))
|
|
.default(rcArgs)
|
|
.help(true);
|
|
},
|
|
handler: function (argv) {
|
|
return _1.updatePackages(argv._.slice(1), {
|
|
update: argv.update || argv.upgrade,
|
|
restore: true,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'remove',
|
|
describe: 'Remove packages from the project',
|
|
builder: function () {
|
|
return yargs_1.default.boolean(['retreat', 'all']).default(rcArgs).help(true);
|
|
},
|
|
handler: function (argv) {
|
|
return _1.removePackages(argv._.slice(1), {
|
|
retreat: argv.retreat,
|
|
workingDir: process.cwd(),
|
|
all: argv.all,
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'retreat',
|
|
describe: 'Remove packages from project, but leave in lock file (to be restored later)',
|
|
builder: function () {
|
|
return yargs_1.default.boolean(['all']).help(true);
|
|
},
|
|
handler: function (argv) {
|
|
return _1.removePackages(argv._.slice(1), {
|
|
all: argv.all,
|
|
retreat: true,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'check',
|
|
describe: 'Check package.json for yalc packages',
|
|
builder: function () {
|
|
return yargs_1.default.boolean(['commit']).usage('check usage here').help(true);
|
|
},
|
|
handler: function (argv) {
|
|
var gitParams = process.env.GIT_PARAMS;
|
|
if (argv.commit) {
|
|
console.log('gitParams', gitParams);
|
|
}
|
|
check_1.checkManifest({
|
|
commit: argv.commit,
|
|
all: argv.all,
|
|
workingDir: process.cwd(),
|
|
});
|
|
},
|
|
})
|
|
.command({
|
|
command: 'dir',
|
|
describe: 'Show yalc system directory',
|
|
handler: function () {
|
|
console.log(_1.getStoreMainDir());
|
|
},
|
|
})
|
|
.help('help').argv;
|
|
//# sourceMappingURL=yalc.js.map
|