make-pesto
Version:
Pesto is a command-line tool to assist in creating Node.js packages. 🔪🌿
1 lines • 2.23 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"preparePackageJson",{enumerable:true,get:function(){return preparePackageJson}});const _fs=require("fs");const _path=_interop_require_default(require("path"));const _constants=require("../constants");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function preparePackageJson(projectName,projectPath,isTs){const packageJson={name:projectName,description:"My node package!",version:"0.1.0",main:"dist/index.js",files:["dist/*"],license:"MIT",devDependencies:_object_spread({},_constants.dependencies.basicDevDependencies),scripts:{start:"node src/index.js",dev:"nodemon src/index.js",prepare:"husky",format:"prettier --config .prettierrc 'src/**/*.js' --write",lint:"eslint --quiet --fix"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --quiet --fix"],"*.{json,js,ts,jsx,tsx,html}":["prettier --config .prettierrc 'src/**/*.ts' --write"]}};if(isTs){packageJson.devDependencies=_object_spread({},_constants.dependencies.tsDevDependencies);packageJson.types="dist/index.d.ts";packageJson.scripts={"copy:definitions":'copyfiles -u 1 "src/**/*.d.ts" dist',dev:"ts-node src/index.ts",start:"node ./dist/index.js",clean:"rm -rf ./dist",build:"npm run clean && tsc --declaration && npm run copy:definitions",prepare:"husky",format:"prettier --config .prettierrc 'src/**/*.ts' --write",lint:"eslint --quiet --fix"}}try{const fullPath=_path.default.resolve(projectPath,"package.json");(0,_fs.writeFileSync)(fullPath,JSON.stringify(packageJson,null,2));return fullPath}catch(err){throw new Error(err)}}