create fs read options once

This commit is contained in:
Patrick Steele-Idem 2015-05-27 11:07:21 -06:00
parent a2962c9d2c
commit c41b8d99b8
3 changed files with 9 additions and 6 deletions

View File

@ -3,6 +3,7 @@ var fs = require('fs');
var jsonminify = require('jsonminify');
var tagDefFromCode = require('./tag-def-from-code');
var loader = require('./loader');
var fsReadOptions = { encoding: 'utf8' };
function createDefaultTagDef() {
return {
@ -62,7 +63,7 @@ module.exports = function scanTagsDir(tagsConfigPath, tagsConfigDirname, dir, ta
if (fs.existsSync(tagFile)) {
// marko-tag.json exists in the directory, use that as the tag definition
tagDef = JSON.parse(jsonminify(fs.readFileSync(tagFile, {encoding: 'utf8'})));
tagDef = JSON.parse(jsonminify(fs.readFileSync(tagFile, fsReadOptions)));
if (!tagDef.renderer && !tagDef.template) {
if (fs.existsSync(rendererFile)) {
tagDef.renderer = rendererFile;
@ -95,7 +96,7 @@ module.exports = function scanTagsDir(tagsConfigPath, tagsConfigDirname, dir, ta
exTemplateFile = templateFile + ".html";
}
if(exTemplateFile){
var templateCode = fs.readFileSync(exTemplateFile, {encoding: 'utf8'});
var templateCode = fs.readFileSync(exTemplateFile, fsReadOptions);
tagDef = tagDefFromCode.extractTagDef(templateCode);
if (!tagDef) {
tagDef = createDefaultTagDef();
@ -106,7 +107,7 @@ module.exports = function scanTagsDir(tagsConfigPath, tagsConfigDirname, dir, ta
}
if (rendererJSFile) {
var rendererCode = fs.readFileSync(rendererJSFile, {encoding: 'utf8'});
var rendererCode = fs.readFileSync(rendererJSFile, fsReadOptions);
tagDef = tagDefFromCode.extractTagDef(rendererCode);
if (!tagDef) {
tagDef = createDefaultTagDef();

View File

@ -1,8 +1,9 @@
var fs = require('fs');
var jsonminify = require('jsonminify');
var fsReadOptions = { encoding: 'utf8' };
exports.readTaglib = function (path) {
var json = fs.readFileSync(path, 'utf8');
var json = fs.readFileSync(path, fsReadOptions);
try {
var taglibProps = JSON.parse(jsonminify(json));

View File

@ -3,6 +3,7 @@ var fs = require('fs');
var Module = require('module').Module;
var markoCompiler = require('../compiler');
var cwd = process.cwd();
var fsReadOptions = {encoding: 'utf8'};
if (process.env.hasOwnProperty('MARKO_HOT_RELOAD')) {
require('../hot-reload').enable();
@ -42,14 +43,14 @@ module.exports = function load(templatePath) {
return require(targetFile);
}
var templateSrc = fs.readFileSync(templatePath, {encoding: 'utf8'});
var templateSrc = fs.readFileSync(templatePath, fsReadOptions);
var compiledSrc = compiler.compile(templateSrc);
// console.log('Compiled code for "' + templatePath + '":\n' + compiledSrc);
var filename = nodePath.basename(targetFile);
var tempFile = nodePath.join(targetDir, '.' + process.pid + '.' + Date.now() + '.' + filename);
fs.writeFileSync(tempFile, compiledSrc, {encoding: 'utf8'});
fs.writeFileSync(tempFile, compiledSrc, fsReadOptions);
fs.renameSync(tempFile, targetFile);
return require(targetFile);