Skip to content

Commit

Permalink
module: fix for empty object in InternalModuleReadJSON
Browse files Browse the repository at this point in the history
Fixes: #30245
PR-URL: #30256
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
  • Loading branch information
guybedford authored and targos committed Dec 1, 2019
1 parent 62e7cf0 commit ec227c9
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 5 deletions.
1 change: 1 addition & 0 deletions src/env.h
Expand Up @@ -214,6 +214,7 @@ constexpr size_t kFsStatsBufferLength =
V(done_string, "done") \
V(duration_string, "duration") \
V(emit_warning_string, "emitWarning") \
V(empty_object_string, "{}") \
V(encoding_string, "encoding") \
V(entries_string, "entries") \
V(entry_type_string, "entryType") \
Expand Down
3 changes: 1 addition & 2 deletions src/node_file.cc
Expand Up @@ -18,7 +18,6 @@
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

#include "node_file.h"
#include "aliased_buffer.h"
#include "memory_tracker-inl.h"
Expand Down Expand Up @@ -787,7 +786,7 @@ static void InternalModuleReadJSON(const FunctionCallbackInfo<Value>& args) {
size == SearchString(&chars[start], size, "\"main\"") &&
size == SearchString(&chars[start], size, "\"exports\"") &&
size == SearchString(&chars[start], size, "\"type\""))) {
return;
args.GetReturnValue().Set(env->empty_object_string());
} else {
Local<String> chars_string =
String::NewFromUtf8(isolate,
Expand Down
8 changes: 8 additions & 0 deletions test/es-module/test-esm-default-type.mjs
@@ -0,0 +1,8 @@
// Flags: --experimental-modules
import '../common/index.mjs';
import { strictEqual } from 'assert';

import asdf from
'../fixtures/es-modules/package-type-module/nested-default-type/module.js';

strictEqual(asdf, 'asdf');
@@ -0,0 +1 @@
module.exports = 'asdf';
@@ -0,0 +1 @@
{}
5 changes: 2 additions & 3 deletions test/parallel/test-module-binding.js
Expand Up @@ -8,9 +8,8 @@ const { readFileSync } = require('fs');
const { strictEqual } = require('assert');

strictEqual(internalModuleReadJSON('nosuchfile'), undefined);
strictEqual(internalModuleReadJSON(fixtures.path('empty.txt')), undefined);
strictEqual(internalModuleReadJSON(fixtures.path('empty-with-bom.txt')),
undefined);
strictEqual(internalModuleReadJSON(fixtures.path('empty.txt')), '{}');
strictEqual(internalModuleReadJSON(fixtures.path('empty-with-bom.txt')), '{}');
{
const filename = fixtures.path('require-bin/package.json');
strictEqual(internalModuleReadJSON(filename), readFileSync(filename, 'utf8'));
Expand Down

0 comments on commit ec227c9

Please sign in to comment.