UNPKG

arredemo

Version:

Instantly build a static site for your package

74 lines (60 loc) 2.09 kB
import { /*red, green,*/ cyan } from "tinguir" import { loadArreDemoAppData } from "./load.mjs" import { cleanArreDemoApp, renderArreDemoApp } from "./render/index.mjs" import { rollupBuild } from "./rollup/build.mjs" import { rollupArreDemoAppConfig } from "./rollup/prepare.mjs" async function makeArreDemoBuild(pkgPath, arreConfig) { /** Structure: phase 1: gather info - pkgPath - pkgJson - arreConfig - all the README based on supported versions phase 2: render app - copy everyfile from src/app - to package/arredemo/_temp - index.mjs and index.html need some str replace with data got on phase 1 phase 3: build app - from rendered package/arredemo/_temp - we get that struct: package/ arredemo.json arredemo/ index.html docs.html demo.html bundle.css bundle.js favicon.ico */ console.log(`[arredemo] ${cyan("Loading data")}...`) const [pkgJson, readmes] = await loadArreDemoAppData(pkgPath, arreConfig) console.log(`[arredemo] ${cyan("Rendering app")}...`) const rendFolder = renderArreDemoApp(pkgPath, pkgJson, arreConfig, readmes) console.log(`[arredemo] ${cyan("Building docs page")}...`) const [inputOptionsForDocs, outputOptionsListForDocs] = rollupArreDemoAppConfig( pkgPath, pkgJson, arreConfig, rendFolder, "index_docs.mjs", "arredemo_docs.js" ) const _buildOkForDocs = await rollupBuild(inputOptionsForDocs, outputOptionsListForDocs) if (arreConfig.has_demo) { console.log(`[arredemo] ${cyan("Building demo page")}...`) const [inputOptionsForDemo, outputOptionsListForDemo] = rollupArreDemoAppConfig( pkgPath, pkgJson, arreConfig, rendFolder, "index_demo.mjs", "arredemo_demo.js" ) const _buildOkForDemo = await rollupBuild(inputOptionsForDemo, outputOptionsListForDemo) } console.log(`[arredemo] ${cyan("Cleaning")}...`) cleanArreDemoApp(pkgPath) } export { makeArreDemoBuild }