From ea3bd12811a849a06296620978185fbec44362e6 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 18 Oct 2021 17:11:12 +0100 Subject: [PATCH 01/17] Add date parsing to core date picker and ensure values are always broadcast as ISO strings --- packages/bbui/src/Form/Core/DatePicker.svelte | 35 +++++++++++++++++-- packages/bbui/src/Form/DatePicker.svelte | 10 +----- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index 176db9f49..71126a5b1 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -31,7 +31,11 @@ const handleChange = event => { const [dates] = event.detail - dispatch("change", dates[0]) + let newValue = dates[0] + if (newValue) { + newValue = newValue.toISOString() + } + dispatch("change", newValue) } const clearDateOnBackspace = event => { @@ -57,11 +61,38 @@ const els = document.querySelectorAll(`#${flatpickrId} input`) els.forEach(el => el.blur()) } + + const parseDate = val => { + if (!val) { + return null + } + let date + if (val instanceof Date) { + // Use real date obj if already parsed + date = val + } else if (isNaN(val)) { + // Treat as date string of some sort + date = new Date(val) + } else { + // Treat as numerical timestamp + date = new Date(parseInt(val)) + } + const time = date.getTime() + if (isNaN(time)) { + return null + } + // By rounding to the nearest second we avoid locking up in an endless + // loop in the builder, caused by potentially enriching {{ now }} to every + // millisecond. + return new Date(Math.floor(time / 1000) * 1000) + } + + $: console.log(value) import Field from "./Field.svelte" import DatePicker from "./Core/DatePicker.svelte" - import { createEventDispatcher } from "svelte" export let value = null export let label = null @@ -11,13 +10,6 @@ export let enableTime = true export let placeholder = null export let appendTo = undefined - - const dispatch = createEventDispatcher() - const onChange = e => { - const isoString = e.detail.toISOString() - value = isoString - dispatch("change", isoString) - } @@ -28,6 +20,6 @@ {placeholder} {enableTime} {appendTo} - on:change={onChange} + on:change /> From f5f2611a3e085e58ca4b5947f5fef66e7aa4c595 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 18 Oct 2021 17:12:02 +0100 Subject: [PATCH 02/17] Remove date parsing from client date picker as it has moved to the core date picker --- .../components/app/forms/DateTimeField.svelte | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/packages/client/src/components/app/forms/DateTimeField.svelte b/packages/client/src/components/app/forms/DateTimeField.svelte index 298fff5a1..46ccdca4f 100644 --- a/packages/client/src/components/app/forms/DateTimeField.svelte +++ b/packages/client/src/components/app/forms/DateTimeField.svelte @@ -12,31 +12,6 @@ let fieldState let fieldApi - - const parseDate = val => { - if (!val) { - return null - } - let date - if (val instanceof Date) { - // Use real date obj if already parsed - date = val - } else if (isNaN(val)) { - // Treat as date string of some sort - date = new Date(val) - } else { - // Treat as numerical timestamp - date = new Date(parseInt(val)) - } - const time = date.getTime() - if (isNaN(time)) { - return null - } - // By rounding to the nearest second we avoid locking up in an endless - // loop in the builder, caused by potentially enriching {{ now }} to every - // millisecond. - return new Date(Math.floor(time / 1000) * 1000) - } Date: Tue, 19 Oct 2021 14:04:12 +0100 Subject: [PATCH 03/17] Fix usage of binding values to datepickers --- packages/bbui/src/Form/DatePicker.svelte | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/DatePicker.svelte b/packages/bbui/src/Form/DatePicker.svelte index bb1be8731..7d5656a22 100644 --- a/packages/bbui/src/Form/DatePicker.svelte +++ b/packages/bbui/src/Form/DatePicker.svelte @@ -1,6 +1,7 @@ @@ -20,6 +28,6 @@ {placeholder} {enableTime} {appendTo} - on:change + on:change={onChange} /> From 99f8bf124487620114f37c2f1138ec08afec97cf Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 19 Oct 2021 17:00:54 +0100 Subject: [PATCH 04/17] Fixing issue with SQL tables and automations updating a row, also making error handling better across automations to make sure some sort of error message is always returned. --- .../server/src/api/controllers/table/index.js | 14 +------ .../server/src/api/controllers/table/utils.js | 14 +++++++ .../server/src/automations/automationUtils.js | 38 ++++--------------- packages/server/src/automations/steps/bash.js | 3 +- .../server/src/automations/steps/createRow.js | 2 +- .../server/src/automations/steps/deleteRow.js | 3 +- .../src/automations/steps/executeQuery.js | 3 +- .../src/automations/steps/executeScript.js | 3 +- .../src/automations/steps/outgoingWebhook.js | 3 +- .../server/src/automations/steps/queryRows.js | 3 +- .../src/automations/steps/sendSmtpEmail.js | 3 +- .../server/src/automations/steps/updateRow.js | 12 +++--- 12 files changed, 44 insertions(+), 57 deletions(-) diff --git a/packages/server/src/api/controllers/table/index.js b/packages/server/src/api/controllers/table/index.js index c48a11792..d4356c9c8 100644 --- a/packages/server/src/api/controllers/table/index.js +++ b/packages/server/src/api/controllers/table/index.js @@ -9,11 +9,7 @@ const { BudibaseInternalDB, } = require("../../../db/utils") const { FieldTypes } = require("../../../constants") -const { TableSaveFunctions, getExternalTable } = require("./utils") -const { - isExternalTable, - breakExternalTableId, -} = require("../../../integrations/utils") +const { TableSaveFunctions, getTable } = require("./utils") exports.fetch = async function (ctx) { const db = new CouchDB(ctx.appId) @@ -48,14 +44,8 @@ exports.fetch = async function (ctx) { } exports.find = async function (ctx) { - const db = new CouchDB(ctx.appId) const tableId = ctx.params.id - if (isExternalTable(tableId)) { - let { datasourceId, tableName } = breakExternalTableId(tableId) - ctx.body = await getExternalTable(ctx.appId, datasourceId, tableName) - } else { - ctx.body = await db.get(ctx.params.id) - } + ctx.body = await getTable(ctx.appId, tableId) } exports.save = async function (ctx) { diff --git a/packages/server/src/api/controllers/table/utils.js b/packages/server/src/api/controllers/table/utils.js index c92fb10a9..fd3ea6693 100644 --- a/packages/server/src/api/controllers/table/utils.js +++ b/packages/server/src/api/controllers/table/utils.js @@ -9,6 +9,10 @@ const { isEqual } = require("lodash/fp") const { AutoFieldSubTypes, FieldTypes } = require("../../../constants") const { inputProcessing } = require("../../../utilities/rowProcessor") const { USERS_TABLE_SCHEMA } = require("../../../constants") +const { + isExternalTable, + breakExternalTableId, +} = require("../../../integrations/utils") exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => { let updatedRows = [] @@ -223,4 +227,14 @@ exports.getExternalTable = async (appId, datasourceId, tableName) => { return entities[tableName] } +exports.getTable = async (appId, tableId) => { + const db = new CouchDB(appId) + if (isExternalTable(tableId)) { + let { datasourceId, tableName } = breakExternalTableId(tableId) + return exports.getExternalTable(appId, datasourceId, tableName) + } else { + return db.get(tableId) + } +} + exports.TableSaveFunctions = TableSaveFunctions diff --git a/packages/server/src/automations/automationUtils.js b/packages/server/src/automations/automationUtils.js index 5cb84c63b..2cf4b35a1 100644 --- a/packages/server/src/automations/automationUtils.js +++ b/packages/server/src/automations/automationUtils.js @@ -1,9 +1,4 @@ -const CouchDB = require("../db") -const { - isExternalTable, - breakExternalTableId, -} = require("../integrations/utils") -const { getExternalTable } = require("../api/controllers/table/utils") +const { getTable } = require("../api/controllers/table/utils") /** * When values are input to the system generally they will be of type string as this is required for template strings. @@ -21,7 +16,7 @@ const { getExternalTable } = require("../api/controllers/table/utils") * @returns {object} The inputs object which has had all the various types supported by this function converted to their * primitive types. */ -module.exports.cleanInputValues = (inputs, schema) => { +exports.cleanInputValues = (inputs, schema) => { if (schema == null) { return inputs } @@ -63,30 +58,11 @@ module.exports.cleanInputValues = (inputs, schema) => { * @param {object} row The input row structure which requires clean-up after having been through template statements. * @returns {Promise} The cleaned up rows object, will should now have all the required primitive types. */ -module.exports.cleanUpRow = async (appId, tableId, row) => { - const db = new CouchDB(appId) - let table - if (isExternalTable(tableId)) { - const { datasourceId, tableName } = breakExternalTableId(tableId) - table = await getExternalTable(appId, datasourceId, tableName) - } else { - table = await db.get(tableId) - } - - return module.exports.cleanInputValues(row, { properties: table.schema }) +exports.cleanUpRow = async (appId, tableId, row) => { + let table = await getTable(appId, tableId) + return exports.cleanInputValues(row, { properties: table.schema }) } -/** - * A utility function for the cleanUpRow, which can be used if only the row ID is known (not the table ID) to clean - * up a row after template statements have been replaced. This is specifically useful for the update row action. - * - * @param {string} appId The instance which the Table/Table is contained under. - * @param {string} rowId The ID of the row from which the tableId will be extracted, to get the Table/Table schema. - * @param {object} row The input row structure which requires clean-up after having been through template statements. - * @returns {Promise} The cleaned up rows object, which will now have all the required primitive types. - */ -module.exports.cleanUpRowById = async (appId, rowId, row) => { - const db = new CouchDB(appId) - const foundRow = await db.get(rowId) - return module.exports.cleanUpRow(appId, foundRow.tableId, row) +exports.getError = err => { + return typeof err !== "string" ? err.toString() : err } diff --git a/packages/server/src/automations/steps/bash.js b/packages/server/src/automations/steps/bash.js index abb859f87..1d3c22fd0 100644 --- a/packages/server/src/automations/steps/bash.js +++ b/packages/server/src/automations/steps/bash.js @@ -1,5 +1,6 @@ const { execSync } = require("child_process") const { processStringSync } = require("@budibase/string-templates") +const automationUtils = require("../automationUtils") exports.definition = { name: "Bash Scripting", @@ -63,7 +64,7 @@ exports.run = async function ({ inputs, context }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/createRow.js b/packages/server/src/automations/steps/createRow.js index 47d0b4eb9..8e5b44cc0 100644 --- a/packages/server/src/automations/steps/createRow.js +++ b/packages/server/src/automations/steps/createRow.js @@ -97,7 +97,7 @@ exports.run = async function ({ inputs, appId, emitter }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/deleteRow.js b/packages/server/src/automations/steps/deleteRow.js index 225f00c5d..c7bee577a 100644 --- a/packages/server/src/automations/steps/deleteRow.js +++ b/packages/server/src/automations/steps/deleteRow.js @@ -2,6 +2,7 @@ const rowController = require("../../api/controllers/row") const env = require("../../environment") const usage = require("../../utilities/usageQuota") const { buildCtx } = require("./utils") +const automationUtils = require("../automationUtils") exports.definition = { description: "Delete a row from your database", @@ -85,7 +86,7 @@ exports.run = async function ({ inputs, appId, emitter }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/executeQuery.js b/packages/server/src/automations/steps/executeQuery.js index 2ca0b2144..43534209c 100644 --- a/packages/server/src/automations/steps/executeQuery.js +++ b/packages/server/src/automations/steps/executeQuery.js @@ -1,5 +1,6 @@ const queryController = require("../../api/controllers/query") const { buildCtx } = require("./utils") +const automationUtils = require("../automationUtils") exports.definition = { name: "External Data Connector", @@ -74,7 +75,7 @@ exports.run = async function ({ inputs, appId, emitter }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/executeScript.js b/packages/server/src/automations/steps/executeScript.js index c56dfbd4e..7a7296014 100644 --- a/packages/server/src/automations/steps/executeScript.js +++ b/packages/server/src/automations/steps/executeScript.js @@ -1,5 +1,6 @@ const scriptController = require("../../api/controllers/script") const { buildCtx } = require("./utils") +const automationUtils = require("../automationUtils") exports.definition = { name: "JS Scripting", @@ -63,7 +64,7 @@ exports.run = async function ({ inputs, appId, context, emitter }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/outgoingWebhook.js b/packages/server/src/automations/steps/outgoingWebhook.js index a509e0e9d..34299d23b 100644 --- a/packages/server/src/automations/steps/outgoingWebhook.js +++ b/packages/server/src/automations/steps/outgoingWebhook.js @@ -1,5 +1,6 @@ const fetch = require("node-fetch") const { getFetchResponse } = require("./utils") +const automationUtils = require("../automationUtils") const RequestType = { POST: "POST", @@ -127,7 +128,7 @@ exports.run = async function ({ inputs }) { /* istanbul ignore next */ return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/queryRows.js b/packages/server/src/automations/steps/queryRows.js index 3c4bb422a..6584cda8d 100644 --- a/packages/server/src/automations/steps/queryRows.js +++ b/packages/server/src/automations/steps/queryRows.js @@ -2,6 +2,7 @@ const rowController = require("../../api/controllers/row") const tableController = require("../../api/controllers/table") const { FieldTypes } = require("../../constants") const { buildCtx } = require("./utils") +const automationUtils = require("../automationUtils") const SortOrders = { ASCENDING: "ascending", @@ -110,7 +111,7 @@ exports.run = async function ({ inputs, appId }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/sendSmtpEmail.js b/packages/server/src/automations/steps/sendSmtpEmail.js index 07a305921..cc28e57b3 100644 --- a/packages/server/src/automations/steps/sendSmtpEmail.js +++ b/packages/server/src/automations/steps/sendSmtpEmail.js @@ -1,4 +1,5 @@ const { sendSmtpEmail } = require("../../utilities/workerRequests") +const automationUtils = require("../automationUtils") exports.definition = { description: "Send an email using SMTP", @@ -61,7 +62,7 @@ exports.run = async function ({ inputs }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } diff --git a/packages/server/src/automations/steps/updateRow.js b/packages/server/src/automations/steps/updateRow.js index 94f77bc80..a9569932f 100644 --- a/packages/server/src/automations/steps/updateRow.js +++ b/packages/server/src/automations/steps/updateRow.js @@ -64,6 +64,7 @@ exports.run = async function ({ inputs, appId, emitter }) { }, } } + const tableId = inputs.row.tableId // clear any falsy properties so that they aren't updated for (let propKey of Object.keys(inputs.row)) { @@ -80,15 +81,14 @@ exports.run = async function ({ inputs, appId, emitter }) { }, params: { rowId: inputs.rowId, + tableId: tableId, }, }) try { - inputs.row = await automationUtils.cleanUpRowById( - appId, - inputs.rowId, - inputs.row - ) + if (tableId) { + inputs.row = await automationUtils.cleanUpRow(appId, tableId, inputs.row) + } await rowController.patch(ctx) return { row: ctx.body, @@ -100,7 +100,7 @@ exports.run = async function ({ inputs, appId, emitter }) { } catch (err) { return { success: false, - response: err, + response: automationUtils.getError(err), } } } From 519a9216f2d297c045114168de2cf7792ee0c193 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 20 Oct 2021 12:31:06 +0000 Subject: [PATCH 05/17] v0.9.169-alpha.5 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index af3bb8afb..9d9e2a2cb 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index a95623379..787b31b3f 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 07dbbf2d9..c76e4ad05 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index ef7b5102c..607b38097 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.4", - "@budibase/client": "^0.9.169-alpha.4", + "@budibase/bbui": "^0.9.169-alpha.5", + "@budibase/client": "^0.9.169-alpha.5", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.4", + "@budibase/string-templates": "^0.9.169-alpha.5", "@sentry/browser": "6.0.0", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 9bf7539c7..135002419 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index ab32642fa..fd0d23228 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.4", + "@budibase/bbui": "^0.9.169-alpha.5", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.4", + "@budibase/string-templates": "^0.9.169-alpha.5", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 0fb83727f..8afea3e2d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.4", - "@budibase/client": "^0.9.169-alpha.4", - "@budibase/string-templates": "^0.9.169-alpha.4", + "@budibase/auth": "^0.9.169-alpha.5", + "@budibase/client": "^0.9.169-alpha.5", + "@budibase/string-templates": "^0.9.169-alpha.5", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index c437cd63d..74b5eb017 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 439ac03bf..100d185da 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.4", + "version": "0.9.169-alpha.5", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.4", - "@budibase/string-templates": "^0.9.169-alpha.4", + "@budibase/auth": "^0.9.169-alpha.5", + "@budibase/string-templates": "^0.9.169-alpha.5", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 66553f335c1e8dda879ce597f5fff9f8c4c75714 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 20 Oct 2021 12:59:04 +0000 Subject: [PATCH 06/17] v0.9.169-alpha.6 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 9d9e2a2cb..a1f6313dc 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 787b31b3f..2cc5bbe7b 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index c76e4ad05..76abb2789 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 607b38097..1c2578947 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.5", - "@budibase/client": "^0.9.169-alpha.5", + "@budibase/bbui": "^0.9.169-alpha.6", + "@budibase/client": "^0.9.169-alpha.6", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.5", + "@budibase/string-templates": "^0.9.169-alpha.6", "@sentry/browser": "6.0.0", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 135002419..765ab9499 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index fd0d23228..fd8df3666 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.5", + "@budibase/bbui": "^0.9.169-alpha.6", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.5", + "@budibase/string-templates": "^0.9.169-alpha.6", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 8afea3e2d..fb2ce0f6c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.5", - "@budibase/client": "^0.9.169-alpha.5", - "@budibase/string-templates": "^0.9.169-alpha.5", + "@budibase/auth": "^0.9.169-alpha.6", + "@budibase/client": "^0.9.169-alpha.6", + "@budibase/string-templates": "^0.9.169-alpha.6", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 74b5eb017..21b398819 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 100d185da..179eb92ec 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.5", + "version": "0.9.169-alpha.6", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.5", - "@budibase/string-templates": "^0.9.169-alpha.5", + "@budibase/auth": "^0.9.169-alpha.6", + "@budibase/string-templates": "^0.9.169-alpha.6", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From c9abb0148e1d5842c45a7b34efc4e9c1cc467a64 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 20 Oct 2021 14:51:44 +0100 Subject: [PATCH 07/17] Fix view filters not accounting for invalid column names --- .../DataTable/modals/FilterModal.svelte | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte index 9c6f4956b..12e5f2381 100644 --- a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte @@ -82,34 +82,30 @@ function isMultipleChoice(field) { return ( - (viewTable.schema[field].constraints && - viewTable.schema[field].constraints.inclusion && - viewTable.schema[field].constraints.inclusion.length) || - viewTable.schema[field].type === "boolean" + viewTable.schema[field]?.constraints?.inclusion?.length || + viewTable.schema[field]?.type === "boolean" ) } function fieldOptions(field) { - return viewTable.schema[field].type === "options" - ? viewTable.schema[field].constraints.inclusion + return viewTable.schema[field]?.type === "options" + ? viewTable.schema[field]?.constraints.inclusion : [true, false] } function isDate(field) { - return viewTable.schema[field].type === "datetime" + return viewTable.schema[field]?.type === "datetime" } function isNumber(field) { - return viewTable.schema[field].type === "number" + return viewTable.schema[field]?.type === "number" } const fieldChanged = filter => ev => { - // reset if type changed - if ( - filter.key && - ev.detail && - viewTable.schema[filter.key].type !== viewTable.schema[ev.detail].type - ) { + // Reset if type changed + const oldType = viewTable.schema[filter.key]?.type + const newType = viewTable.schema[ev.detail]?.type + if (filter.key && ev.detail && oldType !== newType) { filter.value = "" } } From 56274019d636af0f696427d84eb889a04fafe6be Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Wed, 20 Oct 2021 18:37:07 +0100 Subject: [PATCH 08/17] Fixing two issues, not verifying a file has been uploaded for import app and fixing HBS visual issue where handlebars statement could get screwed up. --- packages/builder/src/builderStore/dataBinding.js | 2 +- packages/builder/src/components/start/CreateAppModal.svelte | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/builder/src/builderStore/dataBinding.js b/packages/builder/src/builderStore/dataBinding.js index 3389e20d4..a19646e6f 100644 --- a/packages/builder/src/builderStore/dataBinding.js +++ b/packages/builder/src/builderStore/dataBinding.js @@ -472,7 +472,7 @@ function bindingReplacement(bindableProperties, textWithBindings, convertTo) { idx = searchString.indexOf(from) if (idx !== -1) { let end = idx + from.length, - searchReplace = Array(binding[convertTo].length).join("*") + searchReplace = Array(binding[convertTo].length + 1).join("*") // blank out parts of the search string searchString = replaceBetween(searchString, idx, end, searchReplace) newBoundValue = replaceBetween( diff --git a/packages/builder/src/components/start/CreateAppModal.svelte b/packages/builder/src/components/start/CreateAppModal.svelte index 29c3ad202..2c8ae25ab 100644 --- a/packages/builder/src/components/start/CreateAppModal.svelte +++ b/packages/builder/src/components/start/CreateAppModal.svelte @@ -66,6 +66,11 @@ const checkValidity = async (values, validator) => { const obj = object().shape(validator) Object.keys(validator).forEach(key => ($errors[key] = null)) + if (template?.fromFile && values.file == null) { + valid = false + return + } + try { await obj.validate(values, { abortEarly: false }) } catch (validationErrors) { @@ -73,6 +78,7 @@ $errors[error.path] = capitalise(error.message) }) } + valid = await obj.isValid(values) } From 0f2b50b9f1df4245d52d5eea7c7fab0dfc3a124c Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 20 Oct 2021 20:01:49 +0100 Subject: [PATCH 09/17] Keep views up to date with table schema changes --- .../server/src/api/controllers/table/utils.js | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/packages/server/src/api/controllers/table/utils.js b/packages/server/src/api/controllers/table/utils.js index fd3ea6693..9b5f11d86 100644 --- a/packages/server/src/api/controllers/table/utils.js +++ b/packages/server/src/api/controllers/table/utils.js @@ -13,6 +13,8 @@ const { isExternalTable, breakExternalTableId, } = require("../../../integrations/utils") +const { getViews, saveView } = require("../view/utils") +const viewTemplate = require("../view/viewBuilder") exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => { let updatedRows = [] @@ -25,6 +27,7 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => { } // check for renaming of columns or deleted columns if (rename || deletedColumns.length !== 0) { + // Update all rows const rows = await db.allDocs( getRowParams(updatedTable._id, null, { include_docs: true, @@ -39,6 +42,9 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => { } return doc }) + + // Update views + await exports.checkForViewUpdates(db, updatedTable, rename, deletedColumns) delete updatedTable._rename } return { rows: updatedRows, table: updatedTable } @@ -237,4 +243,74 @@ exports.getTable = async (appId, tableId) => { } } +exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => { + const views = await getViews(db) + const tableViews = views.filter(view => view.meta.tableId === table._id) + + // Check each table view to see if impacted by this table action + for (let view of tableViews) { + let needsUpdated = false + + // First check for renames, otherwise check for deletions + if (rename) { + // Update calculation field if required + if (view.meta.field === rename.old) { + view.meta.field = rename.updated + needsUpdated = true + } + + // Update group by field if required + if (view.meta.groupBy === rename.old) { + view.meta.groupBy = rename.updated + needsUpdated = true + } + + // Update filters if required + view.meta.filters?.forEach(filter => { + if (filter.key === rename.old) { + filter.key = rename.updated + needsUpdated = true + } + }) + } else if (deletedColumns?.length) { + deletedColumns.forEach(column => { + // Remove calculation statement if required + if (view.meta.field === column) { + delete view.meta.field + delete view.meta.calculation + delete view.meta.groupBy + needsUpdated = true + } + + // Remove group by field if required + if (view.meta.groupBy === column) { + delete view.meta.groupBy + needsUpdated = true + } + + // Remove filters referencing deleted field if required + if (view.meta.filters?.length) { + const initialLength = view.meta.filters.length + view.meta.filters = view.meta.filters.filter(filter => { + return filter.key !== column + }) + if (initialLength !== view.meta.filters.length) { + needsUpdated = true + } + } + }) + } + + // Update view if required + if (needsUpdated) { + const newViewTemplate = viewTemplate(view.meta) + await saveView(db, null, view.name, newViewTemplate) + if (!newViewTemplate.meta.schema) { + newViewTemplate.meta.schema = table.schema + } + table.views[view.name] = newViewTemplate.meta + } + } +} + exports.TableSaveFunctions = TableSaveFunctions From bc26925c2fc04b491009d2fdd42612dd700087d3 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 21 Oct 2021 10:24:41 +0100 Subject: [PATCH 10/17] Remove optional chaining from server --- .../server/src/api/controllers/table/utils.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/server/src/api/controllers/table/utils.js b/packages/server/src/api/controllers/table/utils.js index 9b5f11d86..65c081f90 100644 --- a/packages/server/src/api/controllers/table/utils.js +++ b/packages/server/src/api/controllers/table/utils.js @@ -266,13 +266,15 @@ exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => { } // Update filters if required - view.meta.filters?.forEach(filter => { - if (filter.key === rename.old) { - filter.key = rename.updated - needsUpdated = true - } - }) - } else if (deletedColumns?.length) { + if (view.meta.filters) { + view.meta.filters.forEach(filter => { + if (filter.key === rename.old) { + filter.key = rename.updated + needsUpdated = true + } + }) + } + } else if (deletedColumns) { deletedColumns.forEach(column => { // Remove calculation statement if required if (view.meta.field === column) { @@ -289,7 +291,7 @@ exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => { } // Remove filters referencing deleted field if required - if (view.meta.filters?.length) { + if (view.meta.filters && view.meta.filters.length) { const initialLength = view.meta.filters.length view.meta.filters = view.meta.filters.filter(filter => { return filter.key !== column From 3b92325bfc36f963ccb8f5a6b8af0b8854332f4f Mon Sep 17 00:00:00 2001 From: Joe <49767913+joebudi@users.noreply.github.com> Date: Thu, 21 Oct 2021 10:39:32 +0100 Subject: [PATCH 11/17] Update README.md --- README.md | 89 +++++++++++-------------------------------------------- 1 file changed, 17 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index 9f9092b39..5425a1f65 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,19 @@

- Build, automate and self-host internal tools in minutes + The low code platform you'll enjoy using

- Budibase is an open-source low-code platform, helping developers and IT professionals build, automate, and ship internal tools on their own infrastructure in minutes. + Budibase is an open source low-code platform, and the easiest way to build internal applications that improve productivity.

🤖 🎨 🚀

+

- Budibase design ui + Budibase design ui

@@ -65,70 +66,27 @@ - **Admin paradise.** Budibase is made to scale. With Budibase, you can self-host on your own infrastructure and globally manage users, onboarding, SMTP, apps, groups, theming and more. You can also provide users/groups with an app portal and disseminate user-management to the group manager. -
- ---- - -
+


## 🏁 Get started -Currently there are two ways to get started with Budibase; Digital Ocean, and Docker. -

- -### Get started with Digital Ocean -The easiest and quickest way to get started, is to use Digital Ocean: -1-click Digital Ocean deploy - - - digital ocean badge - -

- -### Get started with Docker -To get started, you must have docker and docker compose installed on your machine. -Once you have Docker installed, the process takes 5 minutes, with these four steps: - -1. Install the Budibase CLI. -``` -$ npm i -g @budibase/cli -``` + +Deploy Budibase self-Hosted in your existing infrastructure, using Docker, Kubernetes, and Digital Ocean. +Or use Budibase Cloud if you don't need to self-host, and would like to get started quickly. -2. Setup Budibase (select where to store Budibase, and the port to run it on) +[Get started with Budibase](https://budibase.com) -``` -budi hosting --init -``` - - -3. Run Budibase - -``` -budi hosting --start -``` - - -4. Create your admin user - -Enter the email and password for the new admin user. - -Done! You are now ready to build powerful internal tools in minutes. For additional information on how to get started and learn Budibase, visit our [docs](https://docs.budibase.com/getting-started). - -
---- - -
+


## 🎓 Learning Budibase The Budibase documentation [lives here](https://docs.budibase.com).
---- -

+


## 💬 Community @@ -136,20 +94,17 @@ If you have a question or would like to talk with other Budibase users and join -

+


---- - -
## ❗ Code of conduct Budibase is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Budibase community to abide by our [**Code of Conduct**](https://github.com/Budibase/budibase/blob/HEAD/.github/CODE_OF_CONDUCT.md). Please read it.
---- -
+


+ ## 🙌 Contributing to Budibase @@ -168,21 +123,15 @@ Budibase is a monorepo managed by lerna. Lerna manages the building and publishi - [packages/server](https://github.com/Budibase/budibase/tree/HEAD/packages/server) - The budibase server. This Koa app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system. For more information, see [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md) -

---- +


-

## 📝 License Budibase is open-source, licensed as [GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html). The client and component libraries are licensed as [MPL](https://directory.fsf.org/wiki/License:MPL-2.0) - so the apps that you build can be licensed however you like. -

- ---- - -
+


## ⭐ Stargazers over time @@ -190,11 +139,7 @@ Budibase is open-source, licensed as [GPL v3](https://www.gnu.org/licenses/gpl-3 If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md#troubleshooting) to clear down your environment. -
- ---- - -

+


## Contributors ✨ From 7ba56dc7636779f1cd1f40ebeb9ab7bd3e18f275 Mon Sep 17 00:00:00 2001 From: Joe <49767913+joebudi@users.noreply.github.com> Date: Thu, 21 Oct 2021 10:40:08 +0100 Subject: [PATCH 12/17] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 5425a1f65..d6ee5881a 100644 --- a/README.md +++ b/README.md @@ -92,8 +92,6 @@ The Budibase documentation [lives here](https://docs.budibase.com). If you have a question or would like to talk with other Budibase users and join our community, please hop over to [Github discussions](https://github.com/Budibase/budibase/discussions) - -


From dcf9f9036c982d43e6dffac1f77cdf10faf8f8ab Mon Sep 17 00:00:00 2001 From: Joe <49767913+joebudi@users.noreply.github.com> Date: Thu, 21 Oct 2021 10:42:30 +0100 Subject: [PATCH 13/17] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d6ee5881a..472d8b8f1 100644 --- a/README.md +++ b/README.md @@ -75,10 +75,10 @@ Deploy Budibase self-Hosted in your existing infrastructure, using Docker, Kubernetes, and Digital Ocean. Or use Budibase Cloud if you don't need to self-host, and would like to get started quickly. -[Get started with Budibase](https://budibase.com) +### [Get started with Budibase](https://budibase.com) -


+

## 🎓 Learning Budibase @@ -86,7 +86,7 @@ The Budibase documentation [lives here](https://docs.budibase.com).
-


+

## 💬 Community @@ -101,7 +101,7 @@ Budibase is dedicated to providing a welcoming, diverse, and harrassment-free ex
-


+

## 🙌 Contributing to Budibase @@ -122,14 +122,14 @@ Budibase is a monorepo managed by lerna. Lerna manages the building and publishi For more information, see [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md) -


+

## 📝 License Budibase is open-source, licensed as [GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html). The client and component libraries are licensed as [MPL](https://directory.fsf.org/wiki/License:MPL-2.0) - so the apps that you build can be licensed however you like. -


+

## ⭐ Stargazers over time @@ -137,7 +137,7 @@ Budibase is open-source, licensed as [GPL v3](https://www.gnu.org/licenses/gpl-3 If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md#troubleshooting) to clear down your environment. -


+

## Contributors ✨ From 620adf69bfcfdda45696a34a6340d441ad6c5eae Mon Sep 17 00:00:00 2001 From: Joe <49767913+joebudi@users.noreply.github.com> Date: Thu, 21 Oct 2021 10:43:16 +0100 Subject: [PATCH 14/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 472d8b8f1..3f9cedba4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ The low code platform you'll enjoy using

- Budibase is an open source low-code platform, and the easiest way to build internal applications that improve productivity. + Budibase is an open source low-code platform, and the easiest way to build internal tools that improve productivity.

From 4ab8cfca341e8f1510161ab3f90206296a81afe8 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 21 Oct 2021 09:52:12 +0000 Subject: [PATCH 15/17] v0.9.169-alpha.7 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index a1f6313dc..8ca1df6b3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 2cc5bbe7b..3e21ca826 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 76abb2789..fb8f51c38 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 1c2578947..1ddec03fe 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.6", - "@budibase/client": "^0.9.169-alpha.6", + "@budibase/bbui": "^0.9.169-alpha.7", + "@budibase/client": "^0.9.169-alpha.7", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.6", + "@budibase/string-templates": "^0.9.169-alpha.7", "@sentry/browser": "6.0.0", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 765ab9499..0a807c6c3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index fd8df3666..c863b8fc3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.6", + "@budibase/bbui": "^0.9.169-alpha.7", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.6", + "@budibase/string-templates": "^0.9.169-alpha.7", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index fb2ce0f6c..3886ac904 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.6", - "@budibase/client": "^0.9.169-alpha.6", - "@budibase/string-templates": "^0.9.169-alpha.6", + "@budibase/auth": "^0.9.169-alpha.7", + "@budibase/client": "^0.9.169-alpha.7", + "@budibase/string-templates": "^0.9.169-alpha.7", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 21b398819..18dd48b4a 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 179eb92ec..b0968e71b 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.6", + "version": "0.9.169-alpha.7", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.6", - "@budibase/string-templates": "^0.9.169-alpha.6", + "@budibase/auth": "^0.9.169-alpha.7", + "@budibase/string-templates": "^0.9.169-alpha.7", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From cf52fb957458e16185e1c01702fa8f95962ce61b Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 21 Oct 2021 11:40:14 +0000 Subject: [PATCH 16/17] v0.9.169-alpha.8 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 8ca1df6b3..b17efe2d6 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 3e21ca826..0e64f2431 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index fb8f51c38..c510e5e70 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 1ddec03fe..0adf847c0 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.7", - "@budibase/client": "^0.9.169-alpha.7", + "@budibase/bbui": "^0.9.169-alpha.8", + "@budibase/client": "^0.9.169-alpha.8", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.7", + "@budibase/string-templates": "^0.9.169-alpha.8", "@sentry/browser": "6.0.0", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 0a807c6c3..1ff0ad037 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index c863b8fc3..871b6225c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.7", + "@budibase/bbui": "^0.9.169-alpha.8", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.7", + "@budibase/string-templates": "^0.9.169-alpha.8", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 3886ac904..62e569bf2 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.7", - "@budibase/client": "^0.9.169-alpha.7", - "@budibase/string-templates": "^0.9.169-alpha.7", + "@budibase/auth": "^0.9.169-alpha.8", + "@budibase/client": "^0.9.169-alpha.8", + "@budibase/string-templates": "^0.9.169-alpha.8", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 18dd48b4a..63323d57c 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index b0968e71b..cd28b6d75 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.7", + "version": "0.9.169-alpha.8", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.7", - "@budibase/string-templates": "^0.9.169-alpha.7", + "@budibase/auth": "^0.9.169-alpha.8", + "@budibase/string-templates": "^0.9.169-alpha.8", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 00e2f5b2201a0cf582c38213855284c37fa67863 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 21 Oct 2021 11:57:41 +0000 Subject: [PATCH 17/17] v0.9.169-alpha.9 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index b17efe2d6..d8f7b40b3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 0e64f2431..51cce29dc 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index c510e5e70..bfe635124 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 0adf847c0..12f617fcb 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.8", - "@budibase/client": "^0.9.169-alpha.8", + "@budibase/bbui": "^0.9.169-alpha.9", + "@budibase/client": "^0.9.169-alpha.9", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.8", + "@budibase/string-templates": "^0.9.169-alpha.9", "@sentry/browser": "6.0.0", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 1ff0ad037..ca560d09b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 871b6225c..1615cd29b 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.8", + "@budibase/bbui": "^0.9.169-alpha.9", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.8", + "@budibase/string-templates": "^0.9.169-alpha.9", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 62e569bf2..bd86eaa85 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.8", - "@budibase/client": "^0.9.169-alpha.8", - "@budibase/string-templates": "^0.9.169-alpha.8", + "@budibase/auth": "^0.9.169-alpha.9", + "@budibase/client": "^0.9.169-alpha.9", + "@budibase/string-templates": "^0.9.169-alpha.9", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 63323d57c..0208f5d7a 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index cd28b6d75..22fc18f24 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.8", + "version": "0.9.169-alpha.9", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.8", - "@budibase/string-templates": "^0.9.169-alpha.8", + "@budibase/auth": "^0.9.169-alpha.9", + "@budibase/string-templates": "^0.9.169-alpha.9", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0",