Skip to content

Commit

Permalink
feat!: cleanup presets interface (#1215)
Browse files Browse the repository at this point in the history
BREAKING CHANGES: now preset object provides `commits`, `parser`, `writer` and `whatBump` properties.
  • Loading branch information
dangreen committed Mar 10, 2024
1 parent 30cfa82 commit 0e4f293
Show file tree
Hide file tree
Showing 66 changed files with 308 additions and 494 deletions.

This file was deleted.

This file was deleted.

19 changes: 6 additions & 13 deletions packages/conventional-changelog-angular/index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
import { createParserOpts } from './parserOpts.js'
import { createWriterOpts } from './writerOpts.js'
import { createConventionalChangelogOpts } from './conventionalChangelog.js'
import { createConventionalRecommendedBumpOpts } from './conventionalRecommendedBump.js'
import { createParserOpts } from './parser.js'
import { createWriterOpts } from './writer.js'
import { whatBump } from './whatBump.js'

export default async function createPreset () {
const parserOpts = createParserOpts()
const writerOpts = await createWriterOpts()
const recommendedBumpOpts = createConventionalRecommendedBumpOpts(parserOpts)
const conventionalChangelog = createConventionalChangelogOpts(parserOpts, writerOpts)

return {
parserOpts,
writerOpts,
recommendedBumpOpts,
conventionalChangelog
parser: createParserOpts(),
writer: await createWriterOpts(),
whatBump
}
}
7 changes: 3 additions & 4 deletions packages/conventional-changelog-angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
"preset"
],
"files": [
"conventionalChangelog.js",
"conventionalRecommendedBump.js",
"whatBump.js",
"index.js",
"parserOpts.js",
"writerOpts.js",
"parser.js",
"writer.js",
"templates"
],
"author": "Steve Mao",
Expand Down
24 changes: 24 additions & 0 deletions packages/conventional-changelog-angular/whatBump.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
export function whatBump (commits) {
let level = 2
let breakings = 0
let features = 0

commits.forEach(commit => {
if (commit.notes.length > 0) {
breakings += commit.notes.length
level = 0
} else if (commit.type === 'feat') {
features += 1
if (level === 2) {
level = 1
}
}
})

return {
level,
reason: breakings === 1
? `There is ${breakings} BREAKING CHANGE and ${features} features`
: `There are ${breakings} BREAKING CHANGES and ${features} features`
}
}
6 changes: 0 additions & 6 deletions packages/conventional-changelog-atom/conventionalChangelog.js

This file was deleted.

This file was deleted.

19 changes: 6 additions & 13 deletions packages/conventional-changelog-atom/index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
import { createParserOpts } from './parserOpts.js'
import { createWriterOpts } from './writerOpts.js'
import { createConventionalChangelogOpts } from './conventionalChangelog.js'
import { createConventionalRecommendedBumpOpts } from './conventionalRecommendedBump.js'
import { createParserOpts } from './parser.js'
import { createWriterOpts } from './writer.js'
import { whatBump } from './whatBump.js'

export default async function createPreset () {
const parserOpts = createParserOpts()
const writerOpts = await createWriterOpts()
const recommendedBumpOpts = createConventionalRecommendedBumpOpts(parserOpts)
const conventionalChangelog = createConventionalChangelogOpts(parserOpts, writerOpts)

return {
parserOpts,
writerOpts,
recommendedBumpOpts,
conventionalChangelog
parser: createParserOpts(),
writer: await createWriterOpts(),
whatBump
}
}
7 changes: 3 additions & 4 deletions packages/conventional-changelog-atom/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@
},
"license": "ISC",
"files": [
"conventionalChangelog.js",
"conventionalRecommendedBump.js",
"whatBump.js",
"index.js",
"parserOpts.js",
"writerOpts.js",
"parser.js",
"writer.js",
"templates"
],
"bugs": {
Expand Down
22 changes: 22 additions & 0 deletions packages/conventional-changelog-atom/whatBump.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export function whatBump (commits) {
let level = 2
let breakings = 0
let features = 0

commits.forEach(commit => {
if (commit.notes.length > 0) {
breakings += commit.notes.length
level = 0
} else if (commit.type === 'feat') {
features += 1
if (level === 2) {
level = 1
}
}
})

return {
level,
reason: `There are ${breakings} BREAKING CHANGES and ${features} features`
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = Promise.resolve({
writerOpts: {
writer: {
mainTemplate: '{{commitGroups.[0].commits.[0].type}}{{testContext}}template'
}
})

This file was deleted.

This file was deleted.

19 changes: 6 additions & 13 deletions packages/conventional-changelog-codemirror/index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
import { createParserOpts } from './parserOpts.js'
import { createWriterOpts } from './writerOpts.js'
import { createConventionalChangelogOpts } from './conventionalChangelog.js'
import { createConventionalRecommendedBumpOpts } from './conventionalRecommendedBump.js'
import { createParserOpts } from './parser.js'
import { createWriterOpts } from './writer.js'
import { whatBump } from './whatBump.js'

export default async function createPreset () {
const parserOpts = createParserOpts()
const writerOpts = await createWriterOpts()
const recommendedBumpOpts = createConventionalRecommendedBumpOpts(parserOpts)
const conventionalChangelog = createConventionalChangelogOpts(parserOpts, writerOpts)

return {
parserOpts,
writerOpts,
recommendedBumpOpts,
conventionalChangelog
parser: createParserOpts(),
writer: await createWriterOpts(),
whatBump
}
}
7 changes: 3 additions & 4 deletions packages/conventional-changelog-codemirror/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@
},
"license": "ISC",
"files": [
"conventionalChangelog.js",
"conventionalRecommendedBump.js",
"whatBump.js",
"index.js",
"parserOpts.js",
"writerOpts.js",
"parser.js",
"writer.js",
"templates"
],
"bugs": {
Expand Down
22 changes: 22 additions & 0 deletions packages/conventional-changelog-codemirror/whatBump.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export function whatBump (commits) {
let level = 2
let breakings = 0
let features = 0

commits.forEach(commit => {
if (commit.notes.length > 0) {
breakings += commit.notes.length
level = 0
} else if (commit.type === 'feat') {
features += 1
if (level === 2) {
level = 1
}
}
})

return {
level,
reason: `There are ${breakings} BREAKING CHANGES and ${features} features`
}
}

This file was deleted.

This file was deleted.

21 changes: 7 additions & 14 deletions packages/conventional-changelog-conventionalcommits/index.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
import { DEFAULT_COMMIT_TYPES } from './constants.js'
import { createParserOpts } from './parserOpts.js'
import { createWriterOpts } from './writerOpts.js'
import { createConventionalChangelogOpts } from './conventionalChangelog.js'
import { createConventionalRecommendedBumpOpts } from './conventionalRecommendedBump.js'
import { createParserOpts } from './parser.js'
import { createWriterOpts } from './writer.js'
import { createWhatBump } from './whatBump.js'

export { DEFAULT_COMMIT_TYPES }

export default async function createPreset (config) {
const parserOpts = createParserOpts(config)
const writerOpts = await createWriterOpts(config)
const recommendedBumpOpts = createConventionalRecommendedBumpOpts(config, parserOpts)
const conventionalChangelog = createConventionalChangelogOpts(parserOpts, writerOpts)

return {
gitRawCommitsOpts: {
commits: {
ignore: config?.ignoreCommits,
noMerges: null
},
parserOpts,
writerOpts,
recommendedBumpOpts,
conventionalChangelog
parser: createParserOpts(config),
writer: await createWriterOpts(config),
whatBump: createWhatBump(config)
}
}

0 comments on commit 0e4f293

Please sign in to comment.