Socket
Book a DemoInstallSign in
Socket

transform

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

transform

The ultimate transformation/build/compilation middleware/command line/etc. system for node.js

Source
npmnpm
Version
0.0.9
Version published
Weekly downloads
1.8K
33.84%
Maintainers
1
Weekly downloads
 
Created
Source

transform

The ultimate transformation/build/compilation middleware/command line/etc. system for node.js

Installation

$ npm install transform

Basic Usage

The following example compiles coffe-script to JavaScript files and minifies all JavaScript files (including those generated by coffee-script in the previous step). To run this sample you will need to also install coffee-script and uglify-js (npm install coffee-script uglify-js)

var express = require('express');
var app = express();

var path = require('path');

var transform = require('transform');

app.use(transform(path.join(__dirname, 'source'))
        .using(function (transform) {
          transform.add('.jade', '.html', 'jade');

          //It's OK to have multiple formats that all result in the same extension
          //only one will be active per file though
          transform.add('.less', '.css', 'less');
          transform.add('.styl', '.css', 'stylus');
          transform.add('.sass', '.css', 'sass');

          //these files will first be transformed by coffee-script and then by
          //uglify-js if enabled bellow.
          transform.add('.coffee', '.js', 'coffee-script', {bare: true});

          //we can easilly set it up to only minify in production
          if (process.env.NODE_ENV && process.env.NODE_ENV != 'development')
            transform.add('.js', '.js', 'uglify');
        })
        .to(path.join(__dirname, 'destination')));


app.listen(3000);

The code for .to is:

function (destination) {
  if (process.env.NODE_ENV && process.env.NODE_ENV != 'development') {
    return this.statically(destination);
  } else {
    return this.dynamically();
  }
}

Calling .statically(destination) compiles the files to physical files in destination and then serves them using connect's static middleware.

Calling .dynamically() returns middleware that compiles each file every time they are requested.

License

MIT

FAQs

Package last updated on 15 Feb 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts