├── README.md ├── package.json └── server.js /README.md: -------------------------------------------------------------------------------- 1 | # sassy 2 | 3 | SCSS/Sass compiler for jsbin. `POST` some SCSS/Sass and get CSS back. Simple. 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsbin-sassy", 3 | "version": "1.0.0", 4 | "description": "Transpiles SCSS to CSS (for jsbin)", 5 | "main": "server.js", 6 | "scripts": { 7 | "start": "node server.js" 8 | }, 9 | "dependencies": { 10 | "express": "^4.15.3", 11 | "node-sass": "^4.5.3", 12 | "body-parser": "^1.17.2" 13 | }, 14 | "engines": { 15 | "node": "8.x" 16 | }, 17 | "license": "MIT", 18 | "keywords": ["node", "jsbin", "sass", "scss"] 19 | } 20 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const app = express(); 3 | const sass = require('node-sass'); 4 | const bodyParser = require('body-parser'); 5 | 6 | app.use((req, res, next) => { 7 | res.header({ 8 | 'Access-Control-Allow-Origin': '*', 9 | 'Access-Control-Allow-Headers': 'Content-type', 10 | }); 11 | next(); 12 | }); 13 | 14 | app.use((req, res, next) => { 15 | req.headers['content-type'] = 'application/json'; 16 | next(); 17 | }); 18 | 19 | // parse application/json 20 | app.use(bodyParser.json()); 21 | 22 | app.get('/', (req, res) => res.json(true)); 23 | 24 | app.post('/', (req, res) => { 25 | const source = req.body.source; 26 | sass.render( 27 | { 28 | data: source, 29 | }, 30 | (error, result) => { 31 | if (error) { 32 | return res.json({ 33 | error, 34 | source, 35 | }); 36 | } 37 | 38 | return res.json({ 39 | source, 40 | result: result.css.toString(), 41 | }); 42 | } 43 | ); 44 | }); 45 | 46 | const listener = app.listen(process.env.PORT, () => { 47 | console.log('Your app is listening on port ' + listener.address().port); 48 | }); 49 | --------------------------------------------------------------------------------