@w5s/conventional-changelog 2.2.5 → 3.0.1

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/dist/index.cjs CHANGED
@@ -53,64 +53,64 @@ var CommitConventionalType = (() => {
53
53
  const enumValuesSet = new Set(enumValues);
54
54
  const typeData = {
55
55
  feat: {
56
- emoji: "\u2728",
56
+ "emoji": "\u2728",
57
57
  "en-US": "Features",
58
- changelog: true
58
+ "changelog": true
59
59
  },
60
60
  fix: {
61
- emoji: "\u{1F41B}",
61
+ "emoji": "\u{1F41B}",
62
62
  "en-US": "Bug Fixes",
63
- changelog: true
63
+ "changelog": true
64
64
  },
65
65
  build: {
66
- emoji: "\u{1F477}",
66
+ "emoji": "\u{1F477}",
67
67
  "en-US": "Build System",
68
- changelog: false
68
+ "changelog": false
69
69
  },
70
70
  chore: {
71
- emoji: "\u{1F3AB}",
71
+ "emoji": "\u{1F3AB}",
72
72
  "en-US": "Chores",
73
- changelog: false
73
+ "changelog": false
74
74
  },
75
75
  ci: {
76
- emoji: "\u{1F527}",
76
+ "emoji": "\u{1F527}",
77
77
  "en-US": "Continuous Integration",
78
- changelog: false
78
+ "changelog": false
79
79
  },
80
80
  docs: {
81
- emoji: "\u{1F4DD}",
81
+ "emoji": "\u{1F4DD}",
82
82
  "en-US": "Documentation",
83
- changelog: false
83
+ "changelog": false
84
84
  },
85
85
  test: {
86
- emoji: "\u2705",
86
+ "emoji": "\u2705",
87
87
  "en-US": "Tests",
88
- changelog: false
88
+ "changelog": false
89
89
  },
90
90
  perf: {
91
- emoji: "\u26A1",
91
+ "emoji": "\u26A1",
92
92
  "en-US": "Performance Improvements",
93
- changelog: true
93
+ "changelog": true
94
94
  },
95
95
  refactor: {
96
- emoji: "\u267B",
96
+ "emoji": "\u267B",
97
97
  "en-US": "Code Refactoring",
98
- changelog: false
98
+ "changelog": false
99
99
  },
100
100
  revert: {
101
- emoji: "\u23EA",
101
+ "emoji": "\u23EA",
102
102
  "en-US": "Reverts",
103
- changelog: true
103
+ "changelog": true
104
104
  },
105
105
  style: {
106
- emoji: "\u{1F484}",
106
+ "emoji": "\u{1F484}",
107
107
  "en-US": "Styles",
108
- changelog: false
108
+ "changelog": false
109
109
  },
110
110
  wip: {
111
- emoji: "\u{1F6A7}",
111
+ "emoji": "\u{1F6A7}",
112
112
  "en-US": "Work in progress",
113
- changelog: false
113
+ "changelog": false
114
114
  }
115
115
  };
116
116
  function hasInstance(anyValue) {
@@ -190,7 +190,7 @@ exports.GitmojiCode = void 0;
190
190
  entries.reduce(
191
191
  (acc, [commitType, gitmojiUnicodeArray]) => acc.concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType])).concat(
192
192
  gitmojiUnicodeArray.map((gitmojiUnicode) => [
193
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
193
+ // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain
194
194
  index.emoji.get(gitmojiUnicode)?.code,
195
195
  commitType
196
196
  ])
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/git-raw-commit-opts.ts","../src/parser.ts","../src/data.ts","../src/gitmoji.ts","../src/whatBump.ts","../src/transform.ts","../src/writer.ts","../src/index.ts"],"names":["Emoji","emojiRegexp","GitmojiCode","gitmojis","toConventionalCommitType","nodePath","fileURLToPath","readFileSync"],"mappings":";;;;;;;;;;;;;;;;;AAAO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,MAAA,EAAQ;AACV,CAAA;;;ACEO,IAAM,mBAAmB,OAAsB;AAAA,EACpD,eAAe,IAAI,MAAA;AAAA;AAAA,IAEjB,CAAA,yDAAA,CAAA;AAAA,IAKA;AAAA,GACF;AAAA,EACA,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAA,EAAS,SAAS,CAAA;AAAA,EACjD,aAAA,EAAe,oEAAA;AAAA,EACf,YAAA,EAAc,CAAC,iBAAA,EAAmB,kBAAkB,CAAA;AAAA;AAAA,EAEpD,oBAAA,EAAsB,CAAC,CAAA,MAAA,CAAA,EAAU,CAAA,IAAA,CAAM;AACzC,CAAA,CAAA;;;ACIO,IAAM,0BAA0B,MAAM;AAC3C,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,CAAO;AAAA,IAC/B,KAAA,EAAO,OAAA;AAAA,IACP,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO;AAAA,GACR,CAAA;AACD,EAAA,MAAM,UAAA,GAAgD,OAAO,MAAA,CAAO,MAAA,CAAO,OAAO,UAAU,CAAA,CAAE,MAAM,CAAA;AACpG,EAAA,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAI,UAAU,CAAA;AAExC,EAAA,MAAM,QAAA,GAAuE;AAAA,IAC3E,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,UAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,GAAA,EAAK;AAAA,MACH,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,WAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,QAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,EAAA,EAAI;AAAA,MACF,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,wBAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,eAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,OAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,0BAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,kBAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EAAS,SAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,QAAA;AAAA,MACT,SAAA,EAAW;AAAA,KACb;AAAA,IACA,GAAA,EAAK;AAAA,MACH,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,kBAAA;AAAA,MACT,SAAA,EAAW;AAAA;AACb,GACF;AAEA,EAAA,SAAS,YAAY,QAAA,EAAuD;AAC1E,IAAA,OAAO,OAAO,QAAA,KAAa,QAAA,IAAY,aAAA,CAAc,IAAI,QAA6C,CAAA;AAAA,EACxG;AAEA,EAAA,SAAS,QAAQ,UAAA,EAAgE;AAC/E,IAAA,OAAO,SAAS,UAAU,CAAA;AAAA,EAC5B;AAEA,EAAA,SAAS,MAAM,QAAA,EAAsD;AACnE,IAAA,OAAO,WAAA,CAAY,QAAQ,CAAA,GAAI,QAAA,GAAW,MAAA;AAAA,EAC5C;AAEA,EAAA,SAAS,MAAA,GAAS;AAChB,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,SAAS,UAAU,SAAA,EAAoF;AACrG,IAAA,OAAO,UAAA,CAAW,OAAO,CAAC,SAAA,KAAc,UAAU,OAAA,CAAQ,SAAS,CAAC,CAAC,CAAA;AAAA,EACvE;AAEA,EAAA,OAAO,EAAE,GAAG,UAAA,EAAY,aAAa,OAAA,EAAS,MAAA,EAAQ,OAAO,SAAA,EAAU;AACzE,CAAA,GAAG;ACxHcA;AAAA,CAAV,CAAUA,MAAAA,KAAV;AACE,EAAMA,MAAAA,CAAA,iBAAiBC,4BAAA,EAAY;AAEnC,EAAMD,OAAA,WAAA,GAAc,OAAA;AAE3B,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAkB,IAAI,OAAO,CAAA,CAAA,EAAI,KAAA,CAAM,MAAM,CAAA,CAAA,CAAA,EAAK,EAAE,CAAA;AACzE,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAYA,MAAAA,CAAA,cAAc,CAAA;AAClD,EAAA,MAAM,YAAA,GAAe,WAAA,CAAYA,MAAAA,CAAA,WAAW,CAAA;AAKrC,EAAA,SAAS,UAAU,QAAA,EAAuC;AAC/D,IAAA,OAAO,eAAA,CAAgB,KAAK,QAAQ,CAAA;AAAA,EACtC;AAFO,EAAAA,MAAAA,CAAS,SAAA,GAAA,SAAA;AAIT,EAAA,SAAS,OAAO,QAAA,EAAoC;AACzD,IAAA,OAAO,YAAA,CAAa,KAAK,QAAQ,CAAA;AAAA,EACnC;AAFO,EAAAA,MAAAA,CAAS,MAAA,GAAA,MAAA;AAIT,EAAA,SAAS,YAAY,QAAA,EAAqC;AAC/D,IAAA,OAAO,MAAA,CAAO,QAAQ,CAAA,IAAK,SAAA,CAAU,QAAQ,CAAA;AAAA,EAC/C;AAFO,EAAAA,MAAAA,CAAS,WAAA,GAAA,WAAA;AAAA,CAAA,EApBDA,aAAA,KAAAA,aAAA,GAAA,EAAA,CAAA,CAAA;AA0BAE;AAAA,CAAV,CAAUA,YAAAA,KAAV;AAML,EAAA,MAAM,kBAAkB,IAAI,GAAA;AAAA,IAC1BC,iBAAA,CACG,GAAA,CAAI,CAAC,OAAA,KAAY,QAAQ,IAAmB,CAAA,CAC5C,MAAA,CAAOA,iBAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,KAAoB,CAAC;AAAA,GACnE;AACA,EAAA,MAAM,KAAA,GAAQ;AAAA;AAAA,IAEZ,KAAA,EAAO,WAAA,CAAYA,iBAAA,EAAU,OAAO;AAAA,GACtC;AAEA,EAAA,SAAS,WAAA,CAAqC,MAA0B,GAAA,EAA0C;AAChH,IAAA,OAAO,IAAI,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,OAAA,KAAY,CAAC,OAAA,CAAQ,GAAG,CAAA,EAAG,OAAO,CAAC,CAAC,CAAA;AAAA,EAC/D;AAEO,EAAA,SAAS,QAAQ,QAAA,EAA2C;AACjE,IAAA,OAAO,eAAA,CAAgB,IAAI,QAAuB,CAAA;AAAA,EACpD;AAFO,EAAAD,YAAAA,CAAS,OAAA,GAAA,OAAA;AAIhB,EAAA,MAAM,WAAA,GAAc,OAAA;AACpB,EAAA,MAAM,iBAAmE,MAAM;AAC7E,IAAA,MAAM,IAAA,GAA8D;AAAA,MAClE,IAAA,EAAM,CAAC,QAAA,EAAK,cAAA,EAAM,WAAI,CAAA;AAAA,MACtB,GAAA,EAAK,CAAC,WAAI,CAAA;AAAA,MACV,IAAA,EAAM,CAAC,WAAI,CAAA;AAAA,MACX,KAAA,EAAO,CAAC,WAAA,EAAM,WAAI,CAAA;AAAA,MAClB,QAAA,EAAU,CAAC,cAAA,EAAM,iBAAK,CAAA;AAAA,MACtB,IAAA,EAAM,CAAC,QAAA,EAAK,WAAI,CAAA;AAAA,MAChB,IAAA,EAAM,CAAC,cAAI,CAAA;AAAA,MACX,MAAA,EAAQ,CAAC,cAAI,CAAA;AAAA,MACb,EAAA,EAAI,CAAC,WAAA,EAAM,WAAI,CAAA;AAAA,MACf,GAAA,EAAK,CAAC,WAAI,CAAA;AAAA,MACV,OAAO,EAAC;AAAA,MACR,KAAA,EAAO,CAAC,WAAI;AAAA,KACd;AAEA,IAAA,MAAM,UAAU,KAAA,CAAM,IAAA;AAAA;AAAA,MAEpB,MAAA,CAAO,QAAQ,IAAI;AAAA,KACrB;AACA,IAAA,OAAO,IAAI,GAAA;AAAA,MACT,OAAA,CAAQ,MAAA;AAAA,QACN,CAAC,GAAA,EAAK,CAAC,UAAA,EAAY,mBAAmB,MACpC,GAAA,CACG,MAAA,CAAO,mBAAA,CAAoB,GAAA,CAAI,CAAC,cAAA,KAAmB,CAAC,gBAAgB,UAAU,CAAC,CAAC,CAAA,CAEhF,MAAA;AAAA,UACC,mBAAA,CAAoB,GAAA,CAAI,CAAC,cAAA,KAAmB;AAAA;AAAA,YAE1C,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,cAAc,CAAA,EAAG,IAAA;AAAA,YACjC;AAAA,WACD;AAAA,SACH;AAAA,QACJ;AAAC;AACH,KACF;AAAA,EACF,CAAA,GAAG;AAEI,EAAA,SAASE,0BAAyB,OAAA,EAA8C;AACrF,IAAA,OAAO,aAAA,CAAc,GAAA,CAAI,OAAO,CAAA,IAAK,WAAA;AAAA,EACvC;AAFO,EAAAF,aAAS,wBAAA,GAAAE,yBAAAA;AAAA,CAAA,EA/DDF,mBAAA,KAAAA,mBAAA,GAAA,EAAA,CAAA,CAAA;;;AC3BjB,SAAS,yBAAyB,IAAA,EAAc;AAC9C,EAAA,OAAOA,mBAAA,CAAY,OAAA,CAAQ,IAAI,CAAA,GAC3BA,mBAAA,CAAY,wBAAA,CAAyB,IAAI,CAAA,GACzC,sBAAA,CAAuB,WAAA,CAAY,IAAI,CAAA,GACrC,IAAA,GACA,MAAA;AACR;AAIO,IAAM,QAAA,GAAW,CAAC,OAAA,KAAmC;AAC1D,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,IAAI,SAAA,GAAY,CAAA;AAChB,EAAA,IAAI,QAAA,GAAW,CAAA;AAEf,EAAA,KAAA,MAAW,EAAE,IAAA,EAAM,KAAA,EAAM,IAAK,OAAA,EAAS;AACrC,IAAA,MAAM,gBAAA,GAAmB,IAAA,IAAQ,IAAA,GAAO,IAAA,GAAO,yBAAyB,IAAI,CAAA;AAC5E,IAAA,IAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AACpB,MAAA,SAAA,IAAa,KAAA,CAAM,MAAA;AACnB,MAAA,KAAA,GAAQ,CAAA;AAAA,IACV,CAAA,MAAA,IAAW,gBAAA,KAAqB,sBAAA,CAAuB,IAAA,EAAM;AAC3D,MAAA,QAAA,IAAY,CAAA;AACZ,MAAA,IAAI,UAAU,CAAA,EAAG;AACf,QAAA,KAAA,GAAQ,CAAA;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,MAAA,EACE,SAAA,KAAc,CAAA,GACV,CAAA,SAAA,EAAY,SAAS,CAAA,qBAAA,EAAwB,QAAQ,CAAA,SAAA,CAAA,GACrD,CAAA,UAAA,EAAa,SAAS,CAAA,sBAAA,EAAyB,QAAQ,CAAA,SAAA;AAAA,GAC/D;AACF,CAAA;;;ACxBO,SAAS,YAAA,CAAa,OAAkC,mBAAA,EAA6C;AAC1G,EAAA,OAAO,KAAA,IAAS,IAAA,IAAQ,KAAA,CAAM,MAAA,KAAW,IACrC,mBAAA,CAAoB,GAAG,CAAA,GACvB,mBAAA,CAAoB,KAAK,CAAA,IAAK,IAAA,GAC5B,KAAA,GACA,oBAAoB,KAAK,CAAA;AACjC;AAEO,SAAS,WAAA,CAAY,IAAA,EAAc,OAAA,GAA+B,EAAC,EAAW;AACnF,EAAA,MAAM,EAAE,SAAA,GAAY,IAAA,EAAM,QAAA,GAAW,SAAQ,GAAI,OAAA;AAEjD,EAAA,IAAI,sBAAA,CAAuB,WAAA,CAAY,IAAI,CAAA,EAAG;AAC5C,IAAA,MAAM,EAAE,OAAO,CAAC,QAAQ,GAAG,KAAA,EAAM,GAAI,sBAAA,CAAuB,OAAA,CAAQ,IAAI,CAAA;AACxE,IAAA,OAAO,GAAG,SAAA,GAAY,CAAA,EAAG,KAAK,CAAA,CAAA,CAAA,GAAM,EAAE,GAAG,KAAK,CAAA,CAAA;AAAA,EAChD;AAEA,EAAA,OAAO,IAAA;AACT;AAQO,SAAS,gBAAgB,MAAA,EAA0D;AACxF,EAAA,MAAM,YAAA,GAAe,IAAI,GAAA,CAAI,MAAA,CAAO,YAAA,IAAgB,OAAO,sBAAA,CAAuB,MAAA,EAAO,GAAI,MAAA,CAAO,YAAY,CAAA;AAChH,EAAA,MAAM,UAAA,GAAa,CAAC,IAAA,KAA6B,IAAA,IAAQ,QAAQ,CAAC,YAAA,CAAa,IAAI,IAA8B,CAAA;AACjH,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KACnB,MAAA,CAAO,aAAA,IAAiB,IAAA,GAAO,KAAA,GAAQ,KAAA,IAAS,IAAA,IAAQ,CAAC,MAAA,CAAO,aAAA,CAAc,SAAS,KAAK,CAAA;AAE9F,EAAA,MAAM,SAAA,GAAY,CAAC,MAAA,EAAgB,EAAE,YAAY,IAAA,EAAM,KAAA,EAAO,SAAQ,KAA+B;AACnG,IAAA,MAAM,OAAA,GAAU,MAAA,CAAO,KAAA,CAAM,MAAA,KAAW,CAAA;AACxC,IAAA,MAAM,MAAA,uBAAa,GAAA,EAAY;AAC/B,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,MACxC,GAAG,IAAA;AAAA,MACH,OAAO,CAAA,EAAG,MAAA,CAAO,SAAA,KAAc,KAAA,GAAQ,KAAK,YAAK,CAAA,gBAAA;AAAA,KACnD,CAAE,CAAA;AACF,IAAA,MAAM,mBACJ,MAAA,CAAO,IAAA,IAAQ,OACX,MAAA,GACC,sBAAA,CAAuB,MAAM,MAAA,CAAO,IAAI,MACxCA,mBAAA,CAAY,OAAA,CAAQ,OAAO,IAAI,CAAA,GAAIA,oBAAY,wBAAA,CAAyB,MAAA,CAAO,IAAI,CAAA,GAAI,MAAA,CAAA;AAE9F,IAAA,IAAI,UAAA,CAAW,gBAAgB,CAAA,IAAK,OAAA,EAAS,OAAO,KAAA;AAEpD,IAAA,MAAM,IAAA,GACJ,gBAAA,IAAoB,IAAA,GAChB,IAAA,GACA,YAAY,gBAAA,EAAkB;AAAA,MAC5B,WAAW,MAAA,CAAO;AAAA,KACnB,CAAA;AAEP,IAAA,IAAI,WAAA,CAAY,MAAA,CAAO,KAAK,CAAA,EAAG,OAAO,KAAA;AAEtC,IAAA,MAAM,iBAAA,GAAoB,MAAA,CAAO,KAAA,KAAU,GAAA,GAAM,KAAK,MAAA,CAAO,KAAA;AAC7D,IAAA,MAAM,KAAA,GACJ,OAAO,gBAAA,IAAoB,IAAA,GAAO,OAAQ,YAAA,CAAa,iBAAA,EAAmB,MAAA,CAAO,gBAAgB,CAAA,IAAK,IAAA;AACxG,IAAA,MAAM,IAAA,GAAO,OAAO,MAAA,CAAO,IAAA,KAAS,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,GAAI,MAAA,CAAO,IAAA;AAEhF,IAAA,MAAM,OAAA,GACJ,OAAO,MAAA,CAAO,OAAA,KAAY,YACrB,MAAM;AACL,MAAA,IAAI,cAAc,MAAA,CAAO,OAAA;AACzB,MAAA,MAAM,GAAA,GAAM,UAAA,IAAc,IAAA,GAAO,OAAA,GAAU,CAAC,IAAA,EAAM,KAAA,EAAO,UAAU,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAC7F,MAAA,IAAI,OAAO,IAAA,EAAM;AACf,QAAA,MAAM,QAAA,GAAW,GAAG,GAAG,CAAA,QAAA,CAAA;AAGvB,QAAA,WAAA,GAAc,WAAA,CAAY,OAAA,CAAQ,SAAA,EAAW,CAAC,GAAG,KAAA,KAAkB;AACjE,UAAA,MAAA,CAAO,IAAI,KAAK,CAAA;AAEhB,UAAA,OAAO,CAAA,EAAA,EAAK,KAAK,CAAA,EAAA,EAAK,QAAQ,GAAG,KAAK,CAAA,CAAA,CAAA;AAAA,QACxC,CAAC,CAAA;AAAA,MACH;AACA,MAAA,IAAI,QAAQ,IAAA,EAAM;AAGhB,QAAA,WAAA,GAAc,WAAA,CAAY,OAAA;AAAA,UAAQ,mCAAA;AAAA,UAAqC,CAAC,CAAA,EAAG,QAAA,KACzE,QAAA,CAAS,SAAS,GAAG,CAAA,GAAI,CAAA,CAAA,EAAI,QAAQ,KAAK,CAAA,EAAA,EAAK,QAAQ,CAAA,EAAA,EAAK,IAAI,IAAI,QAAQ,CAAA,CAAA;AAAA,SAC9E;AAAA,MACF;AACA,MAAA,OAAO,WAAA;AAAA,IACT,CAAA,MACA,MAAA,CAAO,OAAA;AAGb,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,UAAA,CAAW,MAAA,CAAO,CAAC,SAAA,KAAc,CAAC,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,KAAK,CAAC,CAAA;AAGvF,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,IAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAQ,MAAA,CAAO,MAAA;AAAA,MACf,MAAM,MAAA,CAAO,IAAA;AAAA,MACb,QAAQ,MAAA,CAAO,MAAA;AAAA,MACf,OAAO,MAAA,CAAO,KAAA;AAAA,MACd,QAAQ,MAAA,CAAO,MAAA;AAAA,MACf,KAAA;AAAA,MACA,UAAU,MAAA,CAAO;AAAA,KACnB;AAAA,EACF,CAAA;AAEA,EAAA,OAAO,SAAA;AACT;;;ACjHA,IAAM,QAAA,GAAW,OAAO,SAAA,KAAc,WAAA,GAAcG,yBAAA,CAAS,QAAQC,iBAAA,CAAc,2PAAe,CAAC,CAAA,GAAI,SAAA;AACvG,IAAM,WAAWD,yBAAA,CAAS,OAAA,CAAQA,0BAAS,OAAA,CAAQ,QAAQ,GAAG,YAAY,CAAA;AAEnE,IAAM,sBAAsB,sBAAA,CAAuB,SAAA,CAAU,CAAC,CAAA,KAAM,EAAE,SAAS,CAAA;AAE/E,IAAM,mBAAmB,YAAoC;AAClE,EAAA,MAAM,YAAA,GAAeE,eAAA,CAAa,CAAA,EAAG,QAAQ,iBAAiB,MAAM,CAAA;AACpE,EAAA,MAAM,aAAA,GAAgBA,eAAA,CAAa,CAAA,EAAG,QAAQ,eAAe,MAAM,CAAA;AACnE,EAAA,MAAM,aAAA,GAAgBA,eAAA,CAAa,CAAA,EAAG,QAAQ,eAAe,MAAM,CAAA;AACnE,EAAA,MAAM,aAAA,GAAgBA,eAAA,CAAa,CAAA,EAAG,QAAQ,eAAe,MAAM,CAAA;AACnE,EAAA,MAAM,MAAA,GAASA,eAAA,CAAa,CAAA,EAAG,QAAQ,eAAe,MAAM,CAAA;AAE5D,EAAA,OAAO;AAAA,IACL,WAAW,eAAA,CAAgB;AAAA,MACzB,YAAA,EAAc;AAAA,KACf,CAAA;AAAA,IACD,OAAA,EAAS,MAAA;AAAA,IACT,gBAAA,EAAkB,OAAA;AAAA;AAAA,IAElB,WAAA,EAAa,CAAC,OAAA,EAAS,SAAS,CAAA;AAAA,IAChC,cAAA,EAAgB,OAAA;AAAA,IAChB,YAAA;AAAA,IACA,aAAA;AAAA;AAAA,IAEA,aAAA,EAAe,aAAA,CAAc,OAAA,CAAQ,kBAAA,EAAoB,MAAM,CAAA;AAAA,IAC/D;AAAA,GACF;AACF,CAAA;;;AC7BA,eAAO,YAAA,GAAsC;AAC3C,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,QAAQ,gBAAA,EAAiB;AAAA,IACzB,MAAA,EAAQ,MAAM,gBAAA,EAAiB;AAAA,IAC/B;AAAA,GACF;AACF","file":"index.cjs","sourcesContent":["export const gitRawCommitOpts = {\n format: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci%n-authorName-%n%an%n-authorEmail-%n%ae',\n};\n","import type { ParserOptions as ParserOptionsDefault } from 'conventional-commits-parser';\n\nexport interface ParserOptions extends ParserOptionsDefault {}\n\nexport const createParserOpts = (): ParserOptions => ({\n headerPattern: new RegExp(\n // Type\n `^(?<type>\\\\S*)? ` +\n // Scope\n `(?:\\\\((?<scope>.*)\\\\):? )?` +\n // Subject\n `(?<subject>.*)$`,\n 'u',\n ),\n headerCorrespondence: ['type', 'scope', 'subject'],\n revertPattern: /^(?:revert|revert:)\\s\"?([\\S\\s]+?)\"?\\s*this reverts commit (\\w*)\\./i,\n noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'],\n // revertPattern: /revert:\\s([\\S\\s]*?)\\s*this reverts commit (\\w*)\\./i,\n revertCorrespondence: [`header`, `hash`],\n});\n","import type { Commit as CommitDefault } from 'conventional-commits-parser';\n\nexport type Commit = CommitDefault & {\n type: string | null;\n subject: string | null;\n scope: string | null;\n hash: string | null;\n};\n\nexport type CommitConventionalType =\n | 'build'\n | 'ci'\n | 'docs'\n | 'feat'\n | 'fix'\n | 'perf'\n | 'refactor'\n | 'revert'\n | 'style'\n | 'test'\n | 'wip'\n | 'chore';\n\nexport const CommitConventionalType = (() => {\n const enumObject = Object.freeze({\n Build: 'build',\n CI: 'ci',\n Docs: 'docs',\n Feat: 'feat',\n Fix: 'fix',\n Perf: 'perf',\n Refactor: 'refactor',\n Revert: 'revert',\n Style: 'style',\n Test: 'test',\n WIP: 'wip',\n Chore: 'chore',\n });\n const enumValues: readonly CommitConventionalType[] = Object.freeze(Object.values(enumObject).sort());\n const enumValuesSet = new Set(enumValues);\n\n const typeData: Record<CommitConventionalType, CommitConventionalTypeData> = {\n feat: {\n emoji: '✨',\n 'en-US': 'Features',\n changelog: true,\n },\n fix: {\n emoji: '🐛',\n 'en-US': 'Bug Fixes',\n changelog: true,\n },\n build: {\n emoji: '👷',\n 'en-US': 'Build System',\n changelog: false,\n },\n chore: {\n emoji: '🎫',\n 'en-US': 'Chores',\n changelog: false,\n },\n ci: {\n emoji: '🔧',\n 'en-US': 'Continuous Integration',\n changelog: false,\n },\n docs: {\n emoji: '📝',\n 'en-US': 'Documentation',\n changelog: false,\n },\n test: {\n emoji: '✅',\n 'en-US': 'Tests',\n changelog: false,\n },\n perf: {\n emoji: '⚡',\n 'en-US': 'Performance Improvements',\n changelog: true,\n },\n refactor: {\n emoji: '♻',\n 'en-US': 'Code Refactoring',\n changelog: false,\n },\n revert: {\n emoji: '⏪',\n 'en-US': 'Reverts',\n changelog: true,\n },\n style: {\n emoji: '💄',\n 'en-US': 'Styles',\n changelog: false,\n },\n wip: {\n emoji: '🚧',\n 'en-US': 'Work in progress',\n changelog: false,\n },\n };\n\n function hasInstance(anyValue: unknown): anyValue is CommitConventionalType {\n return typeof anyValue === 'string' && enumValuesSet.has(anyValue as unknown as CommitConventionalType);\n }\n\n function getData(commitType: CommitConventionalType): CommitConventionalTypeData {\n return typeData[commitType];\n }\n\n function parse(anyValue: string): CommitConventionalType | undefined {\n return hasInstance(anyValue) ? anyValue : undefined;\n }\n\n function values() {\n return enumValues;\n }\n\n function findWhere(predicate: (data: CommitConventionalTypeData) => boolean): CommitConventionalType[] {\n return enumValues.filter((enumValue) => predicate(getData(enumValue)));\n }\n\n return { ...enumObject, hasInstance, getData, values, parse, findWhere };\n})();\n\nexport interface CommitConventionalTypeData {\n emoji: string;\n 'en-US': string;\n changelog: boolean;\n}\n","import emojiRegexp from 'emoji-regex';\nimport { type Gitmoji, gitmojis } from 'gitmojis';\nimport type { CommitConventionalType } from './data.js';\n\nexport type Emoji = Emoji.Unicode | Emoji.Text;\nexport namespace Emoji {\n export const reEmojiUnicode = emojiRegexp();\n\n export const reEmojiText = /:\\w*:/;\n\n const reMatchOnly = (input: RegExp) => new RegExp(`^${input.source}$`, '');\n const _reEmojiUnicode = reMatchOnly(reEmojiUnicode);\n const _reEmojiText = reMatchOnly(reEmojiText);\n\n export type Unicode = string & { '@@EmojiStyle': 'unicode' };\n export type Text = string & { '@@EmojiStyle': 'text' };\n\n export function isUnicode(anyValue: string): anyValue is Unicode {\n return _reEmojiUnicode.test(anyValue);\n }\n\n export function isText(anyValue: string): anyValue is Text {\n return _reEmojiText.test(anyValue);\n }\n\n export function hasInstance(anyValue: string): anyValue is Emoji {\n return isText(anyValue) || isUnicode(anyValue);\n }\n}\n\nexport type GitmojiCode = Emoji & { '@@Gitmoji': true };\nexport namespace GitmojiCode {\n export type Unicode = Emoji.Unicode & { '@@Gitmoji': true };\n export type Emoji = Emoji.Text & { '@@Gitmoji': true };\n\n // export const reEmoji = emojiRegexp();\n\n const allGitmojiCodes = new Set(\n gitmojis\n .map((gitmoji) => gitmoji.code as GitmojiCode)\n .concat(gitmojis.map((gitmoji) => gitmoji.emoji as GitmojiCode)),\n );\n const index = {\n // code: createIndex(gitmojis, 'code'),\n emoji: createIndex(gitmojis, 'emoji'),\n };\n\n function createIndex<K extends keyof Gitmoji>(list: readonly Gitmoji[], key: K): ReadonlyMap<Gitmoji[K], Gitmoji> {\n return new Map(list.map((gitmoji) => [gitmoji[key], gitmoji]));\n }\n\n export function isValid(anyValue: string): anyValue is GitmojiCode {\n return allGitmojiCodes.has(anyValue as GitmojiCode);\n }\n\n const defaultType = 'chore';\n const conversionMap: ReadonlyMap<GitmojiCode, CommitConventionalType> = (() => {\n const data: Record<CommitConventionalType, GitmojiCode.Unicode[]> = {\n feat: ['✨', '♿️', '🚸'] as GitmojiCode.Unicode[],\n fix: ['🐛'] as GitmojiCode.Unicode[],\n docs: ['📝'] as GitmojiCode.Unicode[],\n style: ['🎨', '🚨'] as GitmojiCode.Unicode[],\n refactor: ['♻️', '🏗️'] as GitmojiCode.Unicode[],\n test: ['✅', '🧪'] as GitmojiCode.Unicode[],\n perf: ['⚡️'] as GitmojiCode.Unicode[],\n revert: ['⏪️'] as GitmojiCode.Unicode[],\n ci: ['👷', '💚'] as GitmojiCode.Unicode[],\n wip: ['🚧'] as GitmojiCode.Unicode[],\n build: [] as GitmojiCode.Unicode[],\n chore: ['🔧'] as GitmojiCode.Unicode[],\n };\n\n const entries = Array.from<[CommitConventionalType, GitmojiCode.Unicode[]]>(\n // @ts-ignore entries are not well typed\n Object.entries(data),\n );\n return new Map(\n entries.reduce<Array<[GitmojiCode, CommitConventionalType]>>(\n (acc, [commitType, gitmojiUnicodeArray]) =>\n acc\n .concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType]))\n\n .concat(\n gitmojiUnicodeArray.map((gitmojiUnicode) => [\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain\n index.emoji.get(gitmojiUnicode)?.code! as GitmojiCode,\n commitType,\n ]),\n ),\n [],\n ),\n );\n })();\n\n export function toConventionalCommitType(gitmoji: GitmojiCode): CommitConventionalType {\n return conversionMap.get(gitmoji) ?? defaultType;\n }\n}\n","import type { Commit as CommitBase } from 'conventional-commits-parser';\nimport { CommitConventionalType } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nfunction toConventionalCommitType(text: string) {\n return GitmojiCode.isValid(text)\n ? GitmojiCode.toConventionalCommitType(text)\n : CommitConventionalType.hasInstance(text)\n ? text\n : undefined;\n}\n\nexport type Commit = CommitBase;\n\nexport const whatBump = (commits: ReadonlyArray<Commit>) => {\n let level = 2;\n let breakings = 0;\n let features = 0;\n\n for (const { type, notes } of commits) {\n const conventionalType = type == null ? type : toConventionalCommitType(type);\n if (notes.length > 0) {\n breakings += notes.length;\n level = 0;\n } else if (conventionalType === CommitConventionalType.Feat) {\n features += 1;\n if (level === 2) {\n level = 1;\n }\n }\n }\n\n return {\n level,\n reason:\n breakings === 1\n ? `There is ${breakings} BREAKING CHANGE and ${features} features`\n : `There are ${breakings} BREAKING CHANGES and ${features} features`,\n };\n};\n","import type { CommitTransformFunction, Context } from 'conventional-changelog-writer';\nimport { CommitConventionalType, Commit } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nexport type Language = 'en-US';\n\nexport interface TransformConfig {\n scopeDisplayName?: Record<string, string>;\n displayTypes?: CommitConventionalType[];\n displayScopes?: string[];\n showAuthor?: boolean;\n withEmoji?: boolean;\n language?: Language;\n}\n\nexport function displayScope(scope: string | null | undefined, scopeDisplayNameMap: Record<string, string>) {\n return scope == null || scope.length === 0\n ? scopeDisplayNameMap['*']\n : scopeDisplayNameMap[scope] == null\n ? scope\n : scopeDisplayNameMap[scope];\n}\n\nexport function displayType(type: string, options: displayType.Options = {}): string {\n const { withEmoji = true, language = 'en-US' } = options;\n\n if (CommitConventionalType.hasInstance(type)) {\n const { emoji, [language]: title } = CommitConventionalType.getData(type);\n return `${withEmoji ? `${emoji} ` : ''}${title}`;\n }\n\n return type;\n}\nexport namespace displayType {\n export interface Options {\n readonly withEmoji?: boolean | undefined;\n readonly language?: Language;\n }\n}\n\nexport function createTransform(config: TransformConfig): CommitTransformFunction<Commit> {\n const displayTypes = new Set(config.displayTypes == null ? CommitConventionalType.values() : config.displayTypes);\n const ignoreType = (type: string | undefined) => type == null || !displayTypes.has(type as CommitConventionalType);\n const ignoreScope = (scope: string | undefined | null) =>\n config.displayScopes == null ? false : scope != null && !config.displayScopes.includes(scope);\n\n const transform = (commit: Commit, { repository, host, owner, repoUrl }: Context): Commit | false => {\n const discard = commit.notes.length === 0;\n const issues = new Set<string>();\n const notes = commit.notes.map((note) => ({\n ...note,\n title: `${config.withEmoji === false ? '' : '💥 '}BREAKING CHANGES`,\n }));\n const conventionalType =\n commit.type == null\n ? undefined\n : (CommitConventionalType.parse(commit.type) ??\n (GitmojiCode.isValid(commit.type) ? GitmojiCode.toConventionalCommitType(commit.type) : undefined));\n\n if (ignoreType(conventionalType) && discard) return false;\n\n const type =\n conventionalType == null\n ? null\n : displayType(conventionalType, {\n withEmoji: config.withEmoji,\n });\n\n if (ignoreScope(commit.scope)) return false;\n\n const scopeIntermediate = commit.scope === '*' ? '' : commit.scope;\n const scope =\n config.scopeDisplayName == null ? null : (displayScope(scopeIntermediate, config.scopeDisplayName) ?? null);\n const hash = typeof commit.hash === 'string' ? commit.hash.slice(0, 7) : commit.hash;\n\n const subject =\n typeof commit.subject === 'string'\n ? (() => {\n let returnValue = commit.subject;\n const url = repository == null ? repoUrl : [host, owner, repository].filter(Boolean).join('/');\n if (url != null) {\n const issueURL = `${url}/issues/`;\n // Issue URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/#(\\d+)/g, (_, issue: string) => {\n issues.add(issue);\n\n return `[#${issue}](${issueURL}${issue})`;\n });\n }\n if (host != null) {\n // User URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/\\B@([\\da-z](?:-?[\\d/a-z]){0,38})/g, (_, username: string) =>\n username.includes('/') ? `@${username}` : `[@${username}](${host}/${username})`,\n );\n }\n return returnValue;\n })()\n : commit.subject;\n\n // Remove references that already appear in the subject\n const references = commit.references.filter((reference) => !issues.has(reference.issue));\n\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {\n ...commit,\n type,\n hash,\n scope,\n subject,\n references,\n header: commit.header,\n body: commit.body,\n footer: commit.footer,\n merge: commit.merge,\n revert: commit.revert,\n notes,\n mentions: commit.mentions,\n } as Commit;\n };\n\n return transform as unknown as CommitTransformFunction<Commit>;\n}\n","/* eslint-disable n/no-sync */\nimport { readFileSync } from 'node:fs';\nimport nodePath from 'node:path';\nimport type { Options } from 'conventional-changelog-writer';\nimport { fileURLToPath } from 'node:url';\nimport { createTransform } from './transform.js';\nimport { Commit, CommitConventionalType } from './data.js';\n\nexport interface WriterOptions extends Options<Commit> {}\n\nconst _dirname = typeof __dirname === 'undefined' ? nodePath.dirname(fileURLToPath(import.meta.url)) : __dirname;\nconst basePath = nodePath.resolve(nodePath.dirname(_dirname), './template');\n\nexport const defaultDisplayTypes = CommitConventionalType.findWhere((_) => _.changelog);\n\nexport const createWriterOpts = async (): Promise<WriterOptions> => {\n const mainTemplate = readFileSync(`${basePath}/template.hbs`, 'utf8');\n const headerPartial = readFileSync(`${basePath}/header.hbs`, 'utf8');\n const commitPartial = readFileSync(`${basePath}/commit.hbs`, 'utf8');\n const footerPartial = readFileSync(`${basePath}/footer.hbs`, 'utf8');\n const author = readFileSync(`${basePath}/author.hbs`, 'utf8');\n\n return {\n transform: createTransform({\n displayTypes: defaultDisplayTypes,\n }),\n groupBy: 'type',\n commitGroupsSort: 'title',\n // @ts-ignore\n commitsSort: ['scope', 'subject'],\n noteGroupsSort: 'title',\n mainTemplate,\n headerPartial,\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n commitPartial: commitPartial.replace(/{{gitUserInfo}}/g, author),\n footerPartial,\n };\n};\n","import { gitRawCommitOpts } from './git-raw-commit-opts.js';\nimport { createParserOpts } from './parser.js';\nimport { whatBump } from './whatBump.js';\nimport { createWriterOpts } from './writer.js';\n\nexport { Emoji, GitmojiCode } from './gitmoji.js';\n\n// eslint-disable-next-line import/no-default-export\nexport default async function createPreset() {\n return {\n gitRawCommitOpts,\n parser: createParserOpts(),\n writer: await createWriterOpts(),\n whatBump,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/git-raw-commit-opts.ts","../src/parser.ts","../src/data.ts","../src/gitmoji.ts","../src/whatBump.ts","../src/transform.ts","../src/writer.ts","../src/index.ts"],"names":["Emoji","emojiRegexp","GitmojiCode","gitmojis","toConventionalCommitType","nodePath","fileURLToPath","readFileSync"],"mappings":"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","file":"index.cjs","sourcesContent":["export const gitRawCommitOpts = {\n format: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci%n-authorName-%n%an%n-authorEmail-%n%ae',\n};\n","import type { ParserOptions as ParserOptionsDefault } from 'conventional-commits-parser';\n\nexport interface ParserOptions extends ParserOptionsDefault {}\n\nexport const createParserOpts = (): ParserOptions => ({\n headerPattern: new RegExp(\n // Type\n `^(?<type>\\\\S*)? ` +\n // Scope\n `(?:\\\\((?<scope>.*)\\\\):? )?` +\n // Subject\n `(?<subject>.*)$`,\n 'u',\n ),\n headerCorrespondence: ['type', 'scope', 'subject'],\n revertPattern: /^(?:revert|revert:)\\s\"?([\\S\\s]+?)\"?\\s*this reverts commit (\\w*)\\./i,\n noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'],\n // revertPattern: /revert:\\s([\\S\\s]*?)\\s*this reverts commit (\\w*)\\./i,\n revertCorrespondence: [`header`, `hash`],\n});\n","import type { Commit as CommitDefault } from 'conventional-commits-parser';\n\nexport type Commit = CommitDefault & {\n type: string | null;\n subject: string | null;\n scope: string | null;\n hash: string | null;\n};\n\nexport type CommitConventionalType =\n | 'build'\n | 'ci'\n | 'docs'\n | 'feat'\n | 'fix'\n | 'perf'\n | 'refactor'\n | 'revert'\n | 'style'\n | 'test'\n | 'wip'\n | 'chore';\n\nexport const CommitConventionalType = (() => {\n const enumObject = Object.freeze({\n Build: 'build',\n CI: 'ci',\n Docs: 'docs',\n Feat: 'feat',\n Fix: 'fix',\n Perf: 'perf',\n Refactor: 'refactor',\n Revert: 'revert',\n Style: 'style',\n Test: 'test',\n WIP: 'wip',\n Chore: 'chore',\n });\n // eslint-disable-next-line unicorn/no-array-sort\n const enumValues: readonly CommitConventionalType[] = Object.freeze(Object.values(enumObject).sort());\n const enumValuesSet = new Set(enumValues);\n\n const typeData: Record<CommitConventionalType, CommitConventionalTypeData> = {\n feat: {\n 'emoji': '✨',\n 'en-US': 'Features',\n 'changelog': true,\n },\n fix: {\n 'emoji': '🐛',\n 'en-US': 'Bug Fixes',\n 'changelog': true,\n },\n build: {\n 'emoji': '👷',\n 'en-US': 'Build System',\n 'changelog': false,\n },\n chore: {\n 'emoji': '🎫',\n 'en-US': 'Chores',\n 'changelog': false,\n },\n ci: {\n 'emoji': '🔧',\n 'en-US': 'Continuous Integration',\n 'changelog': false,\n },\n docs: {\n 'emoji': '📝',\n 'en-US': 'Documentation',\n 'changelog': false,\n },\n test: {\n 'emoji': '✅',\n 'en-US': 'Tests',\n 'changelog': false,\n },\n perf: {\n 'emoji': '⚡',\n 'en-US': 'Performance Improvements',\n 'changelog': true,\n },\n refactor: {\n 'emoji': '♻',\n 'en-US': 'Code Refactoring',\n 'changelog': false,\n },\n revert: {\n 'emoji': '⏪',\n 'en-US': 'Reverts',\n 'changelog': true,\n },\n style: {\n 'emoji': '💄',\n 'en-US': 'Styles',\n 'changelog': false,\n },\n wip: {\n 'emoji': '🚧',\n 'en-US': 'Work in progress',\n 'changelog': false,\n },\n };\n\n function hasInstance(anyValue: unknown): anyValue is CommitConventionalType {\n return typeof anyValue === 'string' && enumValuesSet.has(anyValue as unknown as CommitConventionalType);\n }\n\n function getData(commitType: CommitConventionalType): CommitConventionalTypeData {\n return typeData[commitType];\n }\n\n function parse(anyValue: string): CommitConventionalType | undefined {\n return hasInstance(anyValue) ? anyValue : undefined;\n }\n\n function values() {\n return enumValues;\n }\n\n function findWhere(predicate: (data: CommitConventionalTypeData) => boolean): CommitConventionalType[] {\n return enumValues.filter((enumValue) => predicate(getData(enumValue)));\n }\n\n return { ...enumObject, hasInstance, getData, values, parse, findWhere };\n})();\n\nexport interface CommitConventionalTypeData {\n 'emoji': string;\n 'en-US': string;\n 'changelog': boolean;\n}\n","/* eslint-disable unicorn/prefer-spread */\nimport emojiRegexp from 'emoji-regex';\nimport { type Gitmoji, gitmojis } from 'gitmojis';\nimport type { CommitConventionalType } from './data.js';\n\nexport type Emoji = Emoji.Unicode | Emoji.Text;\nexport namespace Emoji {\n export const reEmojiUnicode = emojiRegexp();\n\n export const reEmojiText = /:\\w*:/;\n\n const reMatchOnly = (input: RegExp) => new RegExp(`^${input.source}$`, '');\n const _reEmojiUnicode = reMatchOnly(reEmojiUnicode);\n const _reEmojiText = reMatchOnly(reEmojiText);\n\n export type Unicode = string & { '@@EmojiStyle': 'unicode' };\n export type Text = string & { '@@EmojiStyle': 'text' };\n\n export function isUnicode(anyValue: string): anyValue is Unicode {\n return _reEmojiUnicode.test(anyValue);\n }\n\n export function isText(anyValue: string): anyValue is Text {\n return _reEmojiText.test(anyValue);\n }\n\n export function hasInstance(anyValue: string): anyValue is Emoji {\n return isText(anyValue) || isUnicode(anyValue);\n }\n}\n\nexport type GitmojiCode = Emoji & { '@@Gitmoji': true };\nexport namespace GitmojiCode {\n export type Unicode = Emoji.Unicode & { '@@Gitmoji': true };\n export type Emoji = Emoji.Text & { '@@Gitmoji': true };\n\n // export const reEmoji = emojiRegexp();\n\n const allGitmojiCodes = new Set(\n gitmojis\n .map((gitmoji) => gitmoji.code as GitmojiCode)\n .concat(gitmojis.map((gitmoji) => gitmoji.emoji as GitmojiCode)),\n );\n const index = {\n // code: createIndex(gitmojis, 'code'),\n emoji: createIndex(gitmojis, 'emoji'),\n };\n\n function createIndex<K extends keyof Gitmoji>(list: readonly Gitmoji[], key: K): ReadonlyMap<Gitmoji[K], Gitmoji> {\n return new Map(list.map((gitmoji) => [gitmoji[key], gitmoji]));\n }\n\n export function isValid(anyValue: string): anyValue is GitmojiCode {\n return allGitmojiCodes.has(anyValue as GitmojiCode);\n }\n\n const defaultType = 'chore';\n const conversionMap: ReadonlyMap<GitmojiCode, CommitConventionalType> = (() => {\n const data: Record<CommitConventionalType, GitmojiCode.Unicode[]> = {\n feat: ['✨', '♿️', '🚸'] as GitmojiCode.Unicode[],\n fix: ['🐛'] as GitmojiCode.Unicode[],\n docs: ['📝'] as GitmojiCode.Unicode[],\n style: ['🎨', '🚨'] as GitmojiCode.Unicode[],\n refactor: ['♻️', '🏗️'] as GitmojiCode.Unicode[],\n test: ['✅', '🧪'] as GitmojiCode.Unicode[],\n perf: ['⚡️'] as GitmojiCode.Unicode[],\n revert: ['⏪️'] as GitmojiCode.Unicode[],\n ci: ['👷', '💚'] as GitmojiCode.Unicode[],\n wip: ['🚧'] as GitmojiCode.Unicode[],\n build: [] as GitmojiCode.Unicode[],\n chore: ['🔧'] as GitmojiCode.Unicode[],\n };\n\n const entries = Array.from<[CommitConventionalType, GitmojiCode.Unicode[]]>(\n // @ts-ignore entries are not well typed\n Object.entries(data),\n );\n return new Map(\n entries.reduce<Array<[GitmojiCode, CommitConventionalType]>>(\n (acc, [commitType, gitmojiUnicodeArray]) =>\n acc\n .concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType]))\n\n .concat(\n gitmojiUnicodeArray.map((gitmojiUnicode) => [\n // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain\n index.emoji.get(gitmojiUnicode)?.code! as GitmojiCode,\n commitType,\n ]),\n ),\n [],\n ),\n );\n })();\n\n export function toConventionalCommitType(gitmoji: GitmojiCode): CommitConventionalType {\n return conversionMap.get(gitmoji) ?? defaultType;\n }\n}\n","import type { Commit as CommitBase } from 'conventional-commits-parser';\nimport { CommitConventionalType } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nfunction toConventionalCommitType(text: string) {\n return GitmojiCode.isValid(text)\n ? GitmojiCode.toConventionalCommitType(text)\n : CommitConventionalType.hasInstance(text)\n ? text\n : undefined;\n}\n\nexport type Commit = CommitBase;\n\nexport const whatBump = (commits: ReadonlyArray<Commit>) => {\n let level = 2;\n let breakings = 0;\n let features = 0;\n\n for (const { type, notes } of commits) {\n const conventionalType = type == null ? type : toConventionalCommitType(type);\n if (notes.length > 0) {\n breakings += notes.length;\n level = 0;\n } else if (conventionalType === CommitConventionalType.Feat) {\n features += 1;\n if (level === 2) {\n level = 1;\n }\n }\n }\n\n return {\n level,\n reason:\n breakings === 1\n ? `There is ${breakings} BREAKING CHANGE and ${features} features`\n : `There are ${breakings} BREAKING CHANGES and ${features} features`,\n };\n};\n","import type { CommitTransformFunction, Context } from 'conventional-changelog-writer';\nimport { CommitConventionalType, Commit } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nexport type Language = 'en-US';\n\nexport interface TransformConfig {\n scopeDisplayName?: Record<string, string>;\n displayTypes?: CommitConventionalType[];\n displayScopes?: string[];\n showAuthor?: boolean;\n withEmoji?: boolean;\n language?: Language;\n}\n\nexport function displayScope(scope: string | null | undefined, scopeDisplayNameMap: Record<string, string>) {\n return scope == null || scope.length === 0\n ? scopeDisplayNameMap['*']\n : scopeDisplayNameMap[scope] == null\n ? scope\n : scopeDisplayNameMap[scope];\n}\n\nexport function displayType(type: string, options: displayType.Options = {}): string {\n const { withEmoji = true, language = 'en-US' } = options;\n\n if (CommitConventionalType.hasInstance(type)) {\n const { emoji, [language]: title } = CommitConventionalType.getData(type);\n return `${withEmoji ? `${emoji} ` : ''}${title}`;\n }\n\n return type;\n}\nexport namespace displayType {\n export interface Options {\n readonly withEmoji?: boolean | undefined;\n readonly language?: Language;\n }\n}\n\nexport function createTransform(config: TransformConfig): CommitTransformFunction<Commit> {\n const displayTypes = new Set(config.displayTypes == null ? CommitConventionalType.values() : config.displayTypes);\n const ignoreType = (type: string | undefined) => type == null || !displayTypes.has(type as CommitConventionalType);\n const ignoreScope = (scope: string | undefined | null) =>\n config.displayScopes == null ? false : scope != null && !config.displayScopes.includes(scope);\n\n const transform = (commit: Commit, { repository, host, owner, repoUrl }: Context): Commit | false => {\n const discard = commit.notes.length === 0;\n const issues = new Set<string>();\n const notes = commit.notes.map((note) => ({\n ...note,\n title: `${config.withEmoji === false ? '' : '💥 '}BREAKING CHANGES`,\n }));\n const conventionalType =\n commit.type == null\n ? undefined\n : (CommitConventionalType.parse(commit.type) ??\n (GitmojiCode.isValid(commit.type) ? GitmojiCode.toConventionalCommitType(commit.type) : undefined));\n\n if (ignoreType(conventionalType) && discard) return false;\n\n const type =\n conventionalType == null\n ? null\n : displayType(conventionalType, {\n withEmoji: config.withEmoji,\n });\n\n if (ignoreScope(commit.scope)) return false;\n\n const scopeIntermediate = commit.scope === '*' ? '' : commit.scope;\n const scope =\n config.scopeDisplayName == null ? null : (displayScope(scopeIntermediate, config.scopeDisplayName) ?? null);\n const hash = typeof commit.hash === 'string' ? commit.hash.slice(0, 7) : commit.hash;\n\n const subject =\n typeof commit.subject === 'string'\n ? (() => {\n let returnValue = commit.subject;\n const url = repository == null ? repoUrl : [host, owner, repository].filter(Boolean).join('/');\n if (url != null) {\n const issueURL = `${url}/issues/`;\n // Issue URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/#(\\d+)/g, (_, issue: string) => {\n issues.add(issue);\n\n return `[#${issue}](${issueURL}${issue})`;\n });\n }\n if (host != null) {\n // User URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/\\B@([\\da-z](?:-?[\\d/a-z]){0,38})/g, (_, username: string) =>\n username.includes('/') ? `@${username}` : `[@${username}](${host}/${username})`,\n );\n }\n return returnValue;\n })()\n : commit.subject;\n\n // Remove references that already appear in the subject\n const references = commit.references.filter((reference) => !issues.has(reference.issue));\n\n return {\n ...commit,\n type,\n hash,\n scope,\n subject,\n references,\n header: commit.header,\n body: commit.body,\n footer: commit.footer,\n merge: commit.merge,\n revert: commit.revert,\n notes,\n mentions: commit.mentions,\n } as Commit;\n };\n\n return transform as unknown as CommitTransformFunction<Commit>;\n}\n","import { readFileSync } from 'node:fs';\nimport nodePath from 'node:path';\nimport type { Options } from 'conventional-changelog-writer';\nimport { fileURLToPath } from 'node:url';\nimport { createTransform } from './transform.js';\nimport { Commit, CommitConventionalType } from './data.js';\n\nexport interface WriterOptions extends Options<Commit> {}\n\nconst _dirname = typeof __dirname === 'undefined' ? nodePath.dirname(fileURLToPath(import.meta.url)) : __dirname;\nconst basePath = nodePath.resolve(nodePath.dirname(_dirname), './template');\n\nexport const defaultDisplayTypes = CommitConventionalType.findWhere((_) => _.changelog);\n\nexport const createWriterOpts = async (): Promise<WriterOptions> => {\n const mainTemplate = readFileSync(`${basePath}/template.hbs`, 'utf8');\n const headerPartial = readFileSync(`${basePath}/header.hbs`, 'utf8');\n const commitPartial = readFileSync(`${basePath}/commit.hbs`, 'utf8');\n const footerPartial = readFileSync(`${basePath}/footer.hbs`, 'utf8');\n const author = readFileSync(`${basePath}/author.hbs`, 'utf8');\n\n return {\n transform: createTransform({\n displayTypes: defaultDisplayTypes,\n }),\n groupBy: 'type',\n commitGroupsSort: 'title',\n // @ts-ignore\n commitsSort: ['scope', 'subject'],\n noteGroupsSort: 'title',\n mainTemplate,\n headerPartial,\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n commitPartial: commitPartial.replace(/{{gitUserInfo}}/g, author),\n footerPartial,\n };\n};\n","import { gitRawCommitOpts } from './git-raw-commit-opts.js';\nimport { createParserOpts } from './parser.js';\nimport { whatBump } from './whatBump.js';\nimport { createWriterOpts } from './writer.js';\n\nexport { Emoji, GitmojiCode } from './gitmoji.js';\n\nexport default async function createPreset() {\n return {\n gitRawCommitOpts,\n parser: createParserOpts(),\n writer: await createWriterOpts(),\n whatBump,\n };\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -30,9 +30,9 @@ declare const CommitConventionalType: {
30
30
  Chore: "chore";
31
31
  };
32
32
  interface CommitConventionalTypeData {
33
- emoji: string;
33
+ 'emoji': string;
34
34
  'en-US': string;
35
- changelog: boolean;
35
+ 'changelog': boolean;
36
36
  }
37
37
 
38
38
  interface WriterOptions extends Options<Commit> {
package/dist/index.d.ts CHANGED
@@ -30,9 +30,9 @@ declare const CommitConventionalType: {
30
30
  Chore: "chore";
31
31
  };
32
32
  interface CommitConventionalTypeData {
33
- emoji: string;
33
+ 'emoji': string;
34
34
  'en-US': string;
35
- changelog: boolean;
35
+ 'changelog': boolean;
36
36
  }
37
37
 
38
38
  interface WriterOptions extends Options<Commit> {
package/dist/index.js CHANGED
@@ -43,64 +43,64 @@ var CommitConventionalType = (() => {
43
43
  const enumValuesSet = new Set(enumValues);
44
44
  const typeData = {
45
45
  feat: {
46
- emoji: "\u2728",
46
+ "emoji": "\u2728",
47
47
  "en-US": "Features",
48
- changelog: true
48
+ "changelog": true
49
49
  },
50
50
  fix: {
51
- emoji: "\u{1F41B}",
51
+ "emoji": "\u{1F41B}",
52
52
  "en-US": "Bug Fixes",
53
- changelog: true
53
+ "changelog": true
54
54
  },
55
55
  build: {
56
- emoji: "\u{1F477}",
56
+ "emoji": "\u{1F477}",
57
57
  "en-US": "Build System",
58
- changelog: false
58
+ "changelog": false
59
59
  },
60
60
  chore: {
61
- emoji: "\u{1F3AB}",
61
+ "emoji": "\u{1F3AB}",
62
62
  "en-US": "Chores",
63
- changelog: false
63
+ "changelog": false
64
64
  },
65
65
  ci: {
66
- emoji: "\u{1F527}",
66
+ "emoji": "\u{1F527}",
67
67
  "en-US": "Continuous Integration",
68
- changelog: false
68
+ "changelog": false
69
69
  },
70
70
  docs: {
71
- emoji: "\u{1F4DD}",
71
+ "emoji": "\u{1F4DD}",
72
72
  "en-US": "Documentation",
73
- changelog: false
73
+ "changelog": false
74
74
  },
75
75
  test: {
76
- emoji: "\u2705",
76
+ "emoji": "\u2705",
77
77
  "en-US": "Tests",
78
- changelog: false
78
+ "changelog": false
79
79
  },
80
80
  perf: {
81
- emoji: "\u26A1",
81
+ "emoji": "\u26A1",
82
82
  "en-US": "Performance Improvements",
83
- changelog: true
83
+ "changelog": true
84
84
  },
85
85
  refactor: {
86
- emoji: "\u267B",
86
+ "emoji": "\u267B",
87
87
  "en-US": "Code Refactoring",
88
- changelog: false
88
+ "changelog": false
89
89
  },
90
90
  revert: {
91
- emoji: "\u23EA",
91
+ "emoji": "\u23EA",
92
92
  "en-US": "Reverts",
93
- changelog: true
93
+ "changelog": true
94
94
  },
95
95
  style: {
96
- emoji: "\u{1F484}",
96
+ "emoji": "\u{1F484}",
97
97
  "en-US": "Styles",
98
- changelog: false
98
+ "changelog": false
99
99
  },
100
100
  wip: {
101
- emoji: "\u{1F6A7}",
101
+ "emoji": "\u{1F6A7}",
102
102
  "en-US": "Work in progress",
103
- changelog: false
103
+ "changelog": false
104
104
  }
105
105
  };
106
106
  function hasInstance(anyValue) {
@@ -180,7 +180,7 @@ var GitmojiCode;
180
180
  entries.reduce(
181
181
  (acc, [commitType, gitmojiUnicodeArray]) => acc.concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType])).concat(
182
182
  gitmojiUnicodeArray.map((gitmojiUnicode) => [
183
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
183
+ // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain
184
184
  index.emoji.get(gitmojiUnicode)?.code,
185
185
  commitType
186
186
  ])
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/git-raw-commit-opts.ts","../src/parser.ts","../src/data.ts","../src/gitmoji.ts","../src/whatBump.ts","../src/transform.ts","../src/writer.ts","../src/index.ts"],"names":["Emoji","GitmojiCode","toConventionalCommitType"],"mappings":"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","file":"index.js","sourcesContent":["export const gitRawCommitOpts = {\n format: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci%n-authorName-%n%an%n-authorEmail-%n%ae',\n};\n","import type { ParserOptions as ParserOptionsDefault } from 'conventional-commits-parser';\n\nexport interface ParserOptions extends ParserOptionsDefault {}\n\nexport const createParserOpts = (): ParserOptions => ({\n headerPattern: new RegExp(\n // Type\n `^(?<type>\\\\S*)? ` +\n // Scope\n `(?:\\\\((?<scope>.*)\\\\):? )?` +\n // Subject\n `(?<subject>.*)$`,\n 'u',\n ),\n headerCorrespondence: ['type', 'scope', 'subject'],\n revertPattern: /^(?:revert|revert:)\\s\"?([\\S\\s]+?)\"?\\s*this reverts commit (\\w*)\\./i,\n noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'],\n // revertPattern: /revert:\\s([\\S\\s]*?)\\s*this reverts commit (\\w*)\\./i,\n revertCorrespondence: [`header`, `hash`],\n});\n","import type { Commit as CommitDefault } from 'conventional-commits-parser';\n\nexport type Commit = CommitDefault & {\n type: string | null;\n subject: string | null;\n scope: string | null;\n hash: string | null;\n};\n\nexport type CommitConventionalType =\n | 'build'\n | 'ci'\n | 'docs'\n | 'feat'\n | 'fix'\n | 'perf'\n | 'refactor'\n | 'revert'\n | 'style'\n | 'test'\n | 'wip'\n | 'chore';\n\nexport const CommitConventionalType = (() => {\n const enumObject = Object.freeze({\n Build: 'build',\n CI: 'ci',\n Docs: 'docs',\n Feat: 'feat',\n Fix: 'fix',\n Perf: 'perf',\n Refactor: 'refactor',\n Revert: 'revert',\n Style: 'style',\n Test: 'test',\n WIP: 'wip',\n Chore: 'chore',\n });\n const enumValues: readonly CommitConventionalType[] = Object.freeze(Object.values(enumObject).sort());\n const enumValuesSet = new Set(enumValues);\n\n const typeData: Record<CommitConventionalType, CommitConventionalTypeData> = {\n feat: {\n emoji: '✨',\n 'en-US': 'Features',\n changelog: true,\n },\n fix: {\n emoji: '🐛',\n 'en-US': 'Bug Fixes',\n changelog: true,\n },\n build: {\n emoji: '👷',\n 'en-US': 'Build System',\n changelog: false,\n },\n chore: {\n emoji: '🎫',\n 'en-US': 'Chores',\n changelog: false,\n },\n ci: {\n emoji: '🔧',\n 'en-US': 'Continuous Integration',\n changelog: false,\n },\n docs: {\n emoji: '📝',\n 'en-US': 'Documentation',\n changelog: false,\n },\n test: {\n emoji: '✅',\n 'en-US': 'Tests',\n changelog: false,\n },\n perf: {\n emoji: '⚡',\n 'en-US': 'Performance Improvements',\n changelog: true,\n },\n refactor: {\n emoji: '♻',\n 'en-US': 'Code Refactoring',\n changelog: false,\n },\n revert: {\n emoji: '⏪',\n 'en-US': 'Reverts',\n changelog: true,\n },\n style: {\n emoji: '💄',\n 'en-US': 'Styles',\n changelog: false,\n },\n wip: {\n emoji: '🚧',\n 'en-US': 'Work in progress',\n changelog: false,\n },\n };\n\n function hasInstance(anyValue: unknown): anyValue is CommitConventionalType {\n return typeof anyValue === 'string' && enumValuesSet.has(anyValue as unknown as CommitConventionalType);\n }\n\n function getData(commitType: CommitConventionalType): CommitConventionalTypeData {\n return typeData[commitType];\n }\n\n function parse(anyValue: string): CommitConventionalType | undefined {\n return hasInstance(anyValue) ? anyValue : undefined;\n }\n\n function values() {\n return enumValues;\n }\n\n function findWhere(predicate: (data: CommitConventionalTypeData) => boolean): CommitConventionalType[] {\n return enumValues.filter((enumValue) => predicate(getData(enumValue)));\n }\n\n return { ...enumObject, hasInstance, getData, values, parse, findWhere };\n})();\n\nexport interface CommitConventionalTypeData {\n emoji: string;\n 'en-US': string;\n changelog: boolean;\n}\n","import emojiRegexp from 'emoji-regex';\nimport { type Gitmoji, gitmojis } from 'gitmojis';\nimport type { CommitConventionalType } from './data.js';\n\nexport type Emoji = Emoji.Unicode | Emoji.Text;\nexport namespace Emoji {\n export const reEmojiUnicode = emojiRegexp();\n\n export const reEmojiText = /:\\w*:/;\n\n const reMatchOnly = (input: RegExp) => new RegExp(`^${input.source}$`, '');\n const _reEmojiUnicode = reMatchOnly(reEmojiUnicode);\n const _reEmojiText = reMatchOnly(reEmojiText);\n\n export type Unicode = string & { '@@EmojiStyle': 'unicode' };\n export type Text = string & { '@@EmojiStyle': 'text' };\n\n export function isUnicode(anyValue: string): anyValue is Unicode {\n return _reEmojiUnicode.test(anyValue);\n }\n\n export function isText(anyValue: string): anyValue is Text {\n return _reEmojiText.test(anyValue);\n }\n\n export function hasInstance(anyValue: string): anyValue is Emoji {\n return isText(anyValue) || isUnicode(anyValue);\n }\n}\n\nexport type GitmojiCode = Emoji & { '@@Gitmoji': true };\nexport namespace GitmojiCode {\n export type Unicode = Emoji.Unicode & { '@@Gitmoji': true };\n export type Emoji = Emoji.Text & { '@@Gitmoji': true };\n\n // export const reEmoji = emojiRegexp();\n\n const allGitmojiCodes = new Set(\n gitmojis\n .map((gitmoji) => gitmoji.code as GitmojiCode)\n .concat(gitmojis.map((gitmoji) => gitmoji.emoji as GitmojiCode)),\n );\n const index = {\n // code: createIndex(gitmojis, 'code'),\n emoji: createIndex(gitmojis, 'emoji'),\n };\n\n function createIndex<K extends keyof Gitmoji>(list: readonly Gitmoji[], key: K): ReadonlyMap<Gitmoji[K], Gitmoji> {\n return new Map(list.map((gitmoji) => [gitmoji[key], gitmoji]));\n }\n\n export function isValid(anyValue: string): anyValue is GitmojiCode {\n return allGitmojiCodes.has(anyValue as GitmojiCode);\n }\n\n const defaultType = 'chore';\n const conversionMap: ReadonlyMap<GitmojiCode, CommitConventionalType> = (() => {\n const data: Record<CommitConventionalType, GitmojiCode.Unicode[]> = {\n feat: ['✨', '♿️', '🚸'] as GitmojiCode.Unicode[],\n fix: ['🐛'] as GitmojiCode.Unicode[],\n docs: ['📝'] as GitmojiCode.Unicode[],\n style: ['🎨', '🚨'] as GitmojiCode.Unicode[],\n refactor: ['♻️', '🏗️'] as GitmojiCode.Unicode[],\n test: ['✅', '🧪'] as GitmojiCode.Unicode[],\n perf: ['⚡️'] as GitmojiCode.Unicode[],\n revert: ['⏪️'] as GitmojiCode.Unicode[],\n ci: ['👷', '💚'] as GitmojiCode.Unicode[],\n wip: ['🚧'] as GitmojiCode.Unicode[],\n build: [] as GitmojiCode.Unicode[],\n chore: ['🔧'] as GitmojiCode.Unicode[],\n };\n\n const entries = Array.from<[CommitConventionalType, GitmojiCode.Unicode[]]>(\n // @ts-ignore entries are not well typed\n Object.entries(data),\n );\n return new Map(\n entries.reduce<Array<[GitmojiCode, CommitConventionalType]>>(\n (acc, [commitType, gitmojiUnicodeArray]) =>\n acc\n .concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType]))\n\n .concat(\n gitmojiUnicodeArray.map((gitmojiUnicode) => [\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain\n index.emoji.get(gitmojiUnicode)?.code! as GitmojiCode,\n commitType,\n ]),\n ),\n [],\n ),\n );\n })();\n\n export function toConventionalCommitType(gitmoji: GitmojiCode): CommitConventionalType {\n return conversionMap.get(gitmoji) ?? defaultType;\n }\n}\n","import type { Commit as CommitBase } from 'conventional-commits-parser';\nimport { CommitConventionalType } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nfunction toConventionalCommitType(text: string) {\n return GitmojiCode.isValid(text)\n ? GitmojiCode.toConventionalCommitType(text)\n : CommitConventionalType.hasInstance(text)\n ? text\n : undefined;\n}\n\nexport type Commit = CommitBase;\n\nexport const whatBump = (commits: ReadonlyArray<Commit>) => {\n let level = 2;\n let breakings = 0;\n let features = 0;\n\n for (const { type, notes } of commits) {\n const conventionalType = type == null ? type : toConventionalCommitType(type);\n if (notes.length > 0) {\n breakings += notes.length;\n level = 0;\n } else if (conventionalType === CommitConventionalType.Feat) {\n features += 1;\n if (level === 2) {\n level = 1;\n }\n }\n }\n\n return {\n level,\n reason:\n breakings === 1\n ? `There is ${breakings} BREAKING CHANGE and ${features} features`\n : `There are ${breakings} BREAKING CHANGES and ${features} features`,\n };\n};\n","import type { CommitTransformFunction, Context } from 'conventional-changelog-writer';\nimport { CommitConventionalType, Commit } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nexport type Language = 'en-US';\n\nexport interface TransformConfig {\n scopeDisplayName?: Record<string, string>;\n displayTypes?: CommitConventionalType[];\n displayScopes?: string[];\n showAuthor?: boolean;\n withEmoji?: boolean;\n language?: Language;\n}\n\nexport function displayScope(scope: string | null | undefined, scopeDisplayNameMap: Record<string, string>) {\n return scope == null || scope.length === 0\n ? scopeDisplayNameMap['*']\n : scopeDisplayNameMap[scope] == null\n ? scope\n : scopeDisplayNameMap[scope];\n}\n\nexport function displayType(type: string, options: displayType.Options = {}): string {\n const { withEmoji = true, language = 'en-US' } = options;\n\n if (CommitConventionalType.hasInstance(type)) {\n const { emoji, [language]: title } = CommitConventionalType.getData(type);\n return `${withEmoji ? `${emoji} ` : ''}${title}`;\n }\n\n return type;\n}\nexport namespace displayType {\n export interface Options {\n readonly withEmoji?: boolean | undefined;\n readonly language?: Language;\n }\n}\n\nexport function createTransform(config: TransformConfig): CommitTransformFunction<Commit> {\n const displayTypes = new Set(config.displayTypes == null ? CommitConventionalType.values() : config.displayTypes);\n const ignoreType = (type: string | undefined) => type == null || !displayTypes.has(type as CommitConventionalType);\n const ignoreScope = (scope: string | undefined | null) =>\n config.displayScopes == null ? false : scope != null && !config.displayScopes.includes(scope);\n\n const transform = (commit: Commit, { repository, host, owner, repoUrl }: Context): Commit | false => {\n const discard = commit.notes.length === 0;\n const issues = new Set<string>();\n const notes = commit.notes.map((note) => ({\n ...note,\n title: `${config.withEmoji === false ? '' : '💥 '}BREAKING CHANGES`,\n }));\n const conventionalType =\n commit.type == null\n ? undefined\n : (CommitConventionalType.parse(commit.type) ??\n (GitmojiCode.isValid(commit.type) ? GitmojiCode.toConventionalCommitType(commit.type) : undefined));\n\n if (ignoreType(conventionalType) && discard) return false;\n\n const type =\n conventionalType == null\n ? null\n : displayType(conventionalType, {\n withEmoji: config.withEmoji,\n });\n\n if (ignoreScope(commit.scope)) return false;\n\n const scopeIntermediate = commit.scope === '*' ? '' : commit.scope;\n const scope =\n config.scopeDisplayName == null ? null : (displayScope(scopeIntermediate, config.scopeDisplayName) ?? null);\n const hash = typeof commit.hash === 'string' ? commit.hash.slice(0, 7) : commit.hash;\n\n const subject =\n typeof commit.subject === 'string'\n ? (() => {\n let returnValue = commit.subject;\n const url = repository == null ? repoUrl : [host, owner, repository].filter(Boolean).join('/');\n if (url != null) {\n const issueURL = `${url}/issues/`;\n // Issue URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/#(\\d+)/g, (_, issue: string) => {\n issues.add(issue);\n\n return `[#${issue}](${issueURL}${issue})`;\n });\n }\n if (host != null) {\n // User URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/\\B@([\\da-z](?:-?[\\d/a-z]){0,38})/g, (_, username: string) =>\n username.includes('/') ? `@${username}` : `[@${username}](${host}/${username})`,\n );\n }\n return returnValue;\n })()\n : commit.subject;\n\n // Remove references that already appear in the subject\n const references = commit.references.filter((reference) => !issues.has(reference.issue));\n\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {\n ...commit,\n type,\n hash,\n scope,\n subject,\n references,\n header: commit.header,\n body: commit.body,\n footer: commit.footer,\n merge: commit.merge,\n revert: commit.revert,\n notes,\n mentions: commit.mentions,\n } as Commit;\n };\n\n return transform as unknown as CommitTransformFunction<Commit>;\n}\n","/* eslint-disable n/no-sync */\nimport { readFileSync } from 'node:fs';\nimport nodePath from 'node:path';\nimport type { Options } from 'conventional-changelog-writer';\nimport { fileURLToPath } from 'node:url';\nimport { createTransform } from './transform.js';\nimport { Commit, CommitConventionalType } from './data.js';\n\nexport interface WriterOptions extends Options<Commit> {}\n\nconst _dirname = typeof __dirname === 'undefined' ? nodePath.dirname(fileURLToPath(import.meta.url)) : __dirname;\nconst basePath = nodePath.resolve(nodePath.dirname(_dirname), './template');\n\nexport const defaultDisplayTypes = CommitConventionalType.findWhere((_) => _.changelog);\n\nexport const createWriterOpts = async (): Promise<WriterOptions> => {\n const mainTemplate = readFileSync(`${basePath}/template.hbs`, 'utf8');\n const headerPartial = readFileSync(`${basePath}/header.hbs`, 'utf8');\n const commitPartial = readFileSync(`${basePath}/commit.hbs`, 'utf8');\n const footerPartial = readFileSync(`${basePath}/footer.hbs`, 'utf8');\n const author = readFileSync(`${basePath}/author.hbs`, 'utf8');\n\n return {\n transform: createTransform({\n displayTypes: defaultDisplayTypes,\n }),\n groupBy: 'type',\n commitGroupsSort: 'title',\n // @ts-ignore\n commitsSort: ['scope', 'subject'],\n noteGroupsSort: 'title',\n mainTemplate,\n headerPartial,\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n commitPartial: commitPartial.replace(/{{gitUserInfo}}/g, author),\n footerPartial,\n };\n};\n","import { gitRawCommitOpts } from './git-raw-commit-opts.js';\nimport { createParserOpts } from './parser.js';\nimport { whatBump } from './whatBump.js';\nimport { createWriterOpts } from './writer.js';\n\nexport { Emoji, GitmojiCode } from './gitmoji.js';\n\n// eslint-disable-next-line import/no-default-export\nexport default async function createPreset() {\n return {\n gitRawCommitOpts,\n parser: createParserOpts(),\n writer: await createWriterOpts(),\n whatBump,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/git-raw-commit-opts.ts","../src/parser.ts","../src/data.ts","../src/gitmoji.ts","../src/whatBump.ts","../src/transform.ts","../src/writer.ts","../src/index.ts"],"names":["Emoji","GitmojiCode","toConventionalCommitType"],"mappings":"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","file":"index.js","sourcesContent":["export const gitRawCommitOpts = {\n format: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci%n-authorName-%n%an%n-authorEmail-%n%ae',\n};\n","import type { ParserOptions as ParserOptionsDefault } from 'conventional-commits-parser';\n\nexport interface ParserOptions extends ParserOptionsDefault {}\n\nexport const createParserOpts = (): ParserOptions => ({\n headerPattern: new RegExp(\n // Type\n `^(?<type>\\\\S*)? ` +\n // Scope\n `(?:\\\\((?<scope>.*)\\\\):? )?` +\n // Subject\n `(?<subject>.*)$`,\n 'u',\n ),\n headerCorrespondence: ['type', 'scope', 'subject'],\n revertPattern: /^(?:revert|revert:)\\s\"?([\\S\\s]+?)\"?\\s*this reverts commit (\\w*)\\./i,\n noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'],\n // revertPattern: /revert:\\s([\\S\\s]*?)\\s*this reverts commit (\\w*)\\./i,\n revertCorrespondence: [`header`, `hash`],\n});\n","import type { Commit as CommitDefault } from 'conventional-commits-parser';\n\nexport type Commit = CommitDefault & {\n type: string | null;\n subject: string | null;\n scope: string | null;\n hash: string | null;\n};\n\nexport type CommitConventionalType =\n | 'build'\n | 'ci'\n | 'docs'\n | 'feat'\n | 'fix'\n | 'perf'\n | 'refactor'\n | 'revert'\n | 'style'\n | 'test'\n | 'wip'\n | 'chore';\n\nexport const CommitConventionalType = (() => {\n const enumObject = Object.freeze({\n Build: 'build',\n CI: 'ci',\n Docs: 'docs',\n Feat: 'feat',\n Fix: 'fix',\n Perf: 'perf',\n Refactor: 'refactor',\n Revert: 'revert',\n Style: 'style',\n Test: 'test',\n WIP: 'wip',\n Chore: 'chore',\n });\n // eslint-disable-next-line unicorn/no-array-sort\n const enumValues: readonly CommitConventionalType[] = Object.freeze(Object.values(enumObject).sort());\n const enumValuesSet = new Set(enumValues);\n\n const typeData: Record<CommitConventionalType, CommitConventionalTypeData> = {\n feat: {\n 'emoji': '✨',\n 'en-US': 'Features',\n 'changelog': true,\n },\n fix: {\n 'emoji': '🐛',\n 'en-US': 'Bug Fixes',\n 'changelog': true,\n },\n build: {\n 'emoji': '👷',\n 'en-US': 'Build System',\n 'changelog': false,\n },\n chore: {\n 'emoji': '🎫',\n 'en-US': 'Chores',\n 'changelog': false,\n },\n ci: {\n 'emoji': '🔧',\n 'en-US': 'Continuous Integration',\n 'changelog': false,\n },\n docs: {\n 'emoji': '📝',\n 'en-US': 'Documentation',\n 'changelog': false,\n },\n test: {\n 'emoji': '✅',\n 'en-US': 'Tests',\n 'changelog': false,\n },\n perf: {\n 'emoji': '⚡',\n 'en-US': 'Performance Improvements',\n 'changelog': true,\n },\n refactor: {\n 'emoji': '♻',\n 'en-US': 'Code Refactoring',\n 'changelog': false,\n },\n revert: {\n 'emoji': '⏪',\n 'en-US': 'Reverts',\n 'changelog': true,\n },\n style: {\n 'emoji': '💄',\n 'en-US': 'Styles',\n 'changelog': false,\n },\n wip: {\n 'emoji': '🚧',\n 'en-US': 'Work in progress',\n 'changelog': false,\n },\n };\n\n function hasInstance(anyValue: unknown): anyValue is CommitConventionalType {\n return typeof anyValue === 'string' && enumValuesSet.has(anyValue as unknown as CommitConventionalType);\n }\n\n function getData(commitType: CommitConventionalType): CommitConventionalTypeData {\n return typeData[commitType];\n }\n\n function parse(anyValue: string): CommitConventionalType | undefined {\n return hasInstance(anyValue) ? anyValue : undefined;\n }\n\n function values() {\n return enumValues;\n }\n\n function findWhere(predicate: (data: CommitConventionalTypeData) => boolean): CommitConventionalType[] {\n return enumValues.filter((enumValue) => predicate(getData(enumValue)));\n }\n\n return { ...enumObject, hasInstance, getData, values, parse, findWhere };\n})();\n\nexport interface CommitConventionalTypeData {\n 'emoji': string;\n 'en-US': string;\n 'changelog': boolean;\n}\n","/* eslint-disable unicorn/prefer-spread */\nimport emojiRegexp from 'emoji-regex';\nimport { type Gitmoji, gitmojis } from 'gitmojis';\nimport type { CommitConventionalType } from './data.js';\n\nexport type Emoji = Emoji.Unicode | Emoji.Text;\nexport namespace Emoji {\n export const reEmojiUnicode = emojiRegexp();\n\n export const reEmojiText = /:\\w*:/;\n\n const reMatchOnly = (input: RegExp) => new RegExp(`^${input.source}$`, '');\n const _reEmojiUnicode = reMatchOnly(reEmojiUnicode);\n const _reEmojiText = reMatchOnly(reEmojiText);\n\n export type Unicode = string & { '@@EmojiStyle': 'unicode' };\n export type Text = string & { '@@EmojiStyle': 'text' };\n\n export function isUnicode(anyValue: string): anyValue is Unicode {\n return _reEmojiUnicode.test(anyValue);\n }\n\n export function isText(anyValue: string): anyValue is Text {\n return _reEmojiText.test(anyValue);\n }\n\n export function hasInstance(anyValue: string): anyValue is Emoji {\n return isText(anyValue) || isUnicode(anyValue);\n }\n}\n\nexport type GitmojiCode = Emoji & { '@@Gitmoji': true };\nexport namespace GitmojiCode {\n export type Unicode = Emoji.Unicode & { '@@Gitmoji': true };\n export type Emoji = Emoji.Text & { '@@Gitmoji': true };\n\n // export const reEmoji = emojiRegexp();\n\n const allGitmojiCodes = new Set(\n gitmojis\n .map((gitmoji) => gitmoji.code as GitmojiCode)\n .concat(gitmojis.map((gitmoji) => gitmoji.emoji as GitmojiCode)),\n );\n const index = {\n // code: createIndex(gitmojis, 'code'),\n emoji: createIndex(gitmojis, 'emoji'),\n };\n\n function createIndex<K extends keyof Gitmoji>(list: readonly Gitmoji[], key: K): ReadonlyMap<Gitmoji[K], Gitmoji> {\n return new Map(list.map((gitmoji) => [gitmoji[key], gitmoji]));\n }\n\n export function isValid(anyValue: string): anyValue is GitmojiCode {\n return allGitmojiCodes.has(anyValue as GitmojiCode);\n }\n\n const defaultType = 'chore';\n const conversionMap: ReadonlyMap<GitmojiCode, CommitConventionalType> = (() => {\n const data: Record<CommitConventionalType, GitmojiCode.Unicode[]> = {\n feat: ['✨', '♿️', '🚸'] as GitmojiCode.Unicode[],\n fix: ['🐛'] as GitmojiCode.Unicode[],\n docs: ['📝'] as GitmojiCode.Unicode[],\n style: ['🎨', '🚨'] as GitmojiCode.Unicode[],\n refactor: ['♻️', '🏗️'] as GitmojiCode.Unicode[],\n test: ['✅', '🧪'] as GitmojiCode.Unicode[],\n perf: ['⚡️'] as GitmojiCode.Unicode[],\n revert: ['⏪️'] as GitmojiCode.Unicode[],\n ci: ['👷', '💚'] as GitmojiCode.Unicode[],\n wip: ['🚧'] as GitmojiCode.Unicode[],\n build: [] as GitmojiCode.Unicode[],\n chore: ['🔧'] as GitmojiCode.Unicode[],\n };\n\n const entries = Array.from<[CommitConventionalType, GitmojiCode.Unicode[]]>(\n // @ts-ignore entries are not well typed\n Object.entries(data),\n );\n return new Map(\n entries.reduce<Array<[GitmojiCode, CommitConventionalType]>>(\n (acc, [commitType, gitmojiUnicodeArray]) =>\n acc\n .concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType]))\n\n .concat(\n gitmojiUnicodeArray.map((gitmojiUnicode) => [\n // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain\n index.emoji.get(gitmojiUnicode)?.code! as GitmojiCode,\n commitType,\n ]),\n ),\n [],\n ),\n );\n })();\n\n export function toConventionalCommitType(gitmoji: GitmojiCode): CommitConventionalType {\n return conversionMap.get(gitmoji) ?? defaultType;\n }\n}\n","import type { Commit as CommitBase } from 'conventional-commits-parser';\nimport { CommitConventionalType } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nfunction toConventionalCommitType(text: string) {\n return GitmojiCode.isValid(text)\n ? GitmojiCode.toConventionalCommitType(text)\n : CommitConventionalType.hasInstance(text)\n ? text\n : undefined;\n}\n\nexport type Commit = CommitBase;\n\nexport const whatBump = (commits: ReadonlyArray<Commit>) => {\n let level = 2;\n let breakings = 0;\n let features = 0;\n\n for (const { type, notes } of commits) {\n const conventionalType = type == null ? type : toConventionalCommitType(type);\n if (notes.length > 0) {\n breakings += notes.length;\n level = 0;\n } else if (conventionalType === CommitConventionalType.Feat) {\n features += 1;\n if (level === 2) {\n level = 1;\n }\n }\n }\n\n return {\n level,\n reason:\n breakings === 1\n ? `There is ${breakings} BREAKING CHANGE and ${features} features`\n : `There are ${breakings} BREAKING CHANGES and ${features} features`,\n };\n};\n","import type { CommitTransformFunction, Context } from 'conventional-changelog-writer';\nimport { CommitConventionalType, Commit } from './data.js';\nimport { GitmojiCode } from './gitmoji.js';\n\nexport type Language = 'en-US';\n\nexport interface TransformConfig {\n scopeDisplayName?: Record<string, string>;\n displayTypes?: CommitConventionalType[];\n displayScopes?: string[];\n showAuthor?: boolean;\n withEmoji?: boolean;\n language?: Language;\n}\n\nexport function displayScope(scope: string | null | undefined, scopeDisplayNameMap: Record<string, string>) {\n return scope == null || scope.length === 0\n ? scopeDisplayNameMap['*']\n : scopeDisplayNameMap[scope] == null\n ? scope\n : scopeDisplayNameMap[scope];\n}\n\nexport function displayType(type: string, options: displayType.Options = {}): string {\n const { withEmoji = true, language = 'en-US' } = options;\n\n if (CommitConventionalType.hasInstance(type)) {\n const { emoji, [language]: title } = CommitConventionalType.getData(type);\n return `${withEmoji ? `${emoji} ` : ''}${title}`;\n }\n\n return type;\n}\nexport namespace displayType {\n export interface Options {\n readonly withEmoji?: boolean | undefined;\n readonly language?: Language;\n }\n}\n\nexport function createTransform(config: TransformConfig): CommitTransformFunction<Commit> {\n const displayTypes = new Set(config.displayTypes == null ? CommitConventionalType.values() : config.displayTypes);\n const ignoreType = (type: string | undefined) => type == null || !displayTypes.has(type as CommitConventionalType);\n const ignoreScope = (scope: string | undefined | null) =>\n config.displayScopes == null ? false : scope != null && !config.displayScopes.includes(scope);\n\n const transform = (commit: Commit, { repository, host, owner, repoUrl }: Context): Commit | false => {\n const discard = commit.notes.length === 0;\n const issues = new Set<string>();\n const notes = commit.notes.map((note) => ({\n ...note,\n title: `${config.withEmoji === false ? '' : '💥 '}BREAKING CHANGES`,\n }));\n const conventionalType =\n commit.type == null\n ? undefined\n : (CommitConventionalType.parse(commit.type) ??\n (GitmojiCode.isValid(commit.type) ? GitmojiCode.toConventionalCommitType(commit.type) : undefined));\n\n if (ignoreType(conventionalType) && discard) return false;\n\n const type =\n conventionalType == null\n ? null\n : displayType(conventionalType, {\n withEmoji: config.withEmoji,\n });\n\n if (ignoreScope(commit.scope)) return false;\n\n const scopeIntermediate = commit.scope === '*' ? '' : commit.scope;\n const scope =\n config.scopeDisplayName == null ? null : (displayScope(scopeIntermediate, config.scopeDisplayName) ?? null);\n const hash = typeof commit.hash === 'string' ? commit.hash.slice(0, 7) : commit.hash;\n\n const subject =\n typeof commit.subject === 'string'\n ? (() => {\n let returnValue = commit.subject;\n const url = repository == null ? repoUrl : [host, owner, repository].filter(Boolean).join('/');\n if (url != null) {\n const issueURL = `${url}/issues/`;\n // Issue URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/#(\\d+)/g, (_, issue: string) => {\n issues.add(issue);\n\n return `[#${issue}](${issueURL}${issue})`;\n });\n }\n if (host != null) {\n // User URLs.\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n returnValue = returnValue.replace(/\\B@([\\da-z](?:-?[\\d/a-z]){0,38})/g, (_, username: string) =>\n username.includes('/') ? `@${username}` : `[@${username}](${host}/${username})`,\n );\n }\n return returnValue;\n })()\n : commit.subject;\n\n // Remove references that already appear in the subject\n const references = commit.references.filter((reference) => !issues.has(reference.issue));\n\n return {\n ...commit,\n type,\n hash,\n scope,\n subject,\n references,\n header: commit.header,\n body: commit.body,\n footer: commit.footer,\n merge: commit.merge,\n revert: commit.revert,\n notes,\n mentions: commit.mentions,\n } as Commit;\n };\n\n return transform as unknown as CommitTransformFunction<Commit>;\n}\n","import { readFileSync } from 'node:fs';\nimport nodePath from 'node:path';\nimport type { Options } from 'conventional-changelog-writer';\nimport { fileURLToPath } from 'node:url';\nimport { createTransform } from './transform.js';\nimport { Commit, CommitConventionalType } from './data.js';\n\nexport interface WriterOptions extends Options<Commit> {}\n\nconst _dirname = typeof __dirname === 'undefined' ? nodePath.dirname(fileURLToPath(import.meta.url)) : __dirname;\nconst basePath = nodePath.resolve(nodePath.dirname(_dirname), './template');\n\nexport const defaultDisplayTypes = CommitConventionalType.findWhere((_) => _.changelog);\n\nexport const createWriterOpts = async (): Promise<WriterOptions> => {\n const mainTemplate = readFileSync(`${basePath}/template.hbs`, 'utf8');\n const headerPartial = readFileSync(`${basePath}/header.hbs`, 'utf8');\n const commitPartial = readFileSync(`${basePath}/commit.hbs`, 'utf8');\n const footerPartial = readFileSync(`${basePath}/footer.hbs`, 'utf8');\n const author = readFileSync(`${basePath}/author.hbs`, 'utf8');\n\n return {\n transform: createTransform({\n displayTypes: defaultDisplayTypes,\n }),\n groupBy: 'type',\n commitGroupsSort: 'title',\n // @ts-ignore\n commitsSort: ['scope', 'subject'],\n noteGroupsSort: 'title',\n mainTemplate,\n headerPartial,\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n commitPartial: commitPartial.replace(/{{gitUserInfo}}/g, author),\n footerPartial,\n };\n};\n","import { gitRawCommitOpts } from './git-raw-commit-opts.js';\nimport { createParserOpts } from './parser.js';\nimport { whatBump } from './whatBump.js';\nimport { createWriterOpts } from './writer.js';\n\nexport { Emoji, GitmojiCode } from './gitmoji.js';\n\nexport default async function createPreset() {\n return {\n gitRawCommitOpts,\n parser: createParserOpts(),\n writer: await createWriterOpts(),\n whatBump,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@w5s/conventional-changelog",
3
- "version": "2.2.5",
3
+ "version": "3.0.1",
4
4
  "description": "Conventional changelog plugin for @w5s",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/w5s/project-config/blob/main/packages/conventional-changelog#readme",
@@ -42,7 +42,7 @@
42
42
  "postpack": "npx clean-package restore"
43
43
  },
44
44
  "dependencies": {
45
- "@commitlint/types": "^19.0.0",
45
+ "@commitlint/types": "^20.0.0",
46
46
  "emoji-regex": "^10.2.1",
47
47
  "gitmojis": "^3.13.4"
48
48
  },
@@ -53,5 +53,5 @@
53
53
  "access": "public"
54
54
  },
55
55
  "sideEffect": false,
56
- "gitHead": "199e9b150a80e22d21a35f924e19923aacfe3de3"
56
+ "gitHead": "a8ee6449f8faf3d45ad47f497b9bb8a4c98d89e7"
57
57
  }
package/src/data.ts CHANGED
@@ -36,69 +36,70 @@ export const CommitConventionalType = (() => {
36
36
  WIP: 'wip',
37
37
  Chore: 'chore',
38
38
  });
39
+ // eslint-disable-next-line unicorn/no-array-sort
39
40
  const enumValues: readonly CommitConventionalType[] = Object.freeze(Object.values(enumObject).sort());
40
41
  const enumValuesSet = new Set(enumValues);
41
42
 
42
43
  const typeData: Record<CommitConventionalType, CommitConventionalTypeData> = {
43
44
  feat: {
44
- emoji: '✨',
45
+ 'emoji': '✨',
45
46
  'en-US': 'Features',
46
- changelog: true,
47
+ 'changelog': true,
47
48
  },
48
49
  fix: {
49
- emoji: '🐛',
50
+ 'emoji': '🐛',
50
51
  'en-US': 'Bug Fixes',
51
- changelog: true,
52
+ 'changelog': true,
52
53
  },
53
54
  build: {
54
- emoji: '👷',
55
+ 'emoji': '👷',
55
56
  'en-US': 'Build System',
56
- changelog: false,
57
+ 'changelog': false,
57
58
  },
58
59
  chore: {
59
- emoji: '🎫',
60
+ 'emoji': '🎫',
60
61
  'en-US': 'Chores',
61
- changelog: false,
62
+ 'changelog': false,
62
63
  },
63
64
  ci: {
64
- emoji: '🔧',
65
+ 'emoji': '🔧',
65
66
  'en-US': 'Continuous Integration',
66
- changelog: false,
67
+ 'changelog': false,
67
68
  },
68
69
  docs: {
69
- emoji: '📝',
70
+ 'emoji': '📝',
70
71
  'en-US': 'Documentation',
71
- changelog: false,
72
+ 'changelog': false,
72
73
  },
73
74
  test: {
74
- emoji: '✅',
75
+ 'emoji': '✅',
75
76
  'en-US': 'Tests',
76
- changelog: false,
77
+ 'changelog': false,
77
78
  },
78
79
  perf: {
79
- emoji: '⚡',
80
+ 'emoji': '⚡',
80
81
  'en-US': 'Performance Improvements',
81
- changelog: true,
82
+ 'changelog': true,
82
83
  },
83
84
  refactor: {
84
- emoji: '♻',
85
+ 'emoji': '♻',
85
86
  'en-US': 'Code Refactoring',
86
- changelog: false,
87
+ 'changelog': false,
87
88
  },
88
89
  revert: {
89
- emoji: '⏪',
90
+ 'emoji': '⏪',
90
91
  'en-US': 'Reverts',
91
- changelog: true,
92
+ 'changelog': true,
92
93
  },
93
94
  style: {
94
- emoji: '💄',
95
+ 'emoji': '💄',
95
96
  'en-US': 'Styles',
96
- changelog: false,
97
+ 'changelog': false,
97
98
  },
98
99
  wip: {
99
- emoji: '🚧',
100
+ 'emoji': '🚧',
100
101
  'en-US': 'Work in progress',
101
- changelog: false,
102
+ 'changelog': false,
102
103
  },
103
104
  };
104
105
 
@@ -126,7 +127,7 @@ export const CommitConventionalType = (() => {
126
127
  })();
127
128
 
128
129
  export interface CommitConventionalTypeData {
129
- emoji: string;
130
+ 'emoji': string;
130
131
  'en-US': string;
131
- changelog: boolean;
132
+ 'changelog': boolean;
132
133
  }
package/src/gitmoji.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /* eslint-disable unicorn/prefer-spread */
1
2
  import emojiRegexp from 'emoji-regex';
2
3
  import { type Gitmoji, gitmojis } from 'gitmojis';
3
4
  import type { CommitConventionalType } from './data.js';
@@ -82,7 +83,7 @@ export namespace GitmojiCode {
82
83
 
83
84
  .concat(
84
85
  gitmojiUnicodeArray.map((gitmojiUnicode) => [
85
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
86
+ // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain
86
87
  index.emoji.get(gitmojiUnicode)?.code! as GitmojiCode,
87
88
  commitType,
88
89
  ]),
package/src/index.ts CHANGED
@@ -5,7 +5,6 @@ import { createWriterOpts } from './writer.js';
5
5
 
6
6
  export { Emoji, GitmojiCode } from './gitmoji.js';
7
7
 
8
- // eslint-disable-next-line import/no-default-export
9
8
  export default async function createPreset() {
10
9
  return {
11
10
  gitRawCommitOpts,
package/src/parser.ts CHANGED
@@ -6,10 +6,10 @@ export const createParserOpts = (): ParserOptions => ({
6
6
  headerPattern: new RegExp(
7
7
  // Type
8
8
  `^(?<type>\\S*)? ` +
9
- // Scope
10
- `(?:\\((?<scope>.*)\\):? )?` +
11
- // Subject
12
- `(?<subject>.*)$`,
9
+ // Scope
10
+ `(?:\\((?<scope>.*)\\):? )?` +
11
+ // Subject
12
+ `(?<subject>.*)$`,
13
13
  'u',
14
14
  ),
15
15
  headerCorrespondence: ['type', 'scope', 'subject'],
package/src/transform.ts CHANGED
@@ -102,7 +102,6 @@ export function createTransform(config: TransformConfig): CommitTransformFunctio
102
102
  // Remove references that already appear in the subject
103
103
  const references = commit.references.filter((reference) => !issues.has(reference.issue));
104
104
 
105
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
106
105
  return {
107
106
  ...commit,
108
107
  type,
package/src/writer.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable n/no-sync */
2
1
  import { readFileSync } from 'node:fs';
3
2
  import nodePath from 'node:path';
4
3
  import type { Options } from 'conventional-changelog-writer';