github-pages-deploy-action/node_modules/eslint-plugin-github/bin/npm-check-github-package-requirements.js

45 lines
1.0 KiB
JavaScript
Raw Normal View History

2020-03-31 20:42:07 +08:00
#!/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()