@newos/cli
Version:
Command-line interface for the NewOS
41 lines • 1.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const unlink_1 = __importDefault(require("../scripts/unlink"));
const push_1 = __importDefault(require("./push"));
const prompt_1 = require("../prompts/prompt");
const ProjectFile_1 = __importDefault(require("../models/files/ProjectFile"));
const telemetry_1 = __importDefault(require("../telemetry"));
const name = 'unlink';
const signature = `${name} [dependencies...]`;
const description = 'unlinks dependencies from the project. Provide a list of whitespace-separated dependency names';
const register = program => program
.command(signature, undefined, { noHelp: true })
.usage('[dependencyName1... dependencyNameN]')
.description(description)
.withPushOptions()
.withNonInteractiveOption()
.action(action);
async function action(dependencies, options) {
const { interactive } = options;
const installedDependencies = ProjectFile_1.default.getLinkedDependencies();
const args = { dependencies };
const props = getCommandProps(installedDependencies);
const prompted = await prompt_1.promptIfNeeded({ args, props }, interactive);
await telemetry_1.default.report('unlink', prompted, interactive);
await unlink_1.default(prompted);
await push_1.default.runActionIfRequested(Object.assign({}, options));
}
function getCommandProps(depNames) {
return {
dependencies: {
message: 'Select the dependencies you want to unlink',
type: 'checkbox',
choices: depNames,
},
};
}
exports.default = { name, signature, description, register, action };
//# sourceMappingURL=unlink.js.map