Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-sass-middleware

Package Overview
Dependencies
Maintainers
3
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-sass-middleware

Connect middleware for node-sass

  • 0.11.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
603
decreased by-75.56%
Maintainers
3
Weekly downloads
 
Created
Source

#node-sass-middleware

Connect/Express middleware for node-sass.

Build Status npm version Dependency Status devDependency Status Gitter chat

Install

npm install node-sass-middleware

Usage

Recompile .scss or .sass files automatically for connect and express based http servers.

Connect example

var connect = require('connect')
var sassMiddleware = require('node-sass-middleware')
var server = connect.createServer(
  sassMiddleware({
      /* Options */
      src: __dirname
    , dest: __dirname + '/public'
    , debug: true
    , outputStyle: 'compressed'
    , prefix:  '/prefix'  // Where prefix is at <link rel="stylesheets" href="prefix/style.css"/>
  }),
  connect.static('/prefix', __dirname + '/public')
);

There is an example connect app here: https://github.com/andrew/node-sass-example

Heavily inspired by https://github.com/LearnBoost/stylus

Express example

var express = require('express');
var sassMiddleware = require('node-sass-middleware');
var path = require('path');
var app = express();
app.use(sassMiddleware({
    /* Options */
    src: __dirname,
    dest: path.join(__dirname, 'public'),
    debug: true,
    outputStyle: 'compressed',
    prefix:  '/prefix'  // Where prefix is at <link rel="stylesheets" href="prefix/style.css"/>
}));
// Note: you must place sass-middleware *before* `express.static` or else it will
// not work.
app.use('/public', express.static(path.join(__dirname, 'public')));

Connect with other middleware example

var connect = require('connect');
var sassMiddleware = require('node-sass-middleware');
var postcssMiddleware = require('postcss-middleware');
var autoprefixer = require('autoprefixer');
var path = require('path');
var http = require('http');
var app = connect();
var destPath = __dirname + '/public';
app.use(sassMiddleware({
    /* Options */
    src: __dirname
  , response: false
  , dest: destPath
  , outputStyle: 'extended'
}));
app.use(postcssMiddleware({
  plugins: [
    /* Plugins */
    autoprefixer({
      /* Options */
    })
  ],
  src: function(req) {
    return path.join(destPath, req.url);
  }
}));

http.createServer(app).listen(3000);

Options

  • src - (String) Source directory used to find .scss or .sass files.
  • optional configurations:
  • dest - (String) Destination directory used to output .css files (when undefined defaults to src).
  • root - (String) A base path for both source and destination directories.
  • prefix - (String) It will tell the sass middleware that any request file will always be prefixed with <prefix> and this prefix should be ignored.
  • force - [true | false], false by default. Always re-compile.
  • debug - [true | false], false by default. Output debugging information.
  • indentedSyntax - [true | false], false by default. Compiles files with the .sass extension instead of .scss in the src directory.
  • response - [true | false], true by default. To write output directly to response instead of to a file.
  • error - A function to be called when something goes wrong.
  • maxAge - MaxAge to be passed in Cache-Control header.
  • log - function(severity, key, val), used to log data instead of the default console.error

For full list of options from original node-sass project go here.

Express example with custom log function

var express = require('express');
var sassMiddleware = require('node-sass-middleware');
var path = require('path');
var winston = require('winston');
var app = express();
winston.level = 'debug';
app.use(sassMiddleware({
    /* Options */
    src: __dirname,
    dest: path.join(__dirname, 'public'),
    debug: true,
    log: function (severity, key, value) { winston.log(severity, 'node-saas-middleware   %s : %s', key, value); }
}));
// Note: you must place sass-middleware *before* `express.static` or else it will
// not work.
app.use(express.static(path.join(__dirname, 'public')));

Contributors

We <3 our contributors! A special thanks to all those who have clocked in some dev time on this project, we really appreciate your hard work. You can find a full list of those people here.

Building and Testing

git clone git@github.com:sass/node-sass-middleware
cd node-sass-middleware

npm install
npm test

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add documentation if necessary.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Send a pull request. Bonus points for topic branches.

Copyright (c) 2013+ Andrew Nesbitt. See LICENSE for details.

Keywords

FAQs

Package last updated on 16 Jan 2017

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc