Skip to content

Commit

Permalink
#123: fix EJS mod for windows, since it doesn't re-use pre-loaded deps
Browse files Browse the repository at this point in the history
  • Loading branch information
robhrt7 committed Sep 20, 2015
1 parent 26d9abe commit 25d15c4
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 13 deletions.
2 changes: 0 additions & 2 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ if (!commander.watch) {

/* App config */

require('./core/ejsHelpers');

// Version
app.use(function (req, res, next) {
res.header('X-powered-by', 'SourceJS ' + global.engineVersion);
Expand Down
2 changes: 1 addition & 1 deletion core/auth.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var everyauth = require('everyauth');
var fs = require('fs');
var ejs = require('ejs');
var ejs = require('./ejsWithHelpers.js');
var path = require('path');

module.exports = function(app) {
Expand Down
9 changes: 6 additions & 3 deletions core/ejsHelpers.js → core/ejsWithHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var readFile = function (filePath, options) {
return fs.readFileSync(filePath, 'utf-8');
};

var includeMD = module.exports.includeMD = function(data, options){
var includeMD = function(data, options){
return function(mdPath){
if (!mdPath) return '';

Expand All @@ -64,7 +64,7 @@ var includeMD = module.exports.includeMD = function(data, options){
};
};

var includeFiles = module.exports.includeFiles = function(data, options){
var includeFiles = function(data, options){
return function(pattern){
if (!pattern) return '';

Expand Down Expand Up @@ -118,4 +118,7 @@ ejs.render = function(template, data, options){
}

return originalRenderer(template, data, options);
};
};

// Export modified EJS
module.exports = ejs;
2 changes: 1 addition & 1 deletion core/middlewares/clarify.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ var url = require('url');
var Q = require('q');
var _ = require('lodash');
var jsdom = require('jsdom');
var ejs = require('ejs');

var ejs = require(path.join(global.pathToApp, 'core/ejsWithHelpers.js'));
var trackStats = require(path.join(global.pathToApp, 'core/trackStats'));
var pathToApp = path.dirname(require.main.filename);
var specUtils = require(path.join(pathToApp, 'core/lib/specUtils'));
Expand Down
3 changes: 2 additions & 1 deletion core/middlewares/read.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

var fs = require('fs-extra');
var path = require('path');
var ejs = require('ejs');

var ejs = require(path.join(global.pathToApp, 'core/ejsWithHelpers.js'));
var specUtils = require(path.join(global.pathToApp,'core/lib/specUtils'));
var configUtils = require(path.join(global.pathToApp,'core/lib/configUtils'));

Expand Down
5 changes: 3 additions & 2 deletions core/middlewares/wrap.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
'use strict';

var fs = require('fs-extra');
var ejs = require('ejs');
var path = require('path');
var cheerio = require('cheerio');

var ejs = require(path.join(global.pathToApp, 'core/ejsWithHelpers.js'));
var viewResolver = require(path.join(global.pathToApp + '/core/lib/viewResolver.js'));
var getHeaderAndFooter = require(global.pathToApp + '/core/headerFooter.js').getHeaderAndFooter;
var specUtils = require(path.join(global.pathToApp,'core/lib/specUtils'));
var cheerio = require('cheerio');

/**
* Wrap rendered html from request with spec wrapper (header, footer, etc.)
Expand Down
5 changes: 2 additions & 3 deletions test/unit/ejsHelpersSpec.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
var path = require('path');
var ejs = require('ejs');
var expect = require('chai').expect;

var pathToMasterApp = path.resolve('./');

var ejs = require(path.join(pathToMasterApp, 'core/ejsWithHelpers.js'));
var loadOptions = require(path.join(pathToMasterApp, 'core/loadOptions'));
global.opts = loadOptions(path.resolve(pathToMasterApp));

require(path.join(pathToMasterApp, 'core/ejsHelpers'));

describe('includeMD', function () {
it('should properly include Markdown file', function (done) {
var result = ejs.render('<%- includeMD("partials/markdown") %>', {
Expand Down

0 comments on commit 25d15c4

Please sign in to comment.