UNPKG

5.66 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3// import { TsmOptions } from '../types';
4const utils_1 = require("../utils");
5const tasks_1 = require("../tasks");
6const link_command_1 = require("./link.command");
7/**
8 * Heavily inspired by https://github.com/sindresorhus/np
9 * */
10const execa = require('execa');
11const Listr = require("listr");
12function run(cli, { buildCommand }) {
13 const { project, verbose, tag, access, anyBranch, skipCleanup, skipGitCheck, yarn, yolo, skipPublish } = cli.flags;
14 return utils_1.findSubmodules(project)
15 .then((opts) => {
16 const tasks = new Listr([
17 {
18 title: 'Git checks',
19 task: () => tasks_1.prepublishGitCheck({ anyBranch }),
20 skip: () => skipGitCheck || yolo
21 },
22 // test command
23 {
24 title: 'Installing dependencies',
25 task: () => new Listr(tasks_1.npmInstall({ skipCleanup, yarn })),
26 skip: () => yolo
27 },
28 {
29 title: 'Running unit tests tests',
30 task: () => execa('npm', ['test']),
31 skip: () => yolo
32 },
33 // e2e command
34 {
35 title: 'Build submodules for e2e',
36 task: () => buildCommand({ project, verbose, clean: true, local: true }),
37 skip: () => yolo
38 },
39 {
40 title: 'Link submodules',
41 task: () => link_command_1.npmLinkCommand({ project, local: true, deep: true, verbose, yarn, here: true }),
42 skip: () => yolo
43 },
44 // publish
45 // set numeric package version before publish
46 {
47 title: 'Build submodules for publish',
48 task: () => buildCommand({ project, verbose, clean: true, local: false })
49 },
50 {
51 title: 'Publish all submodules',
52 task: () => new Listr(opts.map(opt => ({
53 title: `npm publish (${opt.pkg.name}) (from: ${opt.dist})`,
54 task: () => tasks_1.npmPublish({ yarn, cwd: opt.dist, tag, access })
55 }))),
56 skip: () => skipPublish
57 },
58 {
59 title: 'Pushing tags',
60 task: () => execa('git', ['push', '--follow-tags']),
61 skip: () => true
62 }
63 ], { renderer: verbose ? 'verbose' : 'default' });
64 return tasks.run();
65 });
66}
67exports.run = run;
68//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3B1Ymxpc2guY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUF5QztBQUN6QyxvQ0FBMEM7QUFDMUMsb0NBQStFO0FBQy9FLGlEQUFnRDtBQUNoRDs7S0FFSztBQUNMLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQiwrQkFBZ0M7QUFFaEMsYUFBb0IsR0FBRyxFQUFFLEVBQUMsWUFBWSxFQUFDO0lBQ3JDLE1BQU0sRUFDSixPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUN4QyxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUNuRCxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFFZCxNQUFNLENBQUMsc0JBQWMsQ0FBQyxPQUFPLENBQUM7U0FDM0IsSUFBSSxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDO1lBQ3RCO2dCQUNFLEtBQUssRUFBRSxZQUFZO2dCQUNuQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsMEJBQWtCLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQztnQkFDM0MsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksSUFBSSxJQUFJO2FBQ2pDO1lBQ0QsZUFBZTtZQUNmO2dCQUNFLEtBQUssRUFBRSx5QkFBeUI7Z0JBQ2hDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxrQkFBVSxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO2FBQ2pCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7YUFDakI7WUFDRCxjQUFjO1lBQ2Q7Z0JBQ0UsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7Z0JBQ3RFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO2FBQ2pCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLDZCQUFjLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDO2dCQUN6RixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTthQUNqQjtZQUNELFVBQVU7WUFDViw2Q0FBNkM7WUFDN0M7Z0JBQ0UsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUM7YUFDeEU7WUFDRDtnQkFDRSxLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ25DLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksR0FBRyxDQUFDLElBQUksR0FBRztvQkFDMUQsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGtCQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBQyxDQUFDO2lCQUMzRCxDQUFDLENBQUMsQ0FDSjtnQkFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVzthQUN4QjtZQUNEO2dCQUNDLEtBQUssRUFBRSxjQUFjO2dCQUNyQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7YUFDZjtTQUNILEVBQUUsRUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFFaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUE1REQsa0JBNERDIn0=
\No newline at end of file