@softvisio/cli
Version:
Softisio CLI Tool
74 lines (61 loc) • 1.85 kB
JavaScript
import ansi from "#core/ansi";
import Command from "#lib/command";
export default class extends Command {
// static
static cli () {
return {
"options": {
"sub-packages": {
"negatedShort": "S",
"description": "ignore sub-packages",
"default": true,
"schema": { "type": "boolean" },
},
},
"arguments": {
"pattern": {
"description": "Filter packages using glob patterns.",
"schema": { "type": "array", "items": { "type": "string" } },
},
},
};
}
// public
async run () {
var res = this._findWorkspacePackages( {
"patterns": process.cli.arguments?.pattern,
} );
if ( !res.ok ) return res;
const packages = res.data;
var hasErrors;
for ( const pkg of packages ) {
res = await this.
if ( !res.ok ) hasErrors = true;
if ( process.cli.options[ "sub-packages" ] ) {
for ( const subPkg of pkg.subPackages ) {
res = await this.
if ( !res.ok ) hasErrors = true;
}
}
}
if ( hasErrors ) {
return result( 500 );
}
else {
return result( 200 );
}
}
// private
async
if ( !pkg.docs.isEnabled ) return result( 200 );
if ( this.
console.log();
}
else {
this.
}
console.log( "Package:", ansi.hl( pkg.workspaceSlug ) );
return pkg.docs.build();
}
}