mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
src: wrap source before doing syntax check
This is to ensure that it is evaluated the same way it would be if it
were to be run by node or required.
Before, the following would pass if run by node, but fail if run via
the syntax check flag:
if (true) {
return;
}
Now, this will pass the syntax check
PR-URL: https://github.com/nodejs/node/pull/3587
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
1 parent
1e98d90db8
commit
65cd03cda6
3 files changed
+6
No files matched your search
@@ -106,6 +106,8 @@
|
||||
var source = fs.readFileSync(filename, 'utf-8');
|
||||
// remove shebang and BOM
|
||||
source = internalModule.stripBOM(source.replace(/^\#\!.*/, ''));
|
||||
// wrap it
|
||||
source = Module.wrap(source);
|
||||
// compile the script, this will throw if it fails
|
||||
new vm.Script(source, {filename: filename, displayErrors: true});
|
||||
process.exit(0);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
if (true) {
|
||||
return;
|
||||
}
|
||||
@@ -20,6 +20,7 @@ var syntaxArgs = [
|
||||
'syntax/good_syntax',
|
||||
'syntax/good_syntax_shebang.js',
|
||||
'syntax/good_syntax_shebang',
|
||||
'syntax/illegal_if_not_wrapped.js'
|
||||
].forEach(function(file) {
|
||||
file = path.join(common.fixturesDir, file);
|
||||
|
||||
|
||||
Reference in new issue
Block a user