Comparing version 0.1.0 to 0.2.0
@@ -0,5 +1,10 @@ | ||
### 0.2.0 | ||
* Add checkstyle, coverage, dep, hint, nuke targets | ||
* Replace Cake with plain Makefile | ||
* Replace ghibli.sh with plain node * start|stop|restart|status | ||
### 0.1.0 | ||
* Replaced ShellScript + Make + Python with CoffeeScript + Cake | ||
* Replace ShellScript + Make + Python with CoffeeScript + Cake | ||
### 0.0.1 | ||
* Initial version | ||
* Initial version |
@@ -8,1 +8,2 @@ .DS_Store | ||
design | ||
run |
{ | ||
"name": "bob", | ||
"description": "A simplistic build script for Node.js libraries, also a deploy and startup script for Express apps.", | ||
"keywords": ["build", "deploy", "make", "cake"], | ||
"version": "0.1.0", | ||
"description": "A minimalistic build script for Node.js projects.", | ||
"keywords": ["build", "deploy", "make"], | ||
"version": "0.2.0", | ||
"homepage" : "http://github.com/cliffano/bob", | ||
@@ -11,6 +11,7 @@ "author": "Cliffano Subagio <blah@cliffano.com> (http://blog.cliffano.com)", | ||
"bugs": { "web": "http://github.com/cliffano/bob/issues" }, | ||
"directories": { "bin": "./bin" }, | ||
"dependencies": { "coffee-script": "1.1.1" }, | ||
"directories": { "bin": "./bin", "lib": "./lib" }, | ||
"dependencies": { }, | ||
"devDependencies": { "vows": "0.5.9" }, | ||
"engines": { "node": ">= 0.4.0" }, | ||
"licenses" : [{ "type" : "MIT", "url" : "http://github.com/cliffano/bob/raw/master/LICENSE" } ] | ||
} |
111
README.md
Bob | ||
--- | ||
A simplistic build script for Node.js libs, also a deploy and startup script for Express apps. | ||
A minimalistic build tool for Node.js projects. | ||
@@ -9,4 +9,3 @@ Overview | ||
Bob provides standard build targets (clean, lint, test, package, deploy, stop, | ||
start, status, restart) for projects following some standard conventions. | ||
Bob provides common build targets (clean, checkstyle, lint, test, coverage, package, deploy, stop, start, status, restart) for Node.js libs/apps. It essentially allows multiple projects to use the same Makefile stored in a global node_modules. | ||
@@ -21,3 +20,3 @@ Installation | ||
Bob reads package.json file, properties under "app" are optional. | ||
Bob reads package.json file, please note that each property under "bob" is *optional*. | ||
@@ -27,6 +26,26 @@ { | ||
"version": "0.0.1", | ||
"app": { | ||
"bob": { | ||
"src": { | ||
"dir": "/path/to/myproject/mysrc" | ||
} | ||
"dir": "mysrc/" | ||
}, | ||
"checkstyle": { | ||
"files": "foo.js bar/", | ||
"opts": "--checkstyle" | ||
}, | ||
"hint": { | ||
"files": "foo.js bar/", | ||
"opts": "--jslint-reporter --config path/to/hintconfig.js" | ||
}, | ||
"lint": { | ||
"files": "foo.js bar/", | ||
"opts": "--reporter path/to/lintreporter.js --config path/to/lintconfig.js" | ||
}, | ||
"test": { | ||
"files": "bar/*.js", | ||
"opts": "--dot-matrix" | ||
}, | ||
"coverage": { | ||
"files": "bar/*.js", | ||
"opts": "--cover-html" | ||
}, | ||
"deploy": { | ||
@@ -40,53 +59,47 @@ "host": "myremotehost", | ||
Project convention: | ||
* package.json - project descriptor | ||
* {name}.js - main app file, must support `node {name}.js start|stop|restart|status` (e.g. using learnboost/cluster) | ||
* lib/ - .js library files | ||
* test/ - .js test files | ||
* build/ - generated by Bob to store buildtime reports/artifacts | ||
* run/ - generated by Bob to store runtime logs/pids | ||
* Uses `jscheckstyle`, `jshint`, `nodelint`, and `vows` as choices of tools | ||
Usage | ||
----- | ||
Run Bob. | ||
cd /path/to/myproject | ||
bob target1 target2 target3 ... | ||
Targets | ||
------- | ||
Install required tools. (per Bob installation) | ||
Build | ||
bob tools | ||
clean: | ||
Delete build/ | ||
Install project dependencies. (per Node.js project) | ||
bob dep | ||
lint: | ||
Run `nodelint` against all .js files under ./ and custom files configured in app.build.lint if any | ||
test: | ||
Run `vows` against all .js files under test/ | ||
package: | ||
Create a .tar.gz package of the source at build/package/ | ||
Run Bob from project directory. | ||
Deploy | ||
bob target1 target2 target3 ... | ||
deploy: | ||
Deploy the package to app.deploy.host:app.deploy.port at app.deploy.dir | ||
Run Bob with specific environment. (by default it uses NODE_ENV=development) | ||
NODE_ENV=production bob start | ||
deploy-r: | ||
Deploy the package and then remotely restart the app | ||
Targets | ||
------- | ||
Startup | ||
start-dev: | ||
Start the app in development mode | ||
start-prd: | ||
Start the app in production mode | ||
stop: | ||
Stop the app | ||
restart-dev: | ||
Stop the app, then start it in development mode | ||
restart-prd: | ||
Stop the app, then start it in production mode | ||
status: | ||
Display the status of the app, whether it's running or not | ||
* clean - Delete build/ and run/ directory | ||
* checkstyle - Run `jscheckstyle` against TODO | ||
* lint - Run `nodelint` against all .js files under lib/ and test/ directories plus additional files configured in {app.build.lint} | ||
* hint - Run `jshint` against all .js files under lib/ and test/ directories plus additional files configured in {app.build.hint} | ||
* test - Run `vows` against all .js files under test/ directory | ||
* coverage - Run `vows` against all .js files under test/ directory with coverage flag | ||
* package - Create a source .tar.gz package at build/package/ directory | ||
* stop - Stop the app | ||
* start - Start the app | ||
* restart - Restart the app | ||
* status - Display app status | ||
* nuke - Kill all processes with command containing the word 'node' | ||
* deploy - Deploy the package to {app.deploy.host}:{app.deploy.port} at {app.deploy.dir} | ||
* deploy-r - Deploy the package and then remotely restart the app |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12753
0
97
102
1
1
- Removedcoffee-script@1.1.1
- Removedcoffee-script@1.1.1(transitive)