summaryrefslogtreecommitdiffstats
path: root/node_modules/node-sass/lib/render.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/node-sass/lib/render.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/node-sass/lib/render.js')
-rw-r--r--node_modules/node-sass/lib/render.js121
1 files changed, 121 insertions, 0 deletions
diff --git a/node_modules/node-sass/lib/render.js b/node_modules/node-sass/lib/render.js
new file mode 100644
index 0000000..858e02e
--- /dev/null
+++ b/node_modules/node-sass/lib/render.js
@@ -0,0 +1,121 @@
+/*!
+ * node-sass: lib/render.js
+ */
+
+var chalk = require('chalk'),
+ fs = require('fs'),
+ mkdirp = require('mkdirp'),
+ path = require('path'),
+ sass = require('./');
+
+/**
+ * Render
+ *
+ * @param {Object} options
+ * @param {Object} emitter
+ * @api public
+ */
+
+module.exports = function(options, emitter) {
+ var renderOptions = {
+ includePaths: options.includePath,
+ omitSourceMapUrl: options.omitSourceMapUrl,
+ indentedSyntax: options.indentedSyntax,
+ outFile: options.dest,
+ outputStyle: options.outputStyle,
+ precision: options.precision,
+ sourceComments: options.sourceComments,
+ sourceMapEmbed: options.sourceMapEmbed,
+ sourceMapContents: options.sourceMapContents,
+ sourceMap: options.sourceMap,
+ sourceMapRoot: options.sourceMapRoot,
+ importer: options.importer,
+ functions: options.functions,
+ indentWidth: options.indentWidth,
+ indentType: options.indentType,
+ linefeed: options.linefeed
+ };
+
+ if (options.data) {
+ renderOptions.data = options.data;
+ } else if (options.src) {
+ renderOptions.file = options.src;
+ }
+
+ var sourceMap = options.sourceMap;
+ var destination = options.dest;
+ var stdin = options.stdin;
+
+ var success = function(result) {
+ var todo = 1;
+ var done = function() {
+ if (--todo <= 0) {
+ emitter.emit('done');
+ }
+ };
+
+ if (!destination || stdin) {
+ emitter.emit('log', result.css.toString());
+
+ if (sourceMap && !options.sourceMapEmbed) {
+ emitter.emit('log', result.map.toString());
+ }
+
+ return done();
+ }
+
+ emitter.emit('info', chalk.green('Rendering Complete, saving .css file...'));
+
+ mkdirp(path.dirname(destination), function(err) {
+ if (err) {
+ return emitter.emit('error', chalk.red(err));
+ }
+
+ fs.writeFile(destination, result.css.toString(), function(err) {
+ if (err) {
+ return emitter.emit('error', chalk.red(err));
+ }
+
+ emitter.emit('info', chalk.green('Wrote CSS to ' + destination));
+ emitter.emit('write', err, destination, result.css.toString());
+ done();
+ });
+ });
+
+ if (sourceMap) {
+ todo++;
+
+ mkdirp(path.dirname(sourceMap), function(err) {
+ if (err) {
+ return emitter.emit('error', chalk.red(err));
+ }
+ fs.writeFile(sourceMap, result.map, function(err) {
+ if (err) {
+ return emitter.emit('error', chalk.red('Error' + err));
+ }
+
+ emitter.emit('info', chalk.green('Wrote Source Map to ' + sourceMap));
+ emitter.emit('write-source-map', err, sourceMap, result.map);
+ done();
+ });
+ });
+ }
+
+ emitter.emit('render', result.css.toString());
+ };
+
+ var error = function(error) {
+ emitter.emit('error', chalk.red(JSON.stringify(error, null, 2)));
+ };
+
+ var renderCallback = function(err, result) {
+ if (err) {
+ error(err);
+ }
+ else {
+ success(result);
+ }
+ };
+
+ sass.render(renderOptions, renderCallback);
+};