Socket
Socket
Sign inDemoInstall

forge

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.4 to 2.1.0

.npmignore

35

package.json
{
"name": "forge",
"author": "Josh Perez <josh@goatslacker.com>",
"version": "1.0.4",
"description": "An easy to use CLI tool for compiling projects",
"version": "2.1.0",
"description": "insert something here",
"keywords": [
"build",
"compile",
"compress"
"compress",
"lint",
"minify",
"typed",
"maven",
"preprocessor"
],
"repository": {

@@ -17,17 +20,13 @@ "type": "git",

},
"licenses": ["MIT"],
"dependencies": {
"jshint": "0.2.x",
"uglify-js": "1.0.x",
"gzip": "0.1.x",
"colors": "0.5.x",
"less": "1.1.x"
"dependency": {
"jshintify": "*",
"mangleify": "*"
},
"bin": {
"forge": "./bin/forge.js"
"licenses": [
"MIT"
],
"main": "forge.js",
"bin": {
"forge": "./bin/forge"
},
"engines": {

@@ -34,0 +33,0 @@ "node": ">= 0.4.0"

# forge
An easy to use CLI tool written in NodeJS useful for compiling projects.
## Install
I wrote this because I was sick of writing the same Jakefiles over and over again for building my projects.
Now I have a simple CLI tool, I can just cd into my project and run `forge` and have it do it's magic.
npm install forge -g
## Installing
## What?
NPM
`Forge` has a pretty specific use case: you'd like to automate the application
of a set of transformations on a specific file.
sudo npm install forge -g
If you're tired of writing the same [M|J|Sl|C]afiles over and over,
juggling command line scripts, node.js scripts, or even dealing with the
hassle of having a configuration file sitting in your file directory;
then this program is for you.
Unix/Linux
## Philosophy
git clone git://github.com/goatslacker/forge.git
cd forge
sudo make
* No configuration or build files you have to check-in to source control
* Simple command line interface
* Easy to program your own custom transformers
* Use existing transformers that work with [browserify](https://github.com/substack/node-browserify)
## How to use
## Right tool for the job
You can have forge automatically detect your build directory
If you need to automate all the things or love configuring then [grunt](http://gruntjs.com/)
is for you.
cd myproject
forge
If you want something simple and powerful and don't mind programming some then
write a fucking Makefile.
If that fails, you can tell forge the directory. The use is --fileExtension directory
## How?
cd myproject
forge --js source
forge my_file.js transform1 transform2 transform3
For convenience, you can set a config file `forge.json` in your project's root folder
Example, if you want to lint a file then mangle it:
{
"files": {
"js": ["src/file1", "src/file2", "src/file3"]
}
}
forge my_file.js jshintify mangleify
Then just run `forge`, it'll automatically pick-up your `forge.json` config
Outputs to stdout
cd myproject
forge
> *Pro-tip*: you can include your forge command in the scripts section of your package.json file.
## Custom config
"scripts": {
"prepublish": "forge foo.js mangleify > build/foo.min.js"
}
Below are the default settings for forge. You can customize these and place them in your `forge.json` config file
For more information see [npm scripts](https://npmjs.org/doc/scripts.html)
{
/* the application's name */
appName: CURRENT_DIRECTORY
/* the build directory */
buildDirectory: 'build',
## Included plug-ins
/* use jshint to check the code */
lint: true,
* [jshintify](https://github.com/goatslacker/jshintify)
* [mangleify](https://github.com/goatslacker/mangleify)
/* uglify-js compresses the code */
compress: true,
## Available plug-ins
/* apply gzip after compression */
gzip: true,
* [coffeeify](https://github.com/substack/coffeeify)
* [icsify](https://github.com/maxtaco/icsify)
* [caching-coffeeify](https://github.com/thlorenz/caching-coffeeify)
* [decomponentify](https://github.com/eugeneware/decomponentify)
* [debowerify](https://github.com/eugeneware/debowerify)
* [deAMDify](https://github.com/jaredhanson/deamdify)
* [hbsfy](https://github.com/epeli/node-hbsfy)
* [liveify](https://github.com/quarterto/liveify)
* [es6ify](https://github.com/thlorenz/es6ify)
* [turn](https://github.com/juliangruber/turn)
/* less for stylesheets */
less: false,
/* no logging for Forge */
quiet: false
}
## License
Copyright (C) 2011 by Josh Perez <josh@goatslacker.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
[MIT](http://josh.mit-license.org)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc