From 125178b74e431dde9c3f4832f9a48a0172f896df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gre=CC=81gory=20Le=20Garec?= Date: Fri, 15 Jun 2018 19:51:40 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(semantic-release):=20allow?= =?UTF-8?q?=20emoji=20prefix=20in=20commit=20messages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commitlint.config.js | 9 +++++++++ package.json | 18 ------------------ parser-preset.js | 10 ++++++++++ release.config.js | 11 +++++++++++ 4 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 commitlint.config.js create mode 100644 parser-preset.js create mode 100644 release.config.js diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000000..d8e5cecd20 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,9 @@ +const parserPreset = require('./parser-preset') + +module.exports = { + extends: ['@commitlint/config-conventional'], + parserPreset: parserPreset, + rules: { + 'scope-case': [0] + } +} diff --git a/package.json b/package.json index c629e918bb..48fc8690c2 100644 --- a/package.json +++ b/package.json @@ -130,23 +130,5 @@ "__TARGET__": "browser", "cozy": {} } - }, - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ], - "rules": { - "scope-case": [0] - } - }, - "release": { - "prepare": [ - { - "path": "@semantic-release/changelog", - "changelogFile": "CHANGELOG.md" - }, - "@semantic-release/git", - "@semantic-release/npm" - ] } } diff --git a/parser-preset.js b/parser-preset.js new file mode 100644 index 0000000000..8a8c16a245 --- /dev/null +++ b/parser-preset.js @@ -0,0 +1,10 @@ +module.exports = { + parserOpts: { + // Emoji list found here: https://stackoverflow.com/questions/43242440/javascript-unicode-emoji-regular-expressions + // Allows one from the list or a :string:, followed by the default + // headerPattern from conventional-commits-parser: + // https://github.com/conventional-changelog-archived-repos/conventional-commits-parser#headerpattern + headerPattern: /^(?:([\u00A9\u00AE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9-\u21AA\u231A-\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA-\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614-\u2615\u2618\u261D\u2620\u2622-\u2623\u2626\u262A\u262E-\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665-\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B-\u269C\u26A0-\u26A1\u26AA-\u26AB\u26B0-\u26B1\u26BD-\u26BE\u26C 4-\u26C5\u26C8\u26CE-\u26CF\u26D1\u26D3-\u26D4\u26E9-\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733-\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934-\u2935\u2B05-\u2B07\u2B1B-\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|(?:\uD83C[\uDC04\uDCCF\uDD70-\uDD71\uDD7E-\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01-\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50-\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96-\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F-\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95-\uDD96\uDDA4-\uDDA5\uDDA8\uDDB1-\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB-\uDEEC\uDEF0\uDEF3-\uDEF6]|\uD83E[\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0])|:\w+:) )?(\w*)(?:\(([\w\$\.\-\* ]*)\))?\: (.*)$/, + headerCorrespondence: ["emoji", "type", "scope", "subject"] + } +} diff --git a/release.config.js b/release.config.js new file mode 100644 index 0000000000..706c9452aa --- /dev/null +++ b/release.config.js @@ -0,0 +1,11 @@ +const parserPreset = require('./parser-preset') + +module.exports = { + prepare: [ + { + path: '@semantic-release/changelog', + changelogFile: 'CHANGELOG.md' + } + ], + analyzeCommits: parserPreset +}