diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-01 11:21:29 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-01 11:21:29 -0700 |
commit | 01708b7529bc4305272277c38c8f6c91ad27e367 (patch) | |
tree | c0c52c66bc1e469c7b10b1fbd0b02bf8e1174399 | |
parent | 6fe5cf7d33f63d0c73e544d0d2c783e60e8d52fc (diff) | |
parent | 1f8cdac6b6e3bbc601b4bf955451790cabb4a469 (diff) |
Merge pull request #1335 from inolen/module_exports
Module export improvements
-rw-r--r-- | src/jsifier.js | 4 | ||||
-rw-r--r-- | src/settings.js | 3 | ||||
-rw-r--r-- | src/shell.js | 10 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 14c9cfbe..885fbc30 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -44,7 +44,7 @@ function JSify(data, functionsOnly, givenFunctions) { // things out as they are ready. var shellParts = read(shellFile).split('{{BODY}}'); - print(shellParts[0]); + print(processMacros(preprocess(shellParts[0]))); var preFile = BUILD_AS_SHARED_LIB ? 'preamble_sharedlib.js' : 'preamble.js'; var pre = processMacros(preprocess(read(preFile).replace('{{RUNTIME}}', getRuntime()))); print(pre); @@ -1767,7 +1767,7 @@ function JSify(data, functionsOnly, givenFunctions) { print(postParts[1]); var shellParts = read(shellFile).split('{{BODY}}'); - print(shellParts[1]); + print(processMacros(preprocess(shellParts[1]))); // Print out some useful metadata if (EMIT_GENERATED_FUNCTIONS || PGO) { var generatedFunctions = JSON.stringify(keys(Functions.implementedFunctions).filter(function(func) { diff --git a/src/settings.js b/src/settings.js index 6df9a05e..dff52adf 100644 --- a/src/settings.js +++ b/src/settings.js @@ -381,6 +381,9 @@ var EMIT_GENERATED_FUNCTIONS = 0; // whether to emit the list of generated funct var JS_CHUNK_SIZE = 10240; // Used as a maximum size before breaking up expressions and lines into smaller pieces +var EXPORT_NAME = 'Module'; // Global variable to export the module as for environments without a standardized module + // loading system (e.g. the browser and SM shell). + // Compiler debugging options var DEBUG_TAGS_SHOWING = []; // Some useful items: diff --git a/src/shell.js b/src/shell.js index 873bcc65..1f987926 100644 --- a/src/shell.js +++ b/src/shell.js @@ -12,10 +12,6 @@ var ENVIRONMENT_IS_WEB = typeof window === 'object'; var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -if (typeof module === "object") { - module.exports = Module; -} - if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work // Note that we pollute the global namespace here, otherwise we break in node @@ -50,6 +46,8 @@ if (ENVIRONMENT_IS_NODE) { if (!Module['arguments']) { Module['arguments'] = process['argv'].slice(2); } + + module.exports = Module; } if (ENVIRONMENT_IS_SHELL) { @@ -68,6 +66,8 @@ if (ENVIRONMENT_IS_SHELL) { Module['arguments'] = arguments; } } + + this['{{{ EXPORT_NAME }}}'] = Module; } if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) { @@ -82,6 +82,8 @@ if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) { console.log(x); }; } + + this['{{{ EXPORT_NAME }}}'] = Module; } if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { |