2020-02-13 11:19:17 -07:00

31 lines
1.1 KiB
JavaScript

const core = require('@actions/core')
// const github = require('@actions/github')
const Neocities = require('async-neocities')
const path = require('path')
const prettyTime = require('pretty-time')
const assert = require('nanoassert')
async function doDeploy () {
const token = core.getInput('apiToken')
const distDir = path.join(process.cwd(), core.getInput('distDir'))
const cleanup = JSON.parse(core.getInput('cleanup'))
assert(typeof cleanup === 'boolean', 'Cleanup input must be a boolean "true" or "false"')
console.log(typeof cleanup)
const client = new Neocities(token)
const stats = await core.group('Deploying to neocities', client.deploy(distDir, {
cleanup,
statsCb: Neocities.statsHandler()
}))
console.log(`Deployed to Neocities in ${prettyTime([0, stats.time])}:`)
console.log(` Uploaded ${stats.filesToUpload.length} files`)
console.log(` ${cleanup ? 'Deleted' : 'Orphaned'} ${stats.filesToDelete.length} files`)
console.log(` Skipped ${stats.filesSkipped.length} files`)
}
doDeploy().catch(err => {
core.setFailed(err.message)
})