From d52aeb3e952dc508a05f75f0a793148d4145e896 Mon Sep 17 00:00:00 2001 From: michael shanks Date: Mon, 15 Jul 2019 06:59:46 +0100 Subject: [PATCH] builder now being served by server --- packages/builder/build/copy.js | 8 + packages/builder/package.json | 1 + packages/builder/rollup.config.js | 41 +- packages/builder/src/NoPackage.svelte | 2 +- packages/builder/src/builderStore/store.js | 6 +- packages/builder/src/fonts.css | 16 +- packages/builder/src/index.html | 11 +- packages/builder/src/main.js | 8 +- packages/builder/src/nav/Nav.svelte | 2 +- .../builder/assets/budibase-logo-only.png | Bin 0 -> 4980 bytes .../server/builder/assets/budibase-logo.png | Bin 0 -> 12702 bytes .../builder/assets/lato-latin-ext.woff2 | Bin 0 -> 5480 bytes .../server/builder/assets/lato-latin.woff2 | Bin 0 -> 23484 bytes packages/server/builder/bundle.css | 29 + packages/server/builder/bundle.css.map | 64 ++ packages/server/builder/bundle.js | 2 + packages/server/builder/bundle.js.map | 1 + packages/server/builder/favicon.png | Bin 0 -> 9059 bytes packages/server/builder/flatpickr.css | 785 ++++++++++++++++++ packages/server/builder/fonts.css | 61 ++ packages/server/builder/global.css | 91 ++ packages/server/builder/index.html | 19 + packages/server/builder/uikit.min.css | 1 + packages/server/middleware/routers.js | 41 +- packages/server/package.json | 2 + packages/server/yarn.lock | 72 +- 26 files changed, 1212 insertions(+), 51 deletions(-) create mode 100644 packages/server/builder/assets/budibase-logo-only.png create mode 100644 packages/server/builder/assets/budibase-logo.png create mode 100644 packages/server/builder/assets/lato-latin-ext.woff2 create mode 100644 packages/server/builder/assets/lato-latin.woff2 create mode 100644 packages/server/builder/bundle.css create mode 100644 packages/server/builder/bundle.css.map create mode 100644 packages/server/builder/bundle.js create mode 100644 packages/server/builder/bundle.js.map create mode 100644 packages/server/builder/favicon.png create mode 100644 packages/server/builder/flatpickr.css create mode 100644 packages/server/builder/fonts.css create mode 100644 packages/server/builder/global.css create mode 100644 packages/server/builder/index.html create mode 100644 packages/server/builder/uikit.min.css diff --git a/packages/builder/build/copy.js b/packages/builder/build/copy.js index e69de29bb2..7f16b9bd04 100644 --- a/packages/builder/build/copy.js +++ b/packages/builder/build/copy.js @@ -0,0 +1,8 @@ +const ncp = require('ncp').ncp; + +ncp("./dist", "../server/builder", function (err) { + if (err) { + return console.error(err); + } + console.log('Copied dist folder to ../server/builder'); +}) \ No newline at end of file diff --git a/packages/builder/package.json b/packages/builder/package.json index 7d681ab647..e232dec697 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -22,6 +22,7 @@ "devDependencies": { "browser-sync": "^2.26.7", "http-proxy-middleware": "^0.19.1", + "ncp": "^2.0.0", "npm-run-all": "^4.1.5", "rollup": "^1.12.0", "rollup-plugin-alias": "^1.5.2", diff --git a/packages/builder/rollup.config.js b/packages/builder/rollup.config.js index 39272a69b5..0e4e046b73 100644 --- a/packages/builder/rollup.config.js +++ b/packages/builder/rollup.config.js @@ -11,18 +11,23 @@ import browsersync from "rollup-plugin-browsersync"; import proxy from "http-proxy-middleware"; const target = 'http://localhost:4001/_builder'; -const apiProxy = proxy('/api', { - target, - logLevel: "debug", - changeOrigin: true, - cookieDomainRewrite: true, - onProxyReq(proxyReq) { - if (proxyReq.getHeader("origin")) { - proxyReq.setHeader("origin", target) - } - } +const _builderProxy = proxy('/_builder', { + target:"http://localhost:3000", + pathRewrite: {'^/_builder' : ''} }); +const apiProxy = proxy('/_builder/api', { + target, + logLevel: "debug", + changeOrigin: true, + cookieDomainRewrite: true, + onProxyReq(proxyReq) { + if (proxyReq.getHeader("origin")) { + proxyReq.setHeader("origin", target) + } + } + }); + const production = !process.env.ROLLUP_WATCH; const lodash_fp_exports = ["union", "reduce", "isUndefined", "cloneDeep", "split", "some", "map", "filter", "isEmpty", "countBy", "includes", "last", "find", "constant", @@ -34,7 +39,7 @@ const lodash_exports = ["toNumber", "flow", "isArray", "join", "replace", "trim" "constant", "tail", "includes", "startsWith", "findIndex", "isInteger", "isDate", "isString", "split", "clone", "keys", "isFunction", "merge", "has", "isBoolean", "isNumber", "isObjectLike", "assign", "some", "each", "find", "orderBy", "union", "cloneDeep"]; -const writeoptions = {dest: "output/output.js"}; +const outputpath = "../server/builder"; export default { input: 'src/main.js', @@ -42,13 +47,13 @@ export default { sourcemap: true, format: 'iife', name: 'app', - file: 'dist/bundle.js' + file: `${outputpath}/bundle.js` }, plugins: [ copy({ targets: [ - { src: 'src/index.html', dest: 'dist' }, - { src: 'src/favicon.png', dest: 'dist' } + { src: 'src/index.html', dest: outputpath }, + { src: 'src/favicon.png', dest: outputpath } ] }), @@ -59,7 +64,7 @@ export default { // we'll extract any component CSS out into // a separate file — better for performance css: css => { - css.write('dist/bundle.css'); + css.write(`${outputpath}/bundle.css`); } }), @@ -98,10 +103,10 @@ export default { // Watch the `dist` directory and refresh the // browser on changes when not in production - !production && livereload('dist'), + !production && livereload(outputpath), !production && browsersync({ - server: 'dist', - middleware: [apiProxy] + server: outputpath, + middleware: [_builderProxy, apiProxy] }), // If we're building for production (npm run build diff --git a/packages/builder/src/NoPackage.svelte b/packages/builder/src/NoPackage.svelte index a2d92d6f54..e95f335346 100644 --- a/packages/builder/src/NoPackage.svelte +++ b/packages/builder/src/NoPackage.svelte @@ -9,7 +9,7 @@ let errors = [];
- +
diff --git a/packages/builder/src/builderStore/store.js b/packages/builder/src/builderStore/store.js index 47b0456a5e..0633893f71 100644 --- a/packages/builder/src/builderStore/store.js +++ b/packages/builder/src/builderStore/store.js @@ -53,14 +53,14 @@ const initialise = (store, initial) => async () => { : ""; if(!appname) { - initial.apps = await fetch(`/api/apps`) + initial.apps = await fetch(`/_builder/api/apps`) .then(r => r.json()); initial.hasAppPackage = false; store.set(initial); return initial; } - const pkg = await fetch(`/api/${appname}/appPackage`) + const pkg = await fetch(`/_builder/api/${appname}/appPackage`) .then(r => r.json()); initial.appname = appname; @@ -335,7 +335,7 @@ const savePackage = (store, db) => { accessLevels:db.accessLevels } - fetch(`/api/${db.appname}/appPackage`, { + fetch(`/_builder/api/${db.appname}/appPackage`, { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/packages/builder/src/fonts.css b/packages/builder/src/fonts.css index 4901cee9f4..2c18da1653 100644 --- a/packages/builder/src/fonts.css +++ b/packages/builder/src/fonts.css @@ -2,14 +2,14 @@ @font-face { font-family: 'Lato'; font-weight: 400; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin-ext.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin-ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Lato'; font-weight: 400; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -18,14 +18,14 @@ @font-face { font-family: 'Lato Black'; font-weight: 900; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin-ext.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin-ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* Black latin */ @font-face { font-family: 'Lato Black'; font-weight: 900; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -33,14 +33,14 @@ @font-face { font-family: 'Lato Bold'; font-weight: 700; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin-ext.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin-ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* Bold latin */ @font-face { font-family: 'Lato Bold'; font-weight: 700; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -48,14 +48,14 @@ @font-face { font-family: 'Lato Semi Bold'; font-weight: 600; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin-ext.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin-ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* Semi Bold latin */ @font-face { font-family: 'Lato Semi Bold'; font-weight: 600; - src: local('Lato Regular'), local('Lato-Regular'), url(./assets/lato-latin.woff2) format('woff2'); + src: local('Lato Regular'), local('Lato-Regular'), url(/_builder/assets/lato-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } \ No newline at end of file diff --git a/packages/builder/src/index.html b/packages/builder/src/index.html index 8f5b05b48d..184103a067 100644 --- a/packages/builder/src/index.html +++ b/packages/builder/src/index.html @@ -6,13 +6,14 @@ Budibase Builder - - - - + + + + + - + \ No newline at end of file diff --git a/packages/builder/src/main.js b/packages/builder/src/main.js index ef35ef2a81..1a75e43f4d 100644 --- a/packages/builder/src/main.js +++ b/packages/builder/src/main.js @@ -1,10 +1,10 @@ import App from "./App.svelte"; import "./global.css"; import "./fonts.css"; -import "./assets/lato-latin-ext.woff2"; -import "./assets/lato-latin.woff2"; -import "./assets/budibase-logo.png"; -import "./assets/budibase-logo-only.png"; +import "/assets/lato-latin-ext.woff2"; +import "/assets/lato-latin.woff2"; +import "/assets/budibase-logo.png"; +import "/assets/budibase-logo-only.png"; import "uikit/dist/css/uikit.min.css"; import "uikit/dist/js/uikit.min.js"; diff --git a/packages/builder/src/nav/Nav.svelte b/packages/builder/src/nav/Nav.svelte index 01a9d3ce5b..667c29087a 100644 --- a/packages/builder/src/nav/Nav.svelte +++ b/packages/builder/src/nav/Nav.svelte @@ -8,7 +8,7 @@ export let width=50;