From 4e8da01be0869a4ef61545b851c0290c41a96fb8 Mon Sep 17 00:00:00 2001 From: Jim Cummins Date: Thu, 23 Apr 2015 08:17:28 -0500 Subject: [PATCH] feat(adapter): Create initial commit. --- .cz.json | 3 ++ index.js | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 13 ++++++++ 3 files changed, 103 insertions(+) create mode 100644 .cz.json create mode 100644 index.js create mode 100644 package.json diff --git a/.cz.json b/.cz.json new file mode 100644 index 00000000..05f9f4f4 --- /dev/null +++ b/.cz.json @@ -0,0 +1,3 @@ +{ + "path": "./" +} diff --git a/index.js b/index.js new file mode 100644 index 00000000..d2d9f060 --- /dev/null +++ b/index.js @@ -0,0 +1,87 @@ +// This can be any kind of SystemJS compatible module. +// We use Commonjs here, but ES6 or AMD would do just +// fine. +module.exports = { + + // When a user runs `git cz`, prompter will + // be executed. We pass you cz, which currently + // is just an instance of inquirer.js. Using + // this you can ask questions and get answers. + // + // The commit callback should be executed when + // you're ready to send back a commit template + // to git. + // + // By default, we'll de-indent your commit + // template and will keep empty lines. + prompter: function(cz, commit) { + + console.log('\nAll commit message lines will be cropped at 100 characters.\n'); + + // Let's ask some questions of the user + // so that we can populate our commit + // template. + // + // See inquirer.js docs for specifics. + // You can also opt to use another input + // collection library if you prefer. + cz.prompt([ + { + type: 'list', + name: 'type', + message: 'Select the type of change that you\'re committing:', + choices: [ + { + name: 'feat: A new feature', + value: 'feat' + }, { + name: 'fix: A bug fix', + value: 'fix' + }, { + name: 'docs: Documentation only changes', + value: 'docs' + }, { + name: 'style: Changes that do not affect the meaning of the code\n (white-space, formatting, missing semi-colons, etc)', + value: 'style' + }, { + name: 'refactor: A code change that neither fixes a bug or adds a feature', + value: 'refactor' + }, { + name: 'perf: A code change that improves performance', + value: 'perf' + }, { + name: 'test: Adding missing tests', + value: 'test' + }, { + name: 'chore: Changes to the build process or auxiliary tools\n and libraries such as documentation generation', + value: 'chore' + }] + }, { + type: 'input', + name: 'scope', + message: 'Denote the scope of this change ($location, $browser, $compile, etc.):\n' + }, { + type: 'input', + name: 'subject', + message: 'Write a short, imperative tense description of the change:\n' + }, { + type: 'input', + name: 'body', + message: 'Provide a longer description of the change:\n' + }, { + type: 'input', + name: 'footer', + message: 'List any breaking changes or issues closed by this change:\n' + } + ], function(answers) { + + // Plug the answers into our template + // By default, we dedent this for you + commit(`${answers.type}(${answers.scope}): ${answers.subject}`.slice(0, 100) + ` + + ` + answers.body.slice(0, 100) + ` + + ` + answers.footer.slice(0, 100)); + }); + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..fff596bd --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "cz-conventional-changelog", + "version": "1.0.0", + "description": "Commitizen adapter following the conventional-changelog format.", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Jim Cummins ", + "license": "MIT", + "dependencies": { + } +}