Network Powering Makers

    @marionebl/conventional-changelog-core

    1.6.1 • Public • Published

    NPM version Build Status Dependency Status Coverage Status

    conventional-changelog core

    You are probably looking for the cli module. Or use one of the plugins if you are already using the tool: grunt/gulp/atom.

    Usage

    $ npm install --save conventional-changelog-core
    var conventionalChangelogCore = require('conventional-changelog-core');
    
    conventionalChangelogCore()
      .pipe(process.stdout); // or any writable stream

    API

    conventionalChangelogCore([options, [context, [gitRawCommitsOpts, [parserOpts, [writerOpts]]]]])

    Returns a readable stream.

    Note: options.transform, options.pkg.transform and writerOpts.transform are different. If you have a better naming suggestion, please send a PR.

    options

    config

    Type: promise, function or object

    This should serve as default values for other arguments of conventionalChangelogCore so you don't need to rewrite the same or similar config across your projects. Any value in this could be overwritten. If this is a promise (recommended if async), it should resolve with the config. If this is a function, it expects a node style callback with the config object. If this is an object, it is the config object. The config object should include context, gitRawCommitsOpts, parserOpts and writerOpts.

    pkg

    Type: object

    path

    Type: string Default: closest package.json.

    The location of your "package.json".

    transform

    Type: function Default: pass through.

    A function that takes package.json data as the argument and returns the modified data. Note this is performed before normalizing package.json data. Useful when you need to add a leading 'v' to your version or modify your repository url, etc.

    append

    Type: boolean Default: false

    Should the log be appended to existing data.

    releaseCount

    Type: number Default: 1

    How many releases of changelog you want to generate. It counts from the upcoming release. Useful when you forgot to generate any previous changelog. Set to 0 to regenerate all.

    debug

    Type: function Default: function() {}

    A debug function. EG: console.debug.bind(console)

    warn

    Type: function Default: options.debug

    A warn function. EG: grunt.verbose.writeln

    transform

    Type: function Default: get the version (without leading 'v') from tag and format date.

    function(commit, cb)

    A transform function that applies after the parser and before the writer.

    This is the place to modify the parsed commits.

    ####### commit

    The commit from conventional-commits-parser.

    ####### cb

    Callback when you are done.

    ####### this

    this arg of through2.

    outputUnreleased

    Type: boolean Default: true if a different version than last release is given. Otherwise false.

    If this value is true and context.version equals last release then context.version will be changed to 'Unreleased'.

    context

    See the conventional-changelog-writer docs. There are some defaults or changes:

    host

    Default: normalized host found in package.json.

    version

    Default: version found in package.json.

    owner

    Default: extracted from normalized package.json repository.url field.

    repository

    Default: extracted from normalized package.json repository.url field.

    repoUrl

    Default: The whole normalized repository url in package.json.

    gitSemverTags

    Type: array

    All git semver tags found in the repository. You can't overwrite this value.

    previousTag

    Type: string Default: previous semver tag or the first commit hash if no previous tag.

    currentTag

    Type: string Default: current semver tag or 'v' + version if no current tag.

    packageData

    Type: object

    Your package.json data. You can't overwrite this value.

    linkCompare

    Type: boolean Default: true if previousTag and currentTag are truthy.

    Should link to the page that compares current tag with previous tag?

    gitRawCommitsOpts

    See the git-raw-commits docs. There are some defaults:

    format

    Default: '%B%n-hash-%n%H%n-gitTags-%n%d%n-committerDate-%n%ci'

    from

    Default: based on options.releaseCount.

    reverse

    Default: true if options.append is truthy.

    debug

    Type: function Default: options.debug

    parserOpts

    See the conventional-commits-parser docs.

    warn

    Default: options.warn

    writerOpts

    See the conventional-changelog-writer docs. There are some defaults:

    finalizeContext

    Finalize context is used for generating above context.

    NOTE: If you overwrite this value the above context defaults will be gone.

    debug

    Type: function Default: options.debug

    reverse

    Default: options.append

    doFlush

    Default: options.outputUnreleased

    Notes for parent modules

    This module has options append and releaseCount. However, it doesn't read your previous changelog. Reasons being:

    1. The old logs is just to be appended or prepended to the newly generated logs, which is a very simple thing that could be done in the parent module.
    2. We want it to be very flexible for the parent module. You could create a readable stream from the file or you could just read the file.
    3. We want the duty of this module to be very minimum.

    So, when you build a parent module, you need to read the old logs and append or prepend to them based on options.append. However, if options.releaseCount is 0 you need to ignore any previous logs. Please see conventional-github-releaser as an example.

    Arguments passed to conventionalChangelogCore will be mutated.

    License

    MIT

    Install

    npm i @marionebl/conventional-changelog-core

    DownloadsWeekly Downloads

    1

    Version

    1.6.1

    License

    MIT

    Last publish

    Collaborators

    • marionebl