dailyprogrammer
Version:
The /r/dailyprogrammer Tool provides you with a cli to quickly initialize programming challenges and publish them.
24 lines (18 loc) • 836 B
text/typescript
import {InfoCommand} from "./commands/InfoCommand";
import {InitCommand} from "./commands/InitCommand";
import {ListCommand} from "./commands/ListCommand";
import {JSONChallengeProvider} from "./challenges/JSONChallengeProvider";
import {TextConsoleFormatter} from "./console/TextConsoleFormatter";
const packageJson = require('../package.json');
const challengeProvider = new JSONChallengeProvider();
const consoleFormatter = new TextConsoleFormatter();
const program = require("commander");
program.version(packageJson.version);
program.description(packageJson.description);
[
new InitCommand( challengeProvider ),
new InfoCommand( challengeProvider, consoleFormatter ),
new ListCommand( challengeProvider, consoleFormatter )
].forEach( c => c.register( program ) ) ;
program.parse(process.argv);