From d4916d43d935b5b56e737b8f939edaa2474b78f8 Mon Sep 17 00:00:00 2001 From: Joao Paulo Date: Tue, 26 Sep 2017 10:12:30 -0300 Subject: [PATCH] =?UTF-8?q?melhorias=20de=20build,=20script=20de=20build?= =?UTF-8?q?=20com=20commander=20para=20melhor=20automatiza=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 ++-- .gitignore | 1 + .travis.yml | 4 ++-- build | 52 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 17 ++++------------ package.json | 3 ++- yarn.lock | 2 +- 7 files changed, 64 insertions(+), 19 deletions(-) create mode 100755 build diff --git a/.env b/.env index dfd2c4e..c2c2b72 100644 --- a/.env +++ b/.env @@ -1,9 +1,9 @@ NODE_ENV=development -PORT=3000 +PORT=3003 DB_HOST=localhost DB_VENDOR=postgres DB_SCHEMA=API DB_NAME=mydb -DB_USER=joaopaulo +DB_USER=jpts DB_PASS=postgres \ No newline at end of file diff --git a/.gitignore b/.gitignore index badc840..0b0f51f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules coverage # variaveis de produção +.env *.log diff --git a/.travis.yml b/.travis.yml index 5ff323f..fca4ad9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,8 +8,8 @@ before_install: install: yarn install script: - - yarn run test-integration-jest - - yarn run production + - ./build -t + - ./build -p services: - mongodb \ No newline at end of file diff --git a/build b/build new file mode 100755 index 0000000..7169296 --- /dev/null +++ b/build @@ -0,0 +1,52 @@ +#!/usr/bin/env node +const { exec } = require('child_process') +const program = require("commander"); +program + .version(require('./package.json').version) + .option('-p, --production', 'Build de produção') + .option('-d, --development', 'Build de desenvolvimento') + .option('-t, --test', 'Roda os testes') + .parse(process.argv); + +if(program.production){ + exec('cp .env.example .env') + const npm = exec('yarn run production') + npm.stdout.on('data', data=>{ + console.log(data.toString()) + }) + npm.stderr.on('data', data=>{ + console.log(data.toString()) + }) + npm.on('close', code=>{ + console.log(code.toString()) + }) + +} +if(program.development){ + exec('cp .env.example .env') + const npm = exec('yarn run dev') + npm.stdout.on('data', data=>{ + console.log(data.toString()) + }) + npm.stderr.on('data', data=>{ + console.log(data.toString()) + }) + npm.on('close', code=>{ + console.log(code.toString()) + }) +} +if(program.test){ + //copia as varias que voce quer para serem executadas + exec('cp .env.example .env') + const npm = exec('yarn run test-integration-jest') + npm.stdout.on('data', data=>{ + console.log(data.toString()) + }) + npm.stderr.on('data', data=>{ + console.log(data.toString()) + }) + npm.on('close', code=>{ + console.log(code.toString()) + }) + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e9f28ba..45ed5a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -967,12 +967,9 @@ } }, "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": "1.0.1" - } + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" }, "component-emitter": { "version": "1.2.1", @@ -1451,7 +1448,7 @@ "integrity": "sha512-WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==", "requires": { "bluebird": "3.5.0", - "commander": "2.9.0", + "commander": "2.11.0", "lru-cache": "3.2.0", "semver": "5.4.1", "sigmund": "1.0.1" @@ -2310,11 +2307,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, "growl": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", @@ -4042,7 +4034,6 @@ "dev": true, "requires": { "browser-stdout": "1.3.0", - "commander": "2.9.0", "debug": "2.6.8", "diff": "3.2.0", "escape-string-regexp": "1.0.5", diff --git a/package.json b/package.json index 86e6fdb..ce6b961 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "lint": "eslint **/**/*.js ", "lint:fix": "eslint **/**/*.js --fix --ignore-path .gitignore", "test": "cross-env NODE_ENV=test jest", - "test-integration-jest": "cross-env NODE_ENV=test jest", + "test-integration-jest": "cross-env NODE_ENV=test jest --forceExit", "test-coverage": "cross-env NODE_ENV=test istanbul cover jest", "test-integration:mocha": "cross-env NODE_ENV=test mocha --opts ./src/api/tests/integration/mocha.opts ./src/api/tests/integration/**/*.js" }, @@ -46,6 +46,7 @@ }, "devDependencies": { "chai": "^4.1.1", + "commander": "^2.11.0", "eslint": "^4.3.0", "eslint-config-airbnb": "^15.1.0", "eslint-plugin-chai-expect": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 2945f8e..9341eff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -788,7 +788,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.11.0, commander@^2.9.0: +commander@2.11.0, commander@^2.11.0, commander@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"