UNPKG

gmail-send

Version:

Minimalistic module to send emails using GMail

212 lines (194 loc) 8.61 kB
//const npsUtils = require('nps-utils'); const { series, concurrent, rimraf } = require('nps-utils'); const handleResult = (prefix, successMsg, errorMsg, failOnError) => `rc=$?;` + `if [ $rc -eq 0 ]; ` + ` then ( echo "\n* SUCCESS: ${prefix} ${successMsg}\n"; exit 0; ) ` + ` else ( echo "\n* ERROR: ${prefix} ${errorMsg}\n"; exit ${failOnError ? 1 : 0}; ) ` + `fi `; module.exports = { scripts: { ttt: 'eee || echo 1 && echo 2', audit: { default: concurrent.nps('audit.all', 'audit.prod'), all: 'echo "* Checking dev/prod packages for any vulnerabilities...";' + 'npm audit;' + handleResult( 'for dev/prod configuration npm audit reported', 'no vulnerabilities', 'some vulnerabilities. Please check messages above.', false, ), //'rc=$?; if [ $rc -eq 0 ]; ' + // ' then ( echo "\n* SUCCESS: npm audit reported no vulnerabilities in dev/prod configuration\n"; exit 0; )' + //' else ( echo "\n* WARNING: npm audit reported some vulnerabilities in dev/prod configuration. Please check // messages above\n"; exit 0; ) ' + 'fi ', prod: 'echo "* Checking prod packages for high-level vulnerabilities...";' + 'npm audit --production --audit-level high ; ' + handleResult( 'for prod configuration npm audit reported', 'no high-level vulnerabilities', 'high-level vulnerabilities', true, ), //'rc=$?; if [ $rc -eq 0 ]; ' + //' then ( echo "\n* SUCCESS: npm audit reported no high-level vulnerabilities in prod configuration\n"; exit 0; // )' + ' else ( echo "\n* ERROR: npm audit reported high-level vulnerabilities in prod configuration\n"; exit 1; // ) ' + 'fi ', }, deps: { update: 'echo \'* Updating packages versions... \';' + ' npm-check-updates -u --upgradeAll --error-level 1 &&' + ' npm install', updateDeps: 'nps check && nps deps.update && git commit -am \'updated deps\'"', check: 'ncu' + ' --error-level 2' + ' --packageFile package.json', // fix for // https://github.com/tjunnone/npm-check-updates/issues/136#issuecomment-155721102 }, test: { //default: npsUtils.concurrent.nps( // 'test.pretest' //), default: series.nps( 'test.pre', 'test.disabled', //'test.post', ), pre: { lint: 'eslint -f unix .', inspect: 'jsinspect --ignore \'coverage|test\'', //pretest: "nps test.lint && nps test.inspect && nps audit && npm run _deps-check", default: concurrent.nps( 'test.pre.lint', 'test.pre.inspect', 'audit', 'deps.check', ), }, //test: "echo \"Warning: no test specified; imitating clean result...\" && exit 0", disabled: { default: 'nps test.disabled.warn', warn: 'echo "* WARNING: no test specified; imitating clean result..." && exit 0', error: 'echo "* ERROR: no test specified; imitating clean result..." && exit 1', }, run: { mocha: 'nyc ./node_modules/mocha/bin/_mocha -- -R spec ./test/**/*', report: 'nyc report --reporter=html && nyc report --reporter=text-lcov > coverage/coverage.lcov', coveralls: 'cat ./coverage/coverage.lcov | ./node_modules/coveralls/bin/coveralls.js', default: series.nps('test.run.test', 'test.run.report', 'test.run.coveralls'), }, //post: { //default: series.nps( //), //}, }, git: { commit: 'git commit -am "commit by \'git.commit\'"', push: 'git push --follow-tags', commitAndPush: 'nps git.commit && nps test && nps git.push"', checkClean: 'echo \'* Checking if git directory is clean... \'; ' + 'bash -c \'' + ' [[ -z $(git status -uno --porcelain) ]]; ' + //' rc=$?; if [ $rc -eq 0 ]; ' + //' then echo "* SUCCESS: git directory is clean"; exit $rc; ' + //' else echo "* ERROR: git directory is not clean"; exit $rc; ' + //' fi ' + handleResult( 'git directory', 'is clean', 'is not clean', true, ) + '\' ', }, publish: { public: 'npm publish --access public', private: 'npm publish --access private', }, release: { //version: series( // 'echo "release.version: start"', // "echo [$0 $1 $2 $3]", // //(...args) => { console.log('args:', args); return "echo OK"; }, // //"npm version $0", // //"git commit -am 'npm version $0'", // //"nps publish.public", //), version: { "patch": series( "npm version patch", "git commit --allow-empty -am 'npm version patch'", "nps publish.public", ), "minor": series( "npm version minor", "git commit --allow-empty -am 'npm version minor' ", "nps publish.public", ), "major": series( "npm version major", "git commit --allow-empty -am 'npm version major'", "nps publish.public", ), }, xxx: 'rr=', //xxx: (...args) => { console.log('args:', args); return "dummy"; }, //patch: series.nps('test', '"release.version patch"', 'git.push',), //ttt: series('nps test', 'nps "release.xxx patch"', 'nps git.push',), //ttt: 'nps test && nps "release.xxx patch" && nps git.push', //ttt: 'nps "release.xxx patch"', patch: series.nps('test', 'release.version.patch', 'git.push',), minor: series.nps('test', 'release.version.minor', 'git.push',), major: series.nps('test', 'release.version.major', 'git.push',), }, // https://docs.travis-ci.com/user/job-lifecycle/ travis: { before_install: '', //install: '', before_script: '', script: 'nps test', //before_cache: '', //after_success: '', //after_failure: '', //before_deploy: '', //deploy: '', //after_deploy: '', after_script: 'nps test.coveralls' }, dummy: 'echo "dummy"', }, options: { silent: false, logLevel: 'info' } }; /* "_npm-audit": "npm audit || echo '\n*** Please check warnings above ***\n' && npm audit --production --audit-level high && echo '\n*** npm audit reported no high-level vulnerabilities for production configuration ***\n' ", "_deps-check": "npm-check-updates --error-level 2", "_deps-update": "echo '* Updating packages versions... '; npm-check-updates -u --upgradeAll --error-level 1 && npm install", "_check-changes": "echo '* Checking if git directory is clean... '; bash -c '[[ -z $(git status -uno --porcelain) ]]'", "update-deps": "npm run _check-changes && npm run _deps-update && git commit -am 'updated deps'", "lint": "eslint -f unix .", "inspect": "jsinspect --ignore 'coverage|test'", "pretest": "npm run lint && npm run inspect && npm run _npm-audit && npm run _deps-check", "_test": "echo \"Warning: no test specified\" && exit 0", "test": "echo \"Warning: no test specified; imitating clean result....\" && exit 0", "_commit": "git commit -am \"commit by 'npm run commit'\"", "_push": "git push --follow-tags", "commit-and-push": "npm run _commit && npm test && npm run _push", "_publish": "npm publish --access public", "_patch-release": "npm version patch && git commit -am 'npm version patch' && npm run _publish", "_minor-release": "npm version minor && git commit -am 'npm version minor' && npm run _publish", "_major-release": "npm version major && git commit -am 'npm version major' && npm run _publish", "patch-release": "npm test && npm run _patch-release && npm run _push", "minor-release": "npm test && npm run _minor-release && npm run _push", "__major-release": "npm test && npm run _major-release && npm run _push", "_coveralls": "cat ./coverage/coverage.lcov | ./node_modules/coveralls/bin/coveralls.js", "__travis-before-install": "", "__travis-before-script": "", "__travis-script": "npm run test", "__travis-after-script": "npm run _coveralls" */