npm run build:new

This commit is contained in:
zuiidea
2017-07-31 17:28:03 +08:00
parent ecbd8bf51e
commit da1c52e82b
2 changed files with 80 additions and 6 deletions
+6 -6
View File
@@ -1,7 +1,7 @@
{
"private": true,
"name": "antd-admin",
"version": "4.3.0",
"version": "4.3.1",
"dependencies": {
"antd": "^2.11.2",
"axios": "^0.16.2",
@@ -12,6 +12,7 @@
"dva": "^1.2.0",
"dva-loading": "^0.2.0",
"ejs-loader": "^0.3.0",
"js-beautify": "^1.6.14",
"jsonp": "^0.2.1",
"less-vars-to-js": "^1.1.2",
"lodash": "^4.17.4",
@@ -50,13 +51,12 @@
"redbox-react": "^1.2.10",
"roadhog": "1.0.0-beta.7"
},
"pre-commit": [
"lint"
],
"pre-commit": ["lint"],
"scripts": {
"dev": "set BROWSER=none&&set HOST=0.0.0.0&&roadhog server",
"lint": "eslint --fix --ext .js src",
"build": "roadhog build",
"build:dll": "roadhog buildDll"
"build:dll": "roadhog buildDll",
"build:new": "node version && roadhog build"
}
}
}
+74
View File
@@ -0,0 +1,74 @@
const fs = require('fs')
const path = require('path')
const beautify = require('js-beautify').js_beautify
const config = require('./package.json')
const dist = path.join(`${__dirname}/dist`)
const maxVersion = 5
const writeVersion = () => new Promise((resolve, reject) => {
const { version } = config
const numbers = version.split('.')
numbers[2] = Number(numbers[2]) + 1
config.version = numbers.join('.')
fs.writeFile(path.join(__dirname, 'package.json'), beautify(JSON.stringify(config), { indent_size: 2 }), (err) => {
if (err) {
reject()
}
resolve()
console.log(`version: ${config.version}`)
})
})
const removeFolder = (folderPath) => {
let files = []
if (fs.existsSync(folderPath)) {
files = fs.readdirSync(folderPath)
files.forEach((file) => {
let curPath = `${folderPath}/${file}`
if (fs.statSync(curPath).isDirectory()) {
removeFolder(curPath)
} else {
fs.unlinkSync(curPath)
}
})
fs.rmdirSync(folderPath)
}
}
const start = async () => {
const files = fs.readdirSync(dist)
const promises = files.map(file => new Promise((resolve, reject) => {
fs.stat(`${dist}/${file}`, (err, stats) => {
if (err) {
reject()
} else {
resolve(!stats.isFile()
? file
: null)
}
})
}))
const result = await Promise.all(promises)
const folders = result.filter((item) => {
if (item) {
return item.split('.').length === 3
}
return false
}).sort((a, b) => {
return a < b
}).filter((item, index) => {
return index > (maxVersion - 1)
})
for (let item of folders) {
await removeFolder(`${dist}/${item}`)
}
await writeVersion()
}
start()