Security News
NIST Misses 2024 Deadline to Clear NVD Backlog
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
node-sass-middleware
Advanced tools
Connect/Express middleware for node-sass.
npm install node-sass-middleware
Recompile .scss
or .sass
files automatically for connect and express based http servers.
const connect = require('connect')
const sassMiddleware = require('node-sass-middleware')
const 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
const express = require('express');
const sassMiddleware = require('node-sass-middleware');
const path = require('path');
const 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')));
const connect = require('connect');
const sassMiddleware = require('node-sass-middleware');
const postcssMiddleware = require('postcss-middleware');
const autoprefixer = require('autoprefixer');
const path = require('path');
const http = require('http');
const app = connect();
const 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);
src
- (String) Source directory used to find .scss
or .sass
files.beepOnError
- Enable beep on error, false by default.
debug
- [true | false]
, false by default. Output debugging information.
dest
- (String) Destination directory used to output .css
files (when undefined defaults to src
).
error
- A function to be called when something goes wrong.
force
- [true | false]
, false by default. Always re-compile.
indentedSyntax
- [true | false]
, false by default. If true compiles files with the .sass
extension instead of .scss
in the src
directory.
log
- function(severity, key, val, message)
, used to log data instead of the default console.error
. "severity" matches Winston severity levels.
maxAge
- MaxAge to be passed in Cache-Control header.
prefix
- (String) It will tell the sass middleware that any request file will always be prefixed with <prefix>
and this prefix should be ignored.
response
- [true | false]
, true by default. To write output directly to response instead of to a file.
root
- (String) A base path for both source and destination directories.
For full list of options from original node-sass project go here.
const express = require('express');
const sassMiddleware = require('node-sass-middleware');
const path = require('path');
const winston = require('winston');
const 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-sass-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')));
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.
git clone git@github.com:sass/node-sass-middleware
cd node-sass-middleware
npm install
npm test
Copyright (c) 2013+ Andrew Nesbitt. See LICENSE for details.
FAQs
Connect middleware for node-sass
The npm package node-sass-middleware receives a total of 1,838 weekly downloads. As such, node-sass-middleware popularity was classified as popular.
We found that node-sass-middleware demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
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.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.