UNPKG

elm-basic-compile

Version:

elm-compiler built with GHCJS and wrapped in a simple interface

37 lines (34 loc) 1.35 kB
var q = require('q'); var pv = require('./js/package-version'); var ep = require('./js/elm-package'); var gs = require('./js/github-source'); module.exports.packageNameString = pv.packageNameString; module.exports.parsePackageName = pv.parsePackageName; module.exports.GithubSource = gs.GithubSource; module.exports.ElmPackage = ep.ElmPackage; module.exports.PackageSolver = ep.PackageSolver; /* The simplest possible compilation interface. */ module.exports.justCompile = function(source) { var packageSpec = {user: "prozacchiwawa", project: "test", version: "1.0.0"}; var retriever = new gs.GithubSource(); retriever.useSourceFile(packageSpec,["Main"],source); retriever.useJson(packageSpec,{ "version": "1.0.0", "source-directories": ["src"], "repository": "https://github.com/prozacchiwawa/test.git", "exposed-modules": [], "dependencies": { "elm-lang/core": "5.0.0 <= v < 6.0.0", "elm-lang/html": "2.0.0 <= v < 3.0.0" } }); var epkg = new ep.ElmPackage(retriever,packageSpec); return epkg.expandPackage(["Main"]).then(function(reachable) { return epkg.compileModule("Main",true); }).then(function() { return epkg.link(["Main"]); }).fail(function(e) { console.error(e); return {error: e}; }); }