elm-pages-v3-beta/generator/src/generate-elm-stuff.js

26 lines
811 B
JavaScript
Raw Normal View History

const fs = require("fs");
const runElm = require("./compile-elm.js");
const copyModifiedElmJson = require("./rewrite-elm-json.js");
2019-08-20 02:25:30 +03:00
const { elmPagesCliFile } = require("./elm-file-constants.js");
module.exports = function run(staticRoutes, rawContentFile, callback) {
// mkdir -p elm-stuff/elm-pages/
// requires NodeJS >= 10.12.0
fs.mkdirSync("./elm-stuff/elm-pages", { recursive: true });
// write `PagesNew.elm` with cli interface
fs.writeFileSync(
"./elm-stuff/elm-pages/PagesNew.elm",
elmPagesCliFile(staticRoutes)
);
// generate RawContent.elm
2019-08-20 01:58:55 +03:00
fs.writeFileSync("./elm-stuff/elm-pages/RawContent.elm", rawContentFile);
// write modified elm.json to elm-stuff/elm-pages/
copyModifiedElmJson();
// run Main.elm from elm-stuff/elm-pages with `runElm`
2019-08-20 01:58:55 +03:00
runElm(callback);
};