You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/utils/publish.ts

47 lines
1.2 KiB

import fs = require("fs");
import rq = require("request-promise-native");
import path = require("path");
var GitRevisionPlugin = require('git-revision-webpack-plugin');
var gitRevisionPlugin = new GitRevisionPlugin();
export function getFiles(dir: string, files_: string[])
{
files_ = files_ || [];
let files = fs.readdirSync(dir);
for (let i in files)
{
let name = dir + '/' + files[i];
if (fs.statSync(name).isDirectory())
getFiles(name, files_);
else
files_.push(name);
}
return files_;
}
let dir = path.resolve("./dist");
let files = getFiles(dir, []).filter(f => path.extname(f) !== ".map");
let formData = {
BranchName: gitRevisionPlugin.branch(),
};
for (let f of files)
{
formData[f.substr(dir.length + 1)] = fs.createReadStream(f);
}
let url = `http://pi.xcad.me:3000/upload'`;
// let url = `http://127.0.0.1:3000/upload`;
rq.post({ url: url, formData: formData }, function optionalCallback(err, httpResponse, body)
{
if (err || body !== "ok")
return console.error('部署失败!', err);
6 years ago
else
{
console.info(`部署成功!`);
console.log(`https://pi.xcad.me/${formData.BranchName}`);
}
});