#!/usr/bin/env node const fs = require('fs') const path = require('path') const checks = [] function check(name, callback) { checks.push([checks.length + 1, name, callback]) } function run() { process.stdout.write(`1..${checks.length}\n`) checks.forEach(([count, name, callback]) => { Promise.resolve() .then(callback) .then(() => { process.stdout.write(`ok ${count} - ${name}\n`) }) .catch(error => { process.stdout.write(`not ok ${count} - ${name}\n ${error}\n`) }) }) } const packageRoot = process.argv[2] check('package.json exists', () => { const packageJsonPath = path.join(packageRoot, 'package.json') if (!fs.existsSync(packageJsonPath)) { throw new Error('package.json does not exist') } }) check('package.json license is set', () => { const packageJsonPath = path.join(packageRoot, 'package.json') const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')) if (!pkg.license) { throw new Error('license not set') } }) run()