-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathgulpfile.js
44 lines (39 loc) · 1.53 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const gulp = require("gulp");
const ts = require("gulp-typescript");
const sourcemaps = require('gulp-sourcemaps');
const tsProject = ts.createProject("tsconfig.json");
const fs = require("fs-extra");
gulp.task("compile", function() {
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject())
.js
.pipe(sourcemaps.write())
.pipe(gulp.dest("dist/blockchain-sdk"));
});
// 其他需要拷贝到dist目录的非代码文件,可以在这里加,调用npm run build会拷贝到dist
gulp.task("res", () => {
[
gulp.src(["./src/**/*.sql", "./src/**/*.js", "./src/**/*.d.ts", "./src/**/*.json"])
.pipe(gulp.dest("./dist/blockchain-sdk/src")),
gulp.src(["./test/**/*.sql", "./test/**/*.js", "./test/**/*.d.ts", "./test/**/*.json"])
.pipe(gulp.dest("./dist/blockchain-sdk/src")),
gulp.src(["./demo/**/*.json"])
.pipe(gulp.dest("./dist/blockchain-sdk/demo")),
];
});
gulp.task("build", ["compile", "res"]);
gulp.task("_publish", () => {
let pkg = fs.readJSONSync("./package.json");
pkg.main = "./src/client/index.js";
pkg.types = "./src/client/index.d.ts";
delete pkg.scripts;
pkg.bin = {
"chain_host": "./src/tool/host.js",
"address_tool": "./src/tool/address.js",
"chain_debuger": "./src/tool/debuger.js",
};
fs.ensureDirSync("./dist/blockchain-sdk/src/");
fs.writeJSONSync("./dist/blockchain-sdk/package.json", pkg, {spaces: 4, flag: "w"});
});
gulp.task("publish", ["build", "_publish"]);