ccommit 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var C={COMMIT:"commit",HOOK:"hook",LIST:"list"},d={CONVENTIONAL:"conventional",C
|
|
|
18
18
|
{REPLACE}
|
|
19
19
|
`,GENERATOR_TAKING_OVER:"\u276F Generator will take it from here (CTRL+C to quit)",MODE_CONFLICT:"\u276F Please choose one or the other: --commit, -c | --hook, -u",REPLACE:"{REPLACE}",STAGED_FILES:"\u276F There are no staged files for git. Did you mean to do a dry-run (-n)?",TYPE_INCORRECT:"\u276F There is no gitmoji/type associated with: {REPLACE}"},TYPES:{ERROR:"error",INFO:"info",SUCCESS:"success",WARNING:"warning"}},m=Object.freeze({FORMAT:"format",MESSAGE:"message",SCOPE:"scope",TITLE:"title",TYPE:"type"}),y={MAX:12,MIN:3},o={MAJOR:"major",MINOR:"minor",NULL:"null",PATCH:"patch"},c={MAX:48,MAX_SWAG:40,MIN:3,MIN_SWAG:15},D={MAX:15};var w=()=>execa("git",["rev-parse","--absolute-git-dir"]).then(({stdout:e})=>{($.existsSync(e+"/rebase-merge")||$.existsSync(e+"/rebase-apply"))&&M.exit(0);}),Y=4,B=()=>new Promise(e=>{let t=M.argv[Y];t&&(t.startsWith("commit")||t.startsWith("merge"))&&M.exit(0),e();}),v=()=>B().then(w);var oe=[{code:":wheelchair:",description:"Improve Accessibility",emoji:"\u267F\uFE0F",emojiLength:1,semver:o.PATCH,type:"access"},{code:":chart_with_upwards_trend:",description:"Add or Update Analytics or Track Code",emoji:"\u{1F4C8}",emojiLength:1,semver:o.PATCH,type:"analytics"},{code:":dizzy:",description:"Add or Update Animations and Transitions",emoji:"\u{1F4AB}",emojiLength:1,semver:o.PATCH,type:"animation"},{code:":building_construction:",description:"Make Architectural Changes",emoji:"\u{1F3D7}\uFE0F",emojiLength:0,semver:o.NULL,type:"arch"},{code:":bento:",description:"Add or Update Assets",emoji:"\u{1F371}",emojiLength:1,semver:o.PATCH,type:"assets"},{code:":beers:",description:"Write Code Drunkenly",emoji:"\u{1F37B}",emojiLength:1,semver:o.NULL,type:"beer"},{code:":boom:",description:"Introduce Breaking Changes",emoji:"\u{1F4A5}",emojiLength:1,semver:o.MAJOR,type:"breaking"},{code:":hammer:",description:"Add or Update Development Scripts",emoji:"\u{1F528}",emojiLength:1,semver:o.NULL,type:"build"},{code:":goal_net:",description:"Catch Errors",emoji:"\u{1F945}",emojiLength:1,semver:o.PATCH,type:"catch"},{code:":computer_disk:",description:"Changes That Don\u2019t Modify Src or Test Files",emoji:"\u{1F4BD}\uFE0F",emojiLength:1,semver:o.NULL,type:"chore"},{code:":construction_worker:",description:"Add or Update CI Build System",emoji:"\u{1F477}",emojiLength:1,semver:o.NULL,type:"ci"},{code:":wastebasket:",description:"Deprecate Code That Needs to Be Cleaned Up",emoji:"\u{1F5D1}\uFE0F",emojiLength:0,semver:o.PATCH,type:"clean"},{code:":alien:",description:"Update Code Due to External API Changes",emoji:"\u{1F47D}\uFE0F",emojiLength:1,semver:o.PATCH,type:"compat"},{code:":thread:",description:"Add or Update Code Related to Multithreading or Concurrency",emoji:"\u{1F9F5}",emojiLength:1,semver:o.NULL,type:"concurrency"},{code:":wrench:",description:"Add or Update Configuration Files",emoji:"\u{1F527}",emojiLength:1,semver:o.PATCH,type:"config"},{code:":busts_in_silhouette:",description:"Add or Update Contributor(s)",emoji:"\u{1F465}",emojiLength:1,semver:o.NULL,type:"contrib-add"},{code:":monocle_face:",description:"Data Exploration/inspection",emoji:"\u{1F9D0}",emojiLength:1,semver:o.NULL,type:"data"},{code:":card_file_box:",description:"Perform Database Related Changes",emoji:"\u{1F5C3}\uFE0F",emojiLength:0,semver:o.PATCH,type:"db"},{code:":heavy_plus_sign:",description:"Add a Dependency",emoji:"\u2795",emojiLength:1,semver:o.PATCH,type:"dep-add"},{code:":heavy_minus_sign:",description:"Remove a Dependency",emoji:"\u2796",emojiLength:1,semver:o.PATCH,type:"dep-rm"},{code:":package:",description:"Add or Update Compiled Files or Packages",emoji:"\u{1F4E6}\uFE0F",emojiLength:1,semver:o.PATCH,type:"dep-up"},{code:":rocket:",description:"Deploy Stuff",emoji:"\u{1F680}",emojiLength:1,semver:o.NULL,type:"deploy"},{code:":bulb:",description:"Add or Update Comments in Source Code",emoji:"\u{1F4A1}",emojiLength:1,semver:o.NULL,type:"docs-code"},{code:":memo:",description:"Add or Update Documentation",emoji:"\u{1F4DD}",emojiLength:1,semver:o.NULL,type:"docs"},{code:":arrow_down:",description:"Downgrade Dependencies",emoji:"\u2B07\uFE0F",emojiLength:0,semver:o.PATCH,type:"downgrade"},{code:":technologist:",description:"Improve Developer Experience",emoji:"\u{1F4BB}",emojiLength:1,semver:o.NULL,type:"dx"},{code:":egg:",description:"Add or Update an Easter Egg",emoji:"\u{1F95A}",emojiLength:1,semver:o.PATCH,type:"egg"},{code:":alembic:",description:"Perform Experiments",emoji:"\u2697\uFE0F",emojiLength:0,semver:o.PATCH,type:"experiment"},{code:":sparkles:",description:"Introduce New Features",emoji:"\u2728",emojiLength:1,semver:o.MINOR,type:"feat"},{code:":bug:",description:"Fix a Bug",emoji:"\u{1F41B}",emojiLength:1,semver:o.PATCH,type:"fix"},{code:":green_heart:",description:"Fix CI Build",emoji:"\u{1F49A}",emojiLength:1,semver:o.NULL,type:"fix-ci"},{code:":triangular_flag_on_post:",description:"Add Update or Remove Feature Flags",emoji:"\u{1F6A9}",emojiLength:1,semver:o.PATCH,type:"flags"},{code:":stethoscope:",description:"Add or Update Healthcheck",emoji:"\u{1FA7A}",emojiLength:1,semver:o.NULL,type:"healthcheck"},{code:":ambulance:",description:"Critical Hotfix",emoji:"\u{1F691}\uFE0F",emojiLength:1,semver:o.PATCH,type:"hotfix"},{code:":globe_with_meridians:",description:"Internationalization and Localization",emoji:"\u{1F310}",emojiLength:1,semver:o.PATCH,type:"i18n"},{code:":see_no_evil:",description:"Add or Update a Gitignore File.",emoji:"\u{1F648}",emojiLength:1,semver:o.NULL,type:"ignore"},{code:":bricks:",description:"Infrastructure Related Changes",emoji:"\u{1F9F1}",emojiLength:1,semver:o.NULL,type:"inf"},{code:":tada:",description:"Begin a Project",emoji:"\u{1F389}",emojiLength:1,semver:o.PATCH,type:"init"},{code:":iphone:",description:"Work on Responsive Design",emoji:"\u{1F4F1}",emojiLength:1,semver:o.PATCH,type:"iphone"},{code:":page_facing_up:",description:"Add or Update License",emoji:"\u{1F4C4}",emojiLength:1,semver:o.NULL,type:"license"},{code:":rotating_light:",description:"Fix Compiler / Linter Warnings",emoji:"\u{1F6A8}",emojiLength:1,semver:o.NULL,type:"lint"},{code:":loud_sound:",description:"Add or Update Logs",emoji:"\u{1F50A}",emojiLength:1,semver:o.NULL,type:"log-add"},{code:":mute:",description:"Remove Logs",emoji:"\u{1F507}",emojiLength:1,semver:o.NULL,type:"log-rm"},{code:":necktie:",description:"Add or Update Business Logic",emoji:"\u{1F454}",emojiLength:1,semver:o.PATCH,type:"logic"},{code:":twisted_rightwards_arrows:",description:"Merge Branches",emoji:"\u{1F500}",emojiLength:1,semver:o.NULL,type:"merge"},{code:":clown_face:",description:"Mock Things",emoji:"\u{1F921}",emojiLength:1,semver:o.NULL,type:"mock"},{code:":truck:",description:"Move or Rename Resources (Eg.: Files Paths Routes).",emoji:"\u{1F69A}",emojiLength:1,semver:o.NULL,type:"mv"},{code:":adhesive_bandage:",description:"Simple Fix for a Non-Critical Issue",emoji:"\u{1FA79}",emojiLength:1,semver:o.PATCH,type:"patch"},{code:":zap:",description:"Improve Performance",emoji:"\u26A1\uFE0F",emojiLength:1,semver:o.PATCH,type:"perf"},{code:":poop:",description:"Write Bad Code That Needs to Be Improved",emoji:"\u{1F4A9}",emojiLength:1,semver:o.NULL,type:"poo"},{code:":fire:",description:"Remove Code or Files",emoji:"\u{1F525}",emojiLength:1,semver:o.NULL,type:"prune"},{code:":pushpin:",description:"Pin Dependencies to Specific Versions",emoji:"\u{1F4CC}",emojiLength:1,semver:o.PATCH,type:"pushpin"},{code:":recycle:",description:"Refactor Code",emoji:"\u267B\uFE0F",emojiLength:0,semver:o.NULL,type:"refactor"},{code:":bookmark:",description:"Release / Version Tags",emoji:"\u{1F516}",emojiLength:1,semver:o.NULL,type:"release"},{code:":rewind:",description:"Revert Changes",emoji:"\u23EA\uFE0F",emojiLength:1,semver:o.PATCH,type:"revert"},{code:":coffin:",description:"Remove Dead Code",emoji:"\u26B0\uFE0F",emojiLength:0,semver:o.NULL,type:"rip"},{code:":passport_control:",description:"Work on Code Related to Authorization Roles and Permissions",emoji:"\u{1F6C2}",emojiLength:1,semver:o.PATCH,type:"roles"},{code:":fast_forward:",description:"Create Rollforward Version",emoji:"\u23E9\uFE0F",emojiLength:1,semver:o.NULL,type:"rollforward"},{code:":rocket:",description:"Custom Type for CI/CD to Hook into Run Build Override",emoji:"\u{1F680}\uFE0F",emojiLength:1,semver:o.PATCH,type:"run-build"},{code:":closed_lock_with_key:",description:"Add or Update Secrets",emoji:"\u{1F510}",emojiLength:1,semver:o.NULL,type:"secrets"},{code:":lock:",description:"Fix Security Issues",emoji:"\u{1F512}\uFE0F",emojiLength:1,semver:o.PATCH,type:"security"},{code:":seedling:",description:"Add or Update Seed Files",emoji:"\u{1F331}",emojiLength:1,semver:o.NULL,type:"seed"},{code:":mag:",description:"Improve Seo",emoji:"\u{1F50D}\uFE0F",emojiLength:1,semver:o.PATCH,type:"seo"},{code:":camera_flash:",description:"Add or Update Snapshots",emoji:"\u{1F4F8}",emojiLength:1,semver:o.NULL,type:"snapshot"},{code:":money_with_wings:",description:"Add Sponsorships or Money Related Infrastructure",emoji:"\u{1F4B8}",emojiLength:1,semver:o.NULL,type:"sponsor"},{code:":art:",description:"Improve Structure / Format of the Code",emoji:"\u{1F3A8}",emojiLength:1,semver:o.NULL,type:"style"},{code:":test_tube:",description:"Add a Failing Test",emoji:"\u{1F9EA}",emojiLength:1,semver:o.NULL,type:"test-fail"},{code:":white_check_mark:",description:"Add Update or Pass Tests",emoji:"\u2705",emojiLength:1,semver:o.NULL,type:"test"},{code:":speech_balloon:",description:"Add or Update Text and Literals",emoji:"\u{1F4AC}",emojiLength:1,semver:o.PATCH,type:"texts"},{code:":label:",description:"Add or Update Types",emoji:"\u{1F3F7}\uFE0F",emojiLength:0,semver:o.PATCH,type:"types"},{code:":pencil2:",description:"Fix Typos",emoji:"\u270F\uFE0F",emojiLength:0,semver:o.PATCH,type:"typo"},{code:":lipstick:",description:"Add or Update the UI and Style Files",emoji:"\u{1F484}",emojiLength:1,semver:o.PATCH,type:"ui"},{code:":arrow_up:",description:"Upgrade Dependencies",emoji:"\u2B06\uFE0F",emojiLength:0,semver:o.PATCH,type:"upgrade"},{code:":children_crossing:",description:"Improve User Experience / Usability",emoji:"\u{1F6B8}",emojiLength:1,semver:o.PATCH,type:"ux"},{code:":safety_vest:",description:"Add or update code related to validation",emoji:"\u{1F9BA}",emojiLength:1,semver:o.PATCH,type:"validation"},{code:":construction:",description:"Work in Progress",emoji:"\u{1F6A7}",emojiLength:1,semver:o.NULL,type:"wip"}],f=oe;var E=(e,t,i)=>{let r=f.findIndex(a=>a[t]===e);return f[r]?.[i]};var ie=(e,t)=>[n.COMMIT,n.HOOK].includes(e)?{dryrun:t[n.DRYRUN],emoji:t[n.EMOJI],format:t[m.FORMAT]===d.CONVENTIONAL?t[n.EMOJI]?d.CONVENTIONAL:d.CONVENTIONAL_NO_EMOJI:d.GITMOJI,message:t[m.MESSAGE],mode:e===n.HOOK?L.HOOK:L.CLIENT,scope:t[m.SCOPE],skip:t[n.SKIP],title:t[m.TITLE],type:t[m.TYPE]}:null,N=(e,t)=>{let i=e.flags,r=Object.keys(i).map(h=>i[h]&&h).find(h=>t[h]),a=P();!i[n.DRYRUN]&&!a&&(console.log(g(s.TYPES.ERROR,s.MESSAGES.STAGED_FILES)),M.exit(2)),i[n.COMMIT]&&i[n.HOOK]&&(console.log(g(s.TYPES.ERROR,s.MESSAGES.MODE_CONFLICT)),M.exit(2)),(i[m.MESSAGE]||i[m.SCOPE]||i[m.TITLE]||i[m.TYPE])&&(i[n.SKIP]=!0),i[n.SKIP]&&(i[m.TITLE]&&i[m.TYPE]?i[n.SKIP]=!0:(i[n.SKIP]=!1,console.log(g(s.TYPES.ERROR,s.MESSAGES.COMMAND_LINE_WITHOUT_REQUIRED)),i[m.TITLE]=void 0,i[m.TYPE]=void 0));let l=ie(r,i);return t[r]?t[r](l):e.showHelp()};var A=({emoji:e,emojiLength:t})=>t===0?`${e} `:`${e} `,O=e=>e?.padEnd(D.MAX),R=e=>e.map(({description:t,emoji:i,emojiLength:r,type:a})=>{console.log(`${A({emoji:i,emojiLength:r})} ${O(a)} ${t}`);}),b=(e,t)=>{let i=G[e?.format],r=t?.gitmoji?`${t?.gitmoji} `:"",a=t?.scope?`(${t?.scope.replace(/ {2}/g,"--").replace(/ /g,"-").toLowerCase().trim()})`:"";return a=a&&e?.format===d.GITMOJI?`${a} `:a,i.replace(/\{emoji\}/g,r).replace(/\{scope\}/g,a).replace(/\{breaking\}/g,"").replace(/\{title\}/g,t?.title).replace(/\{type\}/g,t?.type)};var g=(e,t,i)=>{let r=i?t.replace(/\{REPLACE\}/g,i):t;return r=`
|
|
20
20
|
${r}
|
|
21
|
-
`,
|
|
21
|
+
`,p.magenta.bold(r)},_=(e,t,i)=>{let r=i?t.replace(/\{REPLACE\}/g,i):t;return e===s.TYPES.ERROR?p.red.bold(r):e===s.TYPES.INFO?p.white.bold(r):e===s.TYPES.WARNING?p.yellow.bold(r):p.green.bold(r)};var U=e=>{let t=e.length,i=t.toString(),r=s.TYPES.SUCCESS;return t<c.MIN||t>c.MAX?r=s.TYPES.ERROR:(t<c.MIN_SWAG||t>c.MAX_SWAG)&&(r=s.TYPES.WARNING),_(r,s.MESSAGES.REPLACE,i)};var x=()=>{let e=process.platform==="win32"?" nul":"/dev/null";return execSync("git rev-parse --show-toplevel 2>"+e).toString().trim()};var I=()=>{let e,t="";e=execSync("git rev-parse --abbrev-ref HEAD"),e=e.toString().trim().split("/");let i=e[0],a=(e[1]?e[1]:i).split("-"),l=a[0],h=a[1]?a[1]:l,ee=`${l}-${h}`;return !isNaN(parseFloat(h))&&isFinite(parseFloat(h))&&(t=ee),t};var P=()=>!!execSync("git diff --name-only --staged").toString().trim();var j=e=>{console.log(p.magenta.bold(`\u276F dry-run mode: ${e}
|
|
22
22
|
`));};var k=()=>{M.on("SIGINT",()=>{console.log(p.magenta.bold("\u276F [ccommit] interrupted")),M.exit(0);});};var ce=()=>f.map(({description:e,emoji:t,emojiLength:i,type:r})=>({description:e,emoji:t,emojiLength:i,type:r})),H=(e,t)=>{let r=`Character Count (${U(e)}/${t})`;return `${p.dim.cyan("\u203A")} ${p.dim.bold(r)}`},pe=e=>e.submitted?e.cancelled?p.magenta("\u2716"):p.green("\u2714"):p.cyan("?"),de=[{default:"(y/N)",format(e){let t=e?"yes":"no";return this.state.submitted?p.green(t):p.dim(t)},initial:!1,message:"Is there a breaking change?",name:"breaking",prefix(){return pe(this.state)},styles:{primary:p.white},type:"confirm"},{footer(){return H(this.state.input,c.MAX)},message:"Please share breaking change info",name:"messageBreaking",result(e){return e?`BREAKING CHANGE: ${e.trim()}`:""},skip(){return !this.state.answers.breaking},type:"input",validate(e){let t=e?.length||0;return this.state.answers.breaking?t<15?"Must have at least 15 characters":t>c.MAX?`Cannot exceed ${c.MAX} characters`:!0:!0}},{choices:ce().map(({description:e,emoji:t,emojiLength:i,type:r})=>{let a=t;return {name:` ${A({emoji:t,emojiLength:i})} ${O(r)} ${e}`,value:a}}),footer(){return `${p.dim.cyan("\u203A")} ${p.dim.bold("scroll up and down to reveal more \u2195")}`},highlight(e){return p.cyanBright(e)},limit:18,message:"Please choose a commit type",name:"gitmoji",type:"autocomplete"},{footer(){return H(this.state.input,y.MAX)},format(){return this.state.submitted?p.green(this.value):this.value},message:"Please share the scope (if any)",name:"scope",type:"input",validate(e){let t=e.length;return t===0?!0:t<y.MIN?`Must have at least ${y.MIN} characters`:t>y.MAX?`Cannot exceed ${y.MAX} characters`:!0}},{footer(){return H(this.state.input,c.MAX)},hint(){return this.state.initial?"\u2026 tab to use initial value":""},initial:I()?`${I()} `:"",message:"Please enter the commit title",name:"title",type:"input",validate(e){let t=e.length;return t<c.MIN?`Must have at least ${c.MIN} characters`:t>c.MAX?`Cannot exceed ${c.MAX} characters`:!0}},{footer(){return `${p.dim.cyan("\u203A")} ${p.dim("Return twice to submit/skip: \u2B91 \u2B91")}`},message:"Please share a more detailed commit message (if applicable)",multiline:!0,name:"message",result(e){return e===`
|
|
23
23
|
`?"":e},type:"input"}],J=de;var he=async(e,t)=>{try{let i=e?.subject,r=e?.message,a=e?.messageBreaking,l=["commit","-m",i];r&&l.push("-m",r),a&&l.push("-m",a),t?.dryrun?j(["git",...l].join(" ")):await execa("git",l,{buffer:!1,stdio:"inherit"});}catch(i){console.error(g(s.TYPES.ERROR,s.MESSAGES.COMMIT_FAIL,i.escapedCommand)),M.exit(1);}},V=he;var Le=join(x(),".git","COMMIT_EDITMSG"),ye=(e,t)=>{try{let i=e?.subject;e?.message&&e?.message!==`
|
|
24
24
|
`&&(i+=`
|
package/package.json
CHANGED