UNPKG

729 BJavaScriptView Raw
1const logger = require('../logger');
2const taskify = require('../cli-task');
3const runPackage = require('../run-package');
4
5function publish(packages = [], args = []) {
6 // filter out any private packages
7 const filteredPackages = packages.filter(pkg => !pkg.private);
8
9 logger.debug(`Found ${filteredPackages.length} packages to publish`);
10
11 // create a queue of tasks to run
12 return filteredPackages.map(pkg => {
13 const apply = () =>
14 runPackage('npm', ['publish', ...args], pkg.location);
15 return { pkg, apply };
16 });
17}
18
19exports.task = publish;
20
21exports.register = program => {
22 program
23 .command('publish [args...]')
24 .description('Runs npm publish in the scope of each public package')
25 .action(taskify(publish));
26};