diff --git a/Gruntfile.js b/Gruntfile.js index 1696549e5..db97725ab 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -171,7 +171,7 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "// " + filepath + "\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, ''); + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, ''); } } }, @@ -182,7 +182,7 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "// " + filepath + "\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, ''); + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, ''); } } } @@ -437,8 +437,9 @@ module.exports = function(grunt) { grunt.loadNpmTasks("grunt-newer"); grunt.loadNpmTasks("grunt-run"); grunt.loadNpmTasks("grunt-text-replace"); - + grunt.loadTasks("modules/grunts/manifester/tasks"); + grunt.loadTasks("modules/grunts/prepjs/tasks"); grunt.registerTask("preCompiler", grunt.option("rebuild")? ["concat:tmp-c1pjs", "concat:tmp-pcjs"] : ["newer:concat:tmp-c1pjs", "newer:concat:tmp-pcjs"]); diff --git a/modules/diskdump/lib/diskdump.js b/modules/diskdump/lib/diskdump.js index 5065ea1f6..a8698f30f 100644 --- a/modules/diskdump/lib/diskdump.js +++ b/modules/diskdump/lib/diskdump.js @@ -41,6 +41,7 @@ var path = require("path"); var http = require("http"); var mkdirp = require("mkdirp"); var crypto = require("crypto"); +var defines = require("../../shared/lib/defines"); var net = require("../../shared/lib/netlib"); var proc = require("../../shared/lib/proclib"); var str = require("../../shared/lib/strlib"); diff --git a/modules/filedump/lib/filedump.js b/modules/filedump/lib/filedump.js index 1e77783a5..09be50ee1 100644 --- a/modules/filedump/lib/filedump.js +++ b/modules/filedump/lib/filedump.js @@ -35,6 +35,7 @@ var fs = require("fs"); var path = require("path"); var mkdirp = require("mkdirp"); +var defines = require("../../shared/lib/defines"); var net = require("../../shared/lib/netlib"); var proc = require("../../shared/lib/proclib"); var str = require("../../shared/lib/strlib"); diff --git a/modules/grunts/manifester/tasks/manifester.js b/modules/grunts/manifester/tasks/manifester.js index fe39be40b..5723c5282 100644 --- a/modules/grunts/manifester/tasks/manifester.js +++ b/modules/grunts/manifester/tasks/manifester.js @@ -4,7 +4,7 @@ * * Copyright (c) 2014 jeffpar * Licensed under the MIT license. - * + * * TODO: Update this header with our standard header and fix all the JSHint warnings */ @@ -18,6 +18,7 @@ var async = require("async"); var parseXML = require("xml2js").parseString; // see: https://github.com/Leonidas-from-XIV/node-xml2js var unzip = require("unzip"); var util = require("util"); +var defines = require("../../../shared/lib/defines"); var net = require("../../../shared/lib/netlib"); module.exports = function (grunt) { @@ -27,7 +28,7 @@ module.exports = function (grunt) { * creation: http://gruntjs.com/creating-tasks */ grunt.registerMultiTask('manifester', 'manifest.xml processor', function() { - + /* * Merge task-specific and/or target-specific options with these defaults * @@ -40,7 +41,7 @@ module.exports = function (grunt) { */ var asManifests = []; var doneGrunt = this.async(); - + /* * Iterate over all specified file groups */ @@ -66,7 +67,7 @@ module.exports = function (grunt) { }); async.each(asManifests, function processXML(sManifestFile, doneAsync) { - var sManifestXML = grunt.file.read(sManifestFile); + var sManifestXML = grunt.file.read(sManifestFile); parseXML(sManifestXML, function doneParseXML(err, xml) { var cCallbacks = 0; if (xml.manifest) { @@ -129,6 +130,6 @@ module.exports = function (grunt) { }, function(err) { doneGrunt(); }); - + }); }; diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index dd9e58065..855897dff 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -39,6 +39,7 @@ var glob = require("glob"); * @property {function(string)} sync */ var HTTPAPI = require("./httpapi"); +var defines = require("../../shared/lib/defines"); var DumpAPI = require("../../shared/lib/dumpapi"); var MarkOut = require("../../markout"); var net = require("../../shared/lib/netlib"); diff --git a/modules/markout/lib/markout.js b/modules/markout/lib/markout.js index 2e8a5778c..c85daab65 100644 --- a/modules/markout/lib/markout.js +++ b/modules/markout/lib/markout.js @@ -44,6 +44,7 @@ "use strict"; var path = require("path"); +var defines = require("../../shared/lib/defines"); var net = require("../../shared/lib/netlib"); var proc = require("../../shared/lib/proclib"); var str = require("../../shared/lib/strlib"); diff --git a/modules/pcjs/bin/pcjs b/modules/pcjs/bin/pcjs index 61cfcb6b3..d5bc71142 100644 --- a/modules/pcjs/bin/pcjs +++ b/modules/pcjs/bin/pcjs @@ -37,6 +37,7 @@ var path = require("path"); var fs = require("fs"); var repl = require("repl"); +var defines = require("../../shared/lib/defines"); var str = require("../../shared/lib/strlib"); var proc = require("../../shared/lib/proclib"); diff --git a/modules/pcjs/lib/bus.js b/modules/pcjs/lib/bus.js index 0b4190286..2274e4dcd 100644 --- a/modules/pcjs/lib/bus.js +++ b/modules/pcjs/lib/bus.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var Component = require("../../shared/lib/component"); @@ -1681,4 +1681,4 @@ Bus.prototype.reportError = function(op, addr, size) return false; }; -if (typeof module !== 'undefined') module.exports = Bus; +if (NODE) module.exports = Bus; diff --git a/modules/pcjs/lib/chipset.js b/modules/pcjs/lib/chipset.js index 3a54af4b5..99cc831ba 100644 --- a/modules/pcjs/lib/chipset.js +++ b/modules/pcjs/lib/chipset.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); @@ -5293,4 +5293,4 @@ ChipSet.init = function() */ web.onInit(ChipSet.init); -if (typeof module !== 'undefined') module.exports = ChipSet; +if (NODE) module.exports = ChipSet; diff --git a/modules/pcjs/lib/computer.js b/modules/pcjs/lib/computer.js index 54a1913a5..3564f51bc 100644 --- a/modules/pcjs/lib/computer.js +++ b/modules/pcjs/lib/computer.js @@ -65,7 +65,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); @@ -1399,4 +1399,4 @@ web.onInit(Computer.init); web.onShow(Computer.show); web.onExit(Computer.exit); -if (typeof module !== 'undefined') module.exports = Computer; +if (NODE) module.exports = Computer; diff --git a/modules/pcjs/lib/cpu.js b/modules/pcjs/lib/cpu.js index 09bbbbc9e..2f0b37bf8 100644 --- a/modules/pcjs/lib/cpu.js +++ b/modules/pcjs/lib/cpu.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var Component = require("../../shared/lib/component"); @@ -1167,4 +1167,4 @@ CPU.prototype.yieldCPU = function() this.updateCPU(); }; -if (typeof module !== 'undefined') module.exports = CPU; +if (NODE) module.exports = CPU; diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index 5c19135cf..15c7988b8 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -33,7 +33,7 @@ "use strict"; if (DEBUGGER) { - if (typeof module !== 'undefined') { + if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); @@ -1567,7 +1567,7 @@ if (DEBUGGER) { * AX == 0 means handle fault normally, 1 means issue TRAPFAULT */ cpu.regEAX = (cpu.regEAX & ~0xffff) | (this.fIgnoreNextCheckFault? 0 : 1); - if (DEBUG) this.println("INT 0x41 CHECKFAULT: fault=" + str.toHexWord(BX) + " type=" + str.toHexWord(CX) + " trapped=" + !this.fIgnoreNextCheckFault); + if (DEBUG) this.println("INT 0x41 CHECKFAULT: fault=" + str.toHexWord(BX) + " type=" + str.toHexWord(CX) + " trap=" + !this.fIgnoreNextCheckFault); } break; @@ -7514,7 +7514,7 @@ if (DEBUGGER) { * Used with any command (eg, "r") that allows but doesn't require whitespace between command and first argument. * * @this {Debugger} - * @param {Array.} [asArgs] + * @param {Array.} asArgs * @return {Array.} */ Debugger.prototype.shiftArgs = function(asArgs) @@ -7730,4 +7730,4 @@ if (DEBUGGER) { } // endif DEBUGGER -if (typeof module !== 'undefined') module.exports = Debugger; +if (NODE) module.exports = Debugger; diff --git a/modules/pcjs/lib/defines.js b/modules/pcjs/lib/defines.js index d895c19f8..1158847a4 100644 --- a/modules/pcjs/lib/defines.js +++ b/modules/pcjs/lib/defines.js @@ -154,7 +154,7 @@ var COMPAQ386 = true; */ var PAGEBLOCKS = I386; -if (typeof module !== 'undefined') { +if (NODE) { global.PCJSCLASS = PCJSCLASS; global.DEBUGGER = DEBUGGER; global.PREFETCH = PREFETCH; diff --git a/modules/pcjs/lib/disk.js b/modules/pcjs/lib/disk.js index c268a0979..b78c76b64 100644 --- a/modules/pcjs/lib/disk.js +++ b/modules/pcjs/lib/disk.js @@ -156,7 +156,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); @@ -2769,4 +2769,4 @@ Disk.prototype.dumpSector = function(sector, pba, sDesc) return sDump; }; -if (typeof module !== 'undefined') module.exports = Disk; +if (NODE) module.exports = Disk; diff --git a/modules/pcjs/lib/fdc.js b/modules/pcjs/lib/fdc.js index 71c177f79..17bbe824d 100644 --- a/modules/pcjs/lib/fdc.js +++ b/modules/pcjs/lib/fdc.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var DiskAPI = require("../../shared/lib/diskapi"); @@ -2499,4 +2499,4 @@ FDC.init = function() { */ web.onInit(FDC.init); -if (typeof module !== 'undefined') module.exports = FDC; +if (NODE) module.exports = FDC; diff --git a/modules/pcjs/lib/hdc.js b/modules/pcjs/lib/hdc.js index 536b16ce5..bf17f4e60 100644 --- a/modules/pcjs/lib/hdc.js +++ b/modules/pcjs/lib/hdc.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var DiskAPI = require("../../shared/lib/diskapi"); @@ -2910,4 +2910,4 @@ HDC.init = function() */ web.onInit(HDC.init); -if (typeof module !== 'undefined') module.exports = HDC; +if (NODE) module.exports = HDC; diff --git a/modules/pcjs/lib/interrupts.js b/modules/pcjs/lib/interrupts.js index 9291a3d12..d489f43c4 100644 --- a/modules/pcjs/lib/interrupts.js +++ b/modules/pcjs/lib/interrupts.js @@ -2033,4 +2033,4 @@ if (DEBUGGER) { * entries for 16 segments. */ -if (typeof module !== 'undefined') module.exports = Interrupts; +if (NODE) module.exports = Interrupts; diff --git a/modules/pcjs/lib/keyboard.js b/modules/pcjs/lib/keyboard.js index e560abb31..287c27116 100644 --- a/modules/pcjs/lib/keyboard.js +++ b/modules/pcjs/lib/keyboard.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); @@ -2253,4 +2253,4 @@ Keyboard.init = function() */ web.onInit(Keyboard.init); -if (typeof module !== 'undefined') module.exports = Keyboard; +if (NODE) module.exports = Keyboard; diff --git a/modules/pcjs/lib/memory.js b/modules/pcjs/lib/memory.js index b27202cbd..a16057f4e 100644 --- a/modules/pcjs/lib/memory.js +++ b/modules/pcjs/lib/memory.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var Component = require("../../shared/lib/component"); var Messages = require("./messages"); @@ -1334,4 +1334,4 @@ if (TYPEDARRAYS) { Memory.afnLittleEndian = [Memory.prototype.readByteLittleEndian, Memory.prototype.readShortLittleEndian, Memory.prototype.readLongLittleEndian, Memory.prototype.writeByteLittleEndian, Memory.prototype.writeShortLittleEndian, Memory.prototype.writeLongLittleEndian]; } -if (typeof module !== 'undefined') module.exports = Memory; +if (NODE) module.exports = Memory; diff --git a/modules/pcjs/lib/messages.js b/modules/pcjs/lib/messages.js index b0ff29bc2..05e359b26 100644 --- a/modules/pcjs/lib/messages.js +++ b/modules/pcjs/lib/messages.js @@ -83,4 +83,4 @@ var Messages = { HALT: 0x80000000|0 }; -if (typeof module !== 'undefined') module.exports = Messages; +if (NODE) module.exports = Messages; diff --git a/modules/pcjs/lib/mouse.js b/modules/pcjs/lib/mouse.js index 85074efba..fe50c5267 100644 --- a/modules/pcjs/lib/mouse.js +++ b/modules/pcjs/lib/mouse.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); @@ -731,4 +731,4 @@ Mouse.init = function() */ web.onInit(Mouse.init); -if (typeof module !== 'undefined') module.exports = Mouse; +if (NODE) module.exports = Mouse; diff --git a/modules/pcjs/lib/panel.js b/modules/pcjs/lib/panel.js index 679f16977..6f35f8642 100644 --- a/modules/pcjs/lib/panel.js +++ b/modules/pcjs/lib/panel.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var usr = require("../../shared/lib/usrlib"); var web = require("../../shared/lib/weblib"); @@ -987,4 +987,4 @@ Panel.init = function() */ web.onInit(Panel.init); -if (typeof module !== 'undefined') module.exports = Panel; +if (NODE) module.exports = Panel; diff --git a/modules/pcjs/lib/ram.js b/modules/pcjs/lib/ram.js index 147cb5add..2206bd80a 100644 --- a/modules/pcjs/lib/ram.js +++ b/modules/pcjs/lib/ram.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); @@ -590,4 +590,4 @@ CompaqController.prototype.getMemoryAccess = function() */ web.onInit(RAM.init); -if (typeof module !== 'undefined') module.exports = RAM; +if (NODE) module.exports = RAM; diff --git a/modules/pcjs/lib/rom.js b/modules/pcjs/lib/rom.js index 2d492a34d..ab1a700eb 100644 --- a/modules/pcjs/lib/rom.js +++ b/modules/pcjs/lib/rom.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var DumpAPI = require("../../shared/lib/dumpapi"); @@ -419,4 +419,4 @@ ROM.init = function() */ web.onInit(ROM.init); -if (typeof module !== 'undefined') module.exports = ROM; +if (NODE) module.exports = ROM; diff --git a/modules/pcjs/lib/serialport.js b/modules/pcjs/lib/serialport.js index 099d489b2..8c0b76582 100644 --- a/modules/pcjs/lib/serialport.js +++ b/modules/pcjs/lib/serialport.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); var Messages = require("./messages"); @@ -837,4 +837,4 @@ SerialPort.init = function() */ web.onInit(SerialPort.init); -if (typeof module !== 'undefined') module.exports = SerialPort; +if (NODE) module.exports = SerialPort; diff --git a/modules/pcjs/lib/state.js b/modules/pcjs/lib/state.js index fb3bfd502..a30af0bd3 100644 --- a/modules/pcjs/lib/state.js +++ b/modules/pcjs/lib/state.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var web = require("./../../shared/lib/weblib"); var Component = require("./../../shared/lib/component"); var Messages = require("./messages"); @@ -414,4 +414,4 @@ State.prototype = { } }; -if (typeof module !== 'undefined') module.exports = State; +if (NODE) module.exports = State; diff --git a/modules/pcjs/lib/video.js b/modules/pcjs/lib/video.js index 0069c8926..9b5de033e 100644 --- a/modules/pcjs/lib/video.js +++ b/modules/pcjs/lib/video.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var DumpAPI = require("../../shared/lib/dumpapi"); @@ -7061,4 +7061,4 @@ Video.init = function() */ web.onInit(Video.init); -if (typeof module !== 'undefined') module.exports = Video; +if (NODE) module.exports = Video; diff --git a/modules/pcjs/lib/x86.js b/modules/pcjs/lib/x86.js index 1e478181f..faa45d3d6 100644 --- a/modules/pcjs/lib/x86.js +++ b/modules/pcjs/lib/x86.js @@ -535,4 +535,4 @@ X86.PS_SAHF = (X86.PS.CF | X86.PS.PF | X86.PS.AF | X86.PS.ZF | X86.PS.SF); */ X86.OPFLAG_PREFIXES = (X86.OPFLAG.SEG | X86.OPFLAG.LOCK | X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ | X86.OPFLAG.DATASIZE | X86.OPFLAG.ADDRSIZE); -if (typeof module !== 'undefined') module.exports = X86; +if (NODE) module.exports = X86; diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index 740d21216..0cd02fa8c 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var web = require("../../shared/lib/weblib"); var Component = require("../../shared/lib/component"); @@ -48,11 +48,11 @@ if (typeof module !== 'undefined') { if (!I386) { /* * These are the original ModRM decoders, which were simpler and faster because they could treat all - * word instructions as 16-bit, assume bits 15-31 of all registers were always zero, and use masking + * word instructions as 16-bit, assume bits 16-31 of all registers were always zero, and use masking * constants instead of variables. If I386 is enabled, these decoders are not used, and the compiler * will eliminate them from the compiled code. */ - if (typeof module !== 'undefined') { + if (NODE) { var X86ModB = require("./x86modb"); var X86ModW = require("./x86modw"); } @@ -61,7 +61,7 @@ if (!I386) { * These are the more general-purpose ModRM decoders, required for I386 support. The current addressing * mode (16-bit or 32-bit) dynamically selects the appropriate set of decoders. */ - if (typeof module !== 'undefined') { + if (NODE) { var X86ModB16 = require("./x86modb16"); var X86ModW16 = require("./x86modw16"); var X86ModB32 = require("./x86modb32"); @@ -4698,4 +4698,4 @@ X86CPU.init = function() */ web.onInit(X86CPU.init); -if (typeof module !== 'undefined') module.exports = X86CPU; +if (NODE) module.exports = X86CPU; diff --git a/modules/pcjs/lib/x86func.js b/modules/pcjs/lib/x86func.js index 5fea42489..6c1bcae6c 100644 --- a/modules/pcjs/lib/x86func.js +++ b/modules/pcjs/lib/x86func.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var Messages = require("./messages"); var X86 = require("./x86"); diff --git a/modules/pcjs/lib/x86modb.js b/modules/pcjs/lib/x86modb.js index 459672e50..d17ad93c2 100644 --- a/modules/pcjs/lib/x86modb.js +++ b/modules/pcjs/lib/x86modb.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -8439,4 +8439,4 @@ X86ModB.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModB; +if (NODE) module.exports = X86ModB; diff --git a/modules/pcjs/lib/x86modb16.js b/modules/pcjs/lib/x86modb16.js index a12dc1e8b..4e02a0e98 100644 --- a/modules/pcjs/lib/x86modb16.js +++ b/modules/pcjs/lib/x86modb16.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -8439,4 +8439,4 @@ X86ModB16.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModB16; +if (NODE) module.exports = X86ModB16; diff --git a/modules/pcjs/lib/x86modb32.js b/modules/pcjs/lib/x86modb32.js index 7620f8d1f..7ed85ceab 100644 --- a/modules/pcjs/lib/x86modb32.js +++ b/modules/pcjs/lib/x86modb32.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -8439,4 +8439,4 @@ X86ModB32.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModB32; +if (NODE) module.exports = X86ModB32; diff --git a/modules/pcjs/lib/x86modsib.js b/modules/pcjs/lib/x86modsib.js index 2e09c8b79..a78d38c84 100644 --- a/modules/pcjs/lib/x86modsib.js +++ b/modules/pcjs/lib/x86modsib.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -2391,4 +2391,4 @@ X86ModSIB.aOpModSIB = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModSIB; +if (NODE) module.exports = X86ModSIB; diff --git a/modules/pcjs/lib/x86modw.js b/modules/pcjs/lib/x86modw.js index 9a1ac29a2..5928fd38e 100644 --- a/modules/pcjs/lib/x86modw.js +++ b/modules/pcjs/lib/x86modw.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -9010,4 +9010,4 @@ X86ModW.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModW; +if (NODE) module.exports = X86ModW; diff --git a/modules/pcjs/lib/x86modw16.js b/modules/pcjs/lib/x86modw16.js index 8010c47f9..9c01a53c4 100644 --- a/modules/pcjs/lib/x86modw16.js +++ b/modules/pcjs/lib/x86modw16.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -9330,4 +9330,4 @@ X86ModW16.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModW16; +if (NODE) module.exports = X86ModW16; diff --git a/modules/pcjs/lib/x86modw32.js b/modules/pcjs/lib/x86modw32.js index 2b9fa3c8b..4d472b887 100644 --- a/modules/pcjs/lib/x86modw32.js +++ b/modules/pcjs/lib/x86modw32.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } @@ -9330,4 +9330,4 @@ X86ModW32.aOpModGrp = [ } ]; -if (typeof module !== 'undefined') module.exports = X86ModW32; +if (NODE) module.exports = X86ModW32; diff --git a/modules/pcjs/lib/x86op0f.js b/modules/pcjs/lib/x86op0f.js index 214862a6c..d30422de1 100644 --- a/modules/pcjs/lib/x86op0f.js +++ b/modules/pcjs/lib/x86op0f.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var X86 = require("./x86"); } diff --git a/modules/pcjs/lib/x86ops.js b/modules/pcjs/lib/x86ops.js index eeee7157f..e24a817fe 100644 --- a/modules/pcjs/lib/x86ops.js +++ b/modules/pcjs/lib/x86ops.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var Component = require("../../shared/lib/component"); var Messages = require("./messages"); diff --git a/modules/pcjs/lib/x86seg.js b/modules/pcjs/lib/x86seg.js index fbf9a994c..0a5610841 100644 --- a/modules/pcjs/lib/x86seg.js +++ b/modules/pcjs/lib/x86seg.js @@ -32,7 +32,7 @@ "use strict"; -if (typeof module !== 'undefined') { +if (NODE) { var str = require("../../shared/lib/strlib"); var Messages = require("./messages"); var Memory = require("./memory"); @@ -1565,4 +1565,4 @@ X86Seg.prototype.messageSeg = function(sel, base, limit, type, ext) } }; -if (typeof module !== 'undefined') module.exports = X86Seg; +if (NODE) module.exports = X86Seg; diff --git a/modules/shared/lib/component.js b/modules/shared/lib/component.js index 46a2453f1..f5039366f 100644 --- a/modules/shared/lib/component.js +++ b/modules/shared/lib/component.js @@ -53,7 +53,7 @@ /* global window: true, DEBUG: true */ -if (typeof module !== 'undefined') { +if (NODE) { require("./defines"); var usr = require("./usrlib"); var web = require("./weblib"); @@ -997,4 +997,4 @@ Component.prototype = { } }; -if (typeof module !== 'undefined') module.exports = Component; +if (NODE) module.exports = Component; diff --git a/modules/shared/lib/defines.js b/modules/shared/lib/defines.js index 0dc748cac..15d1cb35c 100644 --- a/modules/shared/lib/defines.js +++ b/modules/shared/lib/defines.js @@ -64,7 +64,15 @@ var DEBUG = true; // this @define is overridden by the Closure Com */ var MAXDEBUG = false; // this @define is overridden by the Closure Compiler (to false) to remove MAXDEBUG-only code +/* + * NODE should be true if we're running under NodeJS (eg, command-line), false if not (eg, web browser) + */ +var NODE = false; if (typeof module !== 'undefined') { + NODE = true; +} + +if (NODE) { global.window = false; // provides an alternative "if (typeof window === 'undefined')" (ie, "if (window) ...") global.APPNAME = APPNAME; global.APPVERSION = APPVERSION; @@ -72,6 +80,7 @@ if (typeof module !== 'undefined') { global.COMPILED = COMPILED; global.DEBUG = DEBUG; global.MAXDEBUG = MAXDEBUG; + global.NODE = NODE; /* * TODO: When we're "required" by Node, should we return anything via module.exports? */ diff --git a/modules/shared/lib/diskapi.js b/modules/shared/lib/diskapi.js index 5c2897940..809513046 100644 --- a/modules/shared/lib/diskapi.js +++ b/modules/shared/lib/diskapi.js @@ -215,4 +215,4 @@ DiskAPI.ATTR = { ARCHIVE: 0x20 // PC-DOS 2.0 and up }; -if (typeof module !== 'undefined') module.exports = DiskAPI; +if (NODE) module.exports = DiskAPI; diff --git a/modules/shared/lib/dumpapi.js b/modules/shared/lib/dumpapi.js index bb60e5b57..15f8ac7bc 100644 --- a/modules/shared/lib/dumpapi.js +++ b/modules/shared/lib/dumpapi.js @@ -82,4 +82,4 @@ var DumpAPI = { DumpAPI.asDiskCommands = [DumpAPI.QUERY.DIR, DumpAPI.QUERY.DISK, DumpAPI.QUERY.PATH]; DumpAPI.asFileCommands = [DumpAPI.QUERY.FILE]; -if (typeof module !== 'undefined') module.exports = DumpAPI; \ No newline at end of file +if (NODE) module.exports = DumpAPI; \ No newline at end of file diff --git a/modules/shared/lib/embed.js b/modules/shared/lib/embed.js index 794c5f775..8b1f0bc96 100644 --- a/modules/shared/lib/embed.js +++ b/modules/shared/lib/embed.js @@ -34,7 +34,7 @@ /* global window: true, XSLTProcessor: false, APPNAME: false, APPVERSION: false, DEBUG: true */ -if (typeof module !== 'undefined') { +if (NODE) { var Component; var str = require("./strlib"); var web = require("./weblib"); diff --git a/modules/shared/lib/netlib.js b/modules/shared/lib/netlib.js index 26fa5f933..8837be03d 100644 --- a/modules/shared/lib/netlib.js +++ b/modules/shared/lib/netlib.js @@ -36,7 +36,7 @@ var net = {}; -if (typeof module !== 'undefined') { +if (NODE) { var sServerRoot; var fs = require("fs"); var http = require("http"); @@ -396,4 +396,4 @@ net.loadResource = function(sURL, fAsync, data, componentNotify, fnNotify, pNoti return [nErrorCode, sResponse]; }; -if (typeof module !== 'undefined') module.exports = net; +if (NODE) module.exports = net; diff --git a/modules/shared/lib/proclib.js b/modules/shared/lib/proclib.js index 3bc2790e3..ecc231fff 100644 --- a/modules/shared/lib/proclib.js +++ b/modules/shared/lib/proclib.js @@ -87,4 +87,4 @@ proc.getArgs = function() { return {argc: argc, argv: argv}; }; -if (typeof module !== 'undefined') module.exports = proc; +if (NODE) module.exports = proc; diff --git a/modules/shared/lib/reportapi.js b/modules/shared/lib/reportapi.js index 83089be51..8ac8c189d 100644 --- a/modules/shared/lib/reportapi.js +++ b/modules/shared/lib/reportapi.js @@ -50,4 +50,4 @@ var ReportAPI = { } }; -if (typeof module !== 'undefined') module.exports = ReportAPI; \ No newline at end of file +if (NODE) module.exports = ReportAPI; \ No newline at end of file diff --git a/modules/shared/lib/strlib.js b/modules/shared/lib/strlib.js index 7da5d1d6c..5f0e9ae9e 100644 --- a/modules/shared/lib/strlib.js +++ b/modules/shared/lib/strlib.js @@ -402,4 +402,4 @@ str.trim = function(s) return s.replace(/^\s+|\s+$/g, ""); }; -if (typeof module !== 'undefined') module.exports = str; +if (NODE) module.exports = str; diff --git a/modules/shared/lib/userapi.js b/modules/shared/lib/userapi.js index 36257f27e..a2d89d14d 100644 --- a/modules/shared/lib/userapi.js +++ b/modules/shared/lib/userapi.js @@ -70,4 +70,4 @@ var UserAPI = { } }; -if (typeof module !== 'undefined') module.exports = UserAPI; \ No newline at end of file +if (NODE) module.exports = UserAPI; \ No newline at end of file diff --git a/modules/shared/lib/usrlib.js b/modules/shared/lib/usrlib.js index ebe11bb08..90f0e68a8 100644 --- a/modules/shared/lib/usrlib.js +++ b/modules/shared/lib/usrlib.js @@ -316,4 +316,4 @@ usr.indexOf = function(a, t, i) return -1; }; -if (typeof module !== 'undefined') module.exports = usr; +if (NODE) module.exports = usr; diff --git a/modules/shared/lib/weblib.js b/modules/shared/lib/weblib.js index 4139a625b..f5c3e1011 100644 --- a/modules/shared/lib/weblib.js +++ b/modules/shared/lib/weblib.js @@ -118,7 +118,7 @@ /* global window: true, setTimeout: false, clearTimeout: false, SITEHOST: false */ -if (typeof module !== 'undefined') { +if (NODE) { var Component; require("./defines"); var str = require("./strlib"); @@ -147,7 +147,7 @@ var web = {}; */ web.log = function(s, type) { - if (typeof module !== 'undefined') { + if (NODE) { if (!Component) Component = require("./component"); } Component.log(s, type); @@ -164,7 +164,7 @@ web.log = function(s, type) */ web.notice = function(s, fPrintOnly, id) { - if (typeof module !== 'undefined') { + if (NODE) { if (!Component) Component = require("./component"); } Component.notice(s, fPrintOnly, id); @@ -191,7 +191,7 @@ web.notice = function(s, fPrintOnly, id) web.loadResource = function(sURL, fAsync, data, componentNotify, fnNotify, pNotify) { fAsync = !!fAsync; // ensure that fAsync is a valid boolean (Internet Explorer xmlHTTP functions insist on it) - if (typeof module !== 'undefined') { + if (NODE) { /* * We don't even need to load Component, because we can't use any of the code below * within Node anyway. Instead, we must hand this request off to our network library. @@ -816,4 +816,4 @@ web.onPageEvent('onload', function onPageLoad() { web.fPageReady = true; web.doP web.onPageEvent('onpageshow', function onPageShow() { web.doPageEvent(web.aPageEventHandlers['show']); }); web.onPageEvent(web.isUserAgent("Opera") || web.isUserAgent("iOS")? 'onunload' : 'onbeforeunload', function onPageUnload() { web.doPageEvent(web.aPageEventHandlers['exit']); }); -if (typeof module !== 'undefined') module.exports = web; +if (NODE) module.exports = web; diff --git a/server.js b/server.js index 96180e99a..bc1ea3501 100644 --- a/server.js +++ b/server.js @@ -51,6 +51,7 @@ var http = require("http"); var express = require("express"); var slash = require("express-slash"); +var defines = require("./modules/shared/lib/defines"); var proclib = require("./modules/shared/lib/proclib"); var args = proclib.getArgs();