59 lines · 1.9 KB · JavaScript
RawDownload
/** * Monorepo, protected `main`: no npm publish, no direct commits to main. * Creates Git tag + GitHub Release only (release notes from commits). * @type {import("semantic-release").GlobalConfig} */module.exports = {  branches: ["main"],  plugins: [    [      "@semantic-release/commit-analyzer",      {        preset: "conventionalcommits",        releaseRules: [          { type: "feat", release: "minor" },          { type: "fix", release: "patch" },          { type: "perf", release: "patch" },          { type: "refactor", release: "patch" },          { type: "micro", release: "patch" },          { type: "release", release: "patch" },          { type: "build", release: "patch" },          { type: "ci", release: "patch" },          { type: "docs", release: "patch" },          { type: "chore", release: "patch" },          { type: "style", release: "patch" },          { breaking: true, release: "major" },        ],      },    ],    [      "@semantic-release/release-notes-generator",      {        preset: "conventionalcommits",        presetConfig: {          types: [            { type: "feat", section: "Features" },            { type: "fix", section: "Fixes" },            { type: "perf", section: "Performance" },            { type: "refactor", section: "Refactors" },            { type: "micro", section: "Polish" },            { type: "release", section: "Release" },            { type: "docs", section: "Documentation" },            { type: "build", section: "Build System" },            { type: "ci", section: "CI" },            { type: "chore", section: "Chores", hidden: true },            { type: "style", section: "Styles", hidden: true },          ],        },      },    ],    [      "@semantic-release/github",      {        assets: [{ path: "release-staging/*" }],        successComment: false,        failComment: false,      },    ],  ],};