Skip to content

Commit

Permalink
fix(version): support changelog-presets using async factory funcs (#3873
Browse files Browse the repository at this point in the history
)
  • Loading branch information
amorscher committed Oct 24, 2023
1 parent 572ab7f commit bb5e7d7
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 7 deletions.
@@ -0,0 +1,20 @@
"use strict";

// https://github.com/conventional-changelog/conventional-changelog/blob/b516084ef6a725197f148236c0ddbfae7ffe3e6f/packages/conventional-changelog-angular/conventional-recommended-bump.js
const parserOpts = require("./parser-opts");
const writerOpts = require("./writer-opts");
const whatBump = require("./what-bump");

async function createPreset(config) {
return {
conventionalChangelog: {
parserOpts,
writerOpts,
},
recommendedBumpOpts: {
parserOpts,
whatBump,
},
};
}
module.exports = createPreset;
Expand Up @@ -7,7 +7,10 @@ import { ChangelogPresetConfig } from "./constants";
const cfgCache = new Map();

function isFunction(config: any) {
return Object.prototype.toString.call(config) === "[object Function]";
return (
Object.prototype.toString.call(config) === "[object Function]" ||
Object.prototype.toString.call(config) === "[object AsyncFunction]"
);
}

function resolveConfigPromise(presetPackageName: string, presetConfig: object) {
Expand Down
15 changes: 15 additions & 0 deletions libs/core/src/lib/conventional-commits/index.spec.ts
Expand Up @@ -267,6 +267,21 @@ describe("conventional-commits", () => {
expect(bump).toBe("1.1.0");
});

it("supports async function presets", async () => {
const cwd = await initFixture("fixed");
const [pkg1] = await getPackages(cwd);

// make a change in package-1
await pkg1.set("changed", 1).serialize();
await gitAdd(cwd, pkg1.manifestLocation);
await gitCommit(cwd, "feat: changed 1");

const bump = await recommendVersion(pkg1, "fixed", {
changelogPreset: "./scripts/local-preset-async.js",
});
expect(bump).toBe("1.1.0");
});

it("supports custom tagPrefix in fixed mode", async () => {
const cwd = await initFixture("fixed");

Expand Down
10 changes: 5 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/lerna/package.json
Expand Up @@ -48,7 +48,7 @@
"clone-deep": "4.0.1",
"cmd-shim": "6.0.1",
"columnify": "1.6.0",
"conventional-changelog-angular": "6.0.0",
"conventional-changelog-angular": "7.0.0",
"conventional-changelog-core": "5.0.1",
"conventional-recommended-bump": "7.0.1",
"cosmiconfig": "^8.2.0",
Expand Down

0 comments on commit bb5e7d7

Please sign in to comment.