From 24e5240be3a96dfbe8caa4267e7d1624601ac567 Mon Sep 17 00:00:00 2001 From: tunnckoCore Date: Thu, 10 Aug 2017 10:31:29 +0300 Subject: [PATCH] fix(tasks): add renovate task, and run it run renovate task on postinstall and in precommit TAG: latest --- .renovaterc.json | 39 +++++++++++++++++++++++++++++++++++++++ package-lock.json | 6 +++--- package.json | 42 ++---------------------------------------- renovate.json | 39 +++++++++++++++++++++++++++++++++++++++ tasks/precommit.js | 2 +- tasks/renovate.js | 37 +++++++++++++++++++++++++++++++++++++ 6 files changed, 121 insertions(+), 44 deletions(-) create mode 100644 .renovaterc.json create mode 100644 renovate.json create mode 100644 tasks/renovate.js diff --git a/.renovaterc.json b/.renovaterc.json new file mode 100644 index 0000000..8e34972 --- /dev/null +++ b/.renovaterc.json @@ -0,0 +1,39 @@ +{ + "enabled": true, + "pinVersions": true, + "rebaseStalePrs": true, + "semanticCommits": true, + "unpublishSafe": false, + "labels": [ + "deps", + "renovate" + ], + "prCreation": "not-pending", + "depTypes": [ + { + "depType": "dependencies", + "semanticPrefix": "fix(renovate/deps): ", + "automerge": "minor", + "automergeType": "pr", + "assignees": [ + "charlike" + ] + }, + { + "depType": "devDependencies", + "semanticPrefix": "chore(renovate/devDeps): ", + "automerge": "any", + "automergeType": "branch-push" + } + ], + "packageRules": [ + { + "packageNames": [ + "semantic-release" + ], + "automerge": "minor", + "automergeType": "pr", + "pinVersions": false + } + ] +} diff --git a/package-lock.json b/package-lock.json index b0e1e9a..37b6e19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1065,9 +1065,9 @@ } }, "eslint-config-standard-tunnckocore": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-tunnckocore/-/eslint-config-standard-tunnckocore-0.1.0.tgz", - "integrity": "sha512-quv+WFSXXbE51UDN/giwTyfYtl30/TolDmAbDYXUtthVtNRW8ifV7jQAvwlvwDnP69WYBiRd2jsBChB0wI194A==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-tunnckocore/-/eslint-config-standard-tunnckocore-1.0.0.tgz", + "integrity": "sha512-f7DwqNmAsdeTPkl8rzhNMBVjgY2lQz886KyjF58q7mr9vpTRzgNtH/3NzEtPxNJLgARlB1uwWVOeLi2fgZ6Skw==", "dev": true, "requires": { "eslint-config-standard": "10.2.1", diff --git a/package.json b/package.json index 483a9e9..48ec507 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "precommit": "./cli.js precommit", "commit": "./cli.js commit", "postcommit": "git push", - "semantic-release": "./cli.js release" + "semantic-release": "./cli.js release", + "postinstall": "./cli.js renovate" }, "bin": { "hela": "./cli.js" @@ -73,45 +74,6 @@ "branches": 0, "lines": 0 }, - "renovate": { - "enabled": true, - "pinVersions": true, - "rebaseStalePrs": true, - "semanticCommits": true, - "unpublishSafe": false, - "labels": [ - "deps", - "renovate" - ], - "prCreation": "not-pending", - "depTypes": [ - { - "depType": "dependencies", - "semanticPrefix": "fix(renovate/deps): ", - "automerge": "minor", - "automergeType": "pr", - "assignees": [ - "charlike" - ] - }, - { - "depType": "devDependencies", - "semanticPrefix": "chore(renovate/devDeps): ", - "automerge": "any", - "automergeType": "branch-push" - } - ], - "packageRules": [ - { - "packageNames": [ - "semantic-release" - ], - "automerge": "minor", - "automergeType": "pr", - "pinVersions": false - } - ] - }, "verb": { "run": true, "toc": { diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..1ea5628 --- /dev/null +++ b/renovate.json @@ -0,0 +1,39 @@ +{ + "enabled": true, + "pinVersions": true, + "rebaseStalePrs": true, + "semanticCommits": true, + "unpublishSafe": false, + "labels": [ + "deps", + "renovate" + ], + "prCreation": "not-pending", + "depTypes": [ + { + "depType": "dependencies", + "semanticPrefix": "fix(renovate/deps): ", + "automerge": "minor", + "automergeType": "pr", + "assignees": [ + "charlike" + ] + }, + { + "depType": "devDependencies", + "semanticPrefix": "chore(renovate/devDeps): ", + "automerge": "any", + "automergeType": "branch-push" + } + ], + "packageRules": [ + { + "packageNames": [ + "semantic-release" + ], + "automerge": "minor", + "automergeType": "pr", + "pinVersions": false + } + ] +} \ No newline at end of file diff --git a/tasks/precommit.js b/tasks/precommit.js index e145aca..8bf8ed7 100644 --- a/tasks/precommit.js +++ b/tasks/precommit.js @@ -9,5 +9,5 @@ const f = require('fs') module.exports = ({ shell }) => { console.log('Running `precommit` command...') - shell(['npm run lint', 'npm test', 'git add --all']) + shell(['npm run lint', 'npm test', 'npm run postinstall', 'git add --all']) } diff --git a/tasks/renovate.js b/tasks/renovate.js new file mode 100644 index 0000000..d4843a9 --- /dev/null +++ b/tasks/renovate.js @@ -0,0 +1,37 @@ +/*! + * hela + * + * Copyright (c) 2017 Charlike Mike Reagent (https://i.am.charlike.online) + * Released under the MIT license. + */ + +const fs = require('fs') +const path = require('path') + +const readFile = (fp) => + new Promise((resolve, reject) => { + fs.readFile(fp, 'utf8', (er, res) => { + if (er) return reject(er) + resolve(res) + }) + }) + +const writeFile = (fp, data) => + new Promise((resolve, reject) => { + fs.writeFile(path.join(process.cwd(), fp), data, (er, res) => { + if (er) return reject(er) + resolve(res) + }) + }) + +module.exports = ({ app }) => { + console.log('Updating Renovate App config...') + const helaFolder = path.dirname(__dirname) + const localConfig = path.join(helaFolder, '.renovaterc.json') + + const writeRenovate = (config) => + writeFile('renovate.json', JSON.stringify(config, null, 2)) + + readFile(localConfig).then(JSON.parse).then(writeRenovate) + // shell('simple-commit-message') +}