async getNodeVersion({ files, clean = false }) {

    // Declare response
    let response = [];

    // For each file
    for (const file of files) {
      // Get node version
      const contentString = await fs.readFile(file, 'utf-8');
      try {
        const contentJson = JSON.parse(contentString);
        const version = ((contentJson || {}).engines || {}).node;

        // Add response
        response.push({
          file: file,
          nodeVersion: version
        });
      } catch(e) {
        // eslint-disable-next-line no-console
        console.log(`Ignoring file because it is not valid JSON: ${file}`);
        core.warning(`Ignoring file because it is not valid JSON: ${file}`);
      }
    }

    // If results should be cleaned by removing undefined node versions
    if (clean) {
      response = response.filter(r => r.nodeVersion !== undefined);
    }
    return response;
  }
Extracts and returns the node engine versions of the given package.json
files.
@param {String[]} files The package.json files.
@param {Boolean} clean Is true if packages with undefined node versions
should be removed from the results.
@returns {Object[]} A list of results.