From e011d95e86c288e92d22321c204ad2fd43b1c9b0 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 27 Feb 2018 17:19:12 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20don=E2=80=99t=20resolve=20empty=20meteor?= =?UTF-8?q?=20package.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactors meteor to have a resolve function that detects/filters out empty files (like for other managers). --- lib/manager/meteor/resolve.js | 18 ++++++++++++++++++ lib/manager/resolve.js | 3 ++- .../manager/__snapshots__/resolve.spec.js.snap | 1 + test/manager/resolve.spec.js | 4 +++- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 lib/manager/meteor/resolve.js diff --git a/lib/manager/meteor/resolve.js b/lib/manager/meteor/resolve.js new file mode 100644 index 0000000000..e44ae381f0 --- /dev/null +++ b/lib/manager/meteor/resolve.js @@ -0,0 +1,18 @@ +const configParser = require('../../config'); + +module.exports = { + resolvePackageFile, +}; + +async function resolvePackageFile(config, inputFile) { + const packageFile = configParser.mergeChildConfig(config.meteor, inputFile); + logger.debug( + `Resolving packageFile ${JSON.stringify(packageFile.packageFile)}` + ); + packageFile.content = await platform.getFile(packageFile.packageFile); + if (!packageFile.content) { + logger.debug('No packageFile content'); + return null; + } + return packageFile; +} diff --git a/lib/manager/resolve.js b/lib/manager/resolve.js index 5254fc20e9..9f23a0c0c1 100644 --- a/lib/manager/resolve.js +++ b/lib/manager/resolve.js @@ -4,6 +4,7 @@ const minimatch = require('minimatch'); const manager = require('./index'); const dockerResolve = require('../manager/docker/resolve'); +const meteorResolve = require('../manager/meteor/resolve'); const nodeResolve = require('../manager/node/resolve'); const bazelResolve = require('../manager/bazel/resolve'); const { mergeChildConfig } = require('../config'); @@ -146,7 +147,7 @@ async function resolvePackageFiles(config) { packageFile.currentPackageJsonVersion = packageFile.content.version; return mergeChildConfig(config.npm, packageFile); } else if (packageFile.manager === 'meteor') { - return mergeChildConfig(config.meteor, packageFile); + return meteorResolve.resolvePackageFile(config, packageFile); } else if (packageFile.manager === 'docker') { return dockerResolve.resolvePackageFile(config, packageFile); } else if (packageFile.manager === 'node') { diff --git a/test/manager/__snapshots__/resolve.spec.js.snap b/test/manager/__snapshots__/resolve.spec.js.snap index 39b85e321f..ebc8eabe8b 100644 --- a/test/manager/__snapshots__/resolve.spec.js.snap +++ b/test/manager/__snapshots__/resolve.spec.js.snap @@ -45,6 +45,7 @@ Array [ exports[`manager/resolve resolvePackageFiles() detects meteor and docker and travis and bazel 1`] = ` Array [ Object { + "content": "{}", "enabled": true, "manager": "meteor", "packageFile": "package.js", diff --git a/test/manager/resolve.spec.js b/test/manager/resolve.spec.js index 028aa28e55..32d1f8b85b 100644 --- a/test/manager/resolve.spec.js +++ b/test/manager/resolve.spec.js @@ -97,7 +97,8 @@ describe('manager/resolve', () => { '.travis.yml', 'WORKSPACE', ]; - platform.getFile.mockReturnValueOnce('# comment\nFROM node:8\n'); // Dockerfile.js + platform.getFile.mockReturnValueOnce('{}'); // package.js + platform.getFile.mockReturnValueOnce('# comment\nFROM node:8\n'); // Dockerfile platform.getFile.mockReturnValueOnce('hello: world\n'); // Dockerfile platform.getFile.mockReturnValueOnce('# travis'); // .travis.yml platform.getFile.mockReturnValueOnce('# WORKSPACE'); // Dockerfile @@ -110,6 +111,7 @@ describe('manager/resolve', () => { 'other/Dockerfile', '.travis.yml', 'WORKSPACE', + 'package.js', ]; platform.getFile.mockReturnValueOnce('# comment\n'); // Dockerfile const res = await resolvePackageFiles(config); -- GitLab