UNPKG

8.35 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/cli.js"],"names":["GIT","process","env","TRAVIS_COMMITLINT_GIT_BIN","COMMITLINT","TRAVIS_COMMITLINT_BIN","REQUIRED","COMMIT","TRAVIS_COMMIT","REPO_SLUG","TRAVIS_REPO_SLUG","PR_SLUG","TRAVIS_PULL_REQUEST_SLUG","RANGE","TRAVIS_COMMIT_RANGE","IS_PR","TRAVIS_EVENT_TYPE","main","catch","err","console","log","exit","validate","stash","pop","Promise","all","fetch","name","url","args","argv","slice","split","filter","Boolean","start","end","lint","call","bind","input","git","options","Object","assign","stdio","isClean","result","stdout","trim","commitlint","hash","CI","TRAVIS","Error","missing","envVar","length","stanza","join"],"mappings":"AAAA;;;;;;;AACA;;AACA;;AAEA;AACA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,IAAyC,KAArD;AACA,MAAMC,UAAU,GAAGH,OAAO,CAACC,GAAR,CAAYG,qBAA/B;AAEA,MAAMC,QAAQ,GAAG,CAChB,eADgB,EAEhB,qBAFgB,EAGhB,mBAHgB,EAIhB,kBAJgB,EAKhB,0BALgB,CAAjB;AAQA,MAAMC,MAAM,GAAGN,OAAO,CAACC,GAAR,CAAYM,aAA3B;AACA,MAAMC,SAAS,GAAGR,OAAO,CAACC,GAAR,CAAYQ,gBAA9B;AACA,MAAMC,OAAO,GAAGV,OAAO,CAACC,GAAR,CAAYU,wBAAZ,IAAwCH,SAAxD;AACA,MAAMI,KAAK,GAAGZ,OAAO,CAACC,GAAR,CAAYY,mBAA1B;AACA,MAAMC,KAAK,GAAGd,OAAO,CAACC,GAAR,CAAYc,iBAAZ,KAAkC,cAAhD;AAEAC,IAAI,GAAGC,KAAP,CAAaC,GAAG,IAAI;AACnBC,EAAAA,OAAO,CAACC,GAAR,CAAYF,GAAZ;AACAlB,EAAAA,OAAO,CAACqB,IAAR,CAAa,CAAb;AACA,CAHD;;AAKA,SAAeL,IAAf;AAAA;AAAA;AACCM,IAAAA,QAAQ,GADT,CAGC;;AACY,2BAAMC,KAAK,EAAX,EAAA,IAAa,CA/B1B;AAAA,UAAI;AA+BGC,QAAAA,GA/BH,GA+BS,QA/BT;AAkCH,+BAAMC,OAAO,CAACC,GAAR,CAAY,CACjB,MAAMC,KAAK,CAAC;AAACC,UAAAA,IAAI,EAAE,MAAP;AAAeC,UAAAA,GAAG,EAAG,sBAAqBrB,SAAU;AAApD,SAAD,CADM,EAEjBM,KAAK,GACF,MAAMa,KAAK,CAAC;AAACC,UAAAA,IAAI,EAAE,QAAP;AAAiBC,UAAAA,GAAG,EAAG,sBAAqBnB,OAAQ;AAApD,SAAD,CADT,GAEF;AAAA;AAAA,UAJc,CAAZ,CAAN,EAAA,IAKE,CAvCH;AAAA,cAAI;AA0CH,mCAAMc,GAAG,EAAT,EAAA,IAAW,CA1CZ;AAAA,kBAAI;AA4CGM,gBAAAA,IA5CH,GA4CU9B,OAAO,CAAC+B,IAAR,CAAaC,KAAb,CAAmB,CAAnB,CA5CV;;AA8CH;AACA,oBAAIlB,KAAK,IAAIF,KAAb,EAAoB;AAAA;;AAAA,wCACEA,KAAK,CAACqB,KAAN,CAAY,GAAZ,EAAiBC,MAAjB,CAAwBC,OAAxB,CADF,+EACZC,KADY,4BACLC,GADK;AAEnB,yCAAMC,IAAI,CAAC,CAAC,QAAD,EAAWF,KAAX,EAAkB,MAAlB,EAA0BC,GAA1B,EAA+B,GAAGP,IAAlC,CAAD,CAAV,EAAA,IAAmD,CAjDrD;AAAA,wBAAI;AAAA,6BAAJ,MAAGS,IAAH,MAAI;AAAK,qBAAT,CAAU,iBAAU;AAAC,6BAAO,gBAAP;AAAc;AAAnC,oBAAGC,IAAH,CAAQ,IAAR,CAiDqD,SAAnD;AACA,iBAHD,MAGO;AAAA;AACQ,yCAAMpB,GAAG,CAACd,MAAD,CAAT,EAAA,IAAiB,CAnDjC;AAAA,wBAAI;AAmDImC,sBAAAA,KAnDJ,GAmDY,QAnDZ;AAoDF,6CAAMH,IAAI,CAACR,IAAD,EAAO;AAACW,wBAAAA;AAAD,uBAAP,CAAV,EAAA,IAAyB,CApD3B;AAAA,4BAAI;AAAA,iCAAJ,MAAGF,IAAH,MAAI;AAAK,yBAAT,CAAU,iBAAU;AAAC,iCAAO,gBAAP;AAAc;AAAnC,wBAAGC,IAAH,CAAQ,IAAR,CAoD2B,SAAzB;AApDO,qBAAT,CAAU,iBAAU;AAAC,6BAAO,gBAAP;AAAc;AAAnC,oBAAGA,IAAH,CAAQ,IAAR,CAmDiC,SAAjB;AAEd;;AArDE;AAAA;AAAA;AAAK,eAAT,CAAU,iBAAU;AAAC,uBAAO,gBAAP;AAAc;AAAnC,cAAGA,IAAH,CAAQ,IAAR,CA0CY,SAAX;AA1CQ,WAAT,CAAU,iBAAU;AAAC,mBAAO,gBAAP;AAAc;AAAnC,UAAGA,IAAH,CAAQ,IAAR,CAuCG,SALF;AAlCQ,OAAT,CAAU,iBAAU;AAAC,eAAO,gBAAP;AAAc;AAAnC,MAAGA,IAAH,CAAQ,IAAR,CA+B0B,SAAb;AAJb;AAAA;;AA6BA,SAAeE,GAAf,CAAmBZ,IAAnB,EAAyBa,OAAzB;AAAA;AACC,mBAAO,oBAAM5C,GAAN,EAAW+B,IAAX,EAAiBc,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB;AAACC,MAAAA,KAAK,EAAE;AAAR,KAAlB,EAAsCH,OAAtC,CAAjB,CAAP;AADD;AAAA;;AAIA,SAAehB,KAAf,CAAqB;AAACC,EAAAA,IAAD;AAAOC,EAAAA;AAAP,CAArB;AAAA;AACC,2BAAMa,GAAG,CAAC,CAAC,QAAD,EAAW,KAAX,EAAkBd,IAAlB,EAAwBC,GAAxB,CAAD,CAAT,EAAA,IAAuC;AA7DxC,UAAI;AA8DH,+BAAMa,GAAG,CAAC,CAAC,OAAD,EAAUd,IAAV,EAAgB,SAAhB,CAAD,CAAT,EAAA,IAAqC;AA9DtC,cAAI;AAAA;AAAK,WAAT,CAAU,iBAAU;AAAC,mBAAO,gBAAP;AAAc;AA8DG,kBAArC;AA9DQ,OAAT,CAAU,iBAAU;AAAC,eAAO,gBAAP;AAAc;AA6DK,cAAvC;AADD;AAAA;;AAKA,SAAemB,OAAf;AAAA;AAAA;AACgB,2BAAML,GAAG,CAAC,CAAC,QAAD,EAAW,aAAX,CAAD,EAA4B;AACnDI,MAAAA,KAAK,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB;AAD4C,KAA5B,CAAT,EAAA,IAEb;AApEH,UAAI;AAkEGE,QAAAA,MAlEH,GAkEY,SAlEZ;AAqEH,uBAAO,EAAEA,MAAM,CAACC,MAAP,IAAiBD,MAAM,CAACC,MAAP,CAAcC,IAAd,EAAnB,CAAP;AArEQ,OAAT,CAAU,iBAAU;AAAC,eAAO,gBAAP;AAAc;AAoEhC,cAFa;AADhB;AAAA;;AAOA,SAAeZ,IAAf,CAAoBR,IAApB,EAA0Ba,OAA1B;AAAA;AACC,mBAAO,oBACNxC,UAAU,IAAIgD,YADR,EAENrB,IAFM,EAGNc,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB;AAACC,MAAAA,KAAK,EAAE,CAAC,MAAD,EAAS,SAAT,EAAoB,SAApB;AAAR,KAAlB,EAA2DH,OAA3D,CAHM,CAAP;AADD;AAAA;;AAQA,SAAevB,GAAf,CAAmBgC,IAAnB;AAAA;AAAA;AACgB,2BAAM,oBAAMrD,GAAN,EAAW,CAC/B,KAD+B,EAE/B,IAF+B,EAG/B,GAH+B,EAI/B,oBAJ+B,EAK/BqD,IAL+B,CAAX,CAAN,EAAA,IAMb;AAvFH,UAAI;AAiFGJ,QAAAA,MAjFH,GAiFY,SAjFZ;AAwFH,uBAAOA,MAAM,CAACC,MAAd;AAxFQ,OAAT,CAAU,iBAAU;AAAC,eAAO,gBAAP;AAAc;AAuFhC,cANa;AADhB;AAAA;;AAWA,SAAe1B,KAAf;AAAA;AACK,2BAAMwB,OAAO,EAAb,EAAA,IAAe;AA5FpB,UAAI;AA4FH,YAAI,SAAJ,EAAqB;AACpB,yBAAO;AAAA;AAAA,YAAP;AACA;;AACD,+BAAML,GAAG,CAAC,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsB,SAAtB,CAAD,CAAT,EAAA,IAA2C;AA/F5C,cAAI;AAgGH,2BAAO,MAAMA,GAAG,CAAC,CAAC,OAAD,EAAU,KAAV,EAAiB,SAAjB,CAAD,CAAhB;AAhGQ,WAAT,CAAU,iBAAU;AAAC,mBAAO,gBAAP;AAAc;AA+FS,kBAA3C;AA/FQ,OAAT,CAAU,iBAAU;AAAC,eAAO,gBAAP;AAAc;AA4Ff,cAAf;AADL;AAAA;;AAQA,SAASpB,QAAT,GAAoB;AACnB,MAAItB,OAAO,CAACC,GAAR,CAAYoD,EAAZ,KAAmB,MAAnB,IAA6BrD,OAAO,CAACC,GAAR,CAAYqD,MAAZ,KAAuB,MAAxD,EAAgE;AAC/D,UAAM,IAAIC,KAAJ,CACJ,4DADI,CAAN;AAGA;;AAED,QAAMC,OAAO,GAAGnD,QAAQ,CAAC6B,MAAT,CAAgBuB,MAAM,IAAI,EAAEA,MAAM,IAAIzD,OAAO,CAACC,GAApB,CAA1B,CAAhB;;AAEA,MAAIuD,OAAO,CAACE,MAAR,GAAiB,CAArB,EAAwB;AACvB,UAAMC,MAAM,GAAGH,OAAO,CAACE,MAAR,GAAiB,CAAjB,GAAqB,eAArB,GAAuC,YAAtD;AACA,UAAM,IAAIH,KAAJ,CACJ,YAAWC,OAAO,CAACI,IAAR,CAAa,IAAb,CAAmB,4BAA2BD,MAAO,GAD5D,CAAN;AAGA;AACD","sourcesContent":["#!/usr/bin/env node\nimport execa from 'execa';\nimport commitlint from '@commitlint/cli';\n\n// Allow to override used bins for testing purposes\nconst GIT = process.env.TRAVIS_COMMITLINT_GIT_BIN || 'git';\nconst COMMITLINT = process.env.TRAVIS_COMMITLINT_BIN;\n\nconst REQUIRED = [\n\t'TRAVIS_COMMIT',\n\t'TRAVIS_COMMIT_RANGE',\n\t'TRAVIS_EVENT_TYPE',\n\t'TRAVIS_REPO_SLUG',\n\t'TRAVIS_PULL_REQUEST_SLUG'\n];\n\nconst COMMIT = process.env.TRAVIS_COMMIT;\nconst REPO_SLUG = process.env.TRAVIS_REPO_SLUG;\nconst PR_SLUG = process.env.TRAVIS_PULL_REQUEST_SLUG || REPO_SLUG;\nconst RANGE = process.env.TRAVIS_COMMIT_RANGE;\nconst IS_PR = process.env.TRAVIS_EVENT_TYPE === 'pull_request';\n\nmain().catch(err => {\n\tconsole.log(err);\n\tprocess.exit(1);\n});\n\nasync function main() {\n\tvalidate();\n\n\t// Stash changes in working copy if needed\n\tconst pop = await stash();\n\n\t// Make base and source available as dedicated remotes\n\tawait Promise.all([\n\t\t() => fetch({name: 'base', url: `https://github.com/${REPO_SLUG}.git`}),\n\t\tIS_PR\n\t\t\t? () => fetch({name: 'source', url: `https://github.com/${PR_SLUG}.git`})\n\t\t\t: async () => {}\n\t]);\n\n\t// Restore stashed changes if any\n\tawait pop();\n\n\tconst args = process.argv.slice(2);\n\n\t// Lint all commits in TRAVIS_COMMIT_RANGE if available\n\tif (IS_PR && RANGE) {\n\t\tconst [start, end] = RANGE.split('.').filter(Boolean);\n\t\tawait lint(['--from', start, '--to', end, ...args]);\n\t} else {\n\t\tconst input = await log(COMMIT);\n\t\tawait lint(args, {input});\n\t}\n}\n\nasync function git(args, options) {\n\treturn execa(GIT, args, Object.assign({}, {stdio: 'inherit'}, options));\n}\n\nasync function fetch({name, url}) {\n\tawait git(['remote', 'add', name, url]);\n\tawait git(['fetch', name, '--quiet']);\n}\n\nasync function isClean() {\n\tconst result = await git(['status', '--porcelain'], {\n\t\tstdio: ['pipe', 'pipe', 'pipe']\n\t});\n\treturn !(result.stdout && result.stdout.trim());\n}\n\nasync function lint(args, options) {\n\treturn execa(\n\t\tCOMMITLINT || commitlint,\n\t\targs,\n\t\tObject.assign({}, {stdio: ['pipe', 'inherit', 'inherit']}, options)\n\t);\n}\n\nasync function log(hash) {\n\tconst result = await execa(GIT, [\n\t\t'log',\n\t\t'-n',\n\t\t'1',\n\t\t'--pretty=format:%B',\n\t\thash\n\t]);\n\treturn result.stdout;\n}\n\nasync function stash() {\n\tif (await isClean()) {\n\t\treturn async () => {};\n\t}\n\tawait git(['stash', '-k', '-u', '--quiet']);\n\treturn () => git(['stash', 'pop', '--quiet']);\n}\n\nfunction validate() {\n\tif (process.env.CI !== 'true' || process.env.TRAVIS !== 'true') {\n\t\tthrow new Error(\n\t\t\t`@commitlint/travis-cli is intended to be used on Travis CI`\n\t\t);\n\t}\n\n\tconst missing = REQUIRED.filter(envVar => !(envVar in process.env));\n\n\tif (missing.length > 0) {\n\t\tconst stanza = missing.length > 1 ? 'they were not' : 'it was not';\n\t\tthrow new Error(\n\t\t\t`Expected ${missing.join(', ')} to be defined globally, ${stanza}.`\n\t\t);\n\t}\n}\n"],"file":"cli.js"}
\No newline at end of file