diff --git a/lib/config/definitions.js b/lib/config/definitions.js index c64da713dbbd4e7c8050f9ba525e8dc66b69c0e1..ec13c0a6c936390be87d085df3d2e4538d231f2c 100644 --- a/lib/config/definitions.js +++ b/lib/config/definitions.js @@ -1,4 +1,16 @@ -// const logger = require('winston'); +const fs = require('fs'); +const path = require('path'); + +function template(name) { + const shortName = `${name.replace(/([A-Z])/g, '-$1').toLowerCase()}.hbs`; + const hbsContents = fs.readFileSync( + // Long path is so that it works whether code is run from lib or dist + path.resolve(__dirname, '../../lib/config/templates/', shortName), + 'utf8' + ); + // Strip off any trailing line break + return hbsContents.replace(/\n$/, ''); +} module.exports = { getOptions, @@ -124,30 +136,28 @@ const options = [ name: 'branchName', description: 'Branch name template', type: 'string', - default: 'renovate/{{depName}}-{{newVersionMajor}}.x', + default: template('branchName'), cli: false, }, { name: 'commitMessage', description: 'Commit message template', type: 'string', - default: 'Update dependency {{depName}} to version {{newVersion}}', + default: template('commitMessage'), cli: false, }, { name: 'prTitle', description: 'Pull Request title template', type: 'string', - default: - '{{#if isPin}}Pin{{else}}Update{{/if}} dependency {{depName}} to version {{#if isRange}}{{newVersion}}{{else}}{{#if isMajor}}{{newVersionMajor}}.x{{else}}{{newVersion}}{{/if}}{{/if}}', + default: template('prTitle'), cli: false, }, { name: 'prBody', description: 'Pull Request body template', type: 'string', - default: - 'This Pull Request updates dependency {{depName}} from version `{{currentVersion}}` to `{{newVersion}}`\n\n{{changelog}}', + default: template('prBody'), cli: false, }, // Yarn Lock Maintenance @@ -217,28 +227,28 @@ const options = [ name: 'groupBranchName', description: 'Branch name template for the group', type: 'string', - default: 'renovate/{{groupSlug}}', + default: template('groupBranchName'), cli: false, }, { name: 'groupCommitMessage', description: 'Group commit message', type: 'string', - default: 'Renovate {{groupName}} packages', + default: template('groupCommitMessage'), cli: false, }, { name: 'groupPrTitle', description: 'Pull Request title template for the group', type: 'string', - default: 'Renovate {{groupName}} packages', + default: template('groupPrTitle'), cli: false, }, { name: 'groupPrBody', description: 'Pull Request body template for the group', type: 'string', - default: 'This PR renovates the package group "{{groupName}}".', + default: template('groupPrBody'), cli: false, }, // Pull Request options diff --git a/lib/config/templates/branch-name.hbs b/lib/config/templates/branch-name.hbs new file mode 100644 index 0000000000000000000000000000000000000000..0ce7efa5e4c6a86f40331e5e49f1b7ae21f6fbd4 --- /dev/null +++ b/lib/config/templates/branch-name.hbs @@ -0,0 +1 @@ +renovate/{{depName}}-{{newVersionMajor}}.x diff --git a/lib/config/templates/commit-message.hbs b/lib/config/templates/commit-message.hbs new file mode 100644 index 0000000000000000000000000000000000000000..2128aff862892443f6849f02d8d4a2699b2e7e44 --- /dev/null +++ b/lib/config/templates/commit-message.hbs @@ -0,0 +1 @@ +Update dependency {{depName}} to version {{newVersion}} diff --git a/lib/config/templates/group-branch-name.hbs b/lib/config/templates/group-branch-name.hbs new file mode 100644 index 0000000000000000000000000000000000000000..9b288fa914f2ed9a60ebe475c07fdd264b4e050f --- /dev/null +++ b/lib/config/templates/group-branch-name.hbs @@ -0,0 +1 @@ +renovate/{{groupSlug}} diff --git a/lib/config/templates/group-commit-message.hbs b/lib/config/templates/group-commit-message.hbs new file mode 100644 index 0000000000000000000000000000000000000000..468a723413b038b75b7f0f0961c0126e5b69cec4 --- /dev/null +++ b/lib/config/templates/group-commit-message.hbs @@ -0,0 +1 @@ +Renovate {{groupName}} packages diff --git a/lib/config/templates/group-pr-body.hbs b/lib/config/templates/group-pr-body.hbs new file mode 100644 index 0000000000000000000000000000000000000000..80f03083c5bf668b79f2d3b5c19a231b932a02a6 --- /dev/null +++ b/lib/config/templates/group-pr-body.hbs @@ -0,0 +1 @@ +This PR renovates the package group "{{groupName}}". diff --git a/lib/config/templates/group-pr-title.hbs b/lib/config/templates/group-pr-title.hbs new file mode 100644 index 0000000000000000000000000000000000000000..468a723413b038b75b7f0f0961c0126e5b69cec4 --- /dev/null +++ b/lib/config/templates/group-pr-title.hbs @@ -0,0 +1 @@ +Renovate {{groupName}} packages diff --git a/lib/config/templates/pr-body.hbs b/lib/config/templates/pr-body.hbs new file mode 100644 index 0000000000000000000000000000000000000000..7d4a3e29713bb1f5403e00741c352855bf6df6c6 --- /dev/null +++ b/lib/config/templates/pr-body.hbs @@ -0,0 +1,3 @@ +This Pull Request updates dependency {{depName}} from version `{{currentVersion}}` to `{{newVersion}}` + +{{changelog}} diff --git a/lib/config/templates/pr-title.hbs b/lib/config/templates/pr-title.hbs new file mode 100644 index 0000000000000000000000000000000000000000..7b6f9ef2d7a5ec6255ea8d12303be3e8a8d0d3ec --- /dev/null +++ b/lib/config/templates/pr-title.hbs @@ -0,0 +1 @@ +{{#if isPin}}Pin{{else}}Update{{/if}} dependency {{depName}} to version {{#if isRange}}{{newVersion}}{{else}}{{#if isMajor}}{{newVersionMajor}}.x{{else}}{{newVersion}}{{/if}}{{/if}} diff --git a/test/helpers/npm.spec.js b/test/helpers/npm.spec.js index 6ee4476ed3141a4afae86f0d57ddf2d335f9ec85..7a71e2dc823bbd3c59d90db353ad99afb386eb23 100644 --- a/test/helpers/npm.spec.js +++ b/test/helpers/npm.spec.js @@ -1,5 +1,4 @@ const npmHelper = require('../../lib/helpers/npm'); -const defaultConfig = require('../../lib/config/defaults').getConfig(); jest.mock('fs'); jest.mock('child_process'); @@ -57,7 +56,7 @@ describe('getLockFile(packageJson, config)', () => { describe('maintainLockFile(inputConfig)', () => { let config; beforeEach(() => { - config = Object.assign({}, defaultConfig); + config = {}; config.packageFile = 'package.json'; config.api = { getFileContent: jest.fn(), diff --git a/test/helpers/yarn.spec.js b/test/helpers/yarn.spec.js index 7856efacf00f6ae4966392eb555ee021fd7c7d26..8ba85f918caad1b174188ca83418cebe7d8211ef 100644 --- a/test/helpers/yarn.spec.js +++ b/test/helpers/yarn.spec.js @@ -1,5 +1,4 @@ const yarnHelper = require('../../lib/helpers/yarn'); -const defaultConfig = require('../../lib/config/defaults').getConfig(); jest.mock('fs'); jest.mock('child_process'); @@ -60,7 +59,7 @@ describe('getLockFile(packageJson, config)', () => { describe('maintainLockFile(inputConfig)', () => { let config; beforeEach(() => { - config = Object.assign({}, defaultConfig); + config = {}; config.packageFile = 'package.json'; config.api = { getFileContent: jest.fn(),