UNPKG

@oceans/cli

Version:

work for oceans

61 lines (48 loc) 1.54 kB
const fs = require('fs') const path = require('path') const util = require('util') const compressing = require('compressing') const readFile = util.promisify(fs.readFile) const { auth } = require('../common/api') const Account = require('../model/account') module.exports = async () => { const projectPath = process.cwd() const packageJson = path.join(projectPath, 'package.json') if (!fs.existsSync(packageJson)) { console.log('package.json is not exist') return false } let packageJsonContent = await readFile(packageJson) packageJsonContent = JSON.parse(packageJsonContent) const version = packageJsonContent.version if (!version) { console.log('package.json version field is not exist') return false } const buildDirPath = path.join(projectPath, 'build') if (!fs.existsSync(buildDirPath)) { console.log('build folder is not exist. run `npm run build` first') return false } const releasePath = path.join(projectPath, '.release') if (!fs.existsSync(releasePath)) { fs.mkdirSync(releasePath) } const zipPath = path.join(releasePath, version + '.zip') if (fs.existsSync(zipPath)) { fs.unlinkSync(zipPath) } try { await compressing.zip.compressDir(buildDirPath, zipPath) const account = new Account() const doc = account.findTheLastActiveAccount() if (!doc) { console.log('token is invalid, login please') return false } console.log('verif') await auth(doc.token) } catch (e) { console.log('error ==>', e) } }