UNPKG

1.16 kBJavaScriptView Raw
1import path from "path";
2import fs from "fs";
3import { readJson, runCommands } from "node-pearls";
4
5export default async function(options){
6 var currentDir = process.cwd();
7 if(options.dir){
8 currentDir = path.join(currentDir, options.dir);
9 }
10
11 const packageJsonFile = path.join(currentDir, "package.json");
12 const packageJson = readJson.sync(packageJsonFile);
13 packageJson.version = options.version || (function(versions){
14 versions[versions.length - 1] = +versions[versions.length - 1] + 1;
15 return versions.join(".");
16 })(packageJson.version.split("."));
17 fs.writeFileSync(packageJsonFile, JSON.stringify(packageJson, null, " "));
18
19 const tag = options.dir ? `${packageJson.name}@${packageJson.version}` : packageJson.version;
20
21 await runCommands(`
22 npm publish --registry https://registry.npmjs.org/
23 git add .
24 git commit -m "${tag}"
25 git push
26 `, {
27 cwd: currentDir
28 });
29
30 if(!options.dir){
31 await runCommands(`
32 git tag -a ${tag} -m '${tag}'
33 git push origin ${tag}
34 `, {
35 cwd: currentDir
36 });
37 }
38}
\No newline at end of file