diff --git a/index.js b/index.js index 5999c40..40c8b4b 100644 --- a/index.js +++ b/index.js @@ -187,6 +187,7 @@ function compilerArgsFromOptions(options, emitWarning) { case "warn": return ["--warn"]; case "debug": return ["--debug"]; case "docs": return ["--docs", value] + case "runtimeOptions": return ["+RTS", value, "-RTS"] default: if (supportedOptions.indexOf(opt) === -1) { emitWarning('Unknown Elm compiler option: ' + opt); @@ -206,5 +207,6 @@ module.exports = { compileWorker: require("./worker.js")(compile), compileToString: compileToString, compileToStringSync: compileToStringSync, - findAllDependencies: findAllDependencies + findAllDependencies: findAllDependencies, + _prepareProcessArgs: prepareProcessArgs }; diff --git a/test/compile.js b/test/compile.js index 500dfb6..f836588 100644 --- a/test/compile.js +++ b/test/compile.js @@ -82,6 +82,19 @@ describe("#compileToString", function() { }); }); + it("adds runtime options as arguments", function () { + var opts = { + yes: true, + verbose: true, + cwd: fixturesDir, + runtimeOptions: "-A128M -H128M -n8m" + }; + + return expect(compiler + ._prepareProcessArgs("a.elm", opts) + .join(" ")).to.equal("a.elm --yes +RTS -A128M -H128M -n8m -RTS"); + }); + it("reports errors on bad syntax", function () { var opts = { yes: true,