Permalink
Browse files

Close #1357 Load json files with require()

Signed off by everybody.
  • Loading branch information...
1 parent 1b0e054 commit 588d885e81dec667920383ac7246daceeb7f99fd @isaacs isaacs committed Jul 21, 2011
Showing with 14 additions and 0 deletions.
  1. +7 −0 lib/module.js
  2. +7 −0 test/simple/test-module-loading.js
View
7 lib/module.js
@@ -466,6 +466,13 @@ Module._extensions['.node'] = function(module, filename) {
};
+// Native extension for .json
+Module._extensions['.json'] = function (module, filename) {
+ var content = NativeModule.require('fs').readFileSync(filename, 'utf8');
+ module.exports = JSON.parse(content);
+};
+
+
// bootstrap main module.
Module.runMain = function() {
// Load the main module--the command line argument.
View
7 test/simple/test-module-loading.js
@@ -213,6 +213,13 @@ var child = require('../fixtures/module-require/child/');
assert.equal(child.loaded, parent.loaded);
+// #1357 Loading JSON files with require()
+var json = require('../fixtures/packages/main/package.json');
+assert.deepEqual(json, { name: 'package-name',
+ version: '1.2.3',
+ main: 'package-main-module' });
+
+
process.addListener('exit', function() {
assert.ok(common.indirectInstanceOf(a.A, Function));
assert.equal('A done', a.A());

0 comments on commit 588d885

Please sign in to comment.