@w5s/conventional-changelog 3.0.2 โ†’ 3.0.4

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.js CHANGED
@@ -13,6 +13,7 @@ var gitRawCommitOpts = {
13
13
  var createParserOpts = () => ({
14
14
  headerPattern: new RegExp(
15
15
  // Type
16
+ // eslint-disable-next-line unicorn/prefer-string-raw
16
17
  `^(?<type>\\S*)? (?:\\((?<scope>.*)\\):? )?(?<subject>.*)$`,
17
18
  "u"
18
19
  ),
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 // 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"]}
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 // eslint-disable-next-line unicorn/prefer-string-raw\n `^(?<type>\\\\S*)? ` +\n // Scope\n // eslint-disable-next-line unicorn/prefer-string-raw\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": "3.0.2",
3
+ "version": "3.0.4",
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",
@@ -17,10 +17,6 @@
17
17
  "type": "module",
18
18
  "exports": {
19
19
  ".": {
20
- "require": {
21
- "types": "./dist/index.d.cts",
22
- "default": "./dist/index.cjs"
23
- },
24
20
  "import": {
25
21
  "types": "./dist/index.d.ts",
26
22
  "default": "./dist/index.js"
@@ -39,13 +35,38 @@
39
35
  "!**/__tests__/**"
40
36
  ],
41
37
  "scripts": {
42
- "postpack": "npx clean-package restore"
38
+ "build": "npx run-p \"build:*\"",
39
+ "build:tsc": "npx tsup",
40
+ "clean": "npx run-p \"clean:*\"",
41
+ "clean:tsc": "rm -rf dist",
42
+ "docs": "node ../../markdown.mjs",
43
+ "format": "npx run-p \"format:*\"",
44
+ "format:src": "eslint . --fix",
45
+ "lint": "npx run-p \"lint:*\"",
46
+ "lint:src": "eslint .",
47
+ "postpack": "npx clean-package restore",
48
+ "prepack": "npx clean-package",
49
+ "prepare": "npx run-p \"prepare:*\"",
50
+ "prepare:empty": ":",
51
+ "prepublishOnly": "npm run clean;npm run build",
52
+ "spellcheck": "cspell --no-progress '**'",
53
+ "test": "npx run-p \"test:*\"",
54
+ "test:src": "vitest run"
43
55
  },
44
56
  "dependencies": {
45
57
  "@commitlint/types": "^20.0.0",
46
58
  "emoji-regex": "^10.2.1",
47
59
  "gitmojis": "^3.13.4"
48
60
  },
61
+ "devDependencies": {
62
+ "@types/conventional-changelog-writer": "4.0.11",
63
+ "@types/conventional-commits-parser": "5.0.2",
64
+ "@w5s/tsup-config": "2.0.3",
65
+ "tsup": "8.5.1",
66
+ "vite": "7.3.1",
67
+ "vitest": "4.0.18"
68
+ },
69
+ "clean-package": "../../clean-package.config.mjs",
49
70
  "engines": {
50
71
  "node": ">=20.0.0"
51
72
  },
@@ -53,5 +74,5 @@
53
74
  "access": "public"
54
75
  },
55
76
  "sideEffect": false,
56
- "gitHead": "8338e5dded9a0bbed4fb84c69ee86d5eff743a12"
77
+ "gitHead": "1339ba15448ca7c3aea9f0afa0ece486f4693961"
57
78
  }
package/src/parser.ts CHANGED
@@ -5,8 +5,10 @@ export interface ParserOptions extends ParserOptionsDefault {}
5
5
  export const createParserOpts = (): ParserOptions => ({
6
6
  headerPattern: new RegExp(
7
7
  // Type
8
+ // eslint-disable-next-line unicorn/prefer-string-raw
8
9
  `^(?<type>\\S*)? ` +
9
10
  // Scope
11
+ // eslint-disable-next-line unicorn/prefer-string-raw
10
12
  `(?:\\((?<scope>.*)\\):? )?` +
11
13
  // Subject
12
14
  `(?<subject>.*)$`,
package/dist/index.cjs DELETED
@@ -1,343 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var emojiRegexp = require('emoji-regex');
6
- var gitmojis = require('gitmojis');
7
- var fs = require('fs');
8
- var nodePath = require('path');
9
- var url = require('url');
10
-
11
- var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
12
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
-
14
- var emojiRegexp__default = /*#__PURE__*/_interopDefault(emojiRegexp);
15
- var nodePath__default = /*#__PURE__*/_interopDefault(nodePath);
16
-
17
- // src/git-raw-commit-opts.ts
18
- var gitRawCommitOpts = {
19
- format: "%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci%n-authorName-%n%an%n-authorEmail-%n%ae"
20
- };
21
-
22
- // src/parser.ts
23
- var createParserOpts = () => ({
24
- headerPattern: new RegExp(
25
- // Type
26
- `^(?<type>\\S*)? (?:\\((?<scope>.*)\\):? )?(?<subject>.*)$`,
27
- "u"
28
- ),
29
- headerCorrespondence: ["type", "scope", "subject"],
30
- revertPattern: /^(?:revert|revert:)\s"?([\S\s]+?)"?\s*this reverts commit (\w*)\./i,
31
- noteKeywords: ["BREAKING CHANGE", "BREAKING CHANGES"],
32
- // revertPattern: /revert:\s([\S\s]*?)\s*this reverts commit (\w*)\./i,
33
- revertCorrespondence: [`header`, `hash`]
34
- });
35
-
36
- // src/data.ts
37
- var CommitConventionalType = (() => {
38
- const enumObject = Object.freeze({
39
- Build: "build",
40
- CI: "ci",
41
- Docs: "docs",
42
- Feat: "feat",
43
- Fix: "fix",
44
- Perf: "perf",
45
- Refactor: "refactor",
46
- Revert: "revert",
47
- Style: "style",
48
- Test: "test",
49
- WIP: "wip",
50
- Chore: "chore"
51
- });
52
- const enumValues = Object.freeze(Object.values(enumObject).sort());
53
- const enumValuesSet = new Set(enumValues);
54
- const typeData = {
55
- feat: {
56
- "emoji": "\u2728",
57
- "en-US": "Features",
58
- "changelog": true
59
- },
60
- fix: {
61
- "emoji": "\u{1F41B}",
62
- "en-US": "Bug Fixes",
63
- "changelog": true
64
- },
65
- build: {
66
- "emoji": "\u{1F477}",
67
- "en-US": "Build System",
68
- "changelog": false
69
- },
70
- chore: {
71
- "emoji": "\u{1F3AB}",
72
- "en-US": "Chores",
73
- "changelog": false
74
- },
75
- ci: {
76
- "emoji": "\u{1F527}",
77
- "en-US": "Continuous Integration",
78
- "changelog": false
79
- },
80
- docs: {
81
- "emoji": "\u{1F4DD}",
82
- "en-US": "Documentation",
83
- "changelog": false
84
- },
85
- test: {
86
- "emoji": "\u2705",
87
- "en-US": "Tests",
88
- "changelog": false
89
- },
90
- perf: {
91
- "emoji": "\u26A1",
92
- "en-US": "Performance Improvements",
93
- "changelog": true
94
- },
95
- refactor: {
96
- "emoji": "\u267B",
97
- "en-US": "Code Refactoring",
98
- "changelog": false
99
- },
100
- revert: {
101
- "emoji": "\u23EA",
102
- "en-US": "Reverts",
103
- "changelog": true
104
- },
105
- style: {
106
- "emoji": "\u{1F484}",
107
- "en-US": "Styles",
108
- "changelog": false
109
- },
110
- wip: {
111
- "emoji": "\u{1F6A7}",
112
- "en-US": "Work in progress",
113
- "changelog": false
114
- }
115
- };
116
- function hasInstance(anyValue) {
117
- return typeof anyValue === "string" && enumValuesSet.has(anyValue);
118
- }
119
- function getData(commitType) {
120
- return typeData[commitType];
121
- }
122
- function parse(anyValue) {
123
- return hasInstance(anyValue) ? anyValue : void 0;
124
- }
125
- function values() {
126
- return enumValues;
127
- }
128
- function findWhere(predicate) {
129
- return enumValues.filter((enumValue) => predicate(getData(enumValue)));
130
- }
131
- return { ...enumObject, hasInstance, getData, values, parse, findWhere };
132
- })();
133
- exports.Emoji = void 0;
134
- ((Emoji2) => {
135
- Emoji2.reEmojiUnicode = emojiRegexp__default.default();
136
- Emoji2.reEmojiText = /:\w*:/;
137
- const reMatchOnly = (input) => new RegExp(`^${input.source}$`, "");
138
- const _reEmojiUnicode = reMatchOnly(Emoji2.reEmojiUnicode);
139
- const _reEmojiText = reMatchOnly(Emoji2.reEmojiText);
140
- function isUnicode(anyValue) {
141
- return _reEmojiUnicode.test(anyValue);
142
- }
143
- Emoji2.isUnicode = isUnicode;
144
- function isText(anyValue) {
145
- return _reEmojiText.test(anyValue);
146
- }
147
- Emoji2.isText = isText;
148
- function hasInstance(anyValue) {
149
- return isText(anyValue) || isUnicode(anyValue);
150
- }
151
- Emoji2.hasInstance = hasInstance;
152
- })(exports.Emoji || (exports.Emoji = {}));
153
- exports.GitmojiCode = void 0;
154
- ((GitmojiCode2) => {
155
- const allGitmojiCodes = new Set(
156
- gitmojis.gitmojis.map((gitmoji) => gitmoji.code).concat(gitmojis.gitmojis.map((gitmoji) => gitmoji.emoji))
157
- );
158
- const index = {
159
- // code: createIndex(gitmojis, 'code'),
160
- emoji: createIndex(gitmojis.gitmojis, "emoji")
161
- };
162
- function createIndex(list, key) {
163
- return new Map(list.map((gitmoji) => [gitmoji[key], gitmoji]));
164
- }
165
- function isValid(anyValue) {
166
- return allGitmojiCodes.has(anyValue);
167
- }
168
- GitmojiCode2.isValid = isValid;
169
- const defaultType = "chore";
170
- const conversionMap = (() => {
171
- const data = {
172
- feat: ["\u2728", "\u267F\uFE0F", "\u{1F6B8}"],
173
- fix: ["\u{1F41B}"],
174
- docs: ["\u{1F4DD}"],
175
- style: ["\u{1F3A8}", "\u{1F6A8}"],
176
- refactor: ["\u267B\uFE0F", "\u{1F3D7}\uFE0F"],
177
- test: ["\u2705", "\u{1F9EA}"],
178
- perf: ["\u26A1\uFE0F"],
179
- revert: ["\u23EA\uFE0F"],
180
- ci: ["\u{1F477}", "\u{1F49A}"],
181
- wip: ["\u{1F6A7}"],
182
- build: [],
183
- chore: ["\u{1F527}"]
184
- };
185
- const entries = Array.from(
186
- // @ts-ignore entries are not well typed
187
- Object.entries(data)
188
- );
189
- return new Map(
190
- entries.reduce(
191
- (acc, [commitType, gitmojiUnicodeArray]) => acc.concat(gitmojiUnicodeArray.map((gitmojiUnicode) => [gitmojiUnicode, commitType])).concat(
192
- gitmojiUnicodeArray.map((gitmojiUnicode) => [
193
- // eslint-disable-next-line ts/no-non-null-assertion, ts/no-non-null-asserted-optional-chain
194
- index.emoji.get(gitmojiUnicode)?.code,
195
- commitType
196
- ])
197
- ),
198
- []
199
- )
200
- );
201
- })();
202
- function toConventionalCommitType2(gitmoji) {
203
- return conversionMap.get(gitmoji) ?? defaultType;
204
- }
205
- GitmojiCode2.toConventionalCommitType = toConventionalCommitType2;
206
- })(exports.GitmojiCode || (exports.GitmojiCode = {}));
207
-
208
- // src/whatBump.ts
209
- function toConventionalCommitType(text) {
210
- return exports.GitmojiCode.isValid(text) ? exports.GitmojiCode.toConventionalCommitType(text) : CommitConventionalType.hasInstance(text) ? text : void 0;
211
- }
212
- var whatBump = (commits) => {
213
- let level = 2;
214
- let breakings = 0;
215
- let features = 0;
216
- for (const { type, notes } of commits) {
217
- const conventionalType = type == null ? type : toConventionalCommitType(type);
218
- if (notes.length > 0) {
219
- breakings += notes.length;
220
- level = 0;
221
- } else if (conventionalType === CommitConventionalType.Feat) {
222
- features += 1;
223
- if (level === 2) {
224
- level = 1;
225
- }
226
- }
227
- }
228
- return {
229
- level,
230
- reason: breakings === 1 ? `There is ${breakings} BREAKING CHANGE and ${features} features` : `There are ${breakings} BREAKING CHANGES and ${features} features`
231
- };
232
- };
233
-
234
- // src/transform.ts
235
- function displayScope(scope, scopeDisplayNameMap) {
236
- return scope == null || scope.length === 0 ? scopeDisplayNameMap["*"] : scopeDisplayNameMap[scope] == null ? scope : scopeDisplayNameMap[scope];
237
- }
238
- function displayType(type, options = {}) {
239
- const { withEmoji = true, language = "en-US" } = options;
240
- if (CommitConventionalType.hasInstance(type)) {
241
- const { emoji, [language]: title } = CommitConventionalType.getData(type);
242
- return `${withEmoji ? `${emoji} ` : ""}${title}`;
243
- }
244
- return type;
245
- }
246
- function createTransform(config) {
247
- const displayTypes = new Set(config.displayTypes == null ? CommitConventionalType.values() : config.displayTypes);
248
- const ignoreType = (type) => type == null || !displayTypes.has(type);
249
- const ignoreScope = (scope) => config.displayScopes == null ? false : scope != null && !config.displayScopes.includes(scope);
250
- const transform = (commit, { repository, host, owner, repoUrl }) => {
251
- const discard = commit.notes.length === 0;
252
- const issues = /* @__PURE__ */ new Set();
253
- const notes = commit.notes.map((note) => ({
254
- ...note,
255
- title: `${config.withEmoji === false ? "" : "\u{1F4A5} "}BREAKING CHANGES`
256
- }));
257
- const conventionalType = commit.type == null ? void 0 : CommitConventionalType.parse(commit.type) ?? (exports.GitmojiCode.isValid(commit.type) ? exports.GitmojiCode.toConventionalCommitType(commit.type) : void 0);
258
- if (ignoreType(conventionalType) && discard) return false;
259
- const type = conventionalType == null ? null : displayType(conventionalType, {
260
- withEmoji: config.withEmoji
261
- });
262
- if (ignoreScope(commit.scope)) return false;
263
- const scopeIntermediate = commit.scope === "*" ? "" : commit.scope;
264
- const scope = config.scopeDisplayName == null ? null : displayScope(scopeIntermediate, config.scopeDisplayName) ?? null;
265
- const hash = typeof commit.hash === "string" ? commit.hash.slice(0, 7) : commit.hash;
266
- const subject = typeof commit.subject === "string" ? (() => {
267
- let returnValue = commit.subject;
268
- const url = repository == null ? repoUrl : [host, owner, repository].filter(Boolean).join("/");
269
- if (url != null) {
270
- const issueURL = `${url}/issues/`;
271
- returnValue = returnValue.replace(/#(\d+)/g, (_, issue) => {
272
- issues.add(issue);
273
- return `[#${issue}](${issueURL}${issue})`;
274
- });
275
- }
276
- if (host != null) {
277
- returnValue = returnValue.replace(
278
- /\B@([\da-z](?:-?[\d/a-z]){0,38})/g,
279
- (_, username) => username.includes("/") ? `@${username}` : `[@${username}](${host}/${username})`
280
- );
281
- }
282
- return returnValue;
283
- })() : commit.subject;
284
- const references = commit.references.filter((reference) => !issues.has(reference.issue));
285
- return {
286
- ...commit,
287
- type,
288
- hash,
289
- scope,
290
- subject,
291
- references,
292
- header: commit.header,
293
- body: commit.body,
294
- footer: commit.footer,
295
- merge: commit.merge,
296
- revert: commit.revert,
297
- notes,
298
- mentions: commit.mentions
299
- };
300
- };
301
- return transform;
302
- }
303
-
304
- // src/writer.ts
305
- var _dirname = typeof __dirname === "undefined" ? nodePath__default.default.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))) : __dirname;
306
- var basePath = nodePath__default.default.resolve(nodePath__default.default.dirname(_dirname), "./template");
307
- var defaultDisplayTypes = CommitConventionalType.findWhere((_) => _.changelog);
308
- var createWriterOpts = async () => {
309
- const mainTemplate = fs.readFileSync(`${basePath}/template.hbs`, "utf8");
310
- const headerPartial = fs.readFileSync(`${basePath}/header.hbs`, "utf8");
311
- const commitPartial = fs.readFileSync(`${basePath}/commit.hbs`, "utf8");
312
- const footerPartial = fs.readFileSync(`${basePath}/footer.hbs`, "utf8");
313
- const author = fs.readFileSync(`${basePath}/author.hbs`, "utf8");
314
- return {
315
- transform: createTransform({
316
- displayTypes: defaultDisplayTypes
317
- }),
318
- groupBy: "type",
319
- commitGroupsSort: "title",
320
- // @ts-ignore
321
- commitsSort: ["scope", "subject"],
322
- noteGroupsSort: "title",
323
- mainTemplate,
324
- headerPartial,
325
- // eslint-disable-next-line unicorn/prefer-string-replace-all
326
- commitPartial: commitPartial.replace(/{{gitUserInfo}}/g, author),
327
- footerPartial
328
- };
329
- };
330
-
331
- // src/index.ts
332
- async function createPreset() {
333
- return {
334
- gitRawCommitOpts,
335
- parser: createParserOpts(),
336
- writer: await createWriterOpts(),
337
- whatBump
338
- };
339
- }
340
-
341
- exports.default = createPreset;
342
- //# sourceMappingURL=index.cjs.map
343
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,84 +0,0 @@
1
- import { Commit as Commit$2, ParserOptions as ParserOptions$1 } from 'conventional-commits-parser';
2
- import { Options } from 'conventional-changelog-writer';
3
-
4
- type Commit$1 = Commit$2;
5
-
6
- type Commit = Commit$2 & {
7
- type: string | null;
8
- subject: string | null;
9
- scope: string | null;
10
- hash: string | null;
11
- };
12
- type CommitConventionalType = 'build' | 'ci' | 'docs' | 'feat' | 'fix' | 'perf' | 'refactor' | 'revert' | 'style' | 'test' | 'wip' | 'chore';
13
- declare const CommitConventionalType: {
14
- hasInstance: (anyValue: unknown) => anyValue is CommitConventionalType;
15
- getData: (commitType: CommitConventionalType) => CommitConventionalTypeData;
16
- values: () => readonly CommitConventionalType[];
17
- parse: (anyValue: string) => CommitConventionalType | undefined;
18
- findWhere: (predicate: (data: CommitConventionalTypeData) => boolean) => CommitConventionalType[];
19
- Build: "build";
20
- CI: "ci";
21
- Docs: "docs";
22
- Feat: "feat";
23
- Fix: "fix";
24
- Perf: "perf";
25
- Refactor: "refactor";
26
- Revert: "revert";
27
- Style: "style";
28
- Test: "test";
29
- WIP: "wip";
30
- Chore: "chore";
31
- };
32
- interface CommitConventionalTypeData {
33
- 'emoji': string;
34
- 'en-US': string;
35
- 'changelog': boolean;
36
- }
37
-
38
- interface WriterOptions extends Options<Commit> {
39
- }
40
-
41
- interface ParserOptions extends ParserOptions$1 {
42
- }
43
-
44
- type Emoji = Emoji.Unicode | Emoji.Text;
45
- declare namespace Emoji {
46
- const reEmojiUnicode: RegExp;
47
- const reEmojiText: RegExp;
48
- type Unicode = string & {
49
- '@@EmojiStyle': 'unicode';
50
- };
51
- type Text = string & {
52
- '@@EmojiStyle': 'text';
53
- };
54
- function isUnicode(anyValue: string): anyValue is Unicode;
55
- function isText(anyValue: string): anyValue is Text;
56
- function hasInstance(anyValue: string): anyValue is Emoji;
57
- }
58
- type GitmojiCode = Emoji & {
59
- '@@Gitmoji': true;
60
- };
61
- declare namespace GitmojiCode {
62
- type Unicode = Emoji.Unicode & {
63
- '@@Gitmoji': true;
64
- };
65
- type Emoji = Emoji.Text & {
66
- '@@Gitmoji': true;
67
- };
68
- function isValid(anyValue: string): anyValue is GitmojiCode;
69
- function toConventionalCommitType(gitmoji: GitmojiCode): CommitConventionalType;
70
- }
71
-
72
- declare function createPreset(): Promise<{
73
- gitRawCommitOpts: {
74
- format: string;
75
- };
76
- parser: ParserOptions;
77
- writer: WriterOptions;
78
- whatBump: (commits: ReadonlyArray<Commit$1>) => {
79
- level: number;
80
- reason: string;
81
- };
82
- }>;
83
-
84
- export { Emoji, GitmojiCode, createPreset as default };