@ryansonshine/commitizen
Version:
Git commit, but play nice with conventions.
90 lines (65 loc) • 2.85 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bootstrap = bootstrap;
var _commitizen = require("../commitizen");
var _parsers = require("./parsers");
let {
parse
} = _parsers.commitizen;
/**
* This is the main cli entry point.
* environment may be used for debugging.
*/
function bootstrap(environment = {}, argv = process.argv) {
// Get cli args
let rawGitArgs = argv.slice(2, argv.length); // Parse the args
let parsedArgs = parse(rawGitArgs);
let command = parsedArgs._[0]; // Do actions based on commands
if (command === "init") {
let adapterNpmName = parsedArgs._[1];
if (adapterNpmName) {
console.log(`Attempting to initialize using the npm package ${adapterNpmName}`);
try {
(0, _commitizen.init)(process.cwd(), adapterNpmName, parsedArgs);
} catch (e) {
console.error(`Error: ${e}`);
}
} else {
console.error('Error: You must provide an adapter name as the second argument.');
}
} else {
console.log(`
Commitizen has two command line tools:
1) cz -- used for making commits according to convention
note: you can run 'git cz' if installed with -g
2) git-cz -- alias for 'cz'
3) commitizen -- used for installing adapters into your project
Generally if you're using someone else's repo and they've already set up an
adapter, you're going to just be running:
cz
However, if you create a new repo and you want to make it easier for future
contributors to follow your commit message conventions using commitizen then
you'll need to run a command like this one to add this adapter to your config:
commitizen init cz-conventional-changelog --save
You should swap out cz-conventional-changelog for the NPM package name of the
adapter you wish you install in your project's package.json.
Detailed usage:
1) commitizen <sub-command>
init <adapter-npm-name> [args]
description: Install a commitizen adapter from npm and adds it to your
config.commitizen in your package.json file.
args:
--save Install the adapter to package.json dependencies
--save-dev Install the adapter to devDependencies
--save-exact Install an exact version instead of a range
--force Force install the adapter, even if a previous one exists.
2) cz <any regular git commit arguments>
description: Runs the commitizen prompter, asking you questions so that you
follow the commit conventions of the repository of the current
directory.
note: cz may even be run as 'git cz' if installed with -g.
`);
}
}
;