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

View File

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

View File

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