2017-11-24 16:17:27 +00:00
|
|
|
#!/usr/bin/env node
|
2017-12-12 10:02:39 +00:00
|
|
|
|
2017-11-24 16:17:27 +00:00
|
|
|
const { readFileSync, writeFileSync } = require('fs-extra')
|
|
|
|
const { resolve } = require('path')
|
|
|
|
const { spawnSync } = require('child_process')
|
|
|
|
|
|
|
|
// paths
|
|
|
|
const packagePath = resolve(__dirname, '..', 'package.json')
|
|
|
|
|
|
|
|
// Read original contents of package.json
|
|
|
|
const originalPackage = readFileSync(packagePath, 'utf-8')
|
|
|
|
|
|
|
|
// Write to backup file
|
|
|
|
// writeFileSync(packagePath + '.backup', originalPackage)
|
|
|
|
|
|
|
|
// Parse package.json
|
|
|
|
const p = JSON.parse(originalPackage)
|
|
|
|
|
|
|
|
// Change package name
|
2018-01-08 16:52:56 +00:00
|
|
|
p.name = 'nuxt-edge'
|
2017-11-24 16:17:27 +00:00
|
|
|
|
|
|
|
// Get latest git commit id
|
|
|
|
const gitCommit = String(spawnSync('git', 'rev-parse --short HEAD'.split(' ')).stdout).trim()
|
|
|
|
|
2017-11-24 19:23:36 +00:00
|
|
|
// Version with latest git commit id
|
2018-01-08 16:52:56 +00:00
|
|
|
p.version = p.version.split('-')[0] + gitCommit
|
2017-11-24 16:17:27 +00:00
|
|
|
|
|
|
|
// Write package.json
|
|
|
|
writeFileSync(packagePath, JSON.stringify(p, null, 2) + '\r\n')
|
|
|
|
|
2018-01-08 16:52:56 +00:00
|
|
|
// Parse git branch to decide npm tag
|
|
|
|
let tag = String(spawnSync('git', 'rev-parse --abbrev-ref HEAD'.split(' ')).stdout).trim()
|
|
|
|
|
|
|
|
// dev ~> latest
|
|
|
|
if (tag === 'dev') {
|
|
|
|
tag = 'latest'
|
|
|
|
}
|
|
|
|
|
2017-11-24 16:17:27 +00:00
|
|
|
// Log
|
2018-01-08 16:52:56 +00:00
|
|
|
// eslint-disable-next-line no-console
|
|
|
|
console.log(`publishing ${p.name}@${p.version} with tag ${tag}`)
|
|
|
|
|
|
|
|
// Do publish
|
|
|
|
// eslint-disable-next-line no-console
|
|
|
|
console.log(String(spawnSync('npm', `publish --tag ${tag}`.split(' ')).stdout).trim())
|