diff --git a/compiler/taglibs/taglib-loader/scanTagsDir.js b/compiler/taglibs/taglib-loader/scanTagsDir.js index d6325c1d4..cfe8a2a1e 100644 --- a/compiler/taglibs/taglib-loader/scanTagsDir.js +++ b/compiler/taglibs/taglib-loader/scanTagsDir.js @@ -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(); diff --git a/compiler/taglibs/taglib-loader/taglib-reader.js b/compiler/taglibs/taglib-loader/taglib-reader.js index 2c51b9161..1f68235fe 100644 --- a/compiler/taglibs/taglib-loader/taglib-reader.js +++ b/compiler/taglibs/taglib-loader/taglib-reader.js @@ -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)); diff --git a/runtime/loader.js b/runtime/loader.js index f69a39e3f..326f8c592 100644 --- a/runtime/loader.js +++ b/runtime/loader.js @@ -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);