Esempio n. 1
0
  compiler.plugin('emit', function(compiler, done) {
    var renderPromises;

    var webpackStatsJson = compiler.getStats().toJson();

    try {
      var asset = findAsset(self.renderSrc, compiler, webpackStatsJson);

      if (asset == null) {
        throw new Error('Source file not found: "' + self.renderSrc + '"');
      }

      var assets = getAssetsFromCompiler(compiler, webpackStatsJson);

      var source = asset.source();
      var render = evaluate(source, /* filename: */ undefined, /* scope: */ {}, /* includeGlobals: */ true);

      var routes = CSON.load(self.configPath).routes;

      renderPromises = Object.keys(routes).map(function(outputPath) {
        var outputFileName = path.join(outputPath, '/index.html')
          .replace(/^\//, ''); // Remove leading slashes for webpack-dev-server

        var locals = {
          path: outputPath,
          assets: assets
        };

        for (var prop in self.locals) {
          if (self.locals.hasOwnProperty(prop)) {
            locals[prop] = self.locals[prop];
          }
        }

        return Promise
          .fromNode(render.bind(null, locals))
          .then(function(output) {
            compiler.assets[outputFileName] = createAssetFromContents(output);
          })
          .catch(function(err) {
            compiler.errors.push(err);
          });
      });

      Promise.all(renderPromises).nodeify(done);
    } catch (err) {
      compiler.errors.push(err);
      done(err);
    }
  });
Esempio n. 2
0
const fs = require('fs');
const postcss = require('postcss');
const CSON = require('cson');
const defineIt = require('../..');

const css = fs.readFileSync('./sample.css', 'utf8');
const vars = CSON.load('./vars.cson');

postcss([defineIt(vars)])
  .process(css)
  .then(result => console.log(result.css));
Esempio n. 3
0
const fs = require('fs');
const CSON = require('cson');
let path = require('path');
require('colors');
let packageJSON = fs.readFileSync('./package.json');
packageJSON = JSON.parse(packageJSON.toString());

let buildOptions = CSON.load('./build.cson');




let rootPath = process.cwd();
fs.createReadStream('./package.json')
.pipe(fs.createWriteStream('./package.old.json'));

process.nextTick(function(){
  let merge = Object.assign(packageJSON , buildOptions);

console.log('merged',"package.json".cyan , 'and','build.cson'.cyan);
fs.writeFile('./package.json' ,JSON.stringify(merge ,null ,4))


});
Esempio n. 4
0
require('coffee-script/register')

var gulp = require('gulp')
	, cson = require('cson')
	, $ = require('gulp-load-plugins')
	, gutil = require('gulp-util');

var colors = require('colors/safe');

SourceDir = process.cwd() + '/source';
DestDir   = process.cwd() + '/public';

Assets = cson.load(process.cwd() + '/gulp/assets.cson')
if (Assets instanceof Error)
	console.log('ERRASSETS: ', Assets.stack)


require('./gulp/copy')
require('./gulp/coffee')
require('./gulp/stylus')
require('./gulp/jade')
require('./gulp/watch')


var spawn = require('child_process').spawn;
var toLog = function(data){ return gutil.log(data.toString()) };
var shellRun = function(cmd, args){
	var process = spawn(cmd, args);
	process.stdout.on("data", toLog);
	process.stderr.on("data", toLog);