diff --git a/package-lock.json b/package-lock.json index 6be2512a..7c0d0a6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,6 +51,7 @@ "@types/xml2js": "^0.4.4", "@types/yauzl": "^2.9.2", "@types/yazl": "^2.4.2", + "conventional-changelog-conventionalcommits": "^4.6.3", "husky": "^7.0.4", "mocha": "^9.2.0", "npm-run-all": "^4.1.5", @@ -1774,9 +1775,9 @@ } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", - "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, "dependencies": { "compare-func": "^2.0.0", @@ -10507,9 +10508,9 @@ } }, "conventional-changelog-conventionalcommits": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", - "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, "requires": { "compare-func": "^2.0.0", diff --git a/package.json b/package.json index 2a2391c5..68263fbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vsce", - "version": "0.0.0", + "version": "0.0.0-development", "description": "VSCode Extension Manager", "repository": { "type": "git", @@ -74,6 +74,7 @@ "@types/xml2js": "^0.4.4", "@types/yauzl": "^2.9.2", "@types/yazl": "^2.4.2", + "conventional-changelog-conventionalcommits": "^4.6.3", "husky": "^7.0.4", "mocha": "^9.2.0", "npm-run-all": "^4.1.5", @@ -97,11 +98,6 @@ "singleQuote": true, "arrowParens": "avoid" }, - "release": { - "branches": [ - "main" - ] - }, "commitlint": { "extends": [ "@commitlint/config-conventional" diff --git a/release.config.js b/release.config.js new file mode 100644 index 00000000..b94cc18e --- /dev/null +++ b/release.config.js @@ -0,0 +1,73 @@ +module.exports = { + branches: ['main'], + preset: 'conventionalcommits', + plugins: [ + [ + '@semantic-release/commit-analyzer', + { + releaseRules: [ + { + type: 'perf', + release: 'patch', + }, + { + type: 'refactor', + release: 'patch', + }, + { + type: 'build', + scope: 'deps', + release: 'patch', + }, + ], + }, + ], + [ + '@semantic-release/release-notes-generator', + { + presetConfig: { + types: [ + { + type: 'feat', + section: 'Features', + }, + { + type: 'fix', + section: 'Bug Fixes', + }, + { + type: 'perf', + section: 'Performance Improvements', + }, + { + type: 'revert', + section: 'Reverts', + }, + { + type: 'refactor', + section: 'Code Refactoring', + }, + { + type: 'build', + scope: 'deps', + section: 'Dependencies', + }, + ], + }, + }, + ], + [ + '@semantic-release/npm', + { + tarballDir: '.', + }, + ], + [ + '@semantic-release/github', + { + assets: '*.tgz', + addReleases: 'bottom', + }, + ], + ], +};