Skip to content

Commit

Permalink
feat(conventional-commits-parser)!: rewrite to TypeScript (#1126)
Browse files Browse the repository at this point in the history
BREAKING CHANGES: Now package exports CommitParser class and parseCommitsStream method for backward compatability. Options has minor changes in types, please read the docs.
  • Loading branch information
dangreen committed Sep 20, 2023
1 parent 024f124 commit 9e280d8
Show file tree
Hide file tree
Showing 41 changed files with 4,698 additions and 2,842 deletions.
1 change: 0 additions & 1 deletion .codecov.yml

This file was deleted.

21 changes: 21 additions & 0 deletions .eslintrc.json
@@ -1,5 +1,9 @@
{
"root": true,
"extends": "standard",
"env": {
"node": true
},
"overrides": [
{
"files": [
Expand All @@ -8,6 +12,23 @@
"env": {
"mocha": true
}
},
{
"files": [
"packages/**/*.ts"
],
"extends": [
"@trigen/eslint-config",
"@trigen/eslint-config/tsm",
"@trigen/eslint-config/esm",
"@trigen/eslint-config/jest"
],
"env": {
"node": true
}
}
],
"ignorePatterns": [
"packages/*/dist/**/*"
]
}
39 changes: 30 additions & 9 deletions .gitignore
@@ -1,11 +1,32 @@
**/.nyc_output/
**/coverage/
**/node_modules/
**/tmp/
/lerna-debug.log
package-lock.json

# Editors
# Logs
logs
*.log
npm-debug.log*

# Coverage directory used by tools like istanbul
coverage

# Dependency directory
node_modules

# Optional npm cache directory
.npm

# OS stuff
._*
.DS_Store

# Some caches
.*cache

# Compiled dist
dist
package
build

# Env files
.env

# IDE files
.idea
.vscode
.DS_Store
1 change: 1 addition & 0 deletions .npmrc
@@ -0,0 +1 @@
auto-install-peers=false
3 changes: 0 additions & 3 deletions .nycrc

This file was deleted.

11 changes: 10 additions & 1 deletion package.json
Expand Up @@ -36,21 +36,30 @@
"url": "https://github.com/conventional-changelog/conventional-changelog.git"
},
"scripts": {
"clear": "pnpm -r --parallel --if-present clear && del ./coverage",
"build": "pnpm -r --parallel --if-present build",
"lint": "eslint . --cache --cache-location ./node_modules/.cache/ --ignore-path .gitignore",
"fix": "eslint . --fix --cache --cache-location ./node_modules/.cache/ --ignore-path .gitignore",
"test:watch": "vitest watch",
"test": "vitest run --coverage"
},
"version": "1.0.0",
"devDependencies": {
"@trigen/eslint-config": "8.0.0-alpha.28",
"@types/node": "^20.5.9",
"@vitest/coverage-v8": "^0.34.0",
"better-than-before": "^1.0.0",
"conventional-changelog-core": "workspace:^",
"del-cli": "^5.1.0",
"eslint": "^8.0.0",
"eslint-config-standard": "^17.0.0",
"forceable-tty": "^0.1.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^16.0.1",
"eslint-plugin-promise": "^6.0.0",
"safe-buffer": "5.2.1",
"tmp": "^0.2.1",
"tsm": "^2.3.0",
"typescript": "^5.2.2",
"vinyl": "^3.0.0",
"vite": "^4.4.4",
"vitest": "^0.34.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/conventional-changelog-core/index.js
Expand Up @@ -2,7 +2,7 @@ import { Readable, Transform } from 'stream'
import { execFileSync } from 'child_process'
import addStream from 'add-stream'
import gitRawCommits from 'git-raw-commits'
import conventionalCommitsParser from 'conventional-commits-parser'
import { parseCommitsStream } from 'conventional-commits-parser'
import conventionalChangelogWriter from 'conventional-changelog-writer'
import mergeConfig from './lib/merge-config.js'

Expand Down Expand Up @@ -93,7 +93,7 @@ export default function conventionalChangelog (options, context, gitRawCommitsOp
err.message = 'Error in git-raw-commits: ' + err.message
setImmediate(readable.emit.bind(readable), 'error', err)
})
.pipe(conventionalCommitsParser(parserOpts))
.pipe(parseCommitsStream(parserOpts))
.on('error', function (err) {
err.message = 'Error in conventional-commits-parser: ' + err.message
setImmediate(readable.emit.bind(readable), 'error', err)
Expand Down
2 changes: 1 addition & 1 deletion packages/conventional-changelog-jshint/parserOpts.js
Expand Up @@ -5,6 +5,6 @@ export function createParserOpts () {
'type',
'shortDesc'
],
noteKeywords: 'BREAKING CHANGE'
noteKeywords: ['BREAKING CHANGE']
}
}
2 changes: 1 addition & 1 deletion packages/conventional-commits-filter/index.js
Expand Up @@ -23,7 +23,7 @@ function findRevertCommit (commit, reverts) {
return null
}

const rawCommit = commit.raw || commit
const rawCommit = commit.raw || commit // @todo: ??? remove?

for (const revertCommit of reverts) {
if (revertCommit.revert && isMatch(rawCommit, revertCommit.revert)) {
Expand Down
11 changes: 11 additions & 0 deletions packages/conventional-commits-parser/.eslintrc.json
@@ -0,0 +1,11 @@
{
"extends": [
"@trigen/eslint-config/typescript",
"@trigen/eslint-config/typescript-requiring-type-checking",
"@trigen/eslint-config/jest"
],
"parserOptions": {
"tsconfigRootDir": "./packages/conventional-commits-parser",
"project": ["./tsconfig.json", "./test/tsconfig.json"]
}
}

0 comments on commit 9e280d8

Please sign in to comment.