forked from tsai/budibase
4 changed files with 4 additions and 187 deletions
@ -1,138 +0,0 @@ |
|||||
import alias from "@rollup/plugin-alias" |
|
||||
import svelte from "rollup-plugin-svelte" |
|
||||
import resolve from "rollup-plugin-node-resolve" |
|
||||
import commonjs from "@rollup/plugin-commonjs" |
|
||||
import url from "rollup-plugin-url" |
|
||||
import livereload from "rollup-plugin-livereload" |
|
||||
import { terser } from "rollup-plugin-terser" |
|
||||
import builtins from "rollup-plugin-node-builtins" |
|
||||
import nodeglobals from "rollup-plugin-node-globals" |
|
||||
import copy from "rollup-plugin-copy" |
|
||||
import css from "rollup-plugin-css-only" |
|
||||
import replace from "rollup-plugin-replace" |
|
||||
import json from "@rollup/plugin-json" |
|
||||
import html from "rollup-plugin-html" |
|
||||
|
|
||||
import path from "path" |
|
||||
|
|
||||
const production = !process.env.ROLLUP_WATCH |
|
||||
const outputpath = "../server/builder" |
|
||||
const coreExternal = [ |
|
||||
"lodash", |
|
||||
"lodash/fp", |
|
||||
"date-fns", |
|
||||
"lunr", |
|
||||
"safe-buffer", |
|
||||
"shortid", |
|
||||
"@nx-js/compiler-util", |
|
||||
] |
|
||||
|
|
||||
const customResolver = resolve({ |
|
||||
extensions: [ |
|
||||
".mjs", |
|
||||
".js", |
|
||||
".jsx", |
|
||||
".json", |
|
||||
".sass", |
|
||||
".scss", |
|
||||
".svelte", |
|
||||
".css", |
|
||||
], |
|
||||
}) |
|
||||
const projectRootDir = path.resolve(__dirname) |
|
||||
|
|
||||
export default { |
|
||||
input: "src/main.js", |
|
||||
output: { |
|
||||
sourcemap: true, |
|
||||
format: "iife", |
|
||||
name: "app", |
|
||||
file: `${outputpath}/bundle.js`, |
|
||||
}, |
|
||||
plugins: [ |
|
||||
alias({ |
|
||||
entries: [ |
|
||||
{ |
|
||||
find: "components", |
|
||||
replacement: path.resolve(projectRootDir, "src/components"), |
|
||||
}, |
|
||||
{ |
|
||||
find: "builderStore", |
|
||||
replacement: path.resolve(projectRootDir, "src/builderStore"), |
|
||||
}, |
|
||||
{ |
|
||||
find: "constants", |
|
||||
replacement: path.resolve(projectRootDir, "src/constants"), |
|
||||
}, |
|
||||
{ |
|
||||
find: "analytics", |
|
||||
replacement: path.resolve(projectRootDir, "src/analytics"), |
|
||||
}, |
|
||||
], |
|
||||
customResolver, |
|
||||
}), |
|
||||
copy({ |
|
||||
targets: [ |
|
||||
{ src: "src/index.html", dest: outputpath }, |
|
||||
{ src: "src/favicon.png", dest: outputpath }, |
|
||||
{ src: "assets", dest: outputpath }, |
|
||||
{ |
|
||||
src: "../bbui/dist/bbui.css", |
|
||||
dest: outputpath, |
|
||||
}, |
|
||||
{ |
|
||||
src: "node_modules/remixicon/fonts/*", |
|
||||
dest: outputpath, |
|
||||
}, |
|
||||
], |
|
||||
}), |
|
||||
|
|
||||
replace({ |
|
||||
"process.env.NODE_ENV": JSON.stringify( |
|
||||
production ? "production" : "development" |
|
||||
), |
|
||||
"process.env.POSTHOG_TOKEN": JSON.stringify(process.env.POSTHOG_TOKEN), |
|
||||
"process.env.POSTHOG_URL": JSON.stringify(process.env.POSTHOG_URL), |
|
||||
"process.env.SENTRY_DSN": JSON.stringify(process.env.SENTRY_DSN), |
|
||||
}), |
|
||||
|
|
||||
svelte(), |
|
||||
|
|
||||
// Export all CSS imported in the JS to it's own bundle.
|
|
||||
// This is exclusively external stylesheets and vendor stylesheets.
|
|
||||
// Svelte CSS is handled by the svelte plugin
|
|
||||
css({ |
|
||||
output: `external.css`, |
|
||||
}), |
|
||||
|
|
||||
resolve({ |
|
||||
browser: true, |
|
||||
dedupe: importee => { |
|
||||
return ( |
|
||||
importee === "svelte" || |
|
||||
importee.startsWith("svelte/") || |
|
||||
coreExternal.includes(importee) |
|
||||
) |
|
||||
}, |
|
||||
}), |
|
||||
commonjs(), |
|
||||
url({ |
|
||||
limit: 0, |
|
||||
include: ["**/*.woff2", "**/*.png"], |
|
||||
fileName: "[dirname][name][extname]", |
|
||||
emitFiles: true, |
|
||||
}), |
|
||||
builtins(), |
|
||||
nodeglobals(), |
|
||||
|
|
||||
// Watch the `dist` directory and refresh the
|
|
||||
// browser on changes when not in production
|
|
||||
!production && livereload({ watch: outputpath, delay: 500, port: 35730 }), |
|
||||
|
|
||||
// If we're building for production (npm run build
|
|
||||
// instead of npm run dev), minify
|
|
||||
production && terser(), |
|
||||
json(), |
|
||||
html(), |
|
||||
], |
|
||||
} |
|
||||
@ -1,46 +0,0 @@ |
|||||
<html> |
|
||||
<head> |
|
||||
<link rel="stylesheet" href="https://rsms.me/inter/inter.css"> |
|
||||
<link href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" rel="stylesheet"> |
|
||||
<style> |
|
||||
body, html { |
|
||||
height: 100% !important; |
|
||||
font-family: Inter, sans-serif !important; |
|
||||
margin: 0 !important; |
|
||||
} |
|
||||
*, *:before, *:after { |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
</style> |
|
||||
<script src='/assets/budibase-client.js'></script> |
|
||||
<script> |
|
||||
function receiveMessage(event) { |
|
||||
if (!event.data) { |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
// Extract data from message |
|
||||
const { selectedComponentId, layout, screen, previewType, appId } = JSON.parse(event.data) |
|
||||
|
|
||||
// Set some flags so the app knows we're in the builder |
|
||||
window["##BUDIBASE_IN_BUILDER##"] = true |
|
||||
window["##BUDIBASE_APP_ID##"] = appId |
|
||||
window["##BUDIBASE_PREVIEW_LAYOUT##"] = layout |
|
||||
window["##BUDIBASE_PREVIEW_SCREEN##"] = screen |
|
||||
window["##BUDIBASE_SELECTED_COMPONENT_ID##"] = selectedComponentId |
|
||||
window["##BUDIBASE_PREVIEW_ID##"] = Math.random() |
|
||||
window["##BUDIBASE_PREVIEW_TYPE##"] = previewType |
|
||||
|
|
||||
// Initialise app |
|
||||
if (window.loadBudibase) { |
|
||||
loadBudibase() |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
window.addEventListener("message", receiveMessage) |
|
||||
window.dispatchEvent(new Event("bb-ready")) |
|
||||
</script> |
|
||||
</head> |
|
||||
<body> |
|
||||
</body> |
|
||||
</html> |
|
||||
Loading…
Reference in new issue