UNPKG

npm-pkg-kit

Version:

CLI tool to simplify NPM package creation by generating boilerplate setup

54 lines (53 loc) 1.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.gen = exports.npm = void 0; const path_1 = require("path"); const shelljs_1 = require("shelljs"); const git_1 = __importDefault(require("../cmd/opt/git")); const ignore_1 = __importDefault(require("../cmd/tpl/npm/ignore")); const files_1 = require("./files"); const base = process.cwd(); const prettier = { semi: false, singleQuote: true, trailingComma: 'all', }; function npm(dir) { const init = `cd ${dir} && npm init -y && npm i -D husky npm-run-all shx prettier`; shelljs_1.exec(init); files_1.writeContent(dir, '.npmignore', ignore_1.default); const pack = files_1.readJSON(dir, 'package.json'); delete pack.scripts.test; pack.version = '0.0.0'; pack.husky = { hooks: { 'pre-commit': 'npm run lint && git add .', }, }; Object.assign(pack.scripts, { clean: 'shx rm -rf dist', major: 'npm version major && npm run push', minor: 'npm version minor && npm run push', patch: 'npm version patch && npm run push', prepare: 'npm run dist', push: 'git push && git push --tags', }); delete pack.main; files_1.writeJSON(dir, '.prettierrc.json', prettier, 2); files_1.writeJSON(dir, 'package.json', pack, 2); } exports.npm = npm; function gen(name) { const dir = path_1.join(base, name); if (name !== '.' && name !== './') { shelljs_1.rm('-rf', dir); shelljs_1.mkdir('-p', dir); } git_1.default(dir); npm(dir); return dir; } exports.gen = gen;