From 22541721c1b053cd6a79bc04abe5d4424de5e3be Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Mon, 11 Jul 2022 15:59:32 +0200 Subject: [PATCH 001/105] Pass a title property with untruncated text to the RadioGroup --- packages/bbui/src/Form/Core/RadioGroup.svelte | 3 ++- packages/bbui/src/Form/RadioGroup.svelte | 2 ++ .../backend/DataTable/modals/CreateEditColumn.svelte | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/RadioGroup.svelte b/packages/bbui/src/Form/Core/RadioGroup.svelte index 18a1e82ee8..a3952a9759 100644 --- a/packages/bbui/src/Form/Core/RadioGroup.svelte +++ b/packages/bbui/src/Form/Core/RadioGroup.svelte @@ -10,6 +10,7 @@ export let disabled = false export let getOptionLabel = option => option export let getOptionValue = option => option + export let getOptionTitle = option => option const dispatch = createEventDispatcher() const onChange = e => dispatch("change", e.target.value) @@ -19,7 +20,7 @@ {#if options && Array.isArray(options)} {#each options as option}
diff --git a/packages/bbui/src/Form/RadioGroup.svelte b/packages/bbui/src/Form/RadioGroup.svelte index 528f9f5eba..843a3657b4 100644 --- a/packages/bbui/src/Form/RadioGroup.svelte +++ b/packages/bbui/src/Form/RadioGroup.svelte @@ -12,6 +12,7 @@ export let direction = "vertical" export let getOptionLabel = option => extractProperty(option, "label") export let getOptionValue = option => extractProperty(option, "value") + export let getOptionTitle = option => extractProperty(option, "label") const dispatch = createEventDispatcher() const onChange = e => { @@ -35,6 +36,7 @@ {direction} {getOptionLabel} {getOptionValue} + {getOptionTitle} on:change={onChange} /> diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index 77ab75827f..a6cef23467 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -474,6 +474,7 @@ options={relationshipOptions} getOptionLabel={option => option.name} getOptionValue={option => option.value} + getOptionTitle={option => option.alt} /> {/if} Date: Mon, 25 Jul 2022 09:49:37 +0200 Subject: [PATCH 002/105] add missing props --- packages/client/src/components/app/forms/OptionsField.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/src/components/app/forms/OptionsField.svelte b/packages/client/src/components/app/forms/OptionsField.svelte index 1df0216f56..dd90591569 100644 --- a/packages/client/src/components/app/forms/OptionsField.svelte +++ b/packages/client/src/components/app/forms/OptionsField.svelte @@ -77,6 +77,7 @@ {direction} on:change={handleChange} getOptionLabel={flatOptions ? x => x : x => x.label} + getOptionTitle={flatOptions ? x => x : x => x.label} getOptionValue={flatOptions ? x => x : x => x.value} /> {/if} From 64b8678376388b068b1180dd962de507e15b17db Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 15:22:54 +0100 Subject: [PATCH 003/105] Fix add component not working on first click when no component is selected --- .../design/[screenId]/_components/AppPreview.svelte | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte index 3c99c90d49..814930d636 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte @@ -186,7 +186,7 @@ $goto("./navigation") } } else if (type === "request-add-component") { - $goto(`./components/${$selectedComponent?._id}/new`) + toggleAddComponent() } else if (type === "highlight-setting") { store.actions.settings.highlight(data.setting) @@ -230,9 +230,8 @@ if (isAddingComponent) { $goto(`../${$selectedScreen._id}/components/${$selectedComponent?._id}`) } else { - $goto( - `../${$selectedScreen._id}/components/${$selectedComponent?._id}/new` - ) + const id = $selectedComponent?._id || $selectedScreen?.props?._id + $goto(`../${$selectedScreen._id}/components/${id}/new`) } } From 33deeb6e9eab45b245d3296815ee7d635ae3a8c2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 15:38:21 +0100 Subject: [PATCH 004/105] Support filtering data exports to only certain columns with internal tables --- .../server/src/api/controllers/row/internal.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/row/internal.js b/packages/server/src/api/controllers/row/internal.js index 086e1d9ce4..0c92959db8 100644 --- a/packages/server/src/api/controllers/row/internal.js +++ b/packages/server/src/api/controllers/row/internal.js @@ -375,6 +375,7 @@ exports.exportRows = async ctx => { const table = await db.get(ctx.params.tableId) const rowIds = ctx.request.body.rows let format = ctx.query.format + const { columns } = ctx.request.body let response = ( await db.allDocs({ include_docs: true, @@ -382,7 +383,20 @@ exports.exportRows = async ctx => { }) ).rows.map(row => row.doc) - let rows = await outputProcessing(table, response) + let result = await outputProcessing(table, response) + let rows = [] + + // Filter data to only specified columns if required + if (columns && columns.length) { + for (let i = 0; i < result.length; i++) { + rows[i] = {} + for (let column of columns) { + rows[i][column] = result[i][column] + } + } + } else { + rows = result + } let headers = Object.keys(rows[0]) const exporter = exporters[format] From e7c25b2194406ba8dc05f2ada5f8293aca547f3c Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 16:25:01 +0100 Subject: [PATCH 005/105] Fix flatpickr offsetting date by one hour on initial selection of time-only fields --- packages/bbui/src/Form/Core/DatePicker.svelte | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index 39a7d9d626..c3eee7505f 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -59,6 +59,13 @@ // If time only set date component to 2000-01-01 if (timeOnly) { + // Classic flackpickr causing issues. + // When selecting a time first the first time for a "time only" field, + // the time is always offset by 1 hour for some reason (regardless of time + // zone) so we need to correct it. + if (!value && newValue) { + newValue = new Date(dates[0].getTime() + 60 * 60 * 1000).toISOString() + } newValue = `2000-01-01T${newValue.split("T")[1]}` } From 9b5be05836af761543b438dc35dc8b4267e59565 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:24:25 +0100 Subject: [PATCH 006/105] Fix typo --- packages/bbui/src/Form/Core/DatePicker.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index c3eee7505f..c6230c5212 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -60,7 +60,7 @@ // If time only set date component to 2000-01-01 if (timeOnly) { // Classic flackpickr causing issues. - // When selecting a time first the first time for a "time only" field, + // When selecting a value for the first time for a "time only" field, // the time is always offset by 1 hour for some reason (regardless of time // zone) so we need to correct it. if (!value && newValue) { From 3cb1ae2bd0af6640052b0cea7ca8fcccf11a1eac Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:37:04 +0100 Subject: [PATCH 007/105] Add download setting to links --- packages/bbui/src/Link/Link.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/bbui/src/Link/Link.svelte b/packages/bbui/src/Link/Link.svelte index f66554bd75..3bbfdd8282 100644 --- a/packages/bbui/src/Link/Link.svelte +++ b/packages/bbui/src/Link/Link.svelte @@ -8,12 +8,14 @@ export let secondary = false export let overBackground = false export let target + export let download Date: Mon, 15 Aug 2022 11:37:30 +0100 Subject: [PATCH 008/105] Use real file names when download files from dropzones --- packages/bbui/src/Form/Core/Dropzone.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/Dropzone.svelte b/packages/bbui/src/Form/Core/Dropzone.svelte index 36515acbc5..e98b2ad964 100644 --- a/packages/bbui/src/Form/Core/Dropzone.svelte +++ b/packages/bbui/src/Form/Core/Dropzone.svelte @@ -133,7 +133,13 @@
{#if selectedUrl} - {selectedImage.name} + + {selectedImage.name} + {:else} {selectedImage.name} {/if} From 8634d88b050a4e38418a31a4e386737c0e0d16bf Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:37:40 +0100 Subject: [PATCH 009/105] Use real file names when download files from tables --- packages/bbui/src/Table/AttachmentRenderer.svelte | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/bbui/src/Table/AttachmentRenderer.svelte b/packages/bbui/src/Table/AttachmentRenderer.svelte index 4dff22aef8..3017aac9b7 100644 --- a/packages/bbui/src/Table/AttachmentRenderer.svelte +++ b/packages/bbui/src/Table/AttachmentRenderer.svelte @@ -15,14 +15,24 @@ {#each attachments as attachment} {#if isImage(attachment.extension)} - +
{attachment.extension}
{:else}
- + {attachment.extension}
From 1d0125fb94061dfaee768f02d8746636ce27ba18 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 19 Aug 2022 13:54:08 +0100 Subject: [PATCH 010/105] Add tests for exporting data --- .../server/src/api/routes/tests/row.spec.js | 216 ++++++++++++------ 1 file changed, 149 insertions(+), 67 deletions(-) diff --git a/packages/server/src/api/routes/tests/row.spec.js b/packages/server/src/api/routes/tests/row.spec.js index 86e47924d8..5cd282bb34 100644 --- a/packages/server/src/api/routes/tests/row.spec.js +++ b/packages/server/src/api/routes/tests/row.spec.js @@ -3,7 +3,12 @@ const setup = require("./utilities") const { basicRow } = setup.structures const { doInAppContext } = require("@budibase/backend-core/context") const { doInTenant } = require("@budibase/backend-core/tenancy") -const { quotas, QuotaUsageType, StaticQuotaName, MonthlyQuotaName } = require("@budibase/pro") +const { + quotas, + QuotaUsageType, + StaticQuotaName, + MonthlyQuotaName, +} = require("@budibase/pro") describe("/rows", () => { let request = setup.getRequest() @@ -23,23 +28,30 @@ describe("/rows", () => { await request .get(`/api/${table._id}/rows/${id}`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(status) const getRowUsage = async () => { - return config.doInContext(null, () => quotas.getCurrentUsageValue(QuotaUsageType.STATIC, StaticQuotaName.ROWS)) + return config.doInContext(null, () => + quotas.getCurrentUsageValue(QuotaUsageType.STATIC, StaticQuotaName.ROWS) + ) } const getQueryUsage = async () => { - return config.doInContext(null, () => quotas.getCurrentUsageValue(QuotaUsageType.MONTHLY, MonthlyQuotaName.QUERIES)) + return config.doInContext(null, () => + quotas.getCurrentUsageValue( + QuotaUsageType.MONTHLY, + MonthlyQuotaName.QUERIES + ) + ) } - const assertRowUsage = async (expected) => { + const assertRowUsage = async expected => { const usage = await getRowUsage() expect(usage).toBe(expected) } - const assertQueryUsage = async (expected) => { + const assertQueryUsage = async expected => { const usage = await getQueryUsage() expect(usage).toBe(expected) } @@ -76,10 +88,12 @@ describe("/rows", () => { name: "Updated Name", }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) - expect(res.res.statusMessage).toEqual(`${table.name} updated successfully.`) + expect(res.res.statusMessage).toEqual( + `${table.name} updated successfully.` + ) expect(res.body.name).toEqual("Updated Name") // await assertRowUsage(rowUsage) // await assertQueryUsage(queryUsage + 1) @@ -92,7 +106,7 @@ describe("/rows", () => { const res = await request .get(`/api/${table._id}/rows/${existing._id}`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body).toEqual({ @@ -110,7 +124,7 @@ describe("/rows", () => { const newRow = { tableId: table._id, name: "Second Contact", - status: "new" + status: "new", } await config.createRow() await config.createRow(newRow) @@ -119,7 +133,7 @@ describe("/rows", () => { const res = await request .get(`/api/${table._id}/rows`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body.length).toBe(2) @@ -135,17 +149,36 @@ describe("/rows", () => { await request .get(`/api/${table._id}/rows/not-a-valid-id`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(404) await assertQueryUsage(queryUsage) // no change }) it("row values are coerced", async () => { - const str = {type:"string", constraints: { type: "string", presence: false }} - const attachment = {type:"attachment", constraints: { type: "array", presence: false }} - const bool = {type:"boolean", constraints: { type: "boolean", presence: false }} - const number = {type:"number", constraints: { type: "number", presence: false }} - const datetime = {type:"datetime", constraints: { type: "string", presence: false, datetime: {earliest:"", latest: ""} }} + const str = { + type: "string", + constraints: { type: "string", presence: false }, + } + const attachment = { + type: "attachment", + constraints: { type: "array", presence: false }, + } + const bool = { + type: "boolean", + constraints: { type: "boolean", presence: false }, + } + const number = { + type: "number", + constraints: { type: "number", presence: false }, + } + const datetime = { + type: "datetime", + constraints: { + type: "string", + presence: false, + datetime: { earliest: "", latest: "" }, + }, + } table = await config.createTable({ name: "TestTable2", @@ -171,9 +204,9 @@ describe("/rows", () => { boolUndefined: bool, boolString: bool, boolBool: bool, - attachmentNull : attachment, - attachmentUndefined : attachment, - attachmentEmpty : attachment, + attachmentNull: attachment, + attachmentUndefined: attachment, + attachmentEmpty: attachment, }, }) @@ -198,9 +231,9 @@ describe("/rows", () => { boolString: "true", boolBool: true, tableId: table._id, - attachmentNull : null, - attachmentUndefined : undefined, - attachmentEmpty : "", + attachmentNull: null, + attachmentUndefined: undefined, + attachmentEmpty: "", } const id = (await config.createRow(row))._id @@ -218,7 +251,9 @@ describe("/rows", () => { expect(saved.datetimeEmptyString).toBe(null) expect(saved.datetimeNull).toBe(null) expect(saved.datetimeUndefined).toBe(undefined) - expect(saved.datetimeString).toBe(new Date(row.datetimeString).toISOString()) + expect(saved.datetimeString).toBe( + new Date(row.datetimeString).toISOString() + ) expect(saved.datetimeDate).toBe(row.datetimeDate.toISOString()) expect(saved.boolNull).toBe(null) expect(saved.boolEmpty).toBe(null) @@ -247,10 +282,12 @@ describe("/rows", () => { name: "Updated Name", }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) - - expect(res.res.statusMessage).toEqual(`${table.name} updated successfully.`) + + expect(res.res.statusMessage).toEqual( + `${table.name} updated successfully.` + ) expect(res.body.name).toEqual("Updated Name") expect(res.body.description).toEqual(existing.description) @@ -292,16 +329,14 @@ describe("/rows", () => { const res = await request .delete(`/api/${table._id}/rows`) .send({ - rows: [ - createdRow - ] + rows: [createdRow], }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body[0]._id).toEqual(createdRow._id) - await assertRowUsage(rowUsage -1) - await assertQueryUsage(queryUsage +1) + await assertRowUsage(rowUsage - 1) + await assertQueryUsage(queryUsage + 1) }) }) @@ -314,9 +349,9 @@ describe("/rows", () => { .post(`/api/${table._id}/rows/validate`) .send({ name: "ivan" }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) - + expect(res.body.valid).toBe(true) expect(Object.keys(res.body.errors)).toEqual([]) await assertRowUsage(rowUsage) @@ -331,9 +366,9 @@ describe("/rows", () => { .post(`/api/${table._id}/rows/validate`) .send({ name: 1 }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) - + expect(res.body.valid).toBe(false) expect(Object.keys(res.body.errors)).toEqual(["name"]) await assertRowUsage(rowUsage) @@ -351,19 +386,16 @@ describe("/rows", () => { const res = await request .delete(`/api/${table._id}/rows`) .send({ - rows: [ - row1, - row2, - ] + rows: [row1, row2], }) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body.length).toEqual(2) await loadRow(row1._id, 404) await assertRowUsage(rowUsage - 2) - await assertQueryUsage(queryUsage +1) + await assertQueryUsage(queryUsage + 1) }) }) @@ -376,12 +408,12 @@ describe("/rows", () => { const res = await request .get(`/api/views/${table._id}`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body.length).toEqual(1) expect(res.body[0]._id).toEqual(row._id) await assertRowUsage(rowUsage) - await assertQueryUsage(queryUsage +1) + await assertQueryUsage(queryUsage + 1) }) it("should throw an error if view doesn't exist", async () => { @@ -406,7 +438,7 @@ describe("/rows", () => { const res = await request .get(`/api/views/${view.name}`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(res.body.length).toEqual(1) expect(res.body[0]._id).toEqual(row._id) @@ -418,21 +450,24 @@ describe("/rows", () => { describe("fetchEnrichedRows", () => { it("should allow enriching some linked rows", async () => { - const { table, firstRow, secondRow } = await doInTenant(setup.structures.TENANT_ID, async () => { - const table = await config.createLinkedTable() - const firstRow = await config.createRow({ - name: "Test Contact", - description: "original description", - tableId: table._id - }) - const secondRow = await config.createRow({ - name: "Test 2", - description: "og desc", - link: [{_id: firstRow._id}], - tableId: table._id, - }) - return { table, firstRow, secondRow } - }) + const { table, firstRow, secondRow } = await doInTenant( + setup.structures.TENANT_ID, + async () => { + const table = await config.createLinkedTable() + const firstRow = await config.createRow({ + name: "Test Contact", + description: "original description", + tableId: table._id, + }) + const secondRow = await config.createRow({ + name: "Test 2", + description: "og desc", + link: [{ _id: firstRow._id }], + tableId: table._id, + }) + return { table, firstRow, secondRow } + } + ) const rowUsage = await getRowUsage() const queryUsage = await getQueryUsage() @@ -440,7 +475,7 @@ describe("/rows", () => { const resBasic = await request .get(`/api/${table._id}/rows/${secondRow._id}`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(resBasic.body.link[0]._id).toBe(firstRow._id) expect(resBasic.body.link[0].primaryDisplay).toBe("Test Contact") @@ -449,14 +484,14 @@ describe("/rows", () => { const resEnriched = await request .get(`/api/${table._id}/${secondRow._id}/enrich`) .set(config.defaultHeaders()) - .expect('Content-Type', /json/) + .expect("Content-Type", /json/) .expect(200) expect(resEnriched.body.link.length).toBe(1) expect(resEnriched.body.link[0]._id).toBe(firstRow._id) expect(resEnriched.body.link[0].name).toBe("Test Contact") expect(resEnriched.body.link[0].description).toBe("original description") await assertRowUsage(rowUsage) - await assertQueryUsage(queryUsage +2) + await assertQueryUsage(queryUsage + 2) }) }) @@ -466,9 +501,11 @@ describe("/rows", () => { const row = await config.createRow({ name: "test", description: "test", - attachment: [{ - key: `${config.getAppId()}/attachments/test/thing.csv`, - }], + attachment: [ + { + key: `${config.getAppId()}/attachments/test/thing.csv`, + }, + ], tableId: table._id, }) // the environment needs configured for this @@ -482,4 +519,49 @@ describe("/rows", () => { }) }) }) + + describe("exportData", () => { + it("should allow exporting all columns", async () => { + const existing = await config.createRow() + const res = await request + .post(`/api/${table._id}/rows/exportRows?format=json`) + .set(config.defaultHeaders()) + .send({ + rows: [existing._id], + }) + .expect("Content-Type", /json/) + .expect(200) + const results = JSON.parse(res.text) + expect(results.length).toEqual(1) + const row = results[0] + + // Ensure all original columns were exported + expect(Object.keys(row).length).toBeGreaterThanOrEqual( + Object.keys(existing).length + ) + Object.keys(existing).forEach(key => { + expect(row[key]).toEqual(existing[key]) + }) + }) + + it("should allow exporting only certain columns", async () => { + const existing = await config.createRow() + const res = await request + .post(`/api/${table._id}/rows/exportRows?format=json`) + .set(config.defaultHeaders()) + .send({ + rows: [existing._id], + columns: ["_id"], + }) + .expect("Content-Type", /json/) + .expect(200) + const results = JSON.parse(res.text) + expect(results.length).toEqual(1) + const row = results[0] + + // Ensure only the _id column was exported + expect(Object.keys(row).length).toEqual(1) + expect(row._id).toEqual(existing._id) + }) + }) }) From 77c96b37b35611505336571dd6e5b8e970a5f048 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 19 Aug 2022 14:11:58 +0100 Subject: [PATCH 011/105] Fix issue with falsey lucene values being ignored --- packages/frontend-core/src/utils/lucene.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/frontend-core/src/utils/lucene.js b/packages/frontend-core/src/utils/lucene.js index b9f673668e..243b7ba646 100644 --- a/packages/frontend-core/src/utils/lucene.js +++ b/packages/frontend-core/src/utils/lucene.js @@ -72,7 +72,7 @@ const cleanupQuery = query => { continue } for (let [key, value] of Object.entries(query[filterField])) { - if (!value || value === "") { + if (value == null || value === "") { delete query[filterField][key] } } @@ -174,7 +174,7 @@ export const runLuceneQuery = (docs, query) => { return docs } - // make query consistent first + // Make query consistent first query = cleanupQuery(query) // Iterates over a set of filters and evaluates a fail function against a doc @@ -206,7 +206,12 @@ export const runLuceneQuery = (docs, query) => { // Process a range match const rangeMatch = match("range", (docValue, testValue) => { - return !docValue || docValue < testValue.low || docValue > testValue.high + return ( + docValue == null || + docValue === "" || + docValue < testValue.low || + docValue > testValue.high + ) }) // Process an equal match (fails if the value is different) From 27216ca49946507c6bc9033807c65f3ca819cfe4 Mon Sep 17 00:00:00 2001 From: Mel O'Hagan Date: Fri, 19 Aug 2022 14:52:50 +0100 Subject: [PATCH 012/105] Null safety --- .../src/components/automation/SetupPanel/FieldSelector.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/components/automation/SetupPanel/FieldSelector.svelte b/packages/builder/src/components/automation/SetupPanel/FieldSelector.svelte index f510d961fb..3920885a2e 100644 --- a/packages/builder/src/components/automation/SetupPanel/FieldSelector.svelte +++ b/packages/builder/src/components/automation/SetupPanel/FieldSelector.svelte @@ -14,7 +14,7 @@ $: { let fields = {} - for (const [key, type] of Object.entries(block?.inputs?.fields)) { + for (const [key, type] of Object.entries(block?.inputs?.fields ?? {})) { fields = { ...fields, [key]: { From 326548c7fa3446973ff859c2109954dfc7be240f Mon Sep 17 00:00:00 2001 From: Mel O'Hagan Date: Fri, 19 Aug 2022 14:57:15 +0100 Subject: [PATCH 013/105] tableId null safety --- packages/server/src/automations/steps/queryRows.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/server/src/automations/steps/queryRows.js b/packages/server/src/automations/steps/queryRows.js index b02f31b1ec..cfff039221 100644 --- a/packages/server/src/automations/steps/queryRows.js +++ b/packages/server/src/automations/steps/queryRows.js @@ -125,6 +125,14 @@ const hasNullFilters = filters => exports.run = async function ({ inputs, appId }) { const { tableId, filters, sortColumn, sortOrder, limit } = inputs + if (!tableId) { + return { + success: false, + response: { + message: "You must select a table to query.", + }, + } + } const table = await getTable(appId, tableId) let sortType = FieldTypes.STRING if (table && table.schema && table.schema[sortColumn] && sortColumn) { From e56a1cd84ba42ba2e565ac22d39cbb66df9cb66b Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 19 Aug 2022 14:17:38 +0000 Subject: [PATCH 014/105] v1.2.44 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 72d1757935..b04f956dc6 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.43", + "version": "1.2.44", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 767af444a4..47f1717043 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.43", + "version": "1.2.44", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.43", + "@budibase/types": "^1.2.44", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 4e8a5d15eb..5a26b689c2 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": "1.2.43", + "version": "1.2.44", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.43", + "@budibase/string-templates": "^1.2.44", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index d51e75335f..a51f3a853c 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.43", + "version": "1.2.44", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.43", - "@budibase/client": "^1.2.43", - "@budibase/frontend-core": "^1.2.43", - "@budibase/string-templates": "^1.2.43", + "@budibase/bbui": "^1.2.44", + "@budibase/client": "^1.2.44", + "@budibase/frontend-core": "^1.2.44", + "@budibase/string-templates": "^1.2.44", "@sentry/browser": "5.19.1", "@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 6a22dd3f45..677e2f47e4 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.43", + "version": "1.2.44", "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 79c7f3114f..4b8cb69d60 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.43", + "version": "1.2.44", "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": "^1.2.43", - "@budibase/frontend-core": "^1.2.43", - "@budibase/string-templates": "^1.2.43", + "@budibase/bbui": "^1.2.44", + "@budibase/frontend-core": "^1.2.44", + "@budibase/string-templates": "^1.2.44", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 5320c2e1be..86039ba828 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.43", + "version": "1.2.44", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.43", + "@budibase/bbui": "^1.2.44", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 3f8c2fb032..cfcc4e9e8b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.43", + "version": "1.2.44", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.43", - "@budibase/client": "^1.2.43", + "@budibase/backend-core": "^1.2.44", + "@budibase/client": "^1.2.44", "@budibase/pro": "1.2.43", - "@budibase/string-templates": "^1.2.43", - "@budibase/types": "^1.2.43", + "@budibase/string-templates": "^1.2.44", + "@budibase/types": "^1.2.44", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 71fea6428c..fba5f3bbf3 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.43", + "version": "1.2.44", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 6ea462d1e5..5c73db9d21 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.43", + "version": "1.2.44", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 468135d4e2..9edd2f1e76 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.43", + "version": "1.2.44", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.43", + "@budibase/backend-core": "^1.2.44", "@budibase/pro": "1.2.43", - "@budibase/string-templates": "^1.2.43", - "@budibase/types": "^1.2.43", + "@budibase/string-templates": "^1.2.44", + "@budibase/types": "^1.2.44", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 59b0a3b1afa467ac14a207526198534838f0dfc4 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 19 Aug 2022 14:20:39 +0000 Subject: [PATCH 015/105] Update pro version to 1.2.44 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index cfcc4e9e8b..a6d3286b2f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.44", "@budibase/client": "^1.2.44", - "@budibase/pro": "1.2.43", + "@budibase/pro": "1.2.44", "@budibase/string-templates": "^1.2.44", "@budibase/types": "^1.2.44", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index bf1f4c0dfd..27cf0ed857 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.43.tgz#3d27c216016dc98056cb60b8f4159256b897950b" - integrity sha512-00tPob6rVCbWQpvRHwqSxymwalCAh+5lrwnwOWfcOI+8ZM6aMaUqEsLZJIR97jX2JBlZ82qjdFTFQ30AzB618w== +"@budibase/backend-core@1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44.tgz#33cc9bf70292a6d3ab22d504d7135d1c05594e90" + integrity sha512-F9naEAaasP47RB3+BMzqS0mNNWcFVW8QqAVnpLb6mcYQ9fC64nqAIQ56OiRypRz0nx3iLHSPulknEsCCJ4Dnjg== dependencies: - "@budibase/types" "^1.2.43" + "@budibase/types" "^1.2.44" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.43.tgz#a7abf200ad8d3535dc0dd8cadaaf475283f2aa5f" - integrity sha512-vkkCImIMpUb8CCrbpHsEMNzGWaNYLCcjHGDhkmNdzlyJu7GwK9LFj2p9JfamQWeBqSMFVaEcRQv/QxHLStu6TA== +"@budibase/pro@1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44.tgz#d51f57d30fdf7a1436b5cc6c3e0ec1eb562b3828" + integrity sha512-LJr94UmUfd3LX2S1W/JVG2NPuvR1kfdCe0jXjt05vWOwDXTZtNglGPhUEpT6uonbjgbhWrVYgY11IB+ezkvsSg== dependencies: - "@budibase/backend-core" "1.2.43" - "@budibase/types" "1.2.43" + "@budibase/backend-core" "1.2.44" + "@budibase/types" "1.2.44" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.43", "@budibase/types@^1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.43.tgz#19de137066dc2720d6c175bfe8bdf6cdadef825e" - integrity sha512-0CqcL9iYSa7fVsk0M7KerVYTr6IAH5PuEr8BfxcZgcrYgElVVmpnNI9Ehz25ldV0izquVACvk+8Q2H7GsWUvfw== +"@budibase/types@1.2.44", "@budibase/types@^1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44.tgz#0f11a37909cc57536a9bb61b79aeb5f3022c4c8c" + integrity sha512-/VQStgeJHpqwmioYoFl3IgBRHRPHot/90xJdNxjH4gAZEoxQMfpbJdLzNm8ydXjR/XI/shYbtYljVEIaMKTflA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 9edd2f1e76..885d090f16 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.44", - "@budibase/pro": "1.2.43", + "@budibase/pro": "1.2.44", "@budibase/string-templates": "^1.2.44", "@budibase/types": "^1.2.44", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index dd2f81e4a9..6e667b8ccf 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.43.tgz#3d27c216016dc98056cb60b8f4159256b897950b" - integrity sha512-00tPob6rVCbWQpvRHwqSxymwalCAh+5lrwnwOWfcOI+8ZM6aMaUqEsLZJIR97jX2JBlZ82qjdFTFQ30AzB618w== +"@budibase/backend-core@1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44.tgz#33cc9bf70292a6d3ab22d504d7135d1c05594e90" + integrity sha512-F9naEAaasP47RB3+BMzqS0mNNWcFVW8QqAVnpLb6mcYQ9fC64nqAIQ56OiRypRz0nx3iLHSPulknEsCCJ4Dnjg== dependencies: - "@budibase/types" "^1.2.43" + "@budibase/types" "^1.2.44" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.43.tgz#a7abf200ad8d3535dc0dd8cadaaf475283f2aa5f" - integrity sha512-vkkCImIMpUb8CCrbpHsEMNzGWaNYLCcjHGDhkmNdzlyJu7GwK9LFj2p9JfamQWeBqSMFVaEcRQv/QxHLStu6TA== +"@budibase/pro@1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44.tgz#d51f57d30fdf7a1436b5cc6c3e0ec1eb562b3828" + integrity sha512-LJr94UmUfd3LX2S1W/JVG2NPuvR1kfdCe0jXjt05vWOwDXTZtNglGPhUEpT6uonbjgbhWrVYgY11IB+ezkvsSg== dependencies: - "@budibase/backend-core" "1.2.43" - "@budibase/types" "1.2.43" + "@budibase/backend-core" "1.2.44" + "@budibase/types" "1.2.44" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.43", "@budibase/types@^1.2.43": - version "1.2.43" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.43.tgz#19de137066dc2720d6c175bfe8bdf6cdadef825e" - integrity sha512-0CqcL9iYSa7fVsk0M7KerVYTr6IAH5PuEr8BfxcZgcrYgElVVmpnNI9Ehz25ldV0izquVACvk+8Q2H7GsWUvfw== +"@budibase/types@1.2.44", "@budibase/types@^1.2.44": + version "1.2.44" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44.tgz#0f11a37909cc57536a9bb61b79aeb5f3022c4c8c" + integrity sha512-/VQStgeJHpqwmioYoFl3IgBRHRPHot/90xJdNxjH4gAZEoxQMfpbJdLzNm8ydXjR/XI/shYbtYljVEIaMKTflA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 65d4544cc56b899fdeeae0dc4975ed89c38c6171 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Fri, 19 Aug 2022 15:21:53 +0100 Subject: [PATCH 016/105] Add support for NODE_DEBUG to app-service in kubernetes --- charts/budibase/templates/app-service-deployment.yaml | 4 ++++ charts/budibase/values.yaml | 1 + packages/server/src/automations/utils.ts | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml index fd46e77647..0f8e2a08ce 100644 --- a/charts/budibase/templates/app-service-deployment.yaml +++ b/charts/budibase/templates/app-service-deployment.yaml @@ -130,6 +130,10 @@ spec: - name: BB_ADMIN_USER_PASSWORD value: { { .Values.globals.bbAdminUserPassword | quote } } {{ end }} + {{ if .Values.services.apps.nodeDebug }} + - name: NODE_DEBUG + value: {{ .Values.services.apps.nodeDebug | quote }} + {{ end }} image: budibase/apps:{{ .Values.globals.appVersion }} imagePullPolicy: Always diff --git a/charts/budibase/values.yaml b/charts/budibase/values.yaml index 404e92c70f..26f8cd24ed 100644 --- a/charts/budibase/values.yaml +++ b/charts/budibase/values.yaml @@ -126,6 +126,7 @@ services: port: 4002 replicaCount: 1 logLevel: info +# nodeDebug: "" # set the value of NODE_DEBUG worker: port: 4003 diff --git a/packages/server/src/automations/utils.ts b/packages/server/src/automations/utils.ts index 1799b4d74d..6e392d23de 100644 --- a/packages/server/src/automations/utils.ts +++ b/packages/server/src/automations/utils.ts @@ -24,7 +24,7 @@ const Runner = new Thread(ThreadType.AUTOMATION) export async function processEvent(job: any) { try { console.log( - `${job.data.automation.appId} automation ${job.data.automation._id} running` + `${job.data.automation.appId} automation ${job.data.automation._id} running. jobId=${job.id}` ) // need to actually await these so that an error can be captured properly const tenantId = tenancy.getTenantIDFromAppID(job.data.event.appId) From b390187ee3b142cc871552f596a7023abe69ef44 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 19 Aug 2022 14:43:12 +0000 Subject: [PATCH 017/105] v1.2.45 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index b04f956dc6..9874e1030d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.44", + "version": "1.2.45", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 47f1717043..7e9c3e2e2f 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.44", + "version": "1.2.45", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.44", + "@budibase/types": "^1.2.45", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 5a26b689c2..b42842fc94 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": "1.2.44", + "version": "1.2.45", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.44", + "@budibase/string-templates": "^1.2.45", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index a51f3a853c..73760a7a13 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.44", + "version": "1.2.45", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.44", - "@budibase/client": "^1.2.44", - "@budibase/frontend-core": "^1.2.44", - "@budibase/string-templates": "^1.2.44", + "@budibase/bbui": "^1.2.45", + "@budibase/client": "^1.2.45", + "@budibase/frontend-core": "^1.2.45", + "@budibase/string-templates": "^1.2.45", "@sentry/browser": "5.19.1", "@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 677e2f47e4..38ec0078b1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.44", + "version": "1.2.45", "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 4b8cb69d60..100a6ced79 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.44", + "version": "1.2.45", "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": "^1.2.44", - "@budibase/frontend-core": "^1.2.44", - "@budibase/string-templates": "^1.2.44", + "@budibase/bbui": "^1.2.45", + "@budibase/frontend-core": "^1.2.45", + "@budibase/string-templates": "^1.2.45", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 86039ba828..a80a5e8002 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.44", + "version": "1.2.45", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.44", + "@budibase/bbui": "^1.2.45", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index a6d3286b2f..b2b2ad761d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.44", + "version": "1.2.45", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.44", - "@budibase/client": "^1.2.44", + "@budibase/backend-core": "^1.2.45", + "@budibase/client": "^1.2.45", "@budibase/pro": "1.2.44", - "@budibase/string-templates": "^1.2.44", - "@budibase/types": "^1.2.44", + "@budibase/string-templates": "^1.2.45", + "@budibase/types": "^1.2.45", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index fba5f3bbf3..09e044e3f2 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.44", + "version": "1.2.45", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 5c73db9d21..c516a34594 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.44", + "version": "1.2.45", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 885d090f16..2a8428b8d2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.44", + "version": "1.2.45", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.44", + "@budibase/backend-core": "^1.2.45", "@budibase/pro": "1.2.44", - "@budibase/string-templates": "^1.2.44", - "@budibase/types": "^1.2.44", + "@budibase/string-templates": "^1.2.45", + "@budibase/types": "^1.2.45", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 73c4d63966d116a8712b2a223c183208463157fa Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 19 Aug 2022 14:47:05 +0000 Subject: [PATCH 018/105] Update pro version to 1.2.45 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index b2b2ad761d..e163fab382 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.45", "@budibase/client": "^1.2.45", - "@budibase/pro": "1.2.44", + "@budibase/pro": "1.2.45", "@budibase/string-templates": "^1.2.45", "@budibase/types": "^1.2.45", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 27cf0ed857..ce910e7aa8 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44.tgz#33cc9bf70292a6d3ab22d504d7135d1c05594e90" - integrity sha512-F9naEAaasP47RB3+BMzqS0mNNWcFVW8QqAVnpLb6mcYQ9fC64nqAIQ56OiRypRz0nx3iLHSPulknEsCCJ4Dnjg== +"@budibase/backend-core@1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.45.tgz#6d4c7106b014a9e3990706dcc5178a6567729959" + integrity sha512-28pBGZ2uQZAoo5TILhJJLJJOJkNcZUnJ+Lw5EG5wg/ltnVhGrw3/DlV9A45QeUrQZfC4MED9PxStk+Yh8z+kXw== dependencies: - "@budibase/types" "^1.2.44" + "@budibase/types" "^1.2.45" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44.tgz#d51f57d30fdf7a1436b5cc6c3e0ec1eb562b3828" - integrity sha512-LJr94UmUfd3LX2S1W/JVG2NPuvR1kfdCe0jXjt05vWOwDXTZtNglGPhUEpT6uonbjgbhWrVYgY11IB+ezkvsSg== +"@budibase/pro@1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.45.tgz#ee270b0151f6ac680aadf92c9ca372560e31c0e7" + integrity sha512-r1bNg9YU3KCXnLD7xAm3rGd+tD2iQJ++zcVD6+7IE52Xbe5anmTdxp5oZIF0v8sqDwnVlmT7/XjsTKYjFoID9w== dependencies: - "@budibase/backend-core" "1.2.44" - "@budibase/types" "1.2.44" + "@budibase/backend-core" "1.2.45" + "@budibase/types" "1.2.45" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.44", "@budibase/types@^1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44.tgz#0f11a37909cc57536a9bb61b79aeb5f3022c4c8c" - integrity sha512-/VQStgeJHpqwmioYoFl3IgBRHRPHot/90xJdNxjH4gAZEoxQMfpbJdLzNm8ydXjR/XI/shYbtYljVEIaMKTflA== +"@budibase/types@1.2.45", "@budibase/types@^1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.45.tgz#07bca82830ccd08e5c19c6e3fbe7d06e1ab28838" + integrity sha512-y2RcK/5B7PfyRByK0atXYc51rfsO0fFy2QPec79vCXczlhVswuKgiLy6rQ612Cn03wZ4DQSgvLbCGrv9sot9EQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 2a8428b8d2..789be3b92f 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.45", - "@budibase/pro": "1.2.44", + "@budibase/pro": "1.2.45", "@budibase/string-templates": "^1.2.45", "@budibase/types": "^1.2.45", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 6e667b8ccf..bdc260c824 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44.tgz#33cc9bf70292a6d3ab22d504d7135d1c05594e90" - integrity sha512-F9naEAaasP47RB3+BMzqS0mNNWcFVW8QqAVnpLb6mcYQ9fC64nqAIQ56OiRypRz0nx3iLHSPulknEsCCJ4Dnjg== +"@budibase/backend-core@1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.45.tgz#6d4c7106b014a9e3990706dcc5178a6567729959" + integrity sha512-28pBGZ2uQZAoo5TILhJJLJJOJkNcZUnJ+Lw5EG5wg/ltnVhGrw3/DlV9A45QeUrQZfC4MED9PxStk+Yh8z+kXw== dependencies: - "@budibase/types" "^1.2.44" + "@budibase/types" "^1.2.45" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44.tgz#d51f57d30fdf7a1436b5cc6c3e0ec1eb562b3828" - integrity sha512-LJr94UmUfd3LX2S1W/JVG2NPuvR1kfdCe0jXjt05vWOwDXTZtNglGPhUEpT6uonbjgbhWrVYgY11IB+ezkvsSg== +"@budibase/pro@1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.45.tgz#ee270b0151f6ac680aadf92c9ca372560e31c0e7" + integrity sha512-r1bNg9YU3KCXnLD7xAm3rGd+tD2iQJ++zcVD6+7IE52Xbe5anmTdxp5oZIF0v8sqDwnVlmT7/XjsTKYjFoID9w== dependencies: - "@budibase/backend-core" "1.2.44" - "@budibase/types" "1.2.44" + "@budibase/backend-core" "1.2.45" + "@budibase/types" "1.2.45" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.44", "@budibase/types@^1.2.44": - version "1.2.44" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44.tgz#0f11a37909cc57536a9bb61b79aeb5f3022c4c8c" - integrity sha512-/VQStgeJHpqwmioYoFl3IgBRHRPHot/90xJdNxjH4gAZEoxQMfpbJdLzNm8ydXjR/XI/shYbtYljVEIaMKTflA== +"@budibase/types@1.2.45", "@budibase/types@^1.2.45": + version "1.2.45" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.45.tgz#07bca82830ccd08e5c19c6e3fbe7d06e1ab28838" + integrity sha512-y2RcK/5B7PfyRByK0atXYc51rfsO0fFy2QPec79vCXczlhVswuKgiLy6rQ612Cn03wZ4DQSgvLbCGrv9sot9EQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From b9c16331cea9eb3e4b4f8486791193d4031ccf22 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Fri, 19 Aug 2022 23:14:19 +0100 Subject: [PATCH 019/105] Add logging to all event listeners for automations + stalled handling stub --- packages/server/src/automations/bullboard.js | 2 + packages/server/src/automations/listeners.ts | 78 ++++++++++++++++++++ packages/server/src/automations/utils.ts | 13 ++-- packages/server/src/threads/automation.ts | 51 +++++++++---- 4 files changed, 122 insertions(+), 22 deletions(-) create mode 100644 packages/server/src/automations/listeners.ts diff --git a/packages/server/src/automations/bullboard.js b/packages/server/src/automations/bullboard.js index cba6594ae7..af091843f2 100644 --- a/packages/server/src/automations/bullboard.js +++ b/packages/server/src/automations/bullboard.js @@ -8,12 +8,14 @@ const Queue = env.isTest() const { JobQueues } = require("../constants") const { utils } = require("@budibase/backend-core/redis") const { opts, redisProtocolUrl } = utils.getRedisOptions() +const listeners = require("./listeners") const CLEANUP_PERIOD_MS = 60 * 1000 const queueConfig = redisProtocolUrl || { redis: opts } let cleanupInternal = null let automationQueue = new Queue(JobQueues.AUTOMATIONS, queueConfig) +listeners.addListeners(automationQueue) async function cleanup() { await automationQueue.clean(CLEANUP_PERIOD_MS, "completed") diff --git a/packages/server/src/automations/listeners.ts b/packages/server/src/automations/listeners.ts new file mode 100644 index 0000000000..d53d0dddee --- /dev/null +++ b/packages/server/src/automations/listeners.ts @@ -0,0 +1,78 @@ +import { Queue, Job, JobId } from "bull" +import { AutomationEvent } from "../definitions/automations" +import * as automation from "../threads/automation" + +export const addListeners = (queue: Queue) => { + logging(queue) + // handleStalled(queue) +} + +const handleStalled = (queue: Queue) => { + queue.on("active", async (job: Job) => { + await automation.removeStalled(job as AutomationEvent) + }) +} + +const logging = (queue: Queue) => { + if (process.env.NODE_DEBUG?.includes("bull")) { + queue + .on("error", (error: any) => { + // An error occurred. + console.error(`automation-event=error error=${JSON.stringify(error)}`) + }) + .on("waiting", (jobId: JobId) => { + // A Job is waiting to be processed as soon as a worker is idling. + console.log(`automation-event=waiting jobId=${jobId}`) + }) + .on("active", (job: Job, jobPromise: any) => { + // A job has started. You can use `jobPromise.cancel()`` to abort it. + console.log(`automation-event=active jobId=${job.id}`) + }) + .on("stalled", (job: Job) => { + // A job has been marked as stalled. This is useful for debugging job + // workers that crash or pause the event loop. + console.error( + `automation-event=stalled jobId=${job.id} job=${JSON.stringify(job)}` + ) + }) + .on("progress", (job: Job, progress: any) => { + // A job's progress was updated! + console.log( + `automation-event=progress jobId=${job.id} progress=${progress}` + ) + }) + .on("completed", (job: Job, result) => { + // A job successfully completed with a `result`. + console.log( + `automation-event=completed jobId=${job.id} result=${result}` + ) + }) + .on("failed", (job, err: any) => { + // A job failed with reason `err`! + console.log(`automation-event=failed jobId=${job.id} error=${err}`) + }) + .on("paused", () => { + // The queue has been paused. + console.log(`automation-event=paused`) + }) + .on("resumed", (job: Job) => { + // The queue has been resumed. + console.log(`automation-event=paused jobId=${job.id}`) + }) + .on("cleaned", (jobs: Job[], type: string) => { + // Old jobs have been cleaned from the queue. `jobs` is an array of cleaned + // jobs, and `type` is the type of jobs cleaned. + console.log( + `automation-event=cleaned length=${jobs.length} type=${type}` + ) + }) + .on("drained", () => { + // Emitted every time the queue has processed all the waiting jobs (even if there can be some delayed jobs not yet processed) + console.log(`automation-event=drained`) + }) + .on("removed", (job: Job) => { + // A job successfully removed. + console.log(`automation-event=removed jobId=${job.id}`) + }) + } +} diff --git a/packages/server/src/automations/utils.ts b/packages/server/src/automations/utils.ts index 6e392d23de..e0979ac0d9 100644 --- a/packages/server/src/automations/utils.ts +++ b/packages/server/src/automations/utils.ts @@ -21,11 +21,13 @@ const WH_STEP_ID = definitions.WEBHOOK.stepId const CRON_STEP_ID = definitions.CRON.stepId const Runner = new Thread(ThreadType.AUTOMATION) +const jobMessage = (job: any, message: string) => { + return `app=${job.data.event.appId} automation=${job.data.automation._id} jobId=${job.id} trigger=${job.data.automation.definition.trigger.event} : ${message}` +} + export async function processEvent(job: any) { try { - console.log( - `${job.data.automation.appId} automation ${job.data.automation._id} running. jobId=${job.id}` - ) + console.log(jobMessage(job, "running")) // need to actually await these so that an error can be captured properly const tenantId = tenancy.getTenantIDFromAppID(job.data.event.appId) return await tenancy.doInTenant(tenantId, async () => { @@ -34,9 +36,7 @@ export async function processEvent(job: any) { }) } catch (err) { const errJson = JSON.stringify(err) - console.error( - `${job.data.automation.appId} automation ${job.data.automation._id} was unable to run - ${errJson}` - ) + console.error(jobMessage(job, `was unable to run - ${errJson}`)) console.trace(err) return { err } } @@ -91,6 +91,7 @@ export async function disableAllCrons(appId: any) { export async function disableCron(jobId: string, jobKey: string) { await queue.removeRepeatableByKey(jobKey) await queue.removeJobs(jobId) + console.log(`jobId=${jobId} disabled`) } export async function clearMetadata() { diff --git a/packages/server/src/threads/automation.ts b/packages/server/src/threads/automation.ts index d04c49ce79..04b6ae413c 100644 --- a/packages/server/src/threads/automation.ts +++ b/packages/server/src/threads/automation.ts @@ -133,27 +133,34 @@ class Orchestrator { return metadata } + async stopCron(reason: string) { + if (!this._repeat) { + return + } + logWarn( + `CRON disabled reason=${reason} - ${this._appId}/${this._automation._id}` + ) + const automation = this._automation + const trigger = automation.definition.trigger + await disableCron(this._repeat?.jobId, this._repeat?.jobKey) + this.updateExecutionOutput( + trigger.id, + trigger.stepId, + {}, + { + status: AutomationStatus.STOPPED_ERROR, + success: false, + } + ) + await storeLog(automation, this.executionOutput) + } + async checkIfShouldStop(metadata: AutomationMetadata): Promise { if (!metadata.errorCount || !this._repeat) { return false } - const automation = this._automation - const trigger = automation.definition.trigger if (metadata.errorCount >= MAX_AUTOMATION_RECURRING_ERRORS) { - logWarn( - `CRON disabled due to errors - ${this._appId}/${this._automation._id}` - ) - await disableCron(this._repeat?.jobId, this._repeat?.jobKey) - this.updateExecutionOutput( - trigger.id, - trigger.stepId, - {}, - { - status: AutomationStatus.STOPPED_ERROR, - success: false, - } - ) - await storeLog(automation, this.executionOutput) + await this.stopCron("errors") return true } return false @@ -465,3 +472,15 @@ export function execute(input: AutomationEvent, callback: WorkerCallback) { } }) } + +export const removeStalled = (input: AutomationEvent) => { + const appId = input.data.event.appId + doInAppContext(appId, async () => { + const automationOrchestrator = new Orchestrator( + input.data.automation, + input.data.event, + input.opts + ) + await automationOrchestrator.stopCron("stalled") + }) +} From 9c20cb857b8fd3caa99fab0c926c32bc2189deaa Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Sat, 20 Aug 2022 08:35:52 +0000 Subject: [PATCH 020/105] v1.2.46 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 9874e1030d..d3e79fc5cb 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.45", + "version": "1.2.46", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 7e9c3e2e2f..799696358a 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.45", + "version": "1.2.46", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.45", + "@budibase/types": "^1.2.46", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index b42842fc94..1cf70e11b1 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": "1.2.45", + "version": "1.2.46", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.45", + "@budibase/string-templates": "^1.2.46", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 73760a7a13..61f63064b5 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.45", + "version": "1.2.46", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.45", - "@budibase/client": "^1.2.45", - "@budibase/frontend-core": "^1.2.45", - "@budibase/string-templates": "^1.2.45", + "@budibase/bbui": "^1.2.46", + "@budibase/client": "^1.2.46", + "@budibase/frontend-core": "^1.2.46", + "@budibase/string-templates": "^1.2.46", "@sentry/browser": "5.19.1", "@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 38ec0078b1..8f5d8ff791 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.45", + "version": "1.2.46", "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 100a6ced79..9261e214f3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.45", + "version": "1.2.46", "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": "^1.2.45", - "@budibase/frontend-core": "^1.2.45", - "@budibase/string-templates": "^1.2.45", + "@budibase/bbui": "^1.2.46", + "@budibase/frontend-core": "^1.2.46", + "@budibase/string-templates": "^1.2.46", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index a80a5e8002..ffda0ba07e 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.45", + "version": "1.2.46", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.45", + "@budibase/bbui": "^1.2.46", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index e163fab382..dfd59f47db 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.45", + "version": "1.2.46", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.45", - "@budibase/client": "^1.2.45", + "@budibase/backend-core": "^1.2.46", + "@budibase/client": "^1.2.46", "@budibase/pro": "1.2.45", - "@budibase/string-templates": "^1.2.45", - "@budibase/types": "^1.2.45", + "@budibase/string-templates": "^1.2.46", + "@budibase/types": "^1.2.46", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 09e044e3f2..6217a9ee91 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.45", + "version": "1.2.46", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index c516a34594..17ca3af63f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.45", + "version": "1.2.46", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 789be3b92f..b61672fbf2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.45", + "version": "1.2.46", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.45", + "@budibase/backend-core": "^1.2.46", "@budibase/pro": "1.2.45", - "@budibase/string-templates": "^1.2.45", - "@budibase/types": "^1.2.45", + "@budibase/string-templates": "^1.2.46", + "@budibase/types": "^1.2.46", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 47ba00e5314e8be288c4165b81c383292ba05fd7 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Sat, 20 Aug 2022 08:38:46 +0000 Subject: [PATCH 021/105] Update pro version to 1.2.46 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index dfd59f47db..8c76fea148 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.46", "@budibase/client": "^1.2.46", - "@budibase/pro": "1.2.45", + "@budibase/pro": "1.2.46", "@budibase/string-templates": "^1.2.46", "@budibase/types": "^1.2.46", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index ce910e7aa8..e3b5a55ffb 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.45.tgz#6d4c7106b014a9e3990706dcc5178a6567729959" - integrity sha512-28pBGZ2uQZAoo5TILhJJLJJOJkNcZUnJ+Lw5EG5wg/ltnVhGrw3/DlV9A45QeUrQZfC4MED9PxStk+Yh8z+kXw== +"@budibase/backend-core@1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.46.tgz#681a987ea1f4a3d2aabf09713bc9a5f8215951f4" + integrity sha512-kAN3W9mdLsXGUrcDVyhot79mTUJDRyehMA3EhHiTq2eiezNL1plKFZAr1tLmD7J86j0X+yXNi2q1Cp/BKK8DuQ== dependencies: - "@budibase/types" "^1.2.45" + "@budibase/types" "^1.2.46" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.45.tgz#ee270b0151f6ac680aadf92c9ca372560e31c0e7" - integrity sha512-r1bNg9YU3KCXnLD7xAm3rGd+tD2iQJ++zcVD6+7IE52Xbe5anmTdxp5oZIF0v8sqDwnVlmT7/XjsTKYjFoID9w== +"@budibase/pro@1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.46.tgz#9b7add93dc197c19766af44beed5c077cb397775" + integrity sha512-qUro7+08DBJP3/Avl8dCJzSuMWwm04crcCNJ20/A5TSFC35q0j7lspPylUokFmdyzd5oDrG1ZbyT8X8IXaVpkQ== dependencies: - "@budibase/backend-core" "1.2.45" - "@budibase/types" "1.2.45" + "@budibase/backend-core" "1.2.46" + "@budibase/types" "1.2.46" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.45", "@budibase/types@^1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.45.tgz#07bca82830ccd08e5c19c6e3fbe7d06e1ab28838" - integrity sha512-y2RcK/5B7PfyRByK0atXYc51rfsO0fFy2QPec79vCXczlhVswuKgiLy6rQ612Cn03wZ4DQSgvLbCGrv9sot9EQ== +"@budibase/types@1.2.46", "@budibase/types@^1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.46.tgz#de5d722edac539c12e7e8b834e1661fa962eed3d" + integrity sha512-Fwmj6rvrUEJ1B3pvrN6crcVKY47/1U5/lOxTe7zOGBq4Nl4XuwHqWj/RuKqRCWmA66IdzORBBYWCQW1STH7IBA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index b61672fbf2..10a06bb180 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.46", - "@budibase/pro": "1.2.45", + "@budibase/pro": "1.2.46", "@budibase/string-templates": "^1.2.46", "@budibase/types": "^1.2.46", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index bdc260c824..b89f1b250c 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.45.tgz#6d4c7106b014a9e3990706dcc5178a6567729959" - integrity sha512-28pBGZ2uQZAoo5TILhJJLJJOJkNcZUnJ+Lw5EG5wg/ltnVhGrw3/DlV9A45QeUrQZfC4MED9PxStk+Yh8z+kXw== +"@budibase/backend-core@1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.46.tgz#681a987ea1f4a3d2aabf09713bc9a5f8215951f4" + integrity sha512-kAN3W9mdLsXGUrcDVyhot79mTUJDRyehMA3EhHiTq2eiezNL1plKFZAr1tLmD7J86j0X+yXNi2q1Cp/BKK8DuQ== dependencies: - "@budibase/types" "^1.2.45" + "@budibase/types" "^1.2.46" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.45.tgz#ee270b0151f6ac680aadf92c9ca372560e31c0e7" - integrity sha512-r1bNg9YU3KCXnLD7xAm3rGd+tD2iQJ++zcVD6+7IE52Xbe5anmTdxp5oZIF0v8sqDwnVlmT7/XjsTKYjFoID9w== +"@budibase/pro@1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.46.tgz#9b7add93dc197c19766af44beed5c077cb397775" + integrity sha512-qUro7+08DBJP3/Avl8dCJzSuMWwm04crcCNJ20/A5TSFC35q0j7lspPylUokFmdyzd5oDrG1ZbyT8X8IXaVpkQ== dependencies: - "@budibase/backend-core" "1.2.45" - "@budibase/types" "1.2.45" + "@budibase/backend-core" "1.2.46" + "@budibase/types" "1.2.46" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.45", "@budibase/types@^1.2.45": - version "1.2.45" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.45.tgz#07bca82830ccd08e5c19c6e3fbe7d06e1ab28838" - integrity sha512-y2RcK/5B7PfyRByK0atXYc51rfsO0fFy2QPec79vCXczlhVswuKgiLy6rQ612Cn03wZ4DQSgvLbCGrv9sot9EQ== +"@budibase/types@1.2.46", "@budibase/types@^1.2.46": + version "1.2.46" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.46.tgz#de5d722edac539c12e7e8b834e1661fa962eed3d" + integrity sha512-Fwmj6rvrUEJ1B3pvrN6crcVKY47/1U5/lOxTe7zOGBq4Nl4XuwHqWj/RuKqRCWmA66IdzORBBYWCQW1STH7IBA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 96c110abe6572b3ef286e05aa97bbc4df7d93c57 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Sat, 20 Aug 2022 11:02:22 +0100 Subject: [PATCH 022/105] enable stalled job disabling --- packages/server/src/automations/listeners.ts | 4 ++-- packages/server/src/threads/automation.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/server/src/automations/listeners.ts b/packages/server/src/automations/listeners.ts index d53d0dddee..9f8667bd29 100644 --- a/packages/server/src/automations/listeners.ts +++ b/packages/server/src/automations/listeners.ts @@ -4,11 +4,11 @@ import * as automation from "../threads/automation" export const addListeners = (queue: Queue) => { logging(queue) - // handleStalled(queue) + handleStalled(queue) } const handleStalled = (queue: Queue) => { - queue.on("active", async (job: Job) => { + queue.on("stalled", async (job: Job) => { await automation.removeStalled(job as AutomationEvent) }) } diff --git a/packages/server/src/threads/automation.ts b/packages/server/src/threads/automation.ts index 04b6ae413c..3136155869 100644 --- a/packages/server/src/threads/automation.ts +++ b/packages/server/src/threads/automation.ts @@ -473,9 +473,9 @@ export function execute(input: AutomationEvent, callback: WorkerCallback) { }) } -export const removeStalled = (input: AutomationEvent) => { +export const removeStalled = async (input: AutomationEvent) => { const appId = input.data.event.appId - doInAppContext(appId, async () => { + await doInAppContext(appId, async () => { const automationOrchestrator = new Orchestrator( input.data.automation, input.data.event, From ec33a479993ffc8978582e5fdbf938ad8fbb8b49 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Sat, 20 Aug 2022 11:42:51 +0100 Subject: [PATCH 023/105] add on() to mock queue --- packages/server/src/utilities/queue/inMemoryQueue.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/server/src/utilities/queue/inMemoryQueue.js b/packages/server/src/utilities/queue/inMemoryQueue.js index 620b65cf38..79781f9283 100644 --- a/packages/server/src/utilities/queue/inMemoryQueue.js +++ b/packages/server/src/utilities/queue/inMemoryQueue.js @@ -113,6 +113,10 @@ class InMemoryQueue { async getJob() { return {} } + + on() { + // do nothing + } } module.exports = InMemoryQueue From 3c29afb3b2c0fcb8abbc252ce02ec178628c360f Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Sat, 20 Aug 2022 11:45:07 +0000 Subject: [PATCH 024/105] v1.2.47 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index d3e79fc5cb..88627b68e4 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.46", + "version": "1.2.47", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 799696358a..d999483139 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.46", + "version": "1.2.47", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.46", + "@budibase/types": "^1.2.47", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 1cf70e11b1..072dd0784a 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": "1.2.46", + "version": "1.2.47", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.46", + "@budibase/string-templates": "^1.2.47", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 61f63064b5..2d5166c978 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.46", + "version": "1.2.47", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.46", - "@budibase/client": "^1.2.46", - "@budibase/frontend-core": "^1.2.46", - "@budibase/string-templates": "^1.2.46", + "@budibase/bbui": "^1.2.47", + "@budibase/client": "^1.2.47", + "@budibase/frontend-core": "^1.2.47", + "@budibase/string-templates": "^1.2.47", "@sentry/browser": "5.19.1", "@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 8f5d8ff791..22fac6dbf7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.46", + "version": "1.2.47", "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 9261e214f3..352a250956 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.46", + "version": "1.2.47", "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": "^1.2.46", - "@budibase/frontend-core": "^1.2.46", - "@budibase/string-templates": "^1.2.46", + "@budibase/bbui": "^1.2.47", + "@budibase/frontend-core": "^1.2.47", + "@budibase/string-templates": "^1.2.47", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index ffda0ba07e..2a5e2c970b 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.46", + "version": "1.2.47", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.46", + "@budibase/bbui": "^1.2.47", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 8c76fea148..b0ec92edab 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.46", + "version": "1.2.47", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.46", - "@budibase/client": "^1.2.46", + "@budibase/backend-core": "^1.2.47", + "@budibase/client": "^1.2.47", "@budibase/pro": "1.2.46", - "@budibase/string-templates": "^1.2.46", - "@budibase/types": "^1.2.46", + "@budibase/string-templates": "^1.2.47", + "@budibase/types": "^1.2.47", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 6217a9ee91..055ca8ee3c 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.46", + "version": "1.2.47", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 17ca3af63f..733287df92 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.46", + "version": "1.2.47", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 10a06bb180..725d8f5143 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.46", + "version": "1.2.47", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.46", + "@budibase/backend-core": "^1.2.47", "@budibase/pro": "1.2.46", - "@budibase/string-templates": "^1.2.46", - "@budibase/types": "^1.2.46", + "@budibase/string-templates": "^1.2.47", + "@budibase/types": "^1.2.47", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From f2bfe40c60317f75583371205a78769508ca955e Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Sat, 20 Aug 2022 11:48:48 +0000 Subject: [PATCH 025/105] Update pro version to 1.2.47 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index b0ec92edab..8cc7eca3bc 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.47", "@budibase/client": "^1.2.47", - "@budibase/pro": "1.2.46", + "@budibase/pro": "1.2.47", "@budibase/string-templates": "^1.2.47", "@budibase/types": "^1.2.47", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index e3b5a55ffb..6f65ef63bb 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.46.tgz#681a987ea1f4a3d2aabf09713bc9a5f8215951f4" - integrity sha512-kAN3W9mdLsXGUrcDVyhot79mTUJDRyehMA3EhHiTq2eiezNL1plKFZAr1tLmD7J86j0X+yXNi2q1Cp/BKK8DuQ== +"@budibase/backend-core@1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.47.tgz#d75e03d23342b0d53bb9b2005b60a07e98c9e89b" + integrity sha512-3ix9APbyYWyzPd5e8RpZ2+GQeCW9jMInTONx9C5i2HOIkggmuduBOUx00RqufQmEeQk2yYN0ih54/LF0fOGleg== dependencies: - "@budibase/types" "^1.2.46" + "@budibase/types" "^1.2.47" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.46.tgz#9b7add93dc197c19766af44beed5c077cb397775" - integrity sha512-qUro7+08DBJP3/Avl8dCJzSuMWwm04crcCNJ20/A5TSFC35q0j7lspPylUokFmdyzd5oDrG1ZbyT8X8IXaVpkQ== +"@budibase/pro@1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.47.tgz#1e09b35765bce8d2933f5665cd92ffed64efdccd" + integrity sha512-bW4ntmHphySX+xRvtHEYUu1HOQiEvsl22MFq1u+rUJJ816WSnc2lRWOEX6nQ8wVCmKxLUva2WrrpU3R+zkVfEg== dependencies: - "@budibase/backend-core" "1.2.46" - "@budibase/types" "1.2.46" + "@budibase/backend-core" "1.2.47" + "@budibase/types" "1.2.47" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.46", "@budibase/types@^1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.46.tgz#de5d722edac539c12e7e8b834e1661fa962eed3d" - integrity sha512-Fwmj6rvrUEJ1B3pvrN6crcVKY47/1U5/lOxTe7zOGBq4Nl4XuwHqWj/RuKqRCWmA66IdzORBBYWCQW1STH7IBA== +"@budibase/types@1.2.47", "@budibase/types@^1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.47.tgz#c1a23864b2b806d63f74e6af528bba3d7a9665c7" + integrity sha512-QtI+rDmHI/CimYntivj88oMQ37oe9dGmhi8pjXlehSYfaqm2rmOzwMdqm/yULYJYA8qsEfvMqnSDYg3IQrspwQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 725d8f5143..60885179ac 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.47", - "@budibase/pro": "1.2.46", + "@budibase/pro": "1.2.47", "@budibase/string-templates": "^1.2.47", "@budibase/types": "^1.2.47", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index b89f1b250c..ada95a1087 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.46.tgz#681a987ea1f4a3d2aabf09713bc9a5f8215951f4" - integrity sha512-kAN3W9mdLsXGUrcDVyhot79mTUJDRyehMA3EhHiTq2eiezNL1plKFZAr1tLmD7J86j0X+yXNi2q1Cp/BKK8DuQ== +"@budibase/backend-core@1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.47.tgz#d75e03d23342b0d53bb9b2005b60a07e98c9e89b" + integrity sha512-3ix9APbyYWyzPd5e8RpZ2+GQeCW9jMInTONx9C5i2HOIkggmuduBOUx00RqufQmEeQk2yYN0ih54/LF0fOGleg== dependencies: - "@budibase/types" "^1.2.46" + "@budibase/types" "^1.2.47" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.46.tgz#9b7add93dc197c19766af44beed5c077cb397775" - integrity sha512-qUro7+08DBJP3/Avl8dCJzSuMWwm04crcCNJ20/A5TSFC35q0j7lspPylUokFmdyzd5oDrG1ZbyT8X8IXaVpkQ== +"@budibase/pro@1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.47.tgz#1e09b35765bce8d2933f5665cd92ffed64efdccd" + integrity sha512-bW4ntmHphySX+xRvtHEYUu1HOQiEvsl22MFq1u+rUJJ816WSnc2lRWOEX6nQ8wVCmKxLUva2WrrpU3R+zkVfEg== dependencies: - "@budibase/backend-core" "1.2.46" - "@budibase/types" "1.2.46" + "@budibase/backend-core" "1.2.47" + "@budibase/types" "1.2.47" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.46", "@budibase/types@^1.2.46": - version "1.2.46" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.46.tgz#de5d722edac539c12e7e8b834e1661fa962eed3d" - integrity sha512-Fwmj6rvrUEJ1B3pvrN6crcVKY47/1U5/lOxTe7zOGBq4Nl4XuwHqWj/RuKqRCWmA66IdzORBBYWCQW1STH7IBA== +"@budibase/types@1.2.47", "@budibase/types@^1.2.47": + version "1.2.47" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.47.tgz#c1a23864b2b806d63f74e6af528bba3d7a9665c7" + integrity sha512-QtI+rDmHI/CimYntivj88oMQ37oe9dGmhi8pjXlehSYfaqm2rmOzwMdqm/yULYJYA8qsEfvMqnSDYg3IQrspwQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From c29f3768fabd002d32139b7538ed3e625793015c Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 23 Aug 2022 09:37:13 +0100 Subject: [PATCH 026/105] User fixes wip --- packages/backend-core/src/db/constants.ts | 2 + packages/backend-core/src/db/views.js | 69 +++++-- packages/types/src/api/web/index.ts | 1 + packages/types/src/api/web/user.ts | 10 + packages/types/src/documents/global/user.ts | 19 ++ .../types/src/documents/platform/index.ts | 1 + .../types/src/documents/platform/users.ts | 9 + .../src/api/controllers/global/users.ts | 4 +- .../tests/{users.spec.js => users.spec.ts} | 180 +++++++++++------- packages/worker/src/sdk/users/users.ts | 72 ++++++- packages/worker/src/tests/index.js | 12 -- packages/worker/src/tests/index.ts | 15 ++ .../tests/structures/{index.js => index.ts} | 8 +- packages/worker/src/tests/structures/users.ts | 10 +- 14 files changed, 296 insertions(+), 116 deletions(-) create mode 100644 packages/types/src/api/web/user.ts create mode 100644 packages/types/src/documents/platform/users.ts rename packages/worker/src/api/routes/tests/{users.spec.js => users.spec.ts} (79%) delete mode 100644 packages/worker/src/tests/index.js create mode 100644 packages/worker/src/tests/index.ts rename packages/worker/src/tests/structures/{index.js => index.ts} (54%) diff --git a/packages/backend-core/src/db/constants.ts b/packages/backend-core/src/db/constants.ts index 460476da24..b03382ad36 100644 --- a/packages/backend-core/src/db/constants.ts +++ b/packages/backend-core/src/db/constants.ts @@ -18,6 +18,7 @@ export enum ViewName { LINK = "by_link", ROUTING = "screen_routes", AUTOMATION_LOGS = "automation_logs", + ACCOUNT_BY_EMAIL = "account_by_email", } export const DeprecatedViews = { @@ -41,6 +42,7 @@ export enum DocumentType { MIGRATIONS = "migrations", DEV_INFO = "devinfo", AUTOMATION_LOG = "log_au", + ACCOUNT = "acc", } export const StaticDatabases = { diff --git a/packages/backend-core/src/db/views.js b/packages/backend-core/src/db/views.js index 3a45611a8f..c0a91581ac 100644 --- a/packages/backend-core/src/db/views.js +++ b/packages/backend-core/src/db/views.js @@ -5,6 +5,8 @@ const { SEPARATOR, } = require("./utils") const { getGlobalDB } = require("../tenancy") +const { StaticDatabases } = require("./constants") +const { doWithDB } = require("./"); const DESIGN_DB = "_design/database" @@ -56,6 +58,31 @@ exports.createNewUserEmailView = async () => { await db.put(designDoc) } +exports.createAccountEmailView = async () => { + await doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db) => { + let designDoc + try { + designDoc = await db.get(DESIGN_DB) + } catch (err) { + // no design doc, make one + designDoc = DesignDoc() + } + const view = { + // if using variables in a map function need to inject them before use + map: `function(doc) { + if (doc._id.startsWith("${DocumentType.ACCOUNT}${SEPARATOR}")) { + emit(doc.email.toLowerCase(), doc.tenantId) + } + }`, + } + designDoc.views = { + ...designDoc.views, + [ViewName.ACCOUNT_BY_EMAIL]: view, + } + await db.put(designDoc) + }) +} + exports.createUserAppView = async () => { const db = getGlobalDB() let designDoc @@ -128,23 +155,17 @@ exports.createUserBuildersView = async () => { await db.put(designDoc) } -exports.queryGlobalView = async (viewName, params, db = null) => { - const CreateFuncByName = { - [ViewName.USER_BY_EMAIL]: exports.createNewUserEmailView, - [ViewName.BY_API_KEY]: exports.createApiKeyView, - [ViewName.USER_BY_BUILDERS]: exports.createUserBuildersView, - [ViewName.USER_BY_APP]: exports.createUserAppView, - } - // can pass DB in if working with something specific - if (!db) { - db = getGlobalDB() - } +exports.queryView = async (viewName, params, db, CreateFuncByName) => { try { let response = (await db.query(`database/${viewName}`, params)).rows response = response.map(resp => params.include_docs ? resp.doc : resp.value ) - return response.length <= 1 ? response[0] : response + if (params.arrayResponse) { + return response + } else { + return response.length <= 1 ? response[0] : response + } } catch (err) { if (err != null && err.name === "not_found") { const createFunc = CreateFuncByName[viewName] @@ -156,3 +177,27 @@ exports.queryGlobalView = async (viewName, params, db = null) => { } } } + +exports.queryPlatformView = async (viewName, params) => { + const CreateFuncByName = { + [ViewName.ACCOUNT_BY_EMAIL]: exports.createAccountEmailView, + } + + return doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db) => { + return exports.queryView(viewName, params, db, CreateFuncByName) + }) +} + +exports.queryGlobalView = async (viewName, params, db = null) => { + const CreateFuncByName = { + [ViewName.USER_BY_EMAIL]: exports.createNewUserEmailView, + [ViewName.BY_API_KEY]: exports.createApiKeyView, + [ViewName.USER_BY_BUILDERS]: exports.createUserBuildersView, + [ViewName.USER_BY_APP]: exports.createUserAppView, + } + // can pass DB in if working with something specific + if (!db) { + db = getGlobalDB() + } + return exports.queryView(viewName, params, db, CreateFuncByName) +} diff --git a/packages/types/src/api/web/index.ts b/packages/types/src/api/web/index.ts index b2258fe18e..2a3a01106f 100644 --- a/packages/types/src/api/web/index.ts +++ b/packages/types/src/api/web/index.ts @@ -1 +1,2 @@ export * from "./analytics" +export * from "./user" \ No newline at end of file diff --git a/packages/types/src/api/web/user.ts b/packages/types/src/api/web/user.ts new file mode 100644 index 0000000000..3e9d410473 --- /dev/null +++ b/packages/types/src/api/web/user.ts @@ -0,0 +1,10 @@ +import { User } from "../../documents" + +export interface BulkCreateUsersRequest { + users: User[] + groups: any[] +} + +export interface BulkDeleteUsersRequest { + userIds: string[] +} \ No newline at end of file diff --git a/packages/types/src/documents/global/user.ts b/packages/types/src/documents/global/user.ts index c9255a1bb1..1dc1f4f228 100644 --- a/packages/types/src/documents/global/user.ts +++ b/packages/types/src/documents/global/user.ts @@ -15,8 +15,27 @@ export interface User extends Document { status?: string createdAt?: number // override the default createdAt behaviour - users sdk historically set this to Date.now() userGroups?: string[] + forceResetPassword?: boolean } export interface UserRoles { [key: string]: string } + + +// utility types + +export interface BuilderUser extends User { + builder: { + global: boolean + } +} + +export interface AdminUser extends User { + admin: { + global: boolean + }, + builder: { + global: boolean + } +} \ No newline at end of file diff --git a/packages/types/src/documents/platform/index.ts b/packages/types/src/documents/platform/index.ts index ba329f1bd0..0438f720f4 100644 --- a/packages/types/src/documents/platform/index.ts +++ b/packages/types/src/documents/platform/index.ts @@ -1 +1,2 @@ export * from "./info" +export * from "./users" \ No newline at end of file diff --git a/packages/types/src/documents/platform/users.ts b/packages/types/src/documents/platform/users.ts new file mode 100644 index 0000000000..1cf5377965 --- /dev/null +++ b/packages/types/src/documents/platform/users.ts @@ -0,0 +1,9 @@ +import { Document } from "../document"; + +/** + * doc id is user email + */ +export interface PlatformUserByEmail extends Document { + tenantId: string + userId: string +} diff --git a/packages/worker/src/api/controllers/global/users.ts b/packages/worker/src/api/controllers/global/users.ts index 1f9af3514b..3938a6427a 100644 --- a/packages/worker/src/api/controllers/global/users.ts +++ b/packages/worker/src/api/controllers/global/users.ts @@ -46,8 +46,8 @@ export const bulkCreate = async (ctx: any) => { } try { - let response = await users.bulkCreate(newUsersRequested, groups) - await groupUtils.bulkSaveGroupUsers(groupsToSave, response) + const response = await users.bulkCreate(newUsersRequested, groups) + await groupUtils.bulkSaveGroupUsers(groupsToSave, response.successful) ctx.body = response } catch (err: any) { diff --git a/packages/worker/src/api/routes/tests/users.spec.js b/packages/worker/src/api/routes/tests/users.spec.ts similarity index 79% rename from packages/worker/src/api/routes/tests/users.spec.js rename to packages/worker/src/api/routes/tests/users.spec.ts index 5813dd3852..c95a7a7c4d 100644 --- a/packages/worker/src/api/routes/tests/users.spec.js +++ b/packages/worker/src/api/routes/tests/users.spec.ts @@ -1,7 +1,9 @@ jest.mock("nodemailer") -const { config, request, mocks, structures } = require("../../../tests") +import { config, request, mocks, structures } from "../../../tests" const sendMailMock = mocks.email.mock() -const { events } = require("@budibase/backend-core") +import { events } from "@budibase/backend-core" +import { User, BulkCreateUsersRequest, BulkDeleteUsersRequest } from "@budibase/types" + describe("/api/global/users", () => { beforeAll(async () => { @@ -12,6 +14,10 @@ describe("/api/global/users", () => { await config.afterAll() }) + beforeEach(() => { + jest.clearAllMocks() + }) + const sendUserInvite = async () => { await config.saveSmtpConfig() await config.saveSettingsConfig() @@ -31,35 +37,75 @@ describe("/api/global/users", () => { return { code, res } } - it("should be able to generate an invitation", async () => { - const { code, res } = await sendUserInvite() + describe("invite", () => { + it("should be able to generate an invitation", async () => { + const { code, res } = await sendUserInvite() - expect(res.body).toEqual({ message: "Invitation has been sent." }) - expect(sendMailMock).toHaveBeenCalled() - expect(code).toBeDefined() - expect(events.user.invited).toBeCalledTimes(1) + expect(res.body).toEqual({ message: "Invitation has been sent." }) + expect(sendMailMock).toHaveBeenCalled() + expect(code).toBeDefined() + expect(events.user.invited).toBeCalledTimes(1) + }) + + it("should be able to create new user from invite", async () => { + const { code } = await sendUserInvite() + + const res = await request + .post(`/api/global/users/invite/accept`) + .send({ + password: "newpassword", + inviteCode: code, + }) + .expect("Content-Type", /json/) + .expect(200) + expect(res.body._id).toBeDefined() + const user = await config.getUser("invite@test.com") + expect(user).toBeDefined() + expect(user._id).toEqual(res.body._id) + expect(events.user.inviteAccepted).toBeCalledTimes(1) + expect(events.user.inviteAccepted).toBeCalledWith(user) + }) }) - it("should be able to create new user from invite", async () => { - const { code } = await sendUserInvite() - + const bulkCreateUsers = async (users: User[], groups: any[] = []) => { + const body: BulkCreateUsersRequest = { users, groups } const res = await request - .post(`/api/global/users/invite/accept`) - .send({ - password: "newpassword", - inviteCode: code, - }) + .post(`/api/global/users/bulkCreate`) + .send(body) + .set(config.defaultHeaders()) .expect("Content-Type", /json/) .expect(200) - expect(res.body._id).toBeDefined() - const user = await config.getUser("invite@test.com") - expect(user).toBeDefined() - expect(user._id).toEqual(res.body._id) - expect(events.user.inviteAccepted).toBeCalledTimes(1) - expect(events.user.inviteAccepted).toBeCalledWith(user) + return res.body + } + + describe("bulkCreate", () => { + + it("should ignore users existing in the same tenant", async () => { + await bulkCreateUsers(toCreate) + }) + + it("should ignore users existing in other tenants", async () => { + await bulkCreateUsers(toCreate) + }) + + it("should ignore accounts using the same email", async () => { + await bulkCreateUsers(toCreate) + }) + + it("should be able to bulkCreate users with different permissions", async () => { + const builder = structures.users.builderUser({ email: "bulkbasic@test.com" }) + const admin = structures.users.adminUser({ email: "bulkadmin@test.com" }) + const user = structures.users.user({ email: "bulkuser@test.com" }) + + await bulkCreateUsers([builder, admin, user]) + + expect(events.user.created).toBeCalledTimes(3) + expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) + }) }) - const createUser = async (user) => { + const createUser = async (user: User) => { const existing = await config.getUser(user.email) if (existing) { await deleteUser(existing._id) @@ -67,13 +113,13 @@ describe("/api/global/users", () => { return saveUser(user) } - const updateUser = async (user) => { + const updateUser = async (user: User) => { const existing = await config.getUser(user.email) user._id = existing._id return saveUser(user) } - const saveUser = async (user) => { + const saveUser = async (user: User) => { const res = await request .post(`/api/global/users`) .send(user) @@ -83,30 +129,20 @@ describe("/api/global/users", () => { return res.body } - - const bulkCreateUsers = async (users) => { - const res = await request - .post(`/api/global/users/bulkCreate`) - .send(users) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res.body - } - - const bulkDeleteUsers = async (users) => { + const bulkDeleteUsers = async (users: User[]) => { + const body: BulkDeleteUsersRequest = { + userIds: users.map(u => u._id!) + } const res = await request .post(`/api/global/users/bulkDelete`) - .send(users) + .send(body) .set(config.defaultHeaders()) .expect("Content-Type", /json/) .expect(200) return res.body } - - - const deleteUser = async (email) => { + const deleteUser = async (email: string) => { const user = await config.getUser(email) if (user) { await request @@ -119,7 +155,6 @@ describe("/api/global/users", () => { describe("create", () => { it("should be able to create a basic user", async () => { - jest.clearAllMocks() const user = structures.users.user({ email: "basic@test.com" }) await createUser(user) @@ -129,23 +164,8 @@ describe("/api/global/users", () => { expect(events.user.permissionAdminAssigned).not.toBeCalled() }) - it("should be able to bulkCreate users with different permissions", async () => { - jest.clearAllMocks() - const builder = structures.users.builderUser({ email: "bulkbasic@test.com" }) - const admin = structures.users.adminUser({ email: "bulkadmin@test.com" }) - const user = structures.users.user({ email: "bulkuser@test.com" }) - - let toCreate = { users: [builder, admin, user], groups: [] } - await bulkCreateUsers(toCreate) - - expect(events.user.created).toBeCalledTimes(3) - expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) - }) - it("should be able to create an admin user", async () => { - jest.clearAllMocks() const user = structures.users.adminUser({ email: "admin@test.com" }) await createUser(user) @@ -156,7 +176,6 @@ describe("/api/global/users", () => { }) it("should be able to create a builder user", async () => { - jest.clearAllMocks() const user = structures.users.builderUser({ email: "builder@test.com" }) await createUser(user) @@ -167,7 +186,6 @@ describe("/api/global/users", () => { }) it("should be able to assign app roles", async () => { - jest.clearAllMocks() const user = structures.users.user({ email: "assign-roles@test.com" }) user.roles = { "app_123": "role1", @@ -230,7 +248,7 @@ describe("/api/global/users", () => { }) it("should be able to update a basic user to a builder user", async () => { - let user = structures.users.user({ email: "basic-update-builder@test.com" }) + const user = structures.users.user({ email: "basic-update-builder@test.com" }) await createUser(user) jest.clearAllMocks() @@ -243,7 +261,7 @@ describe("/api/global/users", () => { }) it("should be able to update an admin user to a basic user", async () => { - let user = structures.users.adminUser({ email: "admin-update-basic@test.com" }) + const user = structures.users.adminUser({ email: "admin-update-basic@test.com" }) await createUser(user) jest.clearAllMocks() @@ -257,7 +275,7 @@ describe("/api/global/users", () => { }) it("should be able to update an builder user to a basic user", async () => { - let user = structures.users.builderUser({ email: "builder-update-basic@test.com" }) + const user = structures.users.builderUser({ email: "builder-update-basic@test.com" }) await createUser(user) jest.clearAllMocks() @@ -334,6 +352,29 @@ describe("/api/global/users", () => { }) }) + describe("bulkDelete", () => { + + it("should not be able to bulkDelete account admin as admin", async () => { + + }) + + it("should not be able to bulkDelete account owner as account owner", async () => { + + }) + + it("should be able to bulk delete users with different permissions", async () => { + const builder = structures.users.builderUser({ email: "basic@test.com" }) + const admin = structures.users.adminUser({ email: "admin@test.com" }) + const user = structures.users.user({ email: "user@test.com" }) + + const createdUsers = await bulkCreateUsers([builder, admin, user]) + await bulkDeleteUsers(createdUsers) + expect(events.user.deleted).toBeCalledTimes(3) + expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + }) + }) + describe("destroy", () => { it("should be able to destroy a basic user", async () => { let user = structures.users.user({ email: "destroy@test.com" }) @@ -371,18 +412,11 @@ describe("/api/global/users", () => { expect(events.user.permissionAdminRemoved).not.toBeCalled() }) - it("should be able to bulk delete users with different permissions", async () => { - jest.clearAllMocks() - const builder = structures.users.builderUser({ email: "basic@test.com" }) - const admin = structures.users.adminUser({ email: "admin@test.com" }) - const user = structures.users.user({ email: "user@test.com" }) + it("should not be able to destroy account admin as admin", async () => { - let toCreate = { users: [builder, admin, user], groups: [] } - let createdUsers = await bulkCreateUsers(toCreate) - await bulkDeleteUsers({ userIds: [createdUsers[0]._id, createdUsers[1]._id, createdUsers[2]._id] }) - expect(events.user.deleted).toBeCalledTimes(3) - expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + }) + + it("should not be able to destroy account owner as account owner", async () => { }) diff --git a/packages/worker/src/sdk/users/users.ts b/packages/worker/src/sdk/users/users.ts index 58c2decabf..cc55c0b70b 100644 --- a/packages/worker/src/sdk/users/users.ts +++ b/packages/worker/src/sdk/users/users.ts @@ -14,8 +14,10 @@ import { HTTPError, accounts, migrations, + StaticDatabases, + ViewName } from "@budibase/backend-core" -import { MigrationType, User } from "@budibase/types" +import { MigrationType, PlatformUserByEmail, User, Account } from "@budibase/types" import { groups as groupUtils } from "@budibase/pro" const PAGE_LIMIT = 8 @@ -247,6 +249,54 @@ export const addTenant = async ( } } +const getExistingTenantUsers = async (emails: string[]): Promise => { + return dbUtils.queryGlobalView(ViewName.USER_BY_EMAIL, { + keys: emails, + include_docs: true, + arrayResponse: true + }) +} + +const getExistingPlatformUsers = async (emails: string[]): Promise => { + return dbUtils.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (infoDb: any) => { + const response = await infoDb.allDocs({ + keys: emails, + include_docs: true, + }) + return response.rows.map((row: any) => row.doc) + }) +} + +const getExistingAccounts = async (emails: string[]): Promise => { + return dbUtils.queryPlatformView(ViewName.ACCOUNT_BY_EMAIL, { + keys: emails, + include_docs: true, + arrayResponse: true + }) +} + +/** + * Apply a system-wide search on emails: + * - in tenant + * - cross tenant + * - accounts + * return an array of emails that match the supplied emails. + */ +const searchExistingEmails = async (emails: string[]) => { + let matchedEmails: string[] = [] + + const existingTenantUsers = await getExistingTenantUsers(emails) + matchedEmails.push(...existingTenantUsers.map((user: User) => user.email)) + + const existingPlatformUsers = await getExistingPlatformUsers(emails) + matchedEmails.push(...existingPlatformUsers.map((user: PlatformUserByEmail) => user._id!)) + + const existingAccounts = await getExistingAccounts(emails) + matchedEmails.push(...existingAccounts.map((account: Account) => account.email)) + + return matchedEmails +} + export const bulkCreate = async ( newUsersRequested: User[], groups: string[] @@ -257,19 +307,16 @@ export const bulkCreate = async ( let usersToSave: any[] = [] let newUsers: any[] = [] - const allUsers = await db.allDocs( - dbUtils.getGlobalUserParams(null, { - include_docs: true, - }) - ) - let mapped = allUsers.rows.map((row: any) => row.id) + const emails = newUsersRequested.map((user: User) => user.email) + const existingEmails = await searchExistingEmails(emails) + const unsuccessful: { email: string, reason: string }[] = [] - const currentUserEmails = mapped.map((x: any) => x.email) || [] for (const newUser of newUsersRequested) { if ( newUsers.find((x: any) => x.email === newUser.email) || - currentUserEmails.includes(newUser.email) + existingEmails.includes(newUser.email) ) { + unsuccessful.push({ email: newUser.email, reason: `Email address ${newUser.email} already in use.` }) continue } newUser.userGroups = groups @@ -307,12 +354,17 @@ export const bulkCreate = async ( await apps.syncUserInApps(user._id) } - return usersToBulkSave.map(user => { + const saved = usersToBulkSave.map(user => { return { _id: user._id, email: user.email, } }) + + return { + successful: saved, + unsuccessful + } } export const bulkDelete = async (userIds: any) => { diff --git a/packages/worker/src/tests/index.js b/packages/worker/src/tests/index.js deleted file mode 100644 index 9aa88dc444..0000000000 --- a/packages/worker/src/tests/index.js +++ /dev/null @@ -1,12 +0,0 @@ -const TestConfiguration = require("./TestConfiguration") -const structures = require("./structures") -const mocks = require("./mocks") -const config = new TestConfiguration() -const request = config.getRequest() - -module.exports = { - structures, - mocks, - config, - request, -} diff --git a/packages/worker/src/tests/index.ts b/packages/worker/src/tests/index.ts new file mode 100644 index 0000000000..de4c1b7bcd --- /dev/null +++ b/packages/worker/src/tests/index.ts @@ -0,0 +1,15 @@ +import TestConfiguration from "./TestConfiguration" +import structures from "./structures" +import mocks from "./mocks" + +const config = new TestConfiguration() +const request = config.getRequest() + +const pkg = { + structures, + mocks, + config, + request, +} + +export = pkg diff --git a/packages/worker/src/tests/structures/index.js b/packages/worker/src/tests/structures/index.ts similarity index 54% rename from packages/worker/src/tests/structures/index.js rename to packages/worker/src/tests/structures/index.ts index 3212ae606d..61e683f621 100644 --- a/packages/worker/src/tests/structures/index.js +++ b/packages/worker/src/tests/structures/index.ts @@ -1,11 +1,11 @@ -const configs = require("./configs") -const users = require("./users") -const groups = require("./groups") +import configs from "./configs" +import * as users from "./users" +import * as groups from "./groups" const TENANT_ID = "default" const CSRF_TOKEN = "e3727778-7af0-4226-b5eb-f43cbe60a306" -module.exports = { +export = { configs, users, TENANT_ID, diff --git a/packages/worker/src/tests/structures/users.ts b/packages/worker/src/tests/structures/users.ts index dce771aaa7..21aa86663c 100644 --- a/packages/worker/src/tests/structures/users.ts +++ b/packages/worker/src/tests/structures/users.ts @@ -1,6 +1,7 @@ export const email = "test@test.com" +import { AdminUser, BuilderUser, User } from "@budibase/types" -export const user = (userProps: any) => { +export const user = (userProps: any): User => { return { email: "test@test.com", password: "test", @@ -9,16 +10,19 @@ export const user = (userProps: any) => { } } -export const adminUser = (userProps: any) => { +export const adminUser = (userProps: any): AdminUser => { return { ...user(userProps), admin: { global: true, }, + builder: { + global: true + } } } -export const builderUser = (userProps: any) => { +export const builderUser = (userProps: any): BuilderUser => { return { ...user(userProps), builder: { From d2d457d99d5177c5c51347e29a05094de88c6604 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 10:38:35 +0000 Subject: [PATCH 027/105] v1.2.48 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 88627b68e4..a6836b0e6e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.47", + "version": "1.2.48", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index d999483139..54af2d7d6f 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.47", + "version": "1.2.48", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.47", + "@budibase/types": "^1.2.48", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 072dd0784a..0889954988 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": "1.2.47", + "version": "1.2.48", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.47", + "@budibase/string-templates": "^1.2.48", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 2d5166c978..58270ccb84 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.47", + "version": "1.2.48", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.47", - "@budibase/client": "^1.2.47", - "@budibase/frontend-core": "^1.2.47", - "@budibase/string-templates": "^1.2.47", + "@budibase/bbui": "^1.2.48", + "@budibase/client": "^1.2.48", + "@budibase/frontend-core": "^1.2.48", + "@budibase/string-templates": "^1.2.48", "@sentry/browser": "5.19.1", "@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 22fac6dbf7..2133352b7c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.47", + "version": "1.2.48", "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 352a250956..78e0247ecb 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.47", + "version": "1.2.48", "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": "^1.2.47", - "@budibase/frontend-core": "^1.2.47", - "@budibase/string-templates": "^1.2.47", + "@budibase/bbui": "^1.2.48", + "@budibase/frontend-core": "^1.2.48", + "@budibase/string-templates": "^1.2.48", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 2a5e2c970b..dfc9d95a1d 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.47", + "version": "1.2.48", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.47", + "@budibase/bbui": "^1.2.48", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 8cc7eca3bc..a47563c818 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.47", + "version": "1.2.48", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.47", - "@budibase/client": "^1.2.47", + "@budibase/backend-core": "^1.2.48", + "@budibase/client": "^1.2.48", "@budibase/pro": "1.2.47", - "@budibase/string-templates": "^1.2.47", - "@budibase/types": "^1.2.47", + "@budibase/string-templates": "^1.2.48", + "@budibase/types": "^1.2.48", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 055ca8ee3c..f474f8a8f8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.47", + "version": "1.2.48", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 733287df92..421f675a44 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.47", + "version": "1.2.48", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 60885179ac..78ef5efcd6 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.47", + "version": "1.2.48", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.47", + "@budibase/backend-core": "^1.2.48", "@budibase/pro": "1.2.47", - "@budibase/string-templates": "^1.2.47", - "@budibase/types": "^1.2.47", + "@budibase/string-templates": "^1.2.48", + "@budibase/types": "^1.2.48", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 859ec20e482a808def440de613f6b7163a43d67a Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 10:41:35 +0000 Subject: [PATCH 028/105] Update pro version to 1.2.48 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index a47563c818..67852fad8b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.48", "@budibase/client": "^1.2.48", - "@budibase/pro": "1.2.47", + "@budibase/pro": "1.2.48", "@budibase/string-templates": "^1.2.48", "@budibase/types": "^1.2.48", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 6f65ef63bb..41ea713df9 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.47.tgz#d75e03d23342b0d53bb9b2005b60a07e98c9e89b" - integrity sha512-3ix9APbyYWyzPd5e8RpZ2+GQeCW9jMInTONx9C5i2HOIkggmuduBOUx00RqufQmEeQk2yYN0ih54/LF0fOGleg== +"@budibase/backend-core@1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.48.tgz#a9af32f6be350a1f66df70fa334e5970328337f7" + integrity sha512-sD0ut/gdzSGSFHFIzPHSPr5jcdg5cCOiNUjeVSZyTEms5QE9Nu1+dtAEh7XtVXfwPlEs5VCJKNSG6rk1tJ51sQ== dependencies: - "@budibase/types" "^1.2.47" + "@budibase/types" "^1.2.48" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.47.tgz#1e09b35765bce8d2933f5665cd92ffed64efdccd" - integrity sha512-bW4ntmHphySX+xRvtHEYUu1HOQiEvsl22MFq1u+rUJJ816WSnc2lRWOEX6nQ8wVCmKxLUva2WrrpU3R+zkVfEg== +"@budibase/pro@1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.48.tgz#876b2a4d5d6de07b2a8e45793d1fa92eeec42132" + integrity sha512-r9IbgcHRtMd6ViP/2jRvgFzgs2vNKvVAFwfFz3ggR4H9B2vPKkPlUl3Lskt3BFlqL8zrzWaNvzwXCQslKsYjaQ== dependencies: - "@budibase/backend-core" "1.2.47" - "@budibase/types" "1.2.47" + "@budibase/backend-core" "1.2.48" + "@budibase/types" "1.2.48" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.47", "@budibase/types@^1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.47.tgz#c1a23864b2b806d63f74e6af528bba3d7a9665c7" - integrity sha512-QtI+rDmHI/CimYntivj88oMQ37oe9dGmhi8pjXlehSYfaqm2rmOzwMdqm/yULYJYA8qsEfvMqnSDYg3IQrspwQ== +"@budibase/types@1.2.48", "@budibase/types@^1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.48.tgz#c69639100c5768dbcc2baa7963132204c57d2a35" + integrity sha512-l1AhqHwT7Zq3xKWRS56O0GFmtCrvWaP1x024wEHpYjYjQcoBpZlTWRp4qwAxMpUPE08X3eey1uzPI19KzM3U4g== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 78ef5efcd6..b9c861b695 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.48", - "@budibase/pro": "1.2.47", + "@budibase/pro": "1.2.48", "@budibase/string-templates": "^1.2.48", "@budibase/types": "^1.2.48", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index ada95a1087..cf1979ce63 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.47.tgz#d75e03d23342b0d53bb9b2005b60a07e98c9e89b" - integrity sha512-3ix9APbyYWyzPd5e8RpZ2+GQeCW9jMInTONx9C5i2HOIkggmuduBOUx00RqufQmEeQk2yYN0ih54/LF0fOGleg== +"@budibase/backend-core@1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.48.tgz#a9af32f6be350a1f66df70fa334e5970328337f7" + integrity sha512-sD0ut/gdzSGSFHFIzPHSPr5jcdg5cCOiNUjeVSZyTEms5QE9Nu1+dtAEh7XtVXfwPlEs5VCJKNSG6rk1tJ51sQ== dependencies: - "@budibase/types" "^1.2.47" + "@budibase/types" "^1.2.48" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.47.tgz#1e09b35765bce8d2933f5665cd92ffed64efdccd" - integrity sha512-bW4ntmHphySX+xRvtHEYUu1HOQiEvsl22MFq1u+rUJJ816WSnc2lRWOEX6nQ8wVCmKxLUva2WrrpU3R+zkVfEg== +"@budibase/pro@1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.48.tgz#876b2a4d5d6de07b2a8e45793d1fa92eeec42132" + integrity sha512-r9IbgcHRtMd6ViP/2jRvgFzgs2vNKvVAFwfFz3ggR4H9B2vPKkPlUl3Lskt3BFlqL8zrzWaNvzwXCQslKsYjaQ== dependencies: - "@budibase/backend-core" "1.2.47" - "@budibase/types" "1.2.47" + "@budibase/backend-core" "1.2.48" + "@budibase/types" "1.2.48" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.47", "@budibase/types@^1.2.47": - version "1.2.47" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.47.tgz#c1a23864b2b806d63f74e6af528bba3d7a9665c7" - integrity sha512-QtI+rDmHI/CimYntivj88oMQ37oe9dGmhi8pjXlehSYfaqm2rmOzwMdqm/yULYJYA8qsEfvMqnSDYg3IQrspwQ== +"@budibase/types@1.2.48", "@budibase/types@^1.2.48": + version "1.2.48" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.48.tgz#c69639100c5768dbcc2baa7963132204c57d2a35" + integrity sha512-l1AhqHwT7Zq3xKWRS56O0GFmtCrvWaP1x024wEHpYjYjQcoBpZlTWRp4qwAxMpUPE08X3eey1uzPI19KzM3U4g== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From cbc4a65749c262c62920a49f280cd5cdd0216f50 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 23 Aug 2022 11:41:58 +0100 Subject: [PATCH 029/105] Disable recursive row update on cloud automations --- packages/server/src/api/controllers/row/index.ts | 3 ++- packages/server/src/automations/steps/updateRow.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/row/index.ts b/packages/server/src/api/controllers/row/index.ts index 27810008d3..360b479ea3 100644 --- a/packages/server/src/api/controllers/row/index.ts +++ b/packages/server/src/api/controllers/row/index.ts @@ -35,8 +35,9 @@ export async function patch(ctx: any): Promise { pickApi(tableId).patch(ctx) ) ctx.status = 200 - ctx.eventEmitter && + if (!ctx.disableEmit && ctx.eventEmitter) { ctx.eventEmitter.emitRow(`row:update`, appId, row, table) + } ctx.message = `${table.name} updated successfully.` ctx.body = row } catch (err) { diff --git a/packages/server/src/automations/steps/updateRow.js b/packages/server/src/automations/steps/updateRow.js index f66fcf9432..c287d897e9 100644 --- a/packages/server/src/automations/steps/updateRow.js +++ b/packages/server/src/automations/steps/updateRow.js @@ -1,6 +1,7 @@ const rowController = require("../../api/controllers/row") const automationUtils = require("../automationUtils") const { buildCtx } = require("./utils") +const env = require("../../environment") exports.definition = { name: "Update Row", @@ -83,6 +84,7 @@ exports.run = async function ({ inputs, appId, emitter }) { rowId: inputs.rowId, tableId: tableId, }, + disableEmit: !env.SELF_HOSTED, }) try { From 279e3878011f8c1fdb7c1502bc7f19a9efd4bd90 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 11:08:17 +0000 Subject: [PATCH 030/105] v1.2.49 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index a6836b0e6e..a9fd87e9e4 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.48", + "version": "1.2.49", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 54af2d7d6f..36a3b5aa9c 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.48", + "version": "1.2.49", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.48", + "@budibase/types": "^1.2.49", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 0889954988..0943c7037b 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": "1.2.48", + "version": "1.2.49", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.48", + "@budibase/string-templates": "^1.2.49", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 58270ccb84..196528d0b3 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.48", + "version": "1.2.49", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.48", - "@budibase/client": "^1.2.48", - "@budibase/frontend-core": "^1.2.48", - "@budibase/string-templates": "^1.2.48", + "@budibase/bbui": "^1.2.49", + "@budibase/client": "^1.2.49", + "@budibase/frontend-core": "^1.2.49", + "@budibase/string-templates": "^1.2.49", "@sentry/browser": "5.19.1", "@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 2133352b7c..ca0849897c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.48", + "version": "1.2.49", "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 78e0247ecb..1cb433c384 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.48", + "version": "1.2.49", "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": "^1.2.48", - "@budibase/frontend-core": "^1.2.48", - "@budibase/string-templates": "^1.2.48", + "@budibase/bbui": "^1.2.49", + "@budibase/frontend-core": "^1.2.49", + "@budibase/string-templates": "^1.2.49", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index dfc9d95a1d..d951039727 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.48", + "version": "1.2.49", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.48", + "@budibase/bbui": "^1.2.49", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 67852fad8b..9ded190681 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.48", + "version": "1.2.49", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.48", - "@budibase/client": "^1.2.48", + "@budibase/backend-core": "^1.2.49", + "@budibase/client": "^1.2.49", "@budibase/pro": "1.2.48", - "@budibase/string-templates": "^1.2.48", - "@budibase/types": "^1.2.48", + "@budibase/string-templates": "^1.2.49", + "@budibase/types": "^1.2.49", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index f474f8a8f8..151b72b7a8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.48", + "version": "1.2.49", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 421f675a44..2b1840126a 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.48", + "version": "1.2.49", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index b9c861b695..af911fe233 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.48", + "version": "1.2.49", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.48", + "@budibase/backend-core": "^1.2.49", "@budibase/pro": "1.2.48", - "@budibase/string-templates": "^1.2.48", - "@budibase/types": "^1.2.48", + "@budibase/string-templates": "^1.2.49", + "@budibase/types": "^1.2.49", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 7ba8bf18a5d8d4ec63b48e2483e5f4064a30f327 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 11:11:20 +0000 Subject: [PATCH 031/105] Update pro version to 1.2.49 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 9ded190681..3f6ecad7e1 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.49", "@budibase/client": "^1.2.49", - "@budibase/pro": "1.2.48", + "@budibase/pro": "1.2.49", "@budibase/string-templates": "^1.2.49", "@budibase/types": "^1.2.49", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 41ea713df9..fa06fdc464 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.48.tgz#a9af32f6be350a1f66df70fa334e5970328337f7" - integrity sha512-sD0ut/gdzSGSFHFIzPHSPr5jcdg5cCOiNUjeVSZyTEms5QE9Nu1+dtAEh7XtVXfwPlEs5VCJKNSG6rk1tJ51sQ== +"@budibase/backend-core@1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.49.tgz#d730bc4b779e17052d1fe0d372f3692da2f7db53" + integrity sha512-h9g3AhnXCm4oHt7Y+bWnX2DkyKZvbS42Biw1Cei4tAlNpzQmZjqiibNKKi7UaxufMig8+3WhSawrWFBDKqWMSA== dependencies: - "@budibase/types" "^1.2.48" + "@budibase/types" "^1.2.49" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.48.tgz#876b2a4d5d6de07b2a8e45793d1fa92eeec42132" - integrity sha512-r9IbgcHRtMd6ViP/2jRvgFzgs2vNKvVAFwfFz3ggR4H9B2vPKkPlUl3Lskt3BFlqL8zrzWaNvzwXCQslKsYjaQ== +"@budibase/pro@1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.49.tgz#8a02ca935635a207c17232ab59bba4329e116460" + integrity sha512-Mjb4O+tFVEQNQjQZLODctZA5lTs14BZrivB6ufDDrR0iQ/NPG2OekPblML9W7uCc8pBCMUvJ1FI22/8jgRNt6Q== dependencies: - "@budibase/backend-core" "1.2.48" - "@budibase/types" "1.2.48" + "@budibase/backend-core" "1.2.49" + "@budibase/types" "1.2.49" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.48", "@budibase/types@^1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.48.tgz#c69639100c5768dbcc2baa7963132204c57d2a35" - integrity sha512-l1AhqHwT7Zq3xKWRS56O0GFmtCrvWaP1x024wEHpYjYjQcoBpZlTWRp4qwAxMpUPE08X3eey1uzPI19KzM3U4g== +"@budibase/types@1.2.49", "@budibase/types@^1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.49.tgz#2a3993f2e0e5be4d5536fdf459bd31f3a9d4ec4c" + integrity sha512-+VnGVqkQmTcFxpDpdIc2q9+XNetou0d1CEhGJ26gHW+vk5SAT2Ibs8bFOp9jKY2u4VcF95u9LqJJ+X2U7vqhEg== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index af911fe233..58cd4cfa88 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.49", - "@budibase/pro": "1.2.48", + "@budibase/pro": "1.2.49", "@budibase/string-templates": "^1.2.49", "@budibase/types": "^1.2.49", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index cf1979ce63..7596beb112 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.48.tgz#a9af32f6be350a1f66df70fa334e5970328337f7" - integrity sha512-sD0ut/gdzSGSFHFIzPHSPr5jcdg5cCOiNUjeVSZyTEms5QE9Nu1+dtAEh7XtVXfwPlEs5VCJKNSG6rk1tJ51sQ== +"@budibase/backend-core@1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.49.tgz#d730bc4b779e17052d1fe0d372f3692da2f7db53" + integrity sha512-h9g3AhnXCm4oHt7Y+bWnX2DkyKZvbS42Biw1Cei4tAlNpzQmZjqiibNKKi7UaxufMig8+3WhSawrWFBDKqWMSA== dependencies: - "@budibase/types" "^1.2.48" + "@budibase/types" "^1.2.49" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.48.tgz#876b2a4d5d6de07b2a8e45793d1fa92eeec42132" - integrity sha512-r9IbgcHRtMd6ViP/2jRvgFzgs2vNKvVAFwfFz3ggR4H9B2vPKkPlUl3Lskt3BFlqL8zrzWaNvzwXCQslKsYjaQ== +"@budibase/pro@1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.49.tgz#8a02ca935635a207c17232ab59bba4329e116460" + integrity sha512-Mjb4O+tFVEQNQjQZLODctZA5lTs14BZrivB6ufDDrR0iQ/NPG2OekPblML9W7uCc8pBCMUvJ1FI22/8jgRNt6Q== dependencies: - "@budibase/backend-core" "1.2.48" - "@budibase/types" "1.2.48" + "@budibase/backend-core" "1.2.49" + "@budibase/types" "1.2.49" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.48", "@budibase/types@^1.2.48": - version "1.2.48" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.48.tgz#c69639100c5768dbcc2baa7963132204c57d2a35" - integrity sha512-l1AhqHwT7Zq3xKWRS56O0GFmtCrvWaP1x024wEHpYjYjQcoBpZlTWRp4qwAxMpUPE08X3eey1uzPI19KzM3U4g== +"@budibase/types@1.2.49", "@budibase/types@^1.2.49": + version "1.2.49" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.49.tgz#2a3993f2e0e5be4d5536fdf459bd31f3a9d4ec4c" + integrity sha512-+VnGVqkQmTcFxpDpdIc2q9+XNetou0d1CEhGJ26gHW+vk5SAT2Ibs8bFOp9jKY2u4VcF95u9LqJJ+X2U7vqhEg== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From c104a151226094984e43cd4bfdfe90dfc4c9c7a7 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 23 Aug 2022 12:35:53 +0100 Subject: [PATCH 032/105] Disable automation chaining in cloud --- packages/server/src/api/controllers/row/index.ts | 3 +-- packages/server/src/automations/steps/updateRow.js | 2 -- packages/server/src/events/AutomationEmitter.js | 4 +++- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/server/src/api/controllers/row/index.ts b/packages/server/src/api/controllers/row/index.ts index 360b479ea3..27810008d3 100644 --- a/packages/server/src/api/controllers/row/index.ts +++ b/packages/server/src/api/controllers/row/index.ts @@ -35,9 +35,8 @@ export async function patch(ctx: any): Promise { pickApi(tableId).patch(ctx) ) ctx.status = 200 - if (!ctx.disableEmit && ctx.eventEmitter) { + ctx.eventEmitter && ctx.eventEmitter.emitRow(`row:update`, appId, row, table) - } ctx.message = `${table.name} updated successfully.` ctx.body = row } catch (err) { diff --git a/packages/server/src/automations/steps/updateRow.js b/packages/server/src/automations/steps/updateRow.js index c287d897e9..f66fcf9432 100644 --- a/packages/server/src/automations/steps/updateRow.js +++ b/packages/server/src/automations/steps/updateRow.js @@ -1,7 +1,6 @@ const rowController = require("../../api/controllers/row") const automationUtils = require("../automationUtils") const { buildCtx } = require("./utils") -const env = require("../../environment") exports.definition = { name: "Update Row", @@ -84,7 +83,6 @@ exports.run = async function ({ inputs, appId, emitter }) { rowId: inputs.rowId, tableId: tableId, }, - disableEmit: !env.SELF_HOSTED, }) try { diff --git a/packages/server/src/events/AutomationEmitter.js b/packages/server/src/events/AutomationEmitter.js index fbfc445e2c..99345228ff 100644 --- a/packages/server/src/events/AutomationEmitter.js +++ b/packages/server/src/events/AutomationEmitter.js @@ -1,8 +1,10 @@ const { rowEmission, tableEmission } = require("./utils") const mainEmitter = require("./index") +const env = require("../environment") // max number of automations that can chain on top of each other -const MAX_AUTOMATION_CHAIN = 5 +// TODO: in future make this configurable at the automation level +const MAX_AUTOMATION_CHAIN = env.SELF_HOSTED ? 5 : 0 /** * Special emitter which takes the count of automation runs which have occurred and blocks an From 1c1be2647b36dd7578242a72ee348384364e1500 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 11:52:59 +0000 Subject: [PATCH 033/105] v1.2.50 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index a9fd87e9e4..4b19f429ca 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.49", + "version": "1.2.50", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 36a3b5aa9c..e390dc09d0 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.49", + "version": "1.2.50", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.49", + "@budibase/types": "^1.2.50", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 0943c7037b..696d9d59c0 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": "1.2.49", + "version": "1.2.50", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.49", + "@budibase/string-templates": "^1.2.50", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 196528d0b3..c1b4b83af4 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.49", + "version": "1.2.50", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.49", - "@budibase/client": "^1.2.49", - "@budibase/frontend-core": "^1.2.49", - "@budibase/string-templates": "^1.2.49", + "@budibase/bbui": "^1.2.50", + "@budibase/client": "^1.2.50", + "@budibase/frontend-core": "^1.2.50", + "@budibase/string-templates": "^1.2.50", "@sentry/browser": "5.19.1", "@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 ca0849897c..17fff1ba07 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.49", + "version": "1.2.50", "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 1cb433c384..d5dd69bc2c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.49", + "version": "1.2.50", "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": "^1.2.49", - "@budibase/frontend-core": "^1.2.49", - "@budibase/string-templates": "^1.2.49", + "@budibase/bbui": "^1.2.50", + "@budibase/frontend-core": "^1.2.50", + "@budibase/string-templates": "^1.2.50", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index d951039727..90a68eee06 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.49", + "version": "1.2.50", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.49", + "@budibase/bbui": "^1.2.50", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 3f6ecad7e1..150794569e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.49", + "version": "1.2.50", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.49", - "@budibase/client": "^1.2.49", + "@budibase/backend-core": "^1.2.50", + "@budibase/client": "^1.2.50", "@budibase/pro": "1.2.49", - "@budibase/string-templates": "^1.2.49", - "@budibase/types": "^1.2.49", + "@budibase/string-templates": "^1.2.50", + "@budibase/types": "^1.2.50", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 151b72b7a8..c2e63c8b48 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.49", + "version": "1.2.50", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 2b1840126a..ea7faebb84 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.49", + "version": "1.2.50", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 58cd4cfa88..4d59f574f7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.49", + "version": "1.2.50", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.49", + "@budibase/backend-core": "^1.2.50", "@budibase/pro": "1.2.49", - "@budibase/string-templates": "^1.2.49", - "@budibase/types": "^1.2.49", + "@budibase/string-templates": "^1.2.50", + "@budibase/types": "^1.2.50", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 73ca9334ff4b1c32691dcb1bfe94b0f92301fe71 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 23 Aug 2022 11:56:05 +0000 Subject: [PATCH 034/105] Update pro version to 1.2.50 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 150794569e..d472e05bbf 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.50", "@budibase/client": "^1.2.50", - "@budibase/pro": "1.2.49", + "@budibase/pro": "1.2.50", "@budibase/string-templates": "^1.2.50", "@budibase/types": "^1.2.50", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index fa06fdc464..a2b881bf6b 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.49.tgz#d730bc4b779e17052d1fe0d372f3692da2f7db53" - integrity sha512-h9g3AhnXCm4oHt7Y+bWnX2DkyKZvbS42Biw1Cei4tAlNpzQmZjqiibNKKi7UaxufMig8+3WhSawrWFBDKqWMSA== +"@budibase/backend-core@1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.50.tgz#42b28625c1718a6256634791c698396da916bc55" + integrity sha512-rMH+Mq6U8Y/FaxmG6TJ+BpJkeS/LOKjkZbRvrof3q5WVa6aZ3jpL0/mxwzzxlcsivPGk48dvDCWVjICDOJ0Eaw== dependencies: - "@budibase/types" "^1.2.49" + "@budibase/types" "^1.2.50" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.49.tgz#8a02ca935635a207c17232ab59bba4329e116460" - integrity sha512-Mjb4O+tFVEQNQjQZLODctZA5lTs14BZrivB6ufDDrR0iQ/NPG2OekPblML9W7uCc8pBCMUvJ1FI22/8jgRNt6Q== +"@budibase/pro@1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.50.tgz#a5306a6390f960e56efcdc982340dda7e903d066" + integrity sha512-G9BR/gUMhSTxGq+TV6V2j1ysiq6YGRL/+GBBikDwFUimLR22uOdI2ROf7CbiSfWcVB2LrAA7P4pWkiezHYtv7Q== dependencies: - "@budibase/backend-core" "1.2.49" - "@budibase/types" "1.2.49" + "@budibase/backend-core" "1.2.50" + "@budibase/types" "1.2.50" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.49", "@budibase/types@^1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.49.tgz#2a3993f2e0e5be4d5536fdf459bd31f3a9d4ec4c" - integrity sha512-+VnGVqkQmTcFxpDpdIc2q9+XNetou0d1CEhGJ26gHW+vk5SAT2Ibs8bFOp9jKY2u4VcF95u9LqJJ+X2U7vqhEg== +"@budibase/types@1.2.50", "@budibase/types@^1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.50.tgz#bb03f36a257d717f19bfa4e9328cf6aeedaf7d59" + integrity sha512-Rfq4nBMdHv2MP/J03nEpOPjSMiJSBdazrXHPNgwR+9JhQLKqnt+4klw1teQx8cqJF8ulv1GJb9EdDrW4ROsDtA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 4d59f574f7..6f6a8a9343 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.50", - "@budibase/pro": "1.2.49", + "@budibase/pro": "1.2.50", "@budibase/string-templates": "^1.2.50", "@budibase/types": "^1.2.50", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 7596beb112..1f56cb782e 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.49.tgz#d730bc4b779e17052d1fe0d372f3692da2f7db53" - integrity sha512-h9g3AhnXCm4oHt7Y+bWnX2DkyKZvbS42Biw1Cei4tAlNpzQmZjqiibNKKi7UaxufMig8+3WhSawrWFBDKqWMSA== +"@budibase/backend-core@1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.50.tgz#42b28625c1718a6256634791c698396da916bc55" + integrity sha512-rMH+Mq6U8Y/FaxmG6TJ+BpJkeS/LOKjkZbRvrof3q5WVa6aZ3jpL0/mxwzzxlcsivPGk48dvDCWVjICDOJ0Eaw== dependencies: - "@budibase/types" "^1.2.49" + "@budibase/types" "^1.2.50" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.49.tgz#8a02ca935635a207c17232ab59bba4329e116460" - integrity sha512-Mjb4O+tFVEQNQjQZLODctZA5lTs14BZrivB6ufDDrR0iQ/NPG2OekPblML9W7uCc8pBCMUvJ1FI22/8jgRNt6Q== +"@budibase/pro@1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.50.tgz#a5306a6390f960e56efcdc982340dda7e903d066" + integrity sha512-G9BR/gUMhSTxGq+TV6V2j1ysiq6YGRL/+GBBikDwFUimLR22uOdI2ROf7CbiSfWcVB2LrAA7P4pWkiezHYtv7Q== dependencies: - "@budibase/backend-core" "1.2.49" - "@budibase/types" "1.2.49" + "@budibase/backend-core" "1.2.50" + "@budibase/types" "1.2.50" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.49", "@budibase/types@^1.2.49": - version "1.2.49" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.49.tgz#2a3993f2e0e5be4d5536fdf459bd31f3a9d4ec4c" - integrity sha512-+VnGVqkQmTcFxpDpdIc2q9+XNetou0d1CEhGJ26gHW+vk5SAT2Ibs8bFOp9jKY2u4VcF95u9LqJJ+X2U7vqhEg== +"@budibase/types@1.2.50", "@budibase/types@^1.2.50": + version "1.2.50" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.50.tgz#bb03f36a257d717f19bfa4e9328cf6aeedaf7d59" + integrity sha512-Rfq4nBMdHv2MP/J03nEpOPjSMiJSBdazrXHPNgwR+9JhQLKqnt+4klw1teQx8cqJF8ulv1GJb9EdDrW4ROsDtA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From a6bf8084e7cbd7481e40960b9a4a2aac1a4f70e9 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 24 Aug 2022 21:35:24 +0100 Subject: [PATCH 035/105] Automatically migrate old apps server-side when importing or using templates --- .../src/builderStore/store/frontend.js | 30 ----- .../server/src/api/controllers/application.ts | 113 +++++++++++++++--- packages/server/src/app.ts | 2 +- packages/types/src/documents/app/app.ts | 16 ++- packages/types/src/documents/app/screen.ts | 2 +- packages/types/src/sdk/events/screen.ts | 4 +- 6 files changed, 114 insertions(+), 53 deletions(-) diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 58d803aa03..9ad24e2124 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -19,7 +19,6 @@ import { makeComponentUnique, } from "../componentUtils" import { Helpers } from "@budibase/bbui" -import { DefaultAppTheme, LAYOUT_NAMES } from "../../constants" import { Utils } from "@budibase/frontend-core" const INITIAL_FRONTEND_STATE = { @@ -124,35 +123,6 @@ export const getFrontendStore = () => { await integrations.init() await queries.init() await tables.init() - - // Add navigation settings to old apps - if (!application.navigation) { - const layout = layouts.find(x => x._id === LAYOUT_NAMES.MASTER.PRIVATE) - const customTheme = application.customTheme - let navigationSettings = { - navigation: "Top", - title: application.name, - navWidth: "Large", - navBackground: - customTheme?.navBackground || DefaultAppTheme.navBackground, - navTextColor: - customTheme?.navTextColor || DefaultAppTheme.navTextColor, - } - if (layout) { - navigationSettings.hideLogo = layout.props.hideLogo - navigationSettings.hideTitle = layout.props.hideTitle - navigationSettings.title = layout.props.title || application.name - navigationSettings.logoUrl = layout.props.logoUrl - navigationSettings.links = layout.props.links - navigationSettings.navigation = layout.props.navigation || "Top" - navigationSettings.sticky = layout.props.sticky - navigationSettings.navWidth = layout.props.width || "Large" - if (navigationSettings.navigation === "None") { - navigationSettings.navigation = "Top" - } - } - await store.actions.navigation.save(navigationSettings) - } }, theme: { save: async theme => { diff --git a/packages/server/src/api/controllers/application.ts b/packages/server/src/api/controllers/application.ts index ae4a60d78d..0636eded84 100644 --- a/packages/server/src/api/controllers/application.ts +++ b/packages/server/src/api/controllers/application.ts @@ -47,7 +47,14 @@ import { checkAppMetadata } from "../../automations/logging" import { getUniqueRows } from "../../utilities/usageQuota/rows" import { quotas } from "@budibase/pro" import { errors, events, migrations } from "@budibase/backend-core" -import { App, MigrationType } from "@budibase/types" +import { + App, + Layout, + Screen, + MigrationType, + AppNavigation, +} from "@budibase/types" +import { BASE_LAYOUT_PROP_IDS } from "../../constants/layouts" const URL_REGEX_SLASH = /\/|\\/g @@ -243,26 +250,19 @@ const performAppCreate = async (ctx: any) => { } const instance = await createInstance(instanceConfig) const appId = instance._id - const db = context.getAppDB() - let _rev - try { - // if template there will be an existing doc - const existing = await db.get(DocumentType.APP_METADATA) - _rev = existing._rev - } catch (err) { - // nothing to do - } - const newApplication: App = { + + // Create new app doc + let newApplication: App = { _id: DocumentType.APP_METADATA, - _rev, - appId: instance._id, + _rev: undefined, + appId, type: "app", version: packageJson.version, componentLibraries: ["@budibase/standard-components"], name: name, url: url, - template: ctx.request.body.template, + template: templateKey, instance: instance, tenantId: getTenantId(), updatedAt: new Date().toISOString(), @@ -285,6 +285,37 @@ const performAppCreate = async (ctx: any) => { buttonBorderRadius: "16px", }, } + + // If we used a template or imported an app there will be an existing doc. + // Fetch and migrate some metadata from the existing app. + try { + const existing: App = await db.get(DocumentType.APP_METADATA) + const keys: string[] = [ + "_rev", + "navigation", + "theme", + "customTheme", + "icon", + ] + keys.forEach((key: string) => { + // @ts-ignore + if (existing[key]) { + // @ts-ignore + newApplication[key] = existing[key] + } + }) + + // Migrate navigation settings and screens if required + if (existing && !existing.navigation) { + const navigation = await migrateAppNavigation() + if (navigation) { + newApplication.navigation = navigation + } + } + } catch (err) { + // Nothing to do + } + const response = await db.put(newApplication, { force: true }) newApplication._rev = response.rev @@ -567,3 +598,57 @@ const updateAppPackage = async (appPackage: any, appId: any) => { return newAppPackage }) } + +const migrateAppNavigation = async () => { + const db = context.getAppDB() + const existing: App = await db.get(DocumentType.APP_METADATA) + const layouts = await getLayouts() + const screens = await getScreens() + + // Migrate all screens, removing custom layouts + for (let screen of screens) { + if (!screen.layoutId) { + return + } + const layout = layouts.find( + (layout: Layout) => layout._id === screen.layoutId + ) + screen.layoutId = undefined + screen.showNavigation = layout?.props.navigation !== "None" + screen.width = layout?.props.width || "Large" + await db.put(screen) + } + + // Migrate layout navigation settings + const { name, customTheme } = existing + const layout = layouts?.find( + (layout: Layout) => layout._id === BASE_LAYOUT_PROP_IDS.PRIVATE + ) + if (layout) { + let navigationSettings: any = { + navigation: "Top", + title: name, + navWidth: "Large", + navBackground: + customTheme?.navBackground || "var(--spectrum-global-color-gray-50)", + navTextColor: + customTheme?.navTextColor || "var(--spectrum-global-color-gray-800)", + } + if (layout) { + navigationSettings.hideLogo = layout.props.hideLogo + navigationSettings.hideTitle = layout.props.hideTitle + navigationSettings.title = layout.props.title || name + navigationSettings.logoUrl = layout.props.logoUrl + navigationSettings.links = layout.props.links + navigationSettings.navigation = layout.props.navigation || "Top" + navigationSettings.sticky = layout.props.sticky + navigationSettings.navWidth = layout.props.width || "Large" + if (navigationSettings.navigation === "None") { + navigationSettings.navigation = "Top" + } + } + return navigationSettings + } else { + return null + } +} diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 62301d57ca..461495ff8c 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -98,7 +98,7 @@ module.exports = server.listen(env.PORT || 0, async () => { // not recommended in a clustered environment if (!env.HTTP_MIGRATIONS && !env.isTest()) { try { - await migrations.migrate() + // await migrations.migrate() } catch (e) { logAlert("Error performing migrations. Exiting.", e) shutdown() diff --git a/packages/types/src/documents/app/app.ts b/packages/types/src/documents/app/app.ts index 1def994697..55eebe389d 100644 --- a/packages/types/src/documents/app/app.ts +++ b/packages/types/src/documents/app/app.ts @@ -14,11 +14,7 @@ export interface App extends Document { tenantId: string status: string theme?: string - customTheme?: { - buttonBorderRadius?: string - primaryColor?: string - primaryColorHover?: string - } + customTheme?: AppCustomTheme revertableVersion?: string navigation?: AppNavigation automationErrors?: AppMetadataErrors @@ -47,3 +43,13 @@ export interface AppNavigationLink { id?: string roleId?: string } + +export interface AppCustomTheme { + buttonBorderRadius?: string + primaryColor?: string + primaryColorHover?: string + + // Used to exist before new design UI + navTextColor?: string + navBackground?: string +} diff --git a/packages/types/src/documents/app/screen.ts b/packages/types/src/documents/app/screen.ts index 1eead16aa0..98db658aa6 100644 --- a/packages/types/src/documents/app/screen.ts +++ b/packages/types/src/documents/app/screen.ts @@ -1,7 +1,7 @@ import { Document } from "../document" export interface Screen extends Document { - layoutId: string + layoutId?: string showNavigation?: boolean width?: string routing: { diff --git a/packages/types/src/sdk/events/screen.ts b/packages/types/src/sdk/events/screen.ts index 0d9f8cb32c..23c468b7ad 100644 --- a/packages/types/src/sdk/events/screen.ts +++ b/packages/types/src/sdk/events/screen.ts @@ -2,12 +2,12 @@ import { BaseEvent } from "./event" export interface ScreenCreatedEvent extends BaseEvent { screenId: string - layoutId: string + layoutId?: string roleId: string } export interface ScreenDeletedEvent extends BaseEvent { screenId: string - layoutId: string + layoutId?: string roleId: string } From 44a191d00d3cd24f3acd5ed780a5168b40b1cbfc Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 25 Aug 2022 08:10:11 +0100 Subject: [PATCH 036/105] Update types --- .../server/src/api/controllers/application.ts | 16 ++++++---------- packages/types/src/documents/app/app.ts | 6 ++++++ packages/types/src/documents/app/layout.ts | 4 +++- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/server/src/api/controllers/application.ts b/packages/server/src/api/controllers/application.ts index 0636eded84..926fe0ec52 100644 --- a/packages/server/src/api/controllers/application.ts +++ b/packages/server/src/api/controllers/application.ts @@ -252,7 +252,6 @@ const performAppCreate = async (ctx: any) => { const appId = instance._id const db = context.getAppDB() - // Create new app doc let newApplication: App = { _id: DocumentType.APP_METADATA, _rev: undefined, @@ -263,7 +262,7 @@ const performAppCreate = async (ctx: any) => { name: name, url: url, template: templateKey, - instance: instance, + instance, tenantId: getTenantId(), updatedAt: new Date().toISOString(), createdAt: new Date().toISOString(), @@ -290,15 +289,14 @@ const performAppCreate = async (ctx: any) => { // Fetch and migrate some metadata from the existing app. try { const existing: App = await db.get(DocumentType.APP_METADATA) - const keys: string[] = [ + const keys: (keyof App)[] = [ "_rev", "navigation", "theme", "customTheme", "icon", ] - keys.forEach((key: string) => { - // @ts-ignore + keys.forEach(key => { if (existing[key]) { // @ts-ignore newApplication[key] = existing[key] @@ -602,17 +600,15 @@ const updateAppPackage = async (appPackage: any, appId: any) => { const migrateAppNavigation = async () => { const db = context.getAppDB() const existing: App = await db.get(DocumentType.APP_METADATA) - const layouts = await getLayouts() - const screens = await getScreens() + const layouts: Layout[] = await getLayouts() + const screens: Screen[] = await getScreens() // Migrate all screens, removing custom layouts for (let screen of screens) { if (!screen.layoutId) { return } - const layout = layouts.find( - (layout: Layout) => layout._id === screen.layoutId - ) + const layout = layouts.find(layout => layout._id === screen.layoutId) screen.layoutId = undefined screen.showNavigation = layout?.props.navigation !== "None" screen.width = layout?.props.width || "Large" diff --git a/packages/types/src/documents/app/app.ts b/packages/types/src/documents/app/app.ts index 55eebe389d..a03875aa50 100644 --- a/packages/types/src/documents/app/app.ts +++ b/packages/types/src/documents/app/app.ts @@ -18,6 +18,7 @@ export interface App extends Document { revertableVersion?: string navigation?: AppNavigation automationErrors?: AppMetadataErrors + icon?: AppIcon } export interface AppInstance { @@ -53,3 +54,8 @@ export interface AppCustomTheme { navTextColor?: string navBackground?: string } + +export interface AppIcon { + name: string + color: string +} diff --git a/packages/types/src/documents/app/layout.ts b/packages/types/src/documents/app/layout.ts index 85ca4b7e94..db046e3d92 100644 --- a/packages/types/src/documents/app/layout.ts +++ b/packages/types/src/documents/app/layout.ts @@ -1,3 +1,5 @@ import { Document } from "../document" -export interface Layout extends Document {} +export interface Layout extends Document { + props: any +} From 5e15922ca40d0ebd1ad10f6f20533ac75c384fc5 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 25 Aug 2022 08:37:52 +0100 Subject: [PATCH 037/105] Remove commented out migrations --- packages/server/src/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 461495ff8c..62301d57ca 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -98,7 +98,7 @@ module.exports = server.listen(env.PORT || 0, async () => { // not recommended in a clustered environment if (!env.HTTP_MIGRATIONS && !env.isTest()) { try { - // await migrations.migrate() + await migrations.migrate() } catch (e) { logAlert("Error performing migrations. Exiting.", e) shutdown() From 07b65169912974b643a300b44bd4162caecbad9f Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 25 Aug 2022 10:57:30 +0100 Subject: [PATCH 038/105] additional logging around component definitions --- .../server/src/api/controllers/component.js | 48 ++++++++++--------- .../server/src/utilities/fileSystem/index.js | 1 + 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/packages/server/src/api/controllers/component.js b/packages/server/src/api/controllers/component.js index dec5aebb7c..73c95c4144 100644 --- a/packages/server/src/api/controllers/component.js +++ b/packages/server/src/api/controllers/component.js @@ -3,32 +3,36 @@ const { getComponentLibraryManifest } = require("../../utilities/fileSystem") const { getAppDB } = require("@budibase/backend-core/context") exports.fetchAppComponentDefinitions = async function (ctx) { - const db = getAppDB() - const app = await db.get(DocumentType.APP_METADATA) + try { + const db = getAppDB() + const app = await db.get(DocumentType.APP_METADATA) - let componentManifests = await Promise.all( - app.componentLibraries.map(async library => { - let manifest = await getComponentLibraryManifest(library) + let componentManifests = await Promise.all( + app.componentLibraries.map(async library => { + let manifest = await getComponentLibraryManifest(library) - return { - manifest, - library, - } - }) - ) - const definitions = {} - for (let { manifest, library } of componentManifests) { - for (let key of Object.keys(manifest)) { - if (key === "features") { - definitions[key] = manifest[key] - } else { - const fullComponentName = `${library}/${key}`.toLowerCase() - definitions[fullComponentName] = { - component: fullComponentName, - ...manifest[key], + return { + manifest, + library, + } + }) + ) + const definitions = {} + for (let { manifest, library } of componentManifests) { + for (let key of Object.keys(manifest)) { + if (key === "features") { + definitions[key] = manifest[key] + } else { + const fullComponentName = `${library}/${key}`.toLowerCase() + definitions[fullComponentName] = { + component: fullComponentName, + ...manifest[key], + } } } } + ctx.body = definitions + } catch (err) { + console.error(`component-definitions=failed`, err) } - ctx.body = definitions } diff --git a/packages/server/src/utilities/fileSystem/index.js b/packages/server/src/utilities/fileSystem/index.js index f4aebd11a8..d9d62ece27 100644 --- a/packages/server/src/utilities/fileSystem/index.js +++ b/packages/server/src/utilities/fileSystem/index.js @@ -291,6 +291,7 @@ exports.getComponentLibraryManifest = async library => { const path = join(appId, filename) resp = await retrieve(ObjectStoreBuckets.APPS, path) } catch (error) { + console.error(`component-manifest-objectstore=failed appId=${appId}`, error) // Fallback to loading it from the old location for old apps const path = join(appId, "node_modules", library, "package", filename) resp = await retrieve(ObjectStoreBuckets.APPS, path) From cab86d2563444702b19dc288e7bd86c9fa6000f6 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 25 Aug 2022 11:07:35 +0100 Subject: [PATCH 039/105] adding path variable --- packages/server/src/utilities/fileSystem/index.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/server/src/utilities/fileSystem/index.js b/packages/server/src/utilities/fileSystem/index.js index d9d62ece27..1b03739cdc 100644 --- a/packages/server/src/utilities/fileSystem/index.js +++ b/packages/server/src/utilities/fileSystem/index.js @@ -286,14 +286,18 @@ exports.getComponentLibraryManifest = async library => { } let resp + let path try { // Try to load the manifest from the new file location - const path = join(appId, filename) + path = join(appId, filename) resp = await retrieve(ObjectStoreBuckets.APPS, path) } catch (error) { - console.error(`component-manifest-objectstore=failed appId=${appId}`, error) + console.error( + `component-manifest-objectstore=failed appId=${appId} path=${path}`, + error + ) // Fallback to loading it from the old location for old apps - const path = join(appId, "node_modules", library, "package", filename) + path = join(appId, "node_modules", library, "package", filename) resp = await retrieve(ObjectStoreBuckets.APPS, path) } if (typeof resp !== "string") { From 910759bebb2b6430a3284f9d18ecb93ff2114eaf Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 25 Aug 2022 10:29:45 +0000 Subject: [PATCH 040/105] v1.2.51 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 4b19f429ca..57608a9a6b 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.50", + "version": "1.2.51", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index e390dc09d0..afb272e5a3 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.50", + "version": "1.2.51", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.50", + "@budibase/types": "^1.2.51", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 696d9d59c0..f89c8f0dc1 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": "1.2.50", + "version": "1.2.51", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.50", + "@budibase/string-templates": "^1.2.51", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index c1b4b83af4..9b489b6cc8 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.50", + "version": "1.2.51", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.50", - "@budibase/client": "^1.2.50", - "@budibase/frontend-core": "^1.2.50", - "@budibase/string-templates": "^1.2.50", + "@budibase/bbui": "^1.2.51", + "@budibase/client": "^1.2.51", + "@budibase/frontend-core": "^1.2.51", + "@budibase/string-templates": "^1.2.51", "@sentry/browser": "5.19.1", "@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 17fff1ba07..2c9d6d915e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.50", + "version": "1.2.51", "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 d5dd69bc2c..70ac4b9a77 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.50", + "version": "1.2.51", "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": "^1.2.50", - "@budibase/frontend-core": "^1.2.50", - "@budibase/string-templates": "^1.2.50", + "@budibase/bbui": "^1.2.51", + "@budibase/frontend-core": "^1.2.51", + "@budibase/string-templates": "^1.2.51", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 90a68eee06..786b64d68d 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.50", + "version": "1.2.51", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.50", + "@budibase/bbui": "^1.2.51", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index d472e05bbf..30145f3f70 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.50", + "version": "1.2.51", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.50", - "@budibase/client": "^1.2.50", + "@budibase/backend-core": "^1.2.51", + "@budibase/client": "^1.2.51", "@budibase/pro": "1.2.50", - "@budibase/string-templates": "^1.2.50", - "@budibase/types": "^1.2.50", + "@budibase/string-templates": "^1.2.51", + "@budibase/types": "^1.2.51", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index c2e63c8b48..9fa9171fbf 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.50", + "version": "1.2.51", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index ea7faebb84..129b79f585 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.50", + "version": "1.2.51", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 6f6a8a9343..0a78cb51f7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.50", + "version": "1.2.51", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.50", + "@budibase/backend-core": "^1.2.51", "@budibase/pro": "1.2.50", - "@budibase/string-templates": "^1.2.50", - "@budibase/types": "^1.2.50", + "@budibase/string-templates": "^1.2.51", + "@budibase/types": "^1.2.51", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 97f99f617695531ad9760042dc13a3b3aee1c821 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 25 Aug 2022 10:33:35 +0000 Subject: [PATCH 041/105] Update pro version to 1.2.51 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 30145f3f70..8af3ae2a49 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.51", "@budibase/client": "^1.2.51", - "@budibase/pro": "1.2.50", + "@budibase/pro": "1.2.51", "@budibase/string-templates": "^1.2.51", "@budibase/types": "^1.2.51", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index a2b881bf6b..19277a09d7 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.50.tgz#42b28625c1718a6256634791c698396da916bc55" - integrity sha512-rMH+Mq6U8Y/FaxmG6TJ+BpJkeS/LOKjkZbRvrof3q5WVa6aZ3jpL0/mxwzzxlcsivPGk48dvDCWVjICDOJ0Eaw== +"@budibase/backend-core@1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.51.tgz#b2d31463a326afff7509abdccbb611b2e2de3d4e" + integrity sha512-XSY6Et+cEktdTXtNVL5ebPQsYg23q3z1YHoKgld4pYABmJ6T53R4RZG28AA0Kg8/abbPM76Waei79FhqWUCdCw== dependencies: - "@budibase/types" "^1.2.50" + "@budibase/types" "^1.2.51" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.50.tgz#a5306a6390f960e56efcdc982340dda7e903d066" - integrity sha512-G9BR/gUMhSTxGq+TV6V2j1ysiq6YGRL/+GBBikDwFUimLR22uOdI2ROf7CbiSfWcVB2LrAA7P4pWkiezHYtv7Q== +"@budibase/pro@1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.51.tgz#3831fcb18706b6691fa2bb77eda8be5c2d119ad6" + integrity sha512-+/Jg0wAYpsNigpv11yt6uzKsHBY0/xNQNUdzrOcOE9D5egqtdmmFseSJYfOeMIZw2+3bBayDXR6CM7djDmcoFQ== dependencies: - "@budibase/backend-core" "1.2.50" - "@budibase/types" "1.2.50" + "@budibase/backend-core" "1.2.51" + "@budibase/types" "1.2.51" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.50", "@budibase/types@^1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.50.tgz#bb03f36a257d717f19bfa4e9328cf6aeedaf7d59" - integrity sha512-Rfq4nBMdHv2MP/J03nEpOPjSMiJSBdazrXHPNgwR+9JhQLKqnt+4klw1teQx8cqJF8ulv1GJb9EdDrW4ROsDtA== +"@budibase/types@1.2.51", "@budibase/types@^1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.51.tgz#055617caee5b7285753cc782b1ba397493b40e14" + integrity sha512-1S4fg0vCIldDnYz3fyFeAwjrqTXqnghxLanpOOrBPzAdn0OVUsXp0NHZSIGgT6cEJTVAbeDEs5M7ZNqtMyxmAQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 0a78cb51f7..92e2fce908 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.51", - "@budibase/pro": "1.2.50", + "@budibase/pro": "1.2.51", "@budibase/string-templates": "^1.2.51", "@budibase/types": "^1.2.51", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 1f56cb782e..110de3ac36 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.50.tgz#42b28625c1718a6256634791c698396da916bc55" - integrity sha512-rMH+Mq6U8Y/FaxmG6TJ+BpJkeS/LOKjkZbRvrof3q5WVa6aZ3jpL0/mxwzzxlcsivPGk48dvDCWVjICDOJ0Eaw== +"@budibase/backend-core@1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.51.tgz#b2d31463a326afff7509abdccbb611b2e2de3d4e" + integrity sha512-XSY6Et+cEktdTXtNVL5ebPQsYg23q3z1YHoKgld4pYABmJ6T53R4RZG28AA0Kg8/abbPM76Waei79FhqWUCdCw== dependencies: - "@budibase/types" "^1.2.50" + "@budibase/types" "^1.2.51" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.50.tgz#a5306a6390f960e56efcdc982340dda7e903d066" - integrity sha512-G9BR/gUMhSTxGq+TV6V2j1ysiq6YGRL/+GBBikDwFUimLR22uOdI2ROf7CbiSfWcVB2LrAA7P4pWkiezHYtv7Q== +"@budibase/pro@1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.51.tgz#3831fcb18706b6691fa2bb77eda8be5c2d119ad6" + integrity sha512-+/Jg0wAYpsNigpv11yt6uzKsHBY0/xNQNUdzrOcOE9D5egqtdmmFseSJYfOeMIZw2+3bBayDXR6CM7djDmcoFQ== dependencies: - "@budibase/backend-core" "1.2.50" - "@budibase/types" "1.2.50" + "@budibase/backend-core" "1.2.51" + "@budibase/types" "1.2.51" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.50", "@budibase/types@^1.2.50": - version "1.2.50" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.50.tgz#bb03f36a257d717f19bfa4e9328cf6aeedaf7d59" - integrity sha512-Rfq4nBMdHv2MP/J03nEpOPjSMiJSBdazrXHPNgwR+9JhQLKqnt+4klw1teQx8cqJF8ulv1GJb9EdDrW4ROsDtA== +"@budibase/types@1.2.51", "@budibase/types@^1.2.51": + version "1.2.51" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.51.tgz#055617caee5b7285753cc782b1ba397493b40e14" + integrity sha512-1S4fg0vCIldDnYz3fyFeAwjrqTXqnghxLanpOOrBPzAdn0OVUsXp0NHZSIGgT6cEJTVAbeDEs5M7ZNqtMyxmAQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 446008d2634c2303d138a2c2c5683f14e130f60c Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 25 Aug 2022 17:01:12 +0100 Subject: [PATCH 042/105] fixing s3 outage errors and scoping AWS configuration to service level --- .../backend-core/src/objectStore/index.ts | 8 ++-- packages/server/src/db/dynamoClient.js | 4 +- packages/server/src/integrations/dynamodb.ts | 40 ++++++---------- .../src/integrations/tests/dynamodb.spec.js | 48 +++++++++++++++++++ 4 files changed, 67 insertions(+), 33 deletions(-) diff --git a/packages/backend-core/src/objectStore/index.ts b/packages/backend-core/src/objectStore/index.ts index 503ab9bca0..1b880ef7b2 100644 --- a/packages/backend-core/src/objectStore/index.ts +++ b/packages/backend-core/src/objectStore/index.ts @@ -66,15 +66,13 @@ const PUBLIC_BUCKETS = [ObjectStoreBuckets.APPS, ObjectStoreBuckets.GLOBAL] * @constructor */ export const ObjectStore = (bucket: any) => { - AWS.config.update({ - accessKeyId: env.MINIO_ACCESS_KEY, - secretAccessKey: env.MINIO_SECRET_KEY, - region: env.AWS_REGION, - }) const config: any = { s3ForcePathStyle: true, signatureVersion: "v4", apiVersion: "2006-03-01", + accessKeyId: env.MINIO_ACCESS_KEY, + secretAccessKey: env.MINIO_SECRET_KEY, + region: env.AWS_REGION, } if (bucket) { config.params = { diff --git a/packages/server/src/db/dynamoClient.js b/packages/server/src/db/dynamoClient.js index 58e469f80d..12e53ff1fd 100644 --- a/packages/server/src/db/dynamoClient.js +++ b/packages/server/src/db/dynamoClient.js @@ -103,11 +103,9 @@ class Table { exports.init = endpoint => { let AWS = require("aws-sdk") - AWS.config.update({ - region: AWS_REGION, - }) let docClientParams = { correctClockSkew: true, + region: AWS_REGION, } if (endpoint) { docClientParams.endpoint = endpoint diff --git a/packages/server/src/integrations/dynamodb.ts b/packages/server/src/integrations/dynamodb.ts index 5321da4791..78d4ff1447 100644 --- a/packages/server/src/integrations/dynamodb.ts +++ b/packages/server/src/integrations/dynamodb.ts @@ -13,7 +13,8 @@ module DynamoModule { region: string accessKeyId: string secretAccessKey: string - endpoint: string + endpoint?: string + currentClockSkew?: boolean } const SCHEMA: Integration = { @@ -132,31 +133,20 @@ module DynamoModule { constructor(config: DynamoDBConfig) { this.config = config - if (this.config.endpoint && !this.config.endpoint.includes("localhost")) { - this.connect() + + // User is using a local dynamoDB endpoint, don't auth with remote + if (this.config?.endpoint?.includes("localhost")) { + // @ts-ignore + this.config = {} } - let options = { - correctClockSkew: true, - region: this.config.region || AWS_REGION, - endpoint: config.endpoint ? config.endpoint : undefined, + + this.config = { + ...this.config, + currentClockSkew: true, + region: config.region || AWS_REGION, + endpoint: config.endpoint || undefined, } - this.client = new AWS.DynamoDB.DocumentClient(options) - } - - end() { - this.disconnect() - } - - connect() { - AWS.config.update(this.config) - } - - disconnect() { - AWS.config.update({ - secretAccessKey: undefined, - accessKeyId: undefined, - region: AWS_REGION, - }) + this.client = new AWS.DynamoDB.DocumentClient(this.config) } async create(query: { table: string; json: object }) { @@ -197,7 +187,7 @@ module DynamoModule { const params = { TableName: query.table, } - return new AWS.DynamoDB().describeTable(params).promise() + return new AWS.DynamoDB(this.config).describeTable(params).promise() } async get(query: { table: string; json: object }) { diff --git a/packages/server/src/integrations/tests/dynamodb.spec.js b/packages/server/src/integrations/tests/dynamodb.spec.js index 4c6b931090..198ed6a4b4 100644 --- a/packages/server/src/integrations/tests/dynamodb.spec.js +++ b/packages/server/src/integrations/tests/dynamodb.spec.js @@ -100,4 +100,52 @@ describe("DynamoDB Integration", () => { Name: "John" }) }) + + it("configures the dynamoDB constructor based on an empty endpoint parameter", async () => { + const config = { + region: "us-east-1", + accessKeyId: "test", + secretAccessKeyId: "test" + } + + const integration = new DynamoDBIntegration.integration(config) + + expect(integration.config).toEqual({ + currentClockSkew: true, + ...config + }) + }) + + it("configures the dynamoDB constructor based on a localhost endpoint parameter", async () => { + const config = { + region: "us-east-1", + accessKeyId: "test", + secretAccessKeyId: "test", + endpoint: "localhost:8080" + } + + const integration = new DynamoDBIntegration.integration(config) + + expect(integration.config).toEqual({ + region: "us-east-1", + currentClockSkew: true, + endpoint: "localhost:8080" + }) + }) + + it("configures the dynamoDB constructor based on a remote endpoint parameter", async () => { + const config = { + region: "us-east-1", + accessKeyId: "test", + secretAccessKeyId: "test", + endpoint: "dynamodb.aws.foo.net" + } + + const integration = new DynamoDBIntegration.integration(config) + + expect(integration.config).toEqual({ + currentClockSkew: true, + ...config + }) + }) }) \ No newline at end of file From 00e10574fc82b720a1213f7e651c482b5d884b3a Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 25 Aug 2022 17:25:15 +0000 Subject: [PATCH 043/105] v1.2.52 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 57608a9a6b..7d798b46e3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.51", + "version": "1.2.52", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index afb272e5a3..b6ec16e120 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.51", + "version": "1.2.52", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.51", + "@budibase/types": "^1.2.52", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index f89c8f0dc1..82d6534ce7 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": "1.2.51", + "version": "1.2.52", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.51", + "@budibase/string-templates": "^1.2.52", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 9b489b6cc8..99c7d31c07 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.51", + "version": "1.2.52", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.51", - "@budibase/client": "^1.2.51", - "@budibase/frontend-core": "^1.2.51", - "@budibase/string-templates": "^1.2.51", + "@budibase/bbui": "^1.2.52", + "@budibase/client": "^1.2.52", + "@budibase/frontend-core": "^1.2.52", + "@budibase/string-templates": "^1.2.52", "@sentry/browser": "5.19.1", "@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 2c9d6d915e..6a9df6844a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.51", + "version": "1.2.52", "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 70ac4b9a77..d4b2e66f27 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.51", + "version": "1.2.52", "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": "^1.2.51", - "@budibase/frontend-core": "^1.2.51", - "@budibase/string-templates": "^1.2.51", + "@budibase/bbui": "^1.2.52", + "@budibase/frontend-core": "^1.2.52", + "@budibase/string-templates": "^1.2.52", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 786b64d68d..14ef50302f 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.51", + "version": "1.2.52", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.51", + "@budibase/bbui": "^1.2.52", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 8af3ae2a49..0dd938285c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.51", + "version": "1.2.52", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.51", - "@budibase/client": "^1.2.51", + "@budibase/backend-core": "^1.2.52", + "@budibase/client": "^1.2.52", "@budibase/pro": "1.2.51", - "@budibase/string-templates": "^1.2.51", - "@budibase/types": "^1.2.51", + "@budibase/string-templates": "^1.2.52", + "@budibase/types": "^1.2.52", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9fa9171fbf..dee0eb060e 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.51", + "version": "1.2.52", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 129b79f585..e6a92d27d1 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.51", + "version": "1.2.52", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 92e2fce908..3ce4c54a5d 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.51", + "version": "1.2.52", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.51", + "@budibase/backend-core": "^1.2.52", "@budibase/pro": "1.2.51", - "@budibase/string-templates": "^1.2.51", - "@budibase/types": "^1.2.51", + "@budibase/string-templates": "^1.2.52", + "@budibase/types": "^1.2.52", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 3fc0d3f4474b46737b72e25148acf4a15dd1c962 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 25 Aug 2022 17:28:53 +0000 Subject: [PATCH 044/105] Update pro version to 1.2.52 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 0dd938285c..f7df7caedc 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.52", "@budibase/client": "^1.2.52", - "@budibase/pro": "1.2.51", + "@budibase/pro": "1.2.52", "@budibase/string-templates": "^1.2.52", "@budibase/types": "^1.2.52", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 19277a09d7..57d20dcce1 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.51.tgz#b2d31463a326afff7509abdccbb611b2e2de3d4e" - integrity sha512-XSY6Et+cEktdTXtNVL5ebPQsYg23q3z1YHoKgld4pYABmJ6T53R4RZG28AA0Kg8/abbPM76Waei79FhqWUCdCw== +"@budibase/backend-core@1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.52.tgz#0fb41c42081224e513781a9deee23cfbbe40477d" + integrity sha512-e4RguuyYih4pP2lg62Qro5LPa4zGYYafaH5VvZvpZ/YrGsZxcnf0vweE5WZVUKtX3ZQhVtrW5gzvrAaqQUOIbQ== dependencies: - "@budibase/types" "^1.2.51" + "@budibase/types" "^1.2.52" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.51.tgz#3831fcb18706b6691fa2bb77eda8be5c2d119ad6" - integrity sha512-+/Jg0wAYpsNigpv11yt6uzKsHBY0/xNQNUdzrOcOE9D5egqtdmmFseSJYfOeMIZw2+3bBayDXR6CM7djDmcoFQ== +"@budibase/pro@1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.52.tgz#585789af03cb1440a7edbab06fb197c77141b887" + integrity sha512-ehVC4dle5/yEMKG8etEzD7cxWDEGsMoaigpf1iseY1S+EbV4MHvkku1oSB64fekDc211UD5jMXQx8lLVgoZQDw== dependencies: - "@budibase/backend-core" "1.2.51" - "@budibase/types" "1.2.51" + "@budibase/backend-core" "1.2.52" + "@budibase/types" "1.2.52" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.51", "@budibase/types@^1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.51.tgz#055617caee5b7285753cc782b1ba397493b40e14" - integrity sha512-1S4fg0vCIldDnYz3fyFeAwjrqTXqnghxLanpOOrBPzAdn0OVUsXp0NHZSIGgT6cEJTVAbeDEs5M7ZNqtMyxmAQ== +"@budibase/types@1.2.52", "@budibase/types@^1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.52.tgz#11d35cdaf1b88bd9f4e12677dc3e34a74e80bf74" + integrity sha512-i9bZC59THo+BXssF1eCln2wouj3esFY8fWqqmjPN+Bo1l078LBMXTF0q+BjdSkf5jf6SR1TrT0uXj5AN0e6xWA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 3ce4c54a5d..2b9d30f190 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.52", - "@budibase/pro": "1.2.51", + "@budibase/pro": "1.2.52", "@budibase/string-templates": "^1.2.52", "@budibase/types": "^1.2.52", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 110de3ac36..e0bea7efcb 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.51.tgz#b2d31463a326afff7509abdccbb611b2e2de3d4e" - integrity sha512-XSY6Et+cEktdTXtNVL5ebPQsYg23q3z1YHoKgld4pYABmJ6T53R4RZG28AA0Kg8/abbPM76Waei79FhqWUCdCw== +"@budibase/backend-core@1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.52.tgz#0fb41c42081224e513781a9deee23cfbbe40477d" + integrity sha512-e4RguuyYih4pP2lg62Qro5LPa4zGYYafaH5VvZvpZ/YrGsZxcnf0vweE5WZVUKtX3ZQhVtrW5gzvrAaqQUOIbQ== dependencies: - "@budibase/types" "^1.2.51" + "@budibase/types" "^1.2.52" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.51.tgz#3831fcb18706b6691fa2bb77eda8be5c2d119ad6" - integrity sha512-+/Jg0wAYpsNigpv11yt6uzKsHBY0/xNQNUdzrOcOE9D5egqtdmmFseSJYfOeMIZw2+3bBayDXR6CM7djDmcoFQ== +"@budibase/pro@1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.52.tgz#585789af03cb1440a7edbab06fb197c77141b887" + integrity sha512-ehVC4dle5/yEMKG8etEzD7cxWDEGsMoaigpf1iseY1S+EbV4MHvkku1oSB64fekDc211UD5jMXQx8lLVgoZQDw== dependencies: - "@budibase/backend-core" "1.2.51" - "@budibase/types" "1.2.51" + "@budibase/backend-core" "1.2.52" + "@budibase/types" "1.2.52" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.51", "@budibase/types@^1.2.51": - version "1.2.51" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.51.tgz#055617caee5b7285753cc782b1ba397493b40e14" - integrity sha512-1S4fg0vCIldDnYz3fyFeAwjrqTXqnghxLanpOOrBPzAdn0OVUsXp0NHZSIGgT6cEJTVAbeDEs5M7ZNqtMyxmAQ== +"@budibase/types@1.2.52", "@budibase/types@^1.2.52": + version "1.2.52" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.52.tgz#11d35cdaf1b88bd9f4e12677dc3e34a74e80bf74" + integrity sha512-i9bZC59THo+BXssF1eCln2wouj3esFY8fWqqmjPN+Bo1l078LBMXTF0q+BjdSkf5jf6SR1TrT0uXj5AN0e6xWA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From a519eb0cdcdf37be83e45edde5574e6c0583b872 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 25 Aug 2022 19:41:47 +0100 Subject: [PATCH 045/105] update bulk create and bulk delete backend --- .../backend-core/src/{auth.js => auth.ts} | 62 ++- packages/backend-core/src/db/constants.ts | 2 +- packages/backend-core/src/db/views.js | 12 +- packages/backend-core/src/events/index.ts | 1 + packages/backend-core/src/index.ts | 2 + .../src/middleware/authenticated.ts | 2 +- .../src/middleware/{index.js => index.ts} | 5 +- .../backend-core/src/security/sessions.ts | 78 +-- packages/backend-core/src/users.js | 1 - .../tests/utilities/mocks/accounts.ts | 7 + .../tests/utilities/mocks/date.js | 2 - .../tests/utilities/mocks/date.ts | 2 + .../utilities/mocks/{events.js => events.ts} | 0 .../tests/utilities/mocks/index.js | 9 - .../tests/utilities/mocks/index.ts | 4 + packages/types/src/api/web/errors.ts | 5 + packages/types/src/api/web/index.ts | 3 +- packages/types/src/api/web/user.ts | 23 +- packages/types/src/documents/global/user.ts | 5 +- .../types/src/documents/global/userGroup.ts | 9 +- packages/types/src/documents/index.ts | 1 + .../types/src/documents/platform/accounts.ts | 5 + .../types/src/documents/platform/index.ts | 3 +- .../types/src/documents/platform/users.ts | 2 +- packages/types/src/documents/pouch.ts | 20 + packages/types/src/sdk/auth.ts | 5 + packages/types/src/sdk/index.ts | 1 + packages/worker/package.json | 1 + packages/worker/scripts/jestSetup.js | 6 + packages/worker/scripts/load/users.js | 97 ---- .../src/api/controllers/global/users.ts | 10 +- .../src/api/controllers/system/accounts.ts | 21 + .../worker/src/api/{index.js => index.ts} | 18 +- .../tests/auth.spec.ts} | 88 ++-- .../tests/configs.spec.ts} | 123 +++-- .../tests/email.spec.ts} | 22 +- .../tests/realEmail.spec.ts} | 41 +- .../tests/self.spec.ts} | 28 +- .../src/api/routes/global/tests/users.spec.ts | 470 ++++++++++++++++++ packages/worker/src/api/routes/index.js | 2 + .../worker/src/api/routes/system/accounts.ts | 19 + .../api/routes/system/tests/accounts.spec.ts | 57 +++ .../worker/src/api/routes/tests/users.spec.ts | 424 ---------------- .../src/{environment.js => environment.ts} | 19 +- packages/worker/src/index.ts | 6 +- packages/worker/src/sdk/accounts/accounts.ts | 53 ++ packages/worker/src/sdk/accounts/index.ts | 1 + packages/worker/src/sdk/index.ts | 1 + packages/worker/src/sdk/users/users.ts | 258 ++++++---- .../worker/src/tests/TestConfiguration.js | 231 --------- .../worker/src/tests/TestConfiguration.ts | 269 ++++++++++ packages/worker/src/tests/api/accounts.ts | 28 ++ packages/worker/src/tests/api/auth.ts | 48 ++ packages/worker/src/tests/api/configs.ts | 40 ++ packages/worker/src/tests/api/email.ts | 24 + packages/worker/src/tests/api/index.ts | 25 + packages/worker/src/tests/api/self.ts | 21 + packages/worker/src/tests/api/users.ts | 95 ++++ packages/worker/src/tests/index.ts | 11 +- packages/worker/src/tests/mocks/index.js | 5 - packages/worker/src/tests/mocks/index.ts | 7 + .../worker/src/tests/structures/accounts.ts | 24 + packages/worker/src/tests/structures/index.ts | 8 +- packages/worker/src/tests/structures/users.ts | 16 +- packages/worker/src/utilities/redis.js | 1 + packages/worker/yarn.lock | 5 + 66 files changed, 1770 insertions(+), 1124 deletions(-) rename packages/backend-core/src/{auth.js => auth.ts} (73%) rename packages/backend-core/src/middleware/{index.js => index.ts} (96%) create mode 100644 packages/backend-core/tests/utilities/mocks/accounts.ts delete mode 100644 packages/backend-core/tests/utilities/mocks/date.js create mode 100644 packages/backend-core/tests/utilities/mocks/date.ts rename packages/backend-core/tests/utilities/mocks/{events.js => events.ts} (100%) delete mode 100644 packages/backend-core/tests/utilities/mocks/index.js create mode 100644 packages/backend-core/tests/utilities/mocks/index.ts create mode 100644 packages/types/src/api/web/errors.ts create mode 100644 packages/types/src/documents/platform/accounts.ts create mode 100644 packages/types/src/documents/pouch.ts create mode 100644 packages/types/src/sdk/auth.ts delete mode 100644 packages/worker/scripts/load/users.js create mode 100644 packages/worker/src/api/controllers/system/accounts.ts rename packages/worker/src/api/{index.js => index.ts} (89%) rename packages/worker/src/api/routes/{tests/auth.spec.js => global/tests/auth.spec.ts} (51%) rename packages/worker/src/api/routes/{tests/configs.spec.js => global/tests/configs.spec.ts} (72%) rename packages/worker/src/api/routes/{tests/email.spec.js => global/tests/email.spec.ts} (58%) rename packages/worker/src/api/routes/{tests/realEmail.spec.js => global/tests/realEmail.spec.ts} (75%) rename packages/worker/src/api/routes/{tests/self.spec.js => global/tests/self.spec.ts} (67%) create mode 100644 packages/worker/src/api/routes/global/tests/users.spec.ts create mode 100644 packages/worker/src/api/routes/system/accounts.ts create mode 100644 packages/worker/src/api/routes/system/tests/accounts.spec.ts delete mode 100644 packages/worker/src/api/routes/tests/users.spec.ts rename packages/worker/src/{environment.js => environment.ts} (88%) create mode 100644 packages/worker/src/sdk/accounts/accounts.ts create mode 100644 packages/worker/src/sdk/accounts/index.ts delete mode 100644 packages/worker/src/tests/TestConfiguration.js create mode 100644 packages/worker/src/tests/TestConfiguration.ts create mode 100644 packages/worker/src/tests/api/accounts.ts create mode 100644 packages/worker/src/tests/api/auth.ts create mode 100644 packages/worker/src/tests/api/configs.ts create mode 100644 packages/worker/src/tests/api/email.ts create mode 100644 packages/worker/src/tests/api/index.ts create mode 100644 packages/worker/src/tests/api/self.ts create mode 100644 packages/worker/src/tests/api/users.ts delete mode 100644 packages/worker/src/tests/mocks/index.js create mode 100644 packages/worker/src/tests/mocks/index.ts create mode 100644 packages/worker/src/tests/structures/accounts.ts diff --git a/packages/backend-core/src/auth.js b/packages/backend-core/src/auth.ts similarity index 73% rename from packages/backend-core/src/auth.js rename to packages/backend-core/src/auth.ts index d39b8426fb..23873b84e7 100644 --- a/packages/backend-core/src/auth.js +++ b/packages/backend-core/src/auth.ts @@ -1,11 +1,11 @@ const passport = require("koa-passport") const LocalStrategy = require("passport-local").Strategy const JwtStrategy = require("passport-jwt").Strategy -const { getGlobalDB } = require("./tenancy") +import { getGlobalDB } from "./tenancy" const refresh = require("passport-oauth2-refresh") -const { Configs } = require("./constants") -const { getScopedConfig } = require("./db/utils") -const { +import { Configs } from "./constants" +import { getScopedConfig } from "./db/utils" +import { jwt, local, authenticated, @@ -13,7 +13,6 @@ const { oidc, auditLog, tenancy, - appTenancy, authError, ssoCallbackUrl, csrf, @@ -22,32 +21,36 @@ const { builderOnly, builderOrAdmin, joiValidator, -} = require("./middleware") - -const { invalidateUser } = require("./cache/user") +} from "./middleware" +import { invalidateUser } from "./cache/user" +import { User } from "@budibase/types" // Strategies passport.use(new LocalStrategy(local.options, local.authenticate)) passport.use(new JwtStrategy(jwt.options, jwt.authenticate)) -passport.serializeUser((user, done) => done(null, user)) +passport.serializeUser((user: User, done: any) => done(null, user)) -passport.deserializeUser(async (user, done) => { +passport.deserializeUser(async (user: User, done: any) => { const db = getGlobalDB() try { - const user = await db.get(user._id) - return done(null, user) + const dbUser = await db.get(user._id) + return done(null, dbUser) } catch (err) { console.error(`User not found`, err) return done(null, false, { message: "User not found" }) } }) -async function refreshOIDCAccessToken(db, chosenConfig, refreshToken) { +async function refreshOIDCAccessToken( + db: any, + chosenConfig: any, + refreshToken: string +) { const callbackUrl = await oidc.getCallbackUrl(db, chosenConfig) - let enrichedConfig - let strategy + let enrichedConfig: any + let strategy: any try { enrichedConfig = await oidc.fetchStrategyConfig(chosenConfig, callbackUrl) @@ -70,22 +73,28 @@ async function refreshOIDCAccessToken(db, chosenConfig, refreshToken) { refresh.requestNewAccessToken( Configs.OIDC, refreshToken, - (err, accessToken, refreshToken, params) => { + (err: any, accessToken: string, refreshToken: any, params: any) => { resolve({ err, accessToken, refreshToken, params }) } ) }) } -async function refreshGoogleAccessToken(db, config, refreshToken) { +async function refreshGoogleAccessToken( + db: any, + config: any, + refreshToken: any +) { let callbackUrl = await google.getCallbackUrl(db, config) let strategy try { strategy = await google.strategyFactory(config, callbackUrl) - } catch (err) { + } catch (err: any) { console.error(err) - throw new Error("Error constructing OIDC refresh strategy", err) + throw new Error( + `Error constructing OIDC refresh strategy: message=${err.message}` + ) } refresh.use(strategy) @@ -94,14 +103,18 @@ async function refreshGoogleAccessToken(db, config, refreshToken) { refresh.requestNewAccessToken( Configs.GOOGLE, refreshToken, - (err, accessToken, refreshToken, params) => { + (err: any, accessToken: string, refreshToken: string, params: any) => { resolve({ err, accessToken, refreshToken, params }) } ) }) } -async function refreshOAuthToken(refreshToken, configType, configId) { +async function refreshOAuthToken( + refreshToken: string, + configType: string, + configId: string +) { const db = getGlobalDB() const config = await getScopedConfig(db, { @@ -113,7 +126,7 @@ async function refreshOAuthToken(refreshToken, configType, configId) { let refreshResponse if (configType === Configs.OIDC) { // configId - retrieved from cookie. - chosenConfig = config.configs.filter(c => c.uuid === configId)[0] + chosenConfig = config.configs.filter((c: any) => c.uuid === configId)[0] if (!chosenConfig) { throw new Error("Invalid OIDC configuration") } @@ -134,7 +147,7 @@ async function refreshOAuthToken(refreshToken, configType, configId) { return refreshResponse } -async function updateUserOAuth(userId, oAuthConfig) { +async function updateUserOAuth(userId: string, oAuthConfig: any) { const details = { accessToken: oAuthConfig.accessToken, refreshToken: oAuthConfig.refreshToken, @@ -162,14 +175,13 @@ async function updateUserOAuth(userId, oAuthConfig) { } } -module.exports = { +export = { buildAuthMiddleware: authenticated, passport, google, oidc, jwt: require("jsonwebtoken"), buildTenancyMiddleware: tenancy, - buildAppTenancyMiddleware: appTenancy, auditLog, authError, buildCsrfMiddleware: csrf, diff --git a/packages/backend-core/src/db/constants.ts b/packages/backend-core/src/db/constants.ts index b03382ad36..fd464ba5fb 100644 --- a/packages/backend-core/src/db/constants.ts +++ b/packages/backend-core/src/db/constants.ts @@ -42,7 +42,7 @@ export enum DocumentType { MIGRATIONS = "migrations", DEV_INFO = "devinfo", AUTOMATION_LOG = "log_au", - ACCOUNT = "acc", + ACCOUNT_METADATA = "acc_metadata", } export const StaticDatabases = { diff --git a/packages/backend-core/src/db/views.js b/packages/backend-core/src/db/views.js index c0a91581ac..b2562bdc71 100644 --- a/packages/backend-core/src/db/views.js +++ b/packages/backend-core/src/db/views.js @@ -6,7 +6,7 @@ const { } = require("./utils") const { getGlobalDB } = require("../tenancy") const { StaticDatabases } = require("./constants") -const { doWithDB } = require("./"); +const { doWithDB } = require("./") const DESIGN_DB = "_design/database" @@ -59,7 +59,7 @@ exports.createNewUserEmailView = async () => { } exports.createAccountEmailView = async () => { - await doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db) => { + await doWithDB(StaticDatabases.PLATFORM_INFO.name, async db => { let designDoc try { designDoc = await db.get(DESIGN_DB) @@ -70,8 +70,8 @@ exports.createAccountEmailView = async () => { const view = { // if using variables in a map function need to inject them before use map: `function(doc) { - if (doc._id.startsWith("${DocumentType.ACCOUNT}${SEPARATOR}")) { - emit(doc.email.toLowerCase(), doc.tenantId) + if (doc._id.startsWith("${DocumentType.ACCOUNT_METADATA}${SEPARATOR}")) { + emit(doc.email.toLowerCase(), doc._id) } }`, } @@ -171,7 +171,7 @@ exports.queryView = async (viewName, params, db, CreateFuncByName) => { const createFunc = CreateFuncByName[viewName] await removeDeprecated(db, viewName) await createFunc() - return exports.queryGlobalView(viewName, params) + return exports.queryView(viewName, params, db, CreateFuncByName) } else { throw err } @@ -183,7 +183,7 @@ exports.queryPlatformView = async (viewName, params) => { [ViewName.ACCOUNT_BY_EMAIL]: exports.createAccountEmailView, } - return doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db) => { + return doWithDB(StaticDatabases.PLATFORM_INFO.name, async db => { return exports.queryView(viewName, params, db, CreateFuncByName) }) } diff --git a/packages/backend-core/src/events/index.ts b/packages/backend-core/src/events/index.ts index 814399655d..f94c8b0267 100644 --- a/packages/backend-core/src/events/index.ts +++ b/packages/backend-core/src/events/index.ts @@ -8,4 +8,5 @@ import { processors } from "./processors" export const shutdown = () => { processors.shutdown() + console.log("Events shutdown") } diff --git a/packages/backend-core/src/index.ts b/packages/backend-core/src/index.ts index 6d2e8dcd10..74e79e7b95 100644 --- a/packages/backend-core/src/index.ts +++ b/packages/backend-core/src/index.ts @@ -17,6 +17,7 @@ import constants from "./constants" import * as dbConstants from "./db/constants" import logging from "./logging" import pino from "./pino" +import * as middleware from "./middleware" // mimic the outer package exports import * as db from "./pkg/db" @@ -57,6 +58,7 @@ const core = { roles, ...pino, ...errorClasses, + middleware, } export = core diff --git a/packages/backend-core/src/middleware/authenticated.ts b/packages/backend-core/src/middleware/authenticated.ts index b51ead46b9..062070785d 100644 --- a/packages/backend-core/src/middleware/authenticated.ts +++ b/packages/backend-core/src/middleware/authenticated.ts @@ -65,7 +65,7 @@ async function checkApiKey(apiKey: string, populateUser?: Function) { * The tenancy modules should not be used here and it should be assumed that the tenancy context * has not yet been populated. */ -module.exports = ( +export = ( noAuthPatterns = [], opts: { publicAllowed: boolean; populateUser?: Function } = { publicAllowed: false, diff --git a/packages/backend-core/src/middleware/index.js b/packages/backend-core/src/middleware/index.ts similarity index 96% rename from packages/backend-core/src/middleware/index.js rename to packages/backend-core/src/middleware/index.ts index 7e7b8a2931..998c231b3d 100644 --- a/packages/backend-core/src/middleware/index.js +++ b/packages/backend-core/src/middleware/index.ts @@ -13,7 +13,8 @@ const adminOnly = require("./adminOnly") const builderOrAdmin = require("./builderOrAdmin") const builderOnly = require("./builderOnly") const joiValidator = require("./joi-validator") -module.exports = { + +const pkg = { google, oidc, jwt, @@ -33,3 +34,5 @@ module.exports = { builderOrAdmin, joiValidator, } + +export = pkg diff --git a/packages/backend-core/src/security/sessions.ts b/packages/backend-core/src/security/sessions.ts index 284adbcd1f..f621b99dc2 100644 --- a/packages/backend-core/src/security/sessions.ts +++ b/packages/backend-core/src/security/sessions.ts @@ -3,17 +3,27 @@ const { v4: uuidv4 } = require("uuid") const { logWarn } = require("../logging") const env = require("../environment") -interface Session { - key: string - userId: string +interface CreateSession { sessionId: string - lastAccessedAt: string - createdAt: string + tenantId: string csrfToken?: string - value: string } -type SessionKey = { key: string }[] +interface Session extends CreateSession { + userId: string + lastAccessedAt: string + createdAt: string + // make optional attributes required + csrfToken: string +} + +interface SessionKey { + key: string +} + +interface ScannedSession { + value: Session +} // a week in seconds const EXPIRY_SECONDS = 86400 * 7 @@ -22,14 +32,14 @@ function makeSessionID(userId: string, sessionId: string) { return `${userId}/${sessionId}` } -export async function getSessionsForUser(userId: string) { +export async function getSessionsForUser(userId: string): Promise { if (!userId) { console.trace("Cannot get sessions for undefined userId") return [] } const client = await redis.getSessionClient() - const sessions = await client.scan(userId) - return sessions.map((session: Session) => session.value) + const sessions: ScannedSession[] = await client.scan(userId) + return sessions.map(session => session.value) } export async function invalidateSessions( @@ -39,33 +49,32 @@ export async function invalidateSessions( try { const reason = opts?.reason || "unknown" let sessionIds: string[] = opts.sessionIds || [] - let sessions: SessionKey + let sessionKeys: SessionKey[] // If no sessionIds, get all the sessions for the user if (sessionIds.length === 0) { - sessions = await getSessionsForUser(userId) - sessions.forEach( - (session: any) => - (session.key = makeSessionID(session.userId, session.sessionId)) - ) + const sessions = await getSessionsForUser(userId) + sessionKeys = sessions.map(session => ({ + key: makeSessionID(session.userId, session.sessionId), + })) } else { // use the passed array of sessionIds sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds] - sessions = sessionIds.map((sessionId: string) => ({ + sessionKeys = sessionIds.map(sessionId => ({ key: makeSessionID(userId, sessionId), })) } - if (sessions && sessions.length > 0) { + if (sessionKeys && sessionKeys.length > 0) { const client = await redis.getSessionClient() const promises = [] - for (let session of sessions) { - promises.push(client.delete(session.key)) + for (let sessionKey of sessionKeys) { + promises.push(client.delete(sessionKey.key)) } if (!env.isTest()) { logWarn( - `Invalidating sessions for ${userId} (reason: ${reason}) - ${sessions - .map(session => session.key) + `Invalidating sessions for ${userId} (reason: ${reason}) - ${sessionKeys + .map(sessionKey => sessionKey.key) .join(", ")}` ) } @@ -76,22 +85,26 @@ export async function invalidateSessions( } } -export async function createASession(userId: string, session: Session) { +export async function createASession( + userId: string, + createSession: CreateSession +) { // invalidate all other sessions await invalidateSessions(userId, { reason: "creation" }) const client = await redis.getSessionClient() - const sessionId = session.sessionId - if (!session.csrfToken) { - session.csrfToken = uuidv4() - } - session = { - ...session, + const sessionId = createSession.sessionId + const csrfToken = createSession.csrfToken ? createSession.csrfToken : uuidv4() + const key = makeSessionID(userId, sessionId) + + const session: Session = { + ...createSession, + csrfToken, createdAt: new Date().toISOString(), lastAccessedAt: new Date().toISOString(), userId, } - await client.store(makeSessionID(userId, sessionId), session, EXPIRY_SECONDS) + await client.store(key, session, EXPIRY_SECONDS) } export async function updateSessionTTL(session: Session) { @@ -106,7 +119,10 @@ export async function endSession(userId: string, sessionId: string) { await client.delete(makeSessionID(userId, sessionId)) } -export async function getSession(userId: string, sessionId: string) { +export async function getSession( + userId: string, + sessionId: string +): Promise { if (!userId || !sessionId) { throw new Error(`Invalid session details - ${userId} - ${sessionId}`) } diff --git a/packages/backend-core/src/users.js b/packages/backend-core/src/users.js index de5ce238c1..81bf28bb46 100644 --- a/packages/backend-core/src/users.js +++ b/packages/backend-core/src/users.js @@ -11,7 +11,6 @@ const { UNICODE_MAX } = require("./db/constants") * Given an email address this will use a view to search through * all the users to find one with this email address. * @param {string} email the email to lookup the user by. - * @return {Promise} */ exports.getGlobalUserByEmail = async email => { if (email == null) { diff --git a/packages/backend-core/tests/utilities/mocks/accounts.ts b/packages/backend-core/tests/utilities/mocks/accounts.ts new file mode 100644 index 0000000000..79436443db --- /dev/null +++ b/packages/backend-core/tests/utilities/mocks/accounts.ts @@ -0,0 +1,7 @@ +export const getAccount = jest.fn() +export const getAccountByTenantId = jest.fn() + +jest.mock("../../../src/cloud/accounts", () => ({ + getAccount, + getAccountByTenantId, +})) diff --git a/packages/backend-core/tests/utilities/mocks/date.js b/packages/backend-core/tests/utilities/mocks/date.js deleted file mode 100644 index 19248c6f11..0000000000 --- a/packages/backend-core/tests/utilities/mocks/date.js +++ /dev/null @@ -1,2 +0,0 @@ -exports.MOCK_DATE = new Date("2020-01-01T00:00:00.000Z") -exports.MOCK_DATE_TIMESTAMP = 1577836800000 diff --git a/packages/backend-core/tests/utilities/mocks/date.ts b/packages/backend-core/tests/utilities/mocks/date.ts new file mode 100644 index 0000000000..f580b68349 --- /dev/null +++ b/packages/backend-core/tests/utilities/mocks/date.ts @@ -0,0 +1,2 @@ +export const MOCK_DATE = new Date("2020-01-01T00:00:00.000Z") +export const MOCK_DATE_TIMESTAMP = 1577836800000 diff --git a/packages/backend-core/tests/utilities/mocks/events.js b/packages/backend-core/tests/utilities/mocks/events.ts similarity index 100% rename from packages/backend-core/tests/utilities/mocks/events.js rename to packages/backend-core/tests/utilities/mocks/events.ts diff --git a/packages/backend-core/tests/utilities/mocks/index.js b/packages/backend-core/tests/utilities/mocks/index.js deleted file mode 100644 index 6aa1c4a54f..0000000000 --- a/packages/backend-core/tests/utilities/mocks/index.js +++ /dev/null @@ -1,9 +0,0 @@ -const posthog = require("./posthog") -const events = require("./events") -const date = require("./date") - -module.exports = { - posthog, - date, - events, -} diff --git a/packages/backend-core/tests/utilities/mocks/index.ts b/packages/backend-core/tests/utilities/mocks/index.ts new file mode 100644 index 0000000000..7031b225ec --- /dev/null +++ b/packages/backend-core/tests/utilities/mocks/index.ts @@ -0,0 +1,4 @@ +import "./posthog" +import "./events" +export * as accounts from "./accounts" +export * as date from "./date" diff --git a/packages/types/src/api/web/errors.ts b/packages/types/src/api/web/errors.ts new file mode 100644 index 0000000000..65870d6a29 --- /dev/null +++ b/packages/types/src/api/web/errors.ts @@ -0,0 +1,5 @@ +export interface APIError { + message: string + status: number + error?: any +} diff --git a/packages/types/src/api/web/index.ts b/packages/types/src/api/web/index.ts index 2a3a01106f..0129fb38d9 100644 --- a/packages/types/src/api/web/index.ts +++ b/packages/types/src/api/web/index.ts @@ -1,2 +1,3 @@ export * from "./analytics" -export * from "./user" \ No newline at end of file +export * from "./user" +export * from "./errors" diff --git a/packages/types/src/api/web/user.ts b/packages/types/src/api/web/user.ts index 3e9d410473..0351680f98 100644 --- a/packages/types/src/api/web/user.ts +++ b/packages/types/src/api/web/user.ts @@ -1,10 +1,31 @@ import { User } from "../../documents" +export interface CreateUserResponse { + _id: string + _rev: string + email: string +} + export interface BulkCreateUsersRequest { users: User[] groups: any[] } +export interface UserDetails { + _id: string + email: string +} + +export interface BulkCreateUsersResponse { + successful: UserDetails[] + unsuccessful: { email: string; reason: string }[] +} + export interface BulkDeleteUsersRequest { userIds: string[] -} \ No newline at end of file +} + +export interface BulkDeleteUsersResponse { + successful: UserDetails[] + unsuccessful: { _id: string; email: string; reason: string }[] +} diff --git a/packages/types/src/documents/global/user.ts b/packages/types/src/documents/global/user.ts index 1dc1f4f228..ac16194a21 100644 --- a/packages/types/src/documents/global/user.ts +++ b/packages/types/src/documents/global/user.ts @@ -22,7 +22,6 @@ export interface UserRoles { [key: string]: string } - // utility types export interface BuilderUser extends User { @@ -34,8 +33,8 @@ export interface BuilderUser extends User { export interface AdminUser extends User { admin: { global: boolean - }, + } builder: { global: boolean } -} \ No newline at end of file +} diff --git a/packages/types/src/documents/global/userGroup.ts b/packages/types/src/documents/global/userGroup.ts index b822e5bb7b..86010d118b 100644 --- a/packages/types/src/documents/global/userGroup.ts +++ b/packages/types/src/documents/global/userGroup.ts @@ -1,19 +1,20 @@ import { Document } from "../document" -import { User } from "./user" + export interface UserGroup extends Document { name: string icon: string color: string - users: groupUser[] + users: GroupUser[] apps: string[] roles: UserGroupRoles createdAt?: number } -export interface groupUser { +export interface GroupUser { _id: string - email: string[] + email: string } + export interface UserGroupRoles { [key: string]: string } diff --git a/packages/types/src/documents/index.ts b/packages/types/src/documents/index.ts index 4f5b278a4b..47ec48f49c 100644 --- a/packages/types/src/documents/index.ts +++ b/packages/types/src/documents/index.ts @@ -3,3 +3,4 @@ export * from "./app" export * from "./global" export * from "./platform" export * from "./document" +export * from "./pouch" diff --git a/packages/types/src/documents/platform/accounts.ts b/packages/types/src/documents/platform/accounts.ts new file mode 100644 index 0000000000..ac6a027448 --- /dev/null +++ b/packages/types/src/documents/platform/accounts.ts @@ -0,0 +1,5 @@ +import { Document } from "../document" + +export interface AccountMetadata extends Document { + email: string +} diff --git a/packages/types/src/documents/platform/index.ts b/packages/types/src/documents/platform/index.ts index 0438f720f4..1a7cef91cf 100644 --- a/packages/types/src/documents/platform/index.ts +++ b/packages/types/src/documents/platform/index.ts @@ -1,2 +1,3 @@ export * from "./info" -export * from "./users" \ No newline at end of file +export * from "./users" +export * from "./accounts" diff --git a/packages/types/src/documents/platform/users.ts b/packages/types/src/documents/platform/users.ts index 1cf5377965..1b65ea42f2 100644 --- a/packages/types/src/documents/platform/users.ts +++ b/packages/types/src/documents/platform/users.ts @@ -1,4 +1,4 @@ -import { Document } from "../document"; +import { Document } from "../document" /** * doc id is user email diff --git a/packages/types/src/documents/pouch.ts b/packages/types/src/documents/pouch.ts new file mode 100644 index 0000000000..d6b7c2b003 --- /dev/null +++ b/packages/types/src/documents/pouch.ts @@ -0,0 +1,20 @@ +export interface RowResponse { + id: string + key: string + value: any + doc: T +} + +export interface AllDocsResponse { + offset: number + total_rows: number + rows: RowResponse[] +} + +export type BulkDocsResponse = BulkDocResponse[] + +interface BulkDocResponse { + ok: boolean + id: string + rev: string +} diff --git a/packages/types/src/sdk/auth.ts b/packages/types/src/sdk/auth.ts new file mode 100644 index 0000000000..dd3c2124b5 --- /dev/null +++ b/packages/types/src/sdk/auth.ts @@ -0,0 +1,5 @@ +export interface AuthToken { + userId: string + tenantId: string + sessionId: string +} diff --git a/packages/types/src/sdk/index.ts b/packages/types/src/sdk/index.ts index d6ca92f607..fdcfc0804e 100644 --- a/packages/types/src/sdk/index.ts +++ b/packages/types/src/sdk/index.ts @@ -5,3 +5,4 @@ export * from "./licensing" export * from "./migrations" export * from "./datasources" export * from "./search" +export * from "./auth" diff --git a/packages/worker/package.json b/packages/worker/package.json index 60885179ac..7b737e58d7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -73,6 +73,7 @@ "@types/koa-router": "7.4.4", "@types/koa__router": "8.0.11", "@types/node": "14.18.20", + "@types/uuid": "8.3.4", "@typescript-eslint/parser": "5.12.0", "copyfiles": "2.4.1", "eslint": "6.8.0", diff --git a/packages/worker/scripts/jestSetup.js b/packages/worker/scripts/jestSetup.js index 765befd153..8ee2d33d70 100644 --- a/packages/worker/scripts/jestSetup.js +++ b/packages/worker/scripts/jestSetup.js @@ -14,3 +14,9 @@ const tk = require("timekeeper") tk.freeze(mocks.date.MOCK_DATE) global.console.log = jest.fn() // console.log are ignored in tests + +if (!process.env.CI) { + // set a longer timeout in dev for debugging + // 100 seconds + jest.setTimeout(100000) +} diff --git a/packages/worker/scripts/load/users.js b/packages/worker/scripts/load/users.js deleted file mode 100644 index 6caf67ade4..0000000000 --- a/packages/worker/scripts/load/users.js +++ /dev/null @@ -1,97 +0,0 @@ -// get the JWT secret etc -require("../../src/environment") -require("@budibase/backend-core").init() -const { - getProdAppID, - generateGlobalUserID, -} = require("@budibase/backend-core/db") -const { doInTenant, getGlobalDB } = require("@budibase/backend-core/tenancy") -const users = require("../../src/sdk/users") -const { publicApiUserFix } = require("../../src/utilities/users") -const { hash } = require("@budibase/backend-core/utils") - -const USER_LOAD_NUMBER = 10000 -const BATCH_SIZE = 200 -const PASSWORD = "test" -const TENANT_ID = "default" - -const APP_ID = process.argv[2] - -const words = [ - "test", - "testing", - "budi", - "mail", - "age", - "risk", - "load", - "uno", - "arm", - "leg", - "pen", - "glass", - "box", - "chicken", - "bottle", -] - -if (!APP_ID) { - console.error("Must supply app ID as first CLI option!") - process.exit(-1) -} - -const WORD_1 = words[Math.floor(Math.random() * words.length)] -const WORD_2 = words[Math.floor(Math.random() * words.length)] -let HASHED_PASSWORD - -function generateUser(count) { - return { - _id: generateGlobalUserID(), - password: HASHED_PASSWORD, - email: `${WORD_1}${count}@${WORD_2}.com`, - roles: { - [getProdAppID(APP_ID)]: "BASIC", - }, - status: "active", - forceResetPassword: false, - firstName: "John", - lastName: "Smith", - } -} - -async function run() { - HASHED_PASSWORD = await hash(PASSWORD) - return doInTenant(TENANT_ID, async () => { - const db = getGlobalDB() - for (let i = 0; i < USER_LOAD_NUMBER; i += BATCH_SIZE) { - let userSavePromises = [] - for (let j = 0; j < BATCH_SIZE; j++) { - // like the public API - const ctx = publicApiUserFix({ - request: { - body: generateUser(i + j), - }, - }) - userSavePromises.push( - users.save(ctx.request.body, { - hashPassword: false, - requirePassword: true, - bulkCreate: true, - }) - ) - } - const allUsers = await Promise.all(userSavePromises) - await db.bulkDocs(allUsers) - console.log(`${i + BATCH_SIZE} users have been created.`) - } - }) -} - -run() - .then(() => { - console.log(`Generated ${USER_LOAD_NUMBER} users!`) - }) - .catch(err => { - console.error("Failed for reason: ", err) - process.exit(-1) - }) diff --git a/packages/worker/src/api/controllers/global/users.ts b/packages/worker/src/api/controllers/global/users.ts index 3938a6427a..97ee34b8f4 100644 --- a/packages/worker/src/api/controllers/global/users.ts +++ b/packages/worker/src/api/controllers/global/users.ts @@ -3,7 +3,7 @@ import { checkInviteCode } from "../../../utilities/redis" import { sendEmail } from "../../../utilities/email" import { users } from "../../../sdk" import env from "../../../environment" -import { CloudAccount, User } from "@budibase/types" +import { BulkDeleteUsersRequest, CloudAccount, User } from "@budibase/types" import { accounts, cache, @@ -138,17 +138,15 @@ export const destroy = async (ctx: any) => { } export const bulkDelete = async (ctx: any) => { - const { userIds } = ctx.request.body + const { userIds } = ctx.request.body as BulkDeleteUsersRequest if (userIds?.indexOf(ctx.user._id) !== -1) { ctx.throw(400, "Unable to delete self.") } try { - let usersResponse = await users.bulkDelete(userIds) + let response = await users.bulkDelete(userIds) - ctx.body = { - message: `${usersResponse.length} user(s) deleted`, - } + ctx.body = response } catch (err) { ctx.throw(err) } diff --git a/packages/worker/src/api/controllers/system/accounts.ts b/packages/worker/src/api/controllers/system/accounts.ts new file mode 100644 index 0000000000..5e72f35bab --- /dev/null +++ b/packages/worker/src/api/controllers/system/accounts.ts @@ -0,0 +1,21 @@ +import { Account, AccountMetadata } from "@budibase/types" +import { accounts } from "../../../sdk" + +export const save = async (ctx: any) => { + const account = ctx.request.body as Account + let metadata: AccountMetadata = { + _id: accounts.formatAccountMetadataId(account.accountId), + email: account.email, + } + + metadata = await accounts.saveMetadata(metadata) + + ctx.body = metadata + ctx.status = 200 +} + +export const destroy = async (ctx: any) => { + const accountId = accounts.formatAccountMetadataId(ctx.params.accountId) + await accounts.destroyMetadata(accountId) + ctx.status = 204 +} diff --git a/packages/worker/src/api/index.js b/packages/worker/src/api/index.ts similarity index 89% rename from packages/worker/src/api/index.js rename to packages/worker/src/api/index.ts index ca56e0c5d2..3acf0515d7 100644 --- a/packages/worker/src/api/index.js +++ b/packages/worker/src/api/index.ts @@ -1,15 +1,16 @@ -const Router = require("@koa/router") +import Router from "@koa/router" const compress = require("koa-compress") const zlib = require("zlib") -const { routes } = require("./routes") -const { +import { routes } from "./routes" +import { buildAuthMiddleware, auditLog, buildTenancyMiddleware, buildCsrfMiddleware, -} = require("@budibase/backend-core/auth") -const { middleware: pro } = require("@budibase/pro") -const { errors } = require("@budibase/backend-core") +} from "@budibase/backend-core/auth" +import { middleware as pro } from "@budibase/pro" +import { errors } from "@budibase/backend-core" +import { APIError } from "@budibase/types" const PUBLIC_ENDPOINTS = [ // old deprecated endpoints kept for backwards compat @@ -120,15 +121,16 @@ router router.use(async (ctx, next) => { try { await next() - } catch (err) { + } catch (err: any) { ctx.log.error(err) ctx.status = err.status || err.statusCode || 500 const error = errors.getPublicError(err) - ctx.body = { + const body: APIError = { message: err.message, status: ctx.status, error, } + ctx.body = body } }) diff --git a/packages/worker/src/api/routes/tests/auth.spec.js b/packages/worker/src/api/routes/global/tests/auth.spec.ts similarity index 51% rename from packages/worker/src/api/routes/tests/auth.spec.js rename to packages/worker/src/api/routes/global/tests/auth.spec.ts index 165ecd0f4a..69fa1b223c 100644 --- a/packages/worker/src/api/routes/tests/auth.spec.js +++ b/packages/worker/src/api/routes/global/tests/auth.spec.ts @@ -1,11 +1,11 @@ jest.mock("nodemailer") -const { config, request, mocks, structures } = require("../../../tests") +import { TestConfiguration, mocks, API } from "../../../../tests" const sendMailMock = mocks.email.mock() -const { events } = require("@budibase/backend-core") - -const TENANT_ID = structures.TENANT_ID +import { events } from "@budibase/backend-core" describe("/api/global/auth", () => { + const config = new TestConfiguration() + const api = new API(config) beforeAll(async () => { await config.beforeAll() @@ -19,56 +19,32 @@ describe("/api/global/auth", () => { jest.clearAllMocks() }) - const requestPasswordReset = async () => { - await config.saveSmtpConfig() - await config.saveSettingsConfig() - await config.createUser() - const res = await request - .post(`/api/global/auth/${TENANT_ID}/reset`) - .send({ - email: "test@test.com", - }) - .expect("Content-Type", /json/) - .expect(200) - const emailCall = sendMailMock.mock.calls[0][0] - const parts = emailCall.html.split(`http://localhost:10000/builder/auth/reset?code=`) - const code = parts[1].split("\"")[0].split("&")[0] - return { code, res } - } - it("should logout", async () => { - await request - .post("/api/global/auth/logout") - .set(config.defaultHeaders()) - .expect(200) + await api.auth.logout() expect(events.auth.logout).toBeCalledTimes(1) }) it("should be able to generate password reset email", async () => { - const { res, code } = await requestPasswordReset() + const { res, code } = await api.auth.requestPasswordReset(sendMailMock) const user = await config.getUser("test@test.com") - expect(res.body).toEqual({ message: "Please check your email for a reset link." }) + expect(res.body).toEqual({ + message: "Please check your email for a reset link.", + }) expect(sendMailMock).toHaveBeenCalled() - + expect(code).toBeDefined() expect(events.user.passwordResetRequested).toBeCalledTimes(1) expect(events.user.passwordResetRequested).toBeCalledWith(user) }) it("should allow resetting user password with code", async () => { - const { code } = await requestPasswordReset() + const { code } = await api.auth.requestPasswordReset(sendMailMock) const user = await config.getUser("test@test.com") - delete user.password + delete user.password + + const res = await api.auth.updatePassword(code) - const res = await request - .post(`/api/global/auth/${TENANT_ID}/reset/update`) - .send({ - password: "newpassword", - resetCode: code, - }) - .expect("Content-Type", /json/) - .expect(200) expect(res.body).toEqual({ message: "password reset successfully." }) expect(events.user.passwordReset).toBeCalledTimes(1) expect(events.user.passwordReset).toBeCalledWith(user) @@ -79,15 +55,15 @@ describe("/api/global/auth", () => { const passportSpy = jest.spyOn(auth.passport, "authenticate") let oidcConf - let chosenConfig - let configId + let chosenConfig: any + let configId: string // mock the oidc strategy implementation and return value let strategyFactory = jest.fn() let mockStrategyReturn = jest.fn() let mockStrategyConfig = jest.fn() auth.oidc.fetchStrategyConfig = mockStrategyConfig - + strategyFactory.mockReturnValue(mockStrategyReturn) auth.oidc.strategyFactory = strategyFactory @@ -99,34 +75,34 @@ describe("/api/global/auth", () => { }) afterEach(() => { - expect(strategyFactory).toBeCalledWith( - chosenConfig, - expect.any(Function) - ) + expect(strategyFactory).toBeCalledWith(chosenConfig, expect.any(Function)) }) describe("oidc configs", () => { it("should load strategy and delegate to passport", async () => { - await request.get(`/api/global/auth/${TENANT_ID}/oidc/configs/${configId}`) + await api.configs.getOIDCConfig(configId) expect(passportSpy).toBeCalledWith(mockStrategyReturn, { - scope: ["profile", "email", "offline_access"] + scope: ["profile", "email", "offline_access"], }) - expect(passportSpy.mock.calls.length).toBe(1); + expect(passportSpy.mock.calls.length).toBe(1) }) }) describe("oidc callback", () => { it("should load strategy and delegate to passport", async () => { - await request.get(`/api/global/auth/${TENANT_ID}/oidc/callback`) - .set(config.getOIDConfigCookie(configId)) - - expect(passportSpy).toBeCalledWith(mockStrategyReturn, { - successRedirect: "/", failureRedirect: "/error" - }, expect.anything()) - expect(passportSpy.mock.calls.length).toBe(1); + await api.configs.OIDCCallback(configId) + + expect(passportSpy).toBeCalledWith( + mockStrategyReturn, + { + successRedirect: "/", + failureRedirect: "/error", + }, + expect.anything() + ) + expect(passportSpy.mock.calls.length).toBe(1) }) }) - }) }) diff --git a/packages/worker/src/api/routes/tests/configs.spec.js b/packages/worker/src/api/routes/global/tests/configs.spec.ts similarity index 72% rename from packages/worker/src/api/routes/tests/configs.spec.js rename to packages/worker/src/api/routes/global/tests/configs.spec.ts index b2dc8124da..31510c03dd 100644 --- a/packages/worker/src/api/routes/tests/configs.spec.js +++ b/packages/worker/src/api/routes/global/tests/configs.spec.ts @@ -1,11 +1,12 @@ // mock the email system jest.mock("nodemailer") -const { config, structures, mocks, request } = require("../../../tests") +import { TestConfiguration, structures, mocks, API } from "../../../../tests" mocks.email.mock() -const { Configs } = require("@budibase/backend-core/constants") -const { events } = require("@budibase/backend-core") +import { Configs, events } from "@budibase/backend-core" describe("configs", () => { + const config = new TestConfiguration() + const api = new API(config) beforeAll(async () => { await config.beforeAll() @@ -20,35 +21,33 @@ describe("configs", () => { }) describe("post /api/global/configs", () => { - - const saveConfig = async (conf, _id, _rev) => { + const saveConfig = async (conf: any, _id?: string, _rev?: string) => { const data = { ...conf, _id, - _rev + _rev, } - const res = await request - .post(`/api/global/configs`) - .send(data) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) + const res = await api.configs.saveConfig(data) return { ...data, - ...res.body + ...res.body, } } describe("google", () => { - const saveGoogleConfig = async (conf, _id, _rev) => { + const saveGoogleConfig = async ( + conf?: any, + _id?: string, + _rev?: string + ) => { const googleConfig = structures.configs.google(conf) return saveConfig(googleConfig, _id, _rev) } - + describe("create", () => { - it ("should create activated google config", async () => { + it("should create activated google config", async () => { await saveGoogleConfig() expect(events.auth.SSOCreated).toBeCalledTimes(1) expect(events.auth.SSOCreated).toBeCalledWith(Configs.GOOGLE) @@ -58,7 +57,7 @@ describe("configs", () => { await config.deleteConfig(Configs.GOOGLE) }) - it ("should create deactivated google config", async () => { + it("should create deactivated google config", async () => { await saveGoogleConfig({ activated: false }) expect(events.auth.SSOCreated).toBeCalledTimes(1) expect(events.auth.SSOCreated).toBeCalledWith(Configs.GOOGLE) @@ -69,10 +68,14 @@ describe("configs", () => { }) describe("update", () => { - it ("should update google config to deactivated", async () => { + it("should update google config to deactivated", async () => { const googleConf = await saveGoogleConfig() jest.clearAllMocks() - await saveGoogleConfig({ ...googleConf.config, activated: false }, googleConf._id, googleConf._rev) + await saveGoogleConfig( + { ...googleConf.config, activated: false }, + googleConf._id, + googleConf._rev + ) expect(events.auth.SSOUpdated).toBeCalledTimes(1) expect(events.auth.SSOUpdated).toBeCalledWith(Configs.GOOGLE) expect(events.auth.SSOActivated).not.toBeCalled() @@ -81,10 +84,14 @@ describe("configs", () => { await config.deleteConfig(Configs.GOOGLE) }) - it ("should update google config to activated", async () => { + it("should update google config to activated", async () => { const googleConf = await saveGoogleConfig({ activated: false }) jest.clearAllMocks() - await saveGoogleConfig({ ...googleConf.config, activated: true}, googleConf._id, googleConf._rev) + await saveGoogleConfig( + { ...googleConf.config, activated: true }, + googleConf._id, + googleConf._rev + ) expect(events.auth.SSOUpdated).toBeCalledTimes(1) expect(events.auth.SSOUpdated).toBeCalledWith(Configs.GOOGLE) expect(events.auth.SSODeactivated).not.toBeCalled() @@ -92,17 +99,21 @@ describe("configs", () => { expect(events.auth.SSOActivated).toBeCalledWith(Configs.GOOGLE) await config.deleteConfig(Configs.GOOGLE) }) - }) + }) }) describe("oidc", () => { - const saveOIDCConfig = async (conf, _id, _rev) => { + const saveOIDCConfig = async ( + conf?: any, + _id?: string, + _rev?: string + ) => { const oidcConfig = structures.configs.oidc(conf) return saveConfig(oidcConfig, _id, _rev) } describe("create", () => { - it ("should create activated OIDC config", async () => { + it("should create activated OIDC config", async () => { await saveOIDCConfig() expect(events.auth.SSOCreated).toBeCalledTimes(1) expect(events.auth.SSOCreated).toBeCalledWith(Configs.OIDC) @@ -112,7 +123,7 @@ describe("configs", () => { await config.deleteConfig(Configs.OIDC) }) - it ("should create deactivated OIDC config", async () => { + it("should create deactivated OIDC config", async () => { await saveOIDCConfig({ activated: false }) expect(events.auth.SSOCreated).toBeCalledTimes(1) expect(events.auth.SSOCreated).toBeCalledWith(Configs.OIDC) @@ -123,10 +134,14 @@ describe("configs", () => { }) describe("update", () => { - it ("should update OIDC config to deactivated", async () => { + it("should update OIDC config to deactivated", async () => { const oidcConf = await saveOIDCConfig() jest.clearAllMocks() - await saveOIDCConfig({ ...oidcConf.config.configs[0], activated: false }, oidcConf._id, oidcConf._rev) + await saveOIDCConfig( + { ...oidcConf.config.configs[0], activated: false }, + oidcConf._id, + oidcConf._rev + ) expect(events.auth.SSOUpdated).toBeCalledTimes(1) expect(events.auth.SSOUpdated).toBeCalledWith(Configs.OIDC) expect(events.auth.SSOActivated).not.toBeCalled() @@ -135,10 +150,14 @@ describe("configs", () => { await config.deleteConfig(Configs.OIDC) }) - it ("should update OIDC config to activated", async () => { + it("should update OIDC config to activated", async () => { const oidcConf = await saveOIDCConfig({ activated: false }) jest.clearAllMocks() - await saveOIDCConfig({ ...oidcConf.config.configs[0], activated: true}, oidcConf._id, oidcConf._rev) + await saveOIDCConfig( + { ...oidcConf.config.configs[0], activated: true }, + oidcConf._id, + oidcConf._rev + ) expect(events.auth.SSOUpdated).toBeCalledTimes(1) expect(events.auth.SSOUpdated).toBeCalledWith(Configs.OIDC) expect(events.auth.SSODeactivated).not.toBeCalled() @@ -147,17 +166,20 @@ describe("configs", () => { await config.deleteConfig(Configs.OIDC) }) }) - }) describe("smtp", () => { - const saveSMTPConfig = async (conf, _id, _rev) => { + const saveSMTPConfig = async ( + conf?: any, + _id?: string, + _rev?: string + ) => { const smtpConfig = structures.configs.smtp(conf) return saveConfig(smtpConfig, _id, _rev) } describe("create", () => { - it ("should create SMTP config", async () => { + it("should create SMTP config", async () => { await config.deleteConfig(Configs.SMTP) await saveSMTPConfig() expect(events.email.SMTPUpdated).not.toBeCalled() @@ -167,7 +189,7 @@ describe("configs", () => { }) describe("update", () => { - it ("should update SMTP config", async () => { + it("should update SMTP config", async () => { const smtpConf = await saveSMTPConfig() jest.clearAllMocks() await saveSMTPConfig(smtpConf.config, smtpConf._id, smtpConf._rev) @@ -179,15 +201,19 @@ describe("configs", () => { }) describe("settings", () => { - const saveSettingsConfig = async (conf, _id, _rev) => { + const saveSettingsConfig = async ( + conf?: any, + _id?: string, + _rev?: string + ) => { const settingsConfig = structures.configs.settings(conf) return saveConfig(settingsConfig, _id, _rev) } describe("create", () => { - it ("should create settings config with default settings", async () => { + it("should create settings config with default settings", async () => { await config.deleteConfig(Configs.SETTINGS) - + await saveSettingsConfig() expect(events.org.nameUpdated).not.toBeCalled() @@ -195,35 +221,43 @@ describe("configs", () => { expect(events.org.platformURLUpdated).not.toBeCalled() }) - it ("should create settings config with non-default settings", async () => { + it("should create settings config with non-default settings", async () => { + config.modeSelf() await config.deleteConfig(Configs.SETTINGS) const conf = { company: "acme", logoUrl: "http://example.com", - platformUrl: "http://example.com" + platformUrl: "http://example.com", } await saveSettingsConfig(conf) - + expect(events.org.nameUpdated).toBeCalledTimes(1) expect(events.org.logoUpdated).toBeCalledTimes(1) expect(events.org.platformURLUpdated).toBeCalledTimes(1) + config.modeAccount() }) }) describe("update", () => { - it ("should update settings config", async () => { + it("should update settings config", async () => { + config.modeSelf() await config.deleteConfig(Configs.SETTINGS) const settingsConfig = await saveSettingsConfig() settingsConfig.config.company = "acme" settingsConfig.config.logoUrl = "http://example.com" settingsConfig.config.platformUrl = "http://example.com" - await saveSettingsConfig(settingsConfig.config, settingsConfig._id, settingsConfig._rev) + await saveSettingsConfig( + settingsConfig.config, + settingsConfig._id, + settingsConfig._rev + ) expect(events.org.nameUpdated).toBeCalledTimes(1) expect(events.org.logoUpdated).toBeCalledTimes(1) expect(events.org.platformURLUpdated).toBeCalledTimes(1) + config.modeAccount() }) }) }) @@ -232,12 +266,7 @@ describe("configs", () => { it("should return the correct checklist status based on the state of the budibase installation", async () => { await config.saveSmtpConfig() - const res = await request - .get(`/api/global/configs/checklist`) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - + const res = await api.configs.getConfigChecklist() const checklist = res.body expect(checklist.apps.checked).toBeFalsy() diff --git a/packages/worker/src/api/routes/tests/email.spec.js b/packages/worker/src/api/routes/global/tests/email.spec.ts similarity index 58% rename from packages/worker/src/api/routes/tests/email.spec.js rename to packages/worker/src/api/routes/global/tests/email.spec.ts index e90d953880..608f4094f8 100644 --- a/packages/worker/src/api/routes/tests/email.spec.js +++ b/packages/worker/src/api/routes/global/tests/email.spec.ts @@ -1,12 +1,11 @@ jest.mock("nodemailer") -const { config, mocks, structures, request } = require("../../../tests") +import { TestConfiguration, mocks, API } from "../../../../tests" const sendMailMock = mocks.email.mock() - -const { EmailTemplatePurpose } = require("../../../constants") - -const TENANT_ID = structures.TENANT_ID +import { EmailTemplatePurpose } from "../../../../constants" describe("/api/global/email", () => { + const config = new TestConfiguration() + const api = new API(config) beforeAll(async () => { await config.beforeAll() @@ -20,16 +19,9 @@ describe("/api/global/email", () => { // initially configure settings await config.saveSmtpConfig() await config.saveSettingsConfig() - const res = await request - .post(`/api/global/email/send`) - .send({ - email: "test@test.com", - purpose: EmailTemplatePurpose.INVITATION, - tenantId: TENANT_ID, - }) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) + + const res = await api.emails.sendEmail(EmailTemplatePurpose.INVITATION) + expect(res.body.message).toBeDefined() expect(sendMailMock).toHaveBeenCalled() const emailCall = sendMailMock.mock.calls[0][0] diff --git a/packages/worker/src/api/routes/tests/realEmail.spec.js b/packages/worker/src/api/routes/global/tests/realEmail.spec.ts similarity index 75% rename from packages/worker/src/api/routes/tests/realEmail.spec.js rename to packages/worker/src/api/routes/global/tests/realEmail.spec.ts index 548c6ee59e..135367e0d8 100644 --- a/packages/worker/src/api/routes/tests/realEmail.spec.js +++ b/packages/worker/src/api/routes/global/tests/realEmail.spec.ts @@ -1,5 +1,5 @@ -const { config, request } = require("../../../tests") -const { EmailTemplatePurpose } = require("../../../constants") +import { TestConfiguration, API } from "../../../../tests" +import { EmailTemplatePurpose } from "../../../../constants" const nodemailer = require("nodemailer") const fetch = require("node-fetch") @@ -7,6 +7,8 @@ const fetch = require("node-fetch") jest.setTimeout(30000) describe("/api/global/email", () => { + const config = new TestConfiguration() + const api = new API(config) beforeAll(async () => { await config.beforeAll() @@ -16,27 +18,24 @@ describe("/api/global/email", () => { await config.afterAll() }) - async function sendRealEmail(purpose) { + async function sendRealEmail(purpose: string) { let response, text try { - const timeout = () => new Promise((resolve, reject) => - setTimeout(() => reject({ - status: 301, - errno: "ETIME" - }), 20000) - ) + const timeout = () => + new Promise((resolve, reject) => + setTimeout( + () => + reject({ + status: 301, + errno: "ETIME", + }), + 20000 + ) + ) await Promise.race([config.saveEtherealSmtpConfig(), timeout()]) await Promise.race([config.saveSettingsConfig(), timeout()]) - const user = await config.getUser("test@test.com") - const res = await request - .post(`/api/global/email/send`) - .send({ - email: "test@test.com", - purpose, - userId: user._id, - }) - .set(config.defaultHeaders()) - .timeout(20000) + + const res = await api.emails.sendEmail(purpose).timeout(20000) // ethereal hiccup, can't test right now if (res.status >= 300) { return @@ -47,7 +46,7 @@ describe("/api/global/email", () => { expect(testUrl).toBeDefined() response = await fetch(testUrl) text = await response.text() - } catch (err) { + } catch (err: any) { // ethereal hiccup, can't test right now if (parseInt(err.status) >= 300 || (err && err.errno === "ETIME")) { return @@ -81,4 +80,4 @@ describe("/api/global/email", () => { it("should be able to send a password recovery email", async () => { await sendRealEmail(EmailTemplatePurpose.PASSWORD_RECOVERY) }) -}) \ No newline at end of file +}) diff --git a/packages/worker/src/api/routes/tests/self.spec.js b/packages/worker/src/api/routes/global/tests/self.spec.ts similarity index 67% rename from packages/worker/src/api/routes/tests/self.spec.js rename to packages/worker/src/api/routes/global/tests/self.spec.ts index 64fce5ae1d..b3c91a9306 100644 --- a/packages/worker/src/api/routes/tests/self.spec.js +++ b/packages/worker/src/api/routes/global/tests/self.spec.ts @@ -1,8 +1,10 @@ jest.mock("nodemailer") -const { config, request } = require("../../../tests") -const { events } = require("@budibase/backend-core") +import { TestConfiguration, API } from "../../../../tests" +import { events } from "@budibase/backend-core" describe("/api/global/self", () => { + const config = new TestConfiguration() + const api = new API(config) beforeAll(async () => { await config.beforeAll() @@ -16,23 +18,13 @@ describe("/api/global/self", () => { jest.clearAllMocks() }) - const updateSelf = async (user) => { - const res = await request - .post(`/api/global/self`) - .send(user) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res - } - describe("update", () => { - it("should update self", async () => { const user = await config.createUser() + await config.createSession(user) delete user.password - const res = await updateSelf(user) + const res = await api.self.updateSelf(user) expect(res.body._id).toBe(user._id) expect(events.user.updated).toBeCalledTimes(1) @@ -42,10 +34,10 @@ describe("/api/global/self", () => { it("should update password", async () => { const user = await config.createUser() - const password = "newPassword" - user.password = password + await config.createSession(user) - const res = await updateSelf(user) + user.password = "newPassword" + const res = await api.self.updateSelf(user) delete user.password expect(res.body._id).toBe(user._id) @@ -55,4 +47,4 @@ describe("/api/global/self", () => { expect(events.user.passwordUpdated).toBeCalledWith(user) }) }) -}) \ No newline at end of file +}) diff --git a/packages/worker/src/api/routes/global/tests/users.spec.ts b/packages/worker/src/api/routes/global/tests/users.spec.ts new file mode 100644 index 0000000000..a89a843443 --- /dev/null +++ b/packages/worker/src/api/routes/global/tests/users.spec.ts @@ -0,0 +1,470 @@ +jest.mock("nodemailer") +import { + TestConfiguration, + mocks, + structures, + TENANT_1, + API, +} from "../../../../tests" +const sendMailMock = mocks.email.mock() +import { events, tenancy } from "@budibase/backend-core" + +describe("/api/global/users", () => { + const config = new TestConfiguration() + const api = new API(config) + + beforeAll(async () => { + await config.beforeAll() + }) + + afterAll(async () => { + await config.afterAll() + }) + + beforeEach(() => { + jest.clearAllMocks() + }) + + describe("invite", () => { + it("should be able to generate an invitation", async () => { + const { code, res } = await api.users.sendUserInvite(sendMailMock) + + expect(res.body).toEqual({ message: "Invitation has been sent." }) + expect(sendMailMock).toHaveBeenCalled() + expect(code).toBeDefined() + expect(events.user.invited).toBeCalledTimes(1) + }) + + it("should be able to create new user from invite", async () => { + const { code } = await api.users.sendUserInvite(sendMailMock) + + const res = await api.users.acceptInvite(code) + + expect(res.body._id).toBeDefined() + const user = await config.getUser("invite@test.com") + expect(user).toBeDefined() + expect(user._id).toEqual(res.body._id) + expect(events.user.inviteAccepted).toBeCalledTimes(1) + expect(events.user.inviteAccepted).toBeCalledWith(user) + }) + }) + + describe("bulkCreate", () => { + it("should ignore users existing in the same tenant", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + const response = await api.users.bulkCreateUsers([user]) + + expect(response.successful.length).toBe(0) + expect(response.unsuccessful.length).toBe(1) + expect(response.unsuccessful[0].email).toBe(user.email) + expect(events.user.created).toBeCalledTimes(0) + }) + + it("should ignore users existing in other tenants", async () => { + const user = await config.createUser() + jest.resetAllMocks() + + await tenancy.doInTenant(TENANT_1, async () => { + const response = await api.users.bulkCreateUsers([user]) + + expect(response.successful.length).toBe(0) + expect(response.unsuccessful.length).toBe(1) + expect(response.unsuccessful[0].email).toBe(user.email) + expect(events.user.created).toBeCalledTimes(0) + }) + }) + + it("should ignore accounts using the same email", async () => { + const account = structures.accounts.account() + const resp = await api.accounts.saveMetadata(account) + const user = structures.users.user({ email: resp.email }) + jest.clearAllMocks() + + const response = await api.users.bulkCreateUsers([user]) + + expect(response.successful.length).toBe(0) + expect(response.unsuccessful.length).toBe(1) + expect(response.unsuccessful[0].email).toBe(user.email) + expect(events.user.created).toBeCalledTimes(0) + }) + + it("should be able to bulkCreate users", async () => { + const builder = structures.users.builderUser() + const admin = structures.users.adminUser() + const user = structures.users.user() + + const response = await api.users.bulkCreateUsers([builder, admin, user]) + + expect(response.successful.length).toBe(3) + expect(response.successful[0].email).toBe(builder.email) + expect(response.successful[1].email).toBe(admin.email) + expect(response.successful[2].email).toBe(user.email) + expect(response.unsuccessful.length).toBe(0) + expect(events.user.created).toBeCalledTimes(3) + expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(2) + }) + }) + + describe("create", () => { + it("should be able to create a basic user", async () => { + const user = structures.users.user() + + await api.users.saveUser(user) + + expect(events.user.created).toBeCalledTimes(1) + expect(events.user.updated).not.toBeCalled() + expect(events.user.permissionBuilderAssigned).not.toBeCalled() + expect(events.user.permissionAdminAssigned).not.toBeCalled() + }) + + it("should be able to create an admin user", async () => { + const user = structures.users.adminUser() + + await api.users.saveUser(user) + + expect(events.user.created).toBeCalledTimes(1) + expect(events.user.updated).not.toBeCalled() + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) + expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) + }) + + it("should be able to create a builder user", async () => { + const user = structures.users.builderUser() + + await api.users.saveUser(user) + + expect(events.user.created).toBeCalledTimes(1) + expect(events.user.updated).not.toBeCalled() + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) + expect(events.user.permissionAdminAssigned).not.toBeCalled() + }) + + it("should be able to assign app roles", async () => { + const user = structures.users.user() + user.roles = { + app_123: "role1", + app_456: "role2", + } + + await api.users.saveUser(user) + + const savedUser = await config.getUser(user.email) + expect(events.user.created).toBeCalledTimes(1) + expect(events.user.updated).not.toBeCalled() + expect(events.role.assigned).toBeCalledTimes(2) + expect(events.role.assigned).toBeCalledWith(savedUser, "role1") + expect(events.role.assigned).toBeCalledWith(savedUser, "role2") + }) + + it("should not be able to create user that exists in same tenant", async () => { + const user = await config.createUser() + jest.clearAllMocks() + delete user._id + delete user._rev + + const response = await api.users.saveUser(user, 400) + + expect(response.body.message).toBe( + `Email address ${user.email} already in use.` + ) + expect(events.user.created).toBeCalledTimes(0) + }) + + it("should not be able to create user that exists in other tenant", async () => { + const user = await config.createUser() + jest.resetAllMocks() + + await tenancy.doInTenant(TENANT_1, async () => { + delete user._id + const response = await api.users.saveUser(user, 400) + + expect(response.body.message).toBe( + `Email address ${user.email} already in use.` + ) + expect(events.user.created).toBeCalledTimes(0) + }) + }) + + it("should not be able to create user with the same email as an account", async () => { + const user = structures.users.user() + const account = structures.accounts.cloudAccount() + mocks.accounts.getAccount.mockReturnValueOnce(account) + + const response = await api.users.saveUser(user, 400) + + expect(response.body.message).toBe( + `Email address ${user.email} already in use.` + ) + expect(events.user.created).toBeCalledTimes(0) + }) + }) + + describe("update", () => { + it("should be able to update a basic user", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + await api.users.saveUser(user) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).not.toBeCalled() + expect(events.user.permissionAdminAssigned).not.toBeCalled() + expect(events.user.passwordForceReset).not.toBeCalled() + }) + + it("should be able to force reset password", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + user.forceResetPassword = true + user.password = "tempPassword" + await api.users.saveUser(user) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).not.toBeCalled() + expect(events.user.permissionAdminAssigned).not.toBeCalled() + expect(events.user.passwordForceReset).toBeCalledTimes(1) + }) + + it("should be able to update a basic user to an admin user", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + await api.users.saveUser(structures.users.adminUser(user)) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) + expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) + }) + + it("should be able to update a basic user to a builder user", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + await api.users.saveUser(structures.users.builderUser(user)) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) + expect(events.user.permissionAdminAssigned).not.toBeCalled() + }) + + it("should be able to update an admin user to a basic user", async () => { + const user = await config.createUser(structures.users.adminUser()) + jest.clearAllMocks() + user.admin!.global = false + user.builder!.global = false + + await api.users.saveUser(user) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + }) + + it("should be able to update an builder user to a basic user", async () => { + const user = await config.createUser(structures.users.builderUser()) + jest.clearAllMocks() + user.builder!.global = false + + await api.users.saveUser(user) + + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + expect(events.user.permissionAdminRemoved).not.toBeCalled() + }) + + it("should be able to assign app roles", async () => { + const user = await config.createUser() + jest.clearAllMocks() + user.roles = { + app_123: "role1", + app_456: "role2", + } + + await api.users.saveUser(user) + + const savedUser = await config.getUser(user.email) + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.role.assigned).toBeCalledTimes(2) + expect(events.role.assigned).toBeCalledWith(savedUser, "role1") + expect(events.role.assigned).toBeCalledWith(savedUser, "role2") + }) + + it("should be able to unassign app roles", async () => { + let user = structures.users.user() + user.roles = { + app_123: "role1", + app_456: "role2", + } + user = await config.createUser(user) + jest.clearAllMocks() + user.roles = {} + + await api.users.saveUser(user) + + const savedUser = await config.getUser(user.email) + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.role.unassigned).toBeCalledTimes(2) + expect(events.role.unassigned).toBeCalledWith(savedUser, "role1") + expect(events.role.unassigned).toBeCalledWith(savedUser, "role2") + }) + + it("should be able to update existing app roles", async () => { + let user = structures.users.user() + user.roles = { + app_123: "role1", + app_456: "role2", + } + user = await config.createUser(user) + jest.clearAllMocks() + user.roles = { + app_123: "role1", + app_456: "role2-edit", + } + + await api.users.saveUser(user) + + const savedUser = await config.getUser(user.email) + expect(events.user.created).not.toBeCalled() + expect(events.user.updated).toBeCalledTimes(1) + expect(events.role.unassigned).toBeCalledTimes(1) + expect(events.role.unassigned).toBeCalledWith(savedUser, "role2") + expect(events.role.assigned).toBeCalledTimes(1) + expect(events.role.assigned).toBeCalledWith(savedUser, "role2-edit") + }) + + it("should not be able to update email address", async () => { + const email = "email@test.com" + const user = await config.createUser(structures.users.user({ email })) + user.email = "new@test.com" + + const response = await api.users.saveUser(user, 400) + + const dbUser = await config.getUser(email) + user.email = email + expect(user).toStrictEqual(dbUser) + expect(response.body.message).toBe("Email address cannot be changed") + }) + }) + + describe("bulkDelete", () => { + it("should not be able to bulkDelete current user", async () => { + const user = await config.defaultUser! + const request = { userIds: [user._id!] } + + const response = await api.users.bulkDeleteUsers(request, 400) + + expect(response.body.message).toBe("Unable to delete self.") + expect(events.user.deleted).not.toBeCalled() + }) + + it("should not be able to bulkDelete account owner", async () => { + const user = await config.createUser() + const account = structures.accounts.cloudAccount() + account.budibaseUserId = user._id! + mocks.accounts.getAccountByTenantId.mockReturnValue(account) + + const request = { userIds: [user._id!] } + + const response = await api.users.bulkDeleteUsers(request) + + expect(response.body.successful.length).toBe(0) + expect(response.body.unsuccessful.length).toBe(1) + expect(response.body.unsuccessful[0].reason).toBe( + "Account holder cannot be deleted" + ) + expect(response.body.unsuccessful[0]._id).toBe(user._id) + expect(events.user.deleted).not.toBeCalled() + }) + + it("should be able to bulk delete users", async () => { + const account = structures.accounts.cloudAccount() + mocks.accounts.getAccountByTenantId.mockReturnValue(account) + + const builder = structures.users.builderUser() + const admin = structures.users.adminUser() + const user = structures.users.user() + const createdUsers = await api.users.bulkCreateUsers([ + builder, + admin, + user, + ]) + const request = { userIds: createdUsers.successful.map(u => u._id!) } + + const response = await api.users.bulkDeleteUsers(request) + + expect(response.body.successful.length).toBe(3) + expect(response.body.unsuccessful.length).toBe(0) + expect(events.user.deleted).toBeCalledTimes(3) + expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(2) + }) + }) + + describe("destroy", () => { + it("should be able to destroy a basic user", async () => { + const user = await config.createUser() + jest.clearAllMocks() + + await api.users.deleteUser(user._id!) + + expect(events.user.deleted).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).not.toBeCalled() + expect(events.user.permissionAdminRemoved).not.toBeCalled() + }) + + it("should be able to destroy an admin user", async () => { + const user = await config.createUser(structures.users.adminUser()) + jest.clearAllMocks() + + await api.users.deleteUser(user._id!) + + expect(events.user.deleted).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) + }) + + it("should be able to destroy a builder user", async () => { + const user = await config.createUser(structures.users.builderUser()) + jest.clearAllMocks() + + await api.users.deleteUser(user._id!) + + expect(events.user.deleted).toBeCalledTimes(1) + expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) + expect(events.user.permissionAdminRemoved).not.toBeCalled() + }) + + it("should not be able to destroy account owner", async () => { + const user = await config.createUser() + const account = structures.accounts.cloudAccount() + mocks.accounts.getAccount.mockReturnValueOnce(account) + + const response = await api.users.deleteUser(user._id!, 400) + + expect(response.body.message).toBe("Account holder cannot be deleted") + }) + + it("should not be able to destroy account owner as account owner", async () => { + const user = await config.defaultUser! + const account = structures.accounts.cloudAccount() + account.email = user.email + mocks.accounts.getAccount.mockReturnValueOnce(account) + + const response = await api.users.deleteUser(user._id!, 400) + + expect(response.body.message).toBe("Unable to delete self.") + }) + }) +}) diff --git a/packages/worker/src/api/routes/index.js b/packages/worker/src/api/routes/index.js index 550d14a9a3..7f5c783caa 100644 --- a/packages/worker/src/api/routes/index.js +++ b/packages/worker/src/api/routes/index.js @@ -12,6 +12,7 @@ const statusRoutes = require("./system/status") const selfRoutes = require("./global/self") const licenseRoutes = require("./global/license") const migrationRoutes = require("./system/migrations") +const accountRoutes = require("./system/accounts") let userGroupRoutes = api.groups exports.routes = [ @@ -29,4 +30,5 @@ exports.routes = [ licenseRoutes, userGroupRoutes, migrationRoutes, + accountRoutes, ] diff --git a/packages/worker/src/api/routes/system/accounts.ts b/packages/worker/src/api/routes/system/accounts.ts new file mode 100644 index 0000000000..61a46ae437 --- /dev/null +++ b/packages/worker/src/api/routes/system/accounts.ts @@ -0,0 +1,19 @@ +import Router from "@koa/router" +import * as controller from "../../controllers/system/accounts" +import { middleware } from "@budibase/backend-core" + +const router = new Router() + +router + .put( + "/api/system/accounts/:accountId/metadata", + middleware.internalApi, + controller.save + ) + .delete( + "/api/system/accounts/:accountId/metadata", + middleware.internalApi, + controller.destroy + ) + +export = router diff --git a/packages/worker/src/api/routes/system/tests/accounts.spec.ts b/packages/worker/src/api/routes/system/tests/accounts.spec.ts new file mode 100644 index 0000000000..b20b7a6472 --- /dev/null +++ b/packages/worker/src/api/routes/system/tests/accounts.spec.ts @@ -0,0 +1,57 @@ +import { accounts } from "../../../../sdk" +import { TestConfiguration, structures, API } from "../../../../tests" +import { v4 as uuid } from "uuid" + +describe("accounts", () => { + const config = new TestConfiguration() + const api = new API(config) + + beforeAll(async () => { + await config.beforeAll() + }) + + afterAll(async () => { + await config.afterAll() + }) + + beforeEach(() => { + jest.clearAllMocks() + }) + + describe("metadata", () => { + describe("saveMetadata", () => { + it("saves account metadata", async () => { + let account = structures.accounts.account() + + const response = await api.accounts.saveMetadata(account) + + const id = accounts.formatAccountMetadataId(account.accountId) + const metadata = await accounts.getMetadata(id) + expect(response).toStrictEqual(metadata) + }) + }) + + describe("destroyMetadata", () => { + it("destroys account metadata", async () => { + const account = structures.accounts.account() + await api.accounts.saveMetadata(account) + + await api.accounts.destroyMetadata(account.accountId) + + const deleted = await accounts.getMetadata(account.accountId) + expect(deleted).toBe(undefined) + }) + + it("destroys account metadata that does not exist", async () => { + const id = uuid() + + const response = await api.accounts.destroyMetadata(id) + + expect(response.status).toBe(404) + expect(response.body.message).toBe( + `id=${accounts.formatAccountMetadataId(id)} does not exist` + ) + }) + }) + }) +}) diff --git a/packages/worker/src/api/routes/tests/users.spec.ts b/packages/worker/src/api/routes/tests/users.spec.ts deleted file mode 100644 index c95a7a7c4d..0000000000 --- a/packages/worker/src/api/routes/tests/users.spec.ts +++ /dev/null @@ -1,424 +0,0 @@ -jest.mock("nodemailer") -import { config, request, mocks, structures } from "../../../tests" -const sendMailMock = mocks.email.mock() -import { events } from "@budibase/backend-core" -import { User, BulkCreateUsersRequest, BulkDeleteUsersRequest } from "@budibase/types" - -describe("/api/global/users", () => { - - beforeAll(async () => { - await config.beforeAll() - }) - - afterAll(async () => { - await config.afterAll() - }) - - beforeEach(() => { - jest.clearAllMocks() - }) - - const sendUserInvite = async () => { - await config.saveSmtpConfig() - await config.saveSettingsConfig() - const res = await request - .post(`/api/global/users/invite`) - .send({ - email: "invite@test.com", - }) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - - const emailCall = sendMailMock.mock.calls[0][0] - // after this URL there should be a code - const parts = emailCall.html.split("http://localhost:10000/builder/invite?code=") - const code = parts[1].split("\"")[0].split("&")[0] - return { code, res } - } - - describe("invite", () => { - it("should be able to generate an invitation", async () => { - const { code, res } = await sendUserInvite() - - expect(res.body).toEqual({ message: "Invitation has been sent." }) - expect(sendMailMock).toHaveBeenCalled() - expect(code).toBeDefined() - expect(events.user.invited).toBeCalledTimes(1) - }) - - it("should be able to create new user from invite", async () => { - const { code } = await sendUserInvite() - - const res = await request - .post(`/api/global/users/invite/accept`) - .send({ - password: "newpassword", - inviteCode: code, - }) - .expect("Content-Type", /json/) - .expect(200) - expect(res.body._id).toBeDefined() - const user = await config.getUser("invite@test.com") - expect(user).toBeDefined() - expect(user._id).toEqual(res.body._id) - expect(events.user.inviteAccepted).toBeCalledTimes(1) - expect(events.user.inviteAccepted).toBeCalledWith(user) - }) - }) - - const bulkCreateUsers = async (users: User[], groups: any[] = []) => { - const body: BulkCreateUsersRequest = { users, groups } - const res = await request - .post(`/api/global/users/bulkCreate`) - .send(body) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res.body - } - - describe("bulkCreate", () => { - - it("should ignore users existing in the same tenant", async () => { - await bulkCreateUsers(toCreate) - }) - - it("should ignore users existing in other tenants", async () => { - await bulkCreateUsers(toCreate) - }) - - it("should ignore accounts using the same email", async () => { - await bulkCreateUsers(toCreate) - }) - - it("should be able to bulkCreate users with different permissions", async () => { - const builder = structures.users.builderUser({ email: "bulkbasic@test.com" }) - const admin = structures.users.adminUser({ email: "bulkadmin@test.com" }) - const user = structures.users.user({ email: "bulkuser@test.com" }) - - await bulkCreateUsers([builder, admin, user]) - - expect(events.user.created).toBeCalledTimes(3) - expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) - }) - }) - - const createUser = async (user: User) => { - const existing = await config.getUser(user.email) - if (existing) { - await deleteUser(existing._id) - } - return saveUser(user) - } - - const updateUser = async (user: User) => { - const existing = await config.getUser(user.email) - user._id = existing._id - return saveUser(user) - } - - const saveUser = async (user: User) => { - const res = await request - .post(`/api/global/users`) - .send(user) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res.body - } - - const bulkDeleteUsers = async (users: User[]) => { - const body: BulkDeleteUsersRequest = { - userIds: users.map(u => u._id!) - } - const res = await request - .post(`/api/global/users/bulkDelete`) - .send(body) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res.body - } - - const deleteUser = async (email: string) => { - const user = await config.getUser(email) - if (user) { - await request - .delete(`/api/global/users/${user._id}`) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - } - } - - describe("create", () => { - it("should be able to create a basic user", async () => { - const user = structures.users.user({ email: "basic@test.com" }) - await createUser(user) - - expect(events.user.created).toBeCalledTimes(1) - expect(events.user.updated).not.toBeCalled() - expect(events.user.permissionBuilderAssigned).not.toBeCalled() - expect(events.user.permissionAdminAssigned).not.toBeCalled() - }) - - - it("should be able to create an admin user", async () => { - const user = structures.users.adminUser({ email: "admin@test.com" }) - await createUser(user) - - expect(events.user.created).toBeCalledTimes(1) - expect(events.user.updated).not.toBeCalled() - expect(events.user.permissionBuilderAssigned).not.toBeCalled() - expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) - }) - - it("should be able to create a builder user", async () => { - const user = structures.users.builderUser({ email: "builder@test.com" }) - await createUser(user) - - expect(events.user.created).toBeCalledTimes(1) - expect(events.user.updated).not.toBeCalled() - expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) - expect(events.user.permissionAdminAssigned).not.toBeCalled() - }) - - it("should be able to assign app roles", async () => { - const user = structures.users.user({ email: "assign-roles@test.com" }) - user.roles = { - "app_123": "role1", - "app_456": "role2", - } - - await createUser(user) - const savedUser = await config.getUser(user.email) - - expect(events.user.created).toBeCalledTimes(1) - expect(events.user.updated).not.toBeCalled() - expect(events.role.assigned).toBeCalledTimes(2) - expect(events.role.assigned).toBeCalledWith(savedUser, "role1") - expect(events.role.assigned).toBeCalledWith(savedUser, "role2") - }) - }) - - describe("update", () => { - it("should be able to update a basic user", async () => { - let user = structures.users.user({ email: "basic-update@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await updateUser(user) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).not.toBeCalled() - expect(events.user.permissionAdminAssigned).not.toBeCalled() - expect(events.user.passwordForceReset).not.toBeCalled() - }) - - it("should be able to force reset password", async () => { - let user = structures.users.user({ email: "basic-password-update@test.com" }) - await createUser(user) - jest.clearAllMocks() - - user.forceResetPassword = true - user.password = "tempPassword" - await updateUser(user) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).not.toBeCalled() - expect(events.user.permissionAdminAssigned).not.toBeCalled() - expect(events.user.passwordForceReset).toBeCalledTimes(1) - }) - - it("should be able to update a basic user to an admin user", async () => { - let user = structures.users.user({ email: "basic-update-admin@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await updateUser(structures.users.adminUser(user)) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).not.toBeCalled() - expect(events.user.permissionAdminAssigned).toBeCalledTimes(1) - }) - - it("should be able to update a basic user to a builder user", async () => { - const user = structures.users.user({ email: "basic-update-builder@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await updateUser(structures.users.builderUser(user)) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionBuilderAssigned).toBeCalledTimes(1) - expect(events.user.permissionAdminAssigned).not.toBeCalled() - }) - - it("should be able to update an admin user to a basic user", async () => { - const user = structures.users.adminUser({ email: "admin-update-basic@test.com" }) - await createUser(user) - jest.clearAllMocks() - - user.admin.global = false - await updateUser(user) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).not.toBeCalled() - }) - - it("should be able to update an builder user to a basic user", async () => { - const user = structures.users.builderUser({ email: "builder-update-basic@test.com" }) - await createUser(user) - jest.clearAllMocks() - - user.builder.global = false - await updateUser(user) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) - expect(events.user.permissionAdminRemoved).not.toBeCalled() - }) - - it("should be able to assign app roles", async () => { - const user = structures.users.user({ email: "assign-roles-update@test.com" }) - await createUser(user) - jest.clearAllMocks() - - user.roles = { - "app_123": "role1", - "app_456": "role2", - } - await updateUser(user) - const savedUser = await config.getUser(user.email) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.role.assigned).toBeCalledTimes(2) - expect(events.role.assigned).toBeCalledWith(savedUser, "role1") - expect(events.role.assigned).toBeCalledWith(savedUser, "role2") - }) - - it("should be able to unassign app roles", async () => { - const user = structures.users.user({ email: "unassign-roles@test.com" }) - user.roles = { - "app_123": "role1", - "app_456": "role2", - } - await createUser(user) - jest.clearAllMocks() - - user.roles = {} - await updateUser(user) - const savedUser = await config.getUser(user.email) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.role.unassigned).toBeCalledTimes(2) - expect(events.role.unassigned).toBeCalledWith(savedUser, "role1") - expect(events.role.unassigned).toBeCalledWith(savedUser, "role2") - }) - - it("should be able to update existing app roles", async () => { - const user = structures.users.user({ email: "update-roles@test.com" }) - user.roles = { - "app_123": "role1", - "app_456": "role2", - } - await createUser(user) - jest.clearAllMocks() - - user.roles = { - "app_123": "role1", - "app_456": "role2-edit", - } - await updateUser(user) - const savedUser = await config.getUser(user.email) - - expect(events.user.created).not.toBeCalled() - expect(events.user.updated).toBeCalledTimes(1) - expect(events.role.unassigned).toBeCalledTimes(1) - expect(events.role.unassigned).toBeCalledWith(savedUser, "role2") - expect(events.role.assigned).toBeCalledTimes(1) - expect(events.role.assigned).toBeCalledWith(savedUser, "role2-edit") - }) - }) - - describe("bulkDelete", () => { - - it("should not be able to bulkDelete account admin as admin", async () => { - - }) - - it("should not be able to bulkDelete account owner as account owner", async () => { - - }) - - it("should be able to bulk delete users with different permissions", async () => { - const builder = structures.users.builderUser({ email: "basic@test.com" }) - const admin = structures.users.adminUser({ email: "admin@test.com" }) - const user = structures.users.user({ email: "user@test.com" }) - - const createdUsers = await bulkCreateUsers([builder, admin, user]) - await bulkDeleteUsers(createdUsers) - expect(events.user.deleted).toBeCalledTimes(3) - expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) - }) - }) - - describe("destroy", () => { - it("should be able to destroy a basic user", async () => { - let user = structures.users.user({ email: "destroy@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await deleteUser(user.email) - - expect(events.user.deleted).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).not.toBeCalled() - expect(events.user.permissionAdminRemoved).not.toBeCalled() - }) - - it("should be able to destroy an admin user", async () => { - let user = structures.users.adminUser({ email: "destroy-admin@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await deleteUser(user.email) - - expect(events.user.deleted).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).not.toBeCalled() - expect(events.user.permissionAdminRemoved).toBeCalledTimes(1) - }) - - it("should be able to destroy a builder user", async () => { - let user = structures.users.builderUser({ email: "destroy-admin@test.com" }) - await createUser(user) - jest.clearAllMocks() - - await deleteUser(user.email) - - expect(events.user.deleted).toBeCalledTimes(1) - expect(events.user.permissionBuilderRemoved).toBeCalledTimes(1) - expect(events.user.permissionAdminRemoved).not.toBeCalled() - }) - - it("should not be able to destroy account admin as admin", async () => { - - }) - - it("should not be able to destroy account owner as account owner", async () => { - - }) - - }) -}) \ No newline at end of file diff --git a/packages/worker/src/environment.js b/packages/worker/src/environment.ts similarity index 88% rename from packages/worker/src/environment.js rename to packages/worker/src/environment.ts index bb45c1dd78..fd6749a0f7 100644 --- a/packages/worker/src/environment.js +++ b/packages/worker/src/environment.ts @@ -20,13 +20,13 @@ if (!LOADED && isDev() && !isTest()) { LOADED = true } -function parseIntSafe(number) { +function parseIntSafe(number: any) { if (number) { return parseInt(number) } } -module.exports = { +const env = { // auth MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY, MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY, @@ -47,7 +47,7 @@ module.exports = { CLUSTER_PORT: process.env.CLUSTER_PORT, // flags NODE_ENV: process.env.NODE_ENV, - SELF_HOSTED: !!parseInt(process.env.SELF_HOSTED), + SELF_HOSTED: !!parseInt(process.env.SELF_HOSTED || ""), LOG_LEVEL: process.env.LOG_LEVEL, MULTI_TENANCY: process.env.MULTI_TENANCY, DISABLE_ACCOUNT_PORTAL: process.env.DISABLE_ACCOUNT_PORTAL, @@ -62,7 +62,7 @@ module.exports = { // other CHECKLIST_CACHE_TTL: parseIntSafe(process.env.CHECKLIST_CACHE_TTL) || 3600, SESSION_UPDATE_PERIOD: process.env.SESSION_UPDATE_PERIOD, - _set(key, value) { + _set(key: any, value: any) { process.env[key] = value module.exports[key] = value }, @@ -74,16 +74,17 @@ module.exports = { } // if some var haven't been set, define them -if (!module.exports.APPS_URL) { - module.exports.APPS_URL = isDev() - ? "http://localhost:4001" - : "http://app-service:4002" +if (!env.APPS_URL) { + env.APPS_URL = isDev() ? "http://localhost:4001" : "http://app-service:4002" } // clean up any environment variable edge cases for (let [key, value] of Object.entries(module.exports)) { // handle the edge case of "0" to disable an environment variable if (value === "0") { - module.exports[key] = 0 + // @ts-ignore + env[key] = 0 } } + +export = env diff --git a/packages/worker/src/index.ts b/packages/worker/src/index.ts index 6fb954a1b5..7819fedeed 100644 --- a/packages/worker/src/index.ts +++ b/packages/worker/src/index.ts @@ -78,7 +78,7 @@ const shutdown = () => { server.destroy() } -module.exports = server.listen(parseInt(env.PORT || 4002), async () => { +export = server.listen(parseInt(env.PORT || 4002), async () => { console.log(`Worker running on ${JSON.stringify(server.address())}`) await redis.init() }) @@ -92,3 +92,7 @@ process.on("uncaughtException", err => { process.on("SIGTERM", () => { shutdown() }) + +process.on("SIGINT", () => { + shutdown() +}) diff --git a/packages/worker/src/sdk/accounts/accounts.ts b/packages/worker/src/sdk/accounts/accounts.ts new file mode 100644 index 0000000000..d18317aeb2 --- /dev/null +++ b/packages/worker/src/sdk/accounts/accounts.ts @@ -0,0 +1,53 @@ +import { AccountMetadata } from "@budibase/types" +import { + db, + StaticDatabases, + HTTPError, + DocumentType, + SEPARATOR, +} from "@budibase/backend-core" + +export const formatAccountMetadataId = (accountId: string) => { + return `${DocumentType.ACCOUNT_METADATA}${SEPARATOR}${accountId}` +} + +export const saveMetadata = async ( + metadata: AccountMetadata +): Promise => { + return db.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: any) => { + const existing = await getMetadata(metadata._id!) + if (existing) { + metadata._rev = existing._rev + } + const res = await db.put(metadata) + metadata._rev = res.rev + return metadata + }) +} + +export const getMetadata = async ( + accountId: string +): Promise => { + return db.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: any) => { + try { + return await db.get(accountId) + } catch (e: any) { + if (e.status === 404) { + // do nothing + return + } else { + throw e + } + } + }) +} + +export const destroyMetadata = async (accountId: string) => { + await db.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: any) => { + const metadata = await getMetadata(accountId) + if (!metadata) { + throw new HTTPError(`id=${accountId} does not exist`, 404) + } + await db.remove(accountId, metadata._rev) + }) +} diff --git a/packages/worker/src/sdk/accounts/index.ts b/packages/worker/src/sdk/accounts/index.ts new file mode 100644 index 0000000000..f2ae03040e --- /dev/null +++ b/packages/worker/src/sdk/accounts/index.ts @@ -0,0 +1 @@ +export * from "./accounts" diff --git a/packages/worker/src/sdk/index.ts b/packages/worker/src/sdk/index.ts index 1b1c47b924..fdc1098361 100644 --- a/packages/worker/src/sdk/index.ts +++ b/packages/worker/src/sdk/index.ts @@ -1 +1,2 @@ export * as users from "./users" +export * as accounts from "./accounts" diff --git a/packages/worker/src/sdk/users/users.ts b/packages/worker/src/sdk/users/users.ts index cc55c0b70b..237eff2078 100644 --- a/packages/worker/src/sdk/users/users.ts +++ b/packages/worker/src/sdk/users/users.ts @@ -15,9 +15,21 @@ import { accounts, migrations, StaticDatabases, - ViewName + ViewName, } from "@budibase/backend-core" -import { MigrationType, PlatformUserByEmail, User, Account } from "@budibase/types" +import { + MigrationType, + PlatformUserByEmail, + User, + Account, + BulkCreateUsersResponse, + CreateUserResponse, + BulkDeleteUsersResponse, + CloudAccount, + AllDocsResponse, + RowResponse, + BulkDocsResponse, +} from "@budibase/types" import { groups as groupUtils } from "@budibase/pro" const PAGE_LIMIT = 8 @@ -100,7 +112,6 @@ export const getUser = async (userId: string) => { interface SaveUserOpts { hashPassword?: boolean requirePassword?: boolean - bulkCreate?: boolean } const buildUser = async ( @@ -111,7 +122,7 @@ const buildUser = async ( }, tenantId: string, dbUser?: any -) => { +): Promise => { let { password, _id } = user let hashedPassword @@ -145,62 +156,63 @@ const buildUser = async ( return user } +const validateUniqueUser = async (email: string, tenantId: string) => { + // check budibase users in other tenants + if (env.MULTI_TENANCY) { + const tenantUser = await tenancy.getTenantUser(email) + if (tenantUser != null && tenantUser.tenantId !== tenantId) { + throw `Email address ${email} already in use.` + } + } + + // check root account users in account portal + if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) { + const account = await accounts.getAccount(email) + if (account && account.verified && account.tenantId !== tenantId) { + throw `Email address ${email} already in use.` + } + } +} + export const save = async ( - user: any, + user: User, opts: SaveUserOpts = { hashPassword: true, requirePassword: true, - bulkCreate: false, } -) => { +): Promise => { const tenantId = tenancy.getTenantId() const db = tenancy.getGlobalDB() let { email, _id } = user - // make sure another user isn't using the same email - let dbUser: any - if (opts.bulkCreate) { - dbUser = null + + let dbUser: User | undefined + if (_id) { + // try to get existing user from db + dbUser = (await db.get(_id)) as User + if (email && dbUser.email !== email) { + throw "Email address cannot be changed" + } + email = dbUser.email } else if (email) { - // check budibase users inside the tenant + // no id was specified - load from email instead dbUser = await usersCore.getGlobalUserByEmail(email) - if (dbUser != null && (dbUser._id !== _id || Array.isArray(dbUser))) { + if (dbUser && dbUser._id !== _id) { throw `Email address ${email} already in use.` } - - // check budibase users in other tenants - if (env.MULTI_TENANCY) { - const tenantUser = await tenancy.getTenantUser(email) - if (tenantUser != null && tenantUser.tenantId !== tenantId) { - throw `Email address ${email} already in use.` - } - } - - // check root account users in account portal - if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) { - const account = await accounts.getAccount(email) - if (account && account.verified && account.tenantId !== tenantId) { - throw `Email address ${email} already in use.` - } - } - } else if (_id) { - dbUser = await db.get(_id) + } else { + throw new Error("_id or email is required") } + await validateUniqueUser(email, tenantId) + let builtUser = await buildUser(user, opts, tenantId, dbUser) // make sure we set the _id field for a new user if (!_id) { - _id = builtUser._id + _id = builtUser._id! } try { - const putOpts = { - password: builtUser.password, - ...user, - } - if (opts.bulkCreate) { - return putOpts - } // save the user to db let response const putUserFn = () => { @@ -253,25 +265,32 @@ const getExistingTenantUsers = async (emails: string[]): Promise => { return dbUtils.queryGlobalView(ViewName.USER_BY_EMAIL, { keys: emails, include_docs: true, - arrayResponse: true + arrayResponse: true, }) } -const getExistingPlatformUsers = async (emails: string[]): Promise => { - return dbUtils.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (infoDb: any) => { - const response = await infoDb.allDocs({ - keys: emails, - include_docs: true, - }) - return response.rows.map((row: any) => row.doc) - }) +const getExistingPlatformUsers = async ( + emails: string[] +): Promise => { + return dbUtils.doWithDB( + StaticDatabases.PLATFORM_INFO.name, + async (infoDb: any) => { + const response = await infoDb.allDocs({ + keys: emails, + include_docs: true, + }) + return response.rows + .filter((row: any) => row.error !== "not_found") + .map((row: any) => row.doc) + } + ) } const getExistingAccounts = async (emails: string[]): Promise => { return dbUtils.queryPlatformView(ViewName.ACCOUNT_BY_EMAIL, { keys: emails, include_docs: true, - arrayResponse: true + arrayResponse: true, }) } @@ -289,18 +308,22 @@ const searchExistingEmails = async (emails: string[]) => { matchedEmails.push(...existingTenantUsers.map((user: User) => user.email)) const existingPlatformUsers = await getExistingPlatformUsers(emails) - matchedEmails.push(...existingPlatformUsers.map((user: PlatformUserByEmail) => user._id!)) + matchedEmails.push( + ...existingPlatformUsers.map((user: PlatformUserByEmail) => user._id!) + ) const existingAccounts = await getExistingAccounts(emails) - matchedEmails.push(...existingAccounts.map((account: Account) => account.email)) + matchedEmails.push( + ...existingAccounts.map((account: Account) => account.email) + ) - return matchedEmails + return [...new Set(matchedEmails)] } export const bulkCreate = async ( newUsersRequested: User[], groups: string[] -) => { +): Promise => { const db = tenancy.getGlobalDB() const tenantId = tenancy.getTenantId() @@ -309,14 +332,17 @@ export const bulkCreate = async ( const emails = newUsersRequested.map((user: User) => user.email) const existingEmails = await searchExistingEmails(emails) - const unsuccessful: { email: string, reason: string }[] = [] + const unsuccessful: { email: string; reason: string }[] = [] for (const newUser of newUsersRequested) { if ( newUsers.find((x: any) => x.email === newUser.email) || existingEmails.includes(newUser.email) ) { - unsuccessful.push({ email: newUser.email, reason: `Email address ${newUser.email} already in use.` }) + unsuccessful.push({ + email: newUser.email, + reason: `Email address ${newUser.email} already in use.`, + }) continue } newUser.userGroups = groups @@ -363,59 +389,121 @@ export const bulkCreate = async ( return { successful: saved, - unsuccessful + unsuccessful, } } -export const bulkDelete = async (userIds: any) => { +/** + * For the given user id's, return the account holder if it is in the ids. + */ +const getAccountHolderFromUserIds = async ( + userIds: string[] +): Promise => { + if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) { + const tenantId = tenancy.getTenantId() + const account = await accounts.getAccountByTenantId(tenantId) + if (!account) { + throw new Error(`Account not found for tenantId=${tenantId}`) + } + + const budibaseUserId = account.budibaseUserId + if (userIds.includes(budibaseUserId)) { + return account + } + } +} + +export const bulkDelete = async ( + userIds: string[] +): Promise => { const db = tenancy.getGlobalDB() + const response: BulkDeleteUsersResponse = { + successful: [], + unsuccessful: [], + } + + // remove the account holder from the delete request if present + const account = await getAccountHolderFromUserIds(userIds) + if (account) { + userIds = userIds.filter(u => u !== account.budibaseUserId) + // mark user as unsuccessful + response.unsuccessful.push({ + _id: account.budibaseUserId, + email: account.email, + reason: "Account holder cannot be deleted", + }) + } + let groupsToModify: any = {} let builderCount = 0 + // Get users and delete - let usersToDelete = ( - await db.allDocs({ - include_docs: true, - keys: userIds, - }) - ).rows.map((user: any) => { - // if we find a user that has an associated group, add it to - // an array so we can easily use allDocs on them later. - // This prevents us having to re-loop over all the users - if (user.doc.userGroups) { - for (let groupId of user.doc.userGroups) { - if (!Object.keys(groupsToModify).includes(groupId)) { - groupsToModify[groupId] = [user.id] - } else { - groupsToModify[groupId] = [...groupsToModify[groupId], user.id] + const allDocsResponse: AllDocsResponse = await db.allDocs({ + include_docs: true, + keys: userIds, + }) + const usersToDelete: User[] = allDocsResponse.rows.map( + (user: RowResponse) => { + // if we find a user that has an associated group, add it to + // an array so we can easily use allDocs on them later. + // This prevents us having to re-loop over all the users + if (user.doc.userGroups) { + for (let groupId of user.doc.userGroups) { + if (!Object.keys(groupsToModify).includes(groupId)) { + groupsToModify[groupId] = [user.id] + } else { + groupsToModify[groupId] = [...groupsToModify[groupId], user.id] + } } } + + // Also figure out how many builders are being deleted + if (eventHelpers.isAddingBuilder(user.doc, null)) { + builderCount++ + } + + return user.doc } + ) - // Also figure out how many builders are being deleted - if (eventHelpers.isAddingBuilder(user.doc, null)) { - builderCount++ - } - - return user.doc - }) - - const response = await db.bulkDocs( - usersToDelete.map((user: any) => ({ + // Delete from DB + const dbResponse: BulkDocsResponse = await db.bulkDocs( + usersToDelete.map(user => ({ ...user, _deleted: true, })) ) + // Deletion post processing await groupUtils.bulkDeleteGroupUsers(groupsToModify) - - //Deletion post processing for (let user of usersToDelete) { await bulkDeleteProcessing(user) } - await quotas.removeDevelopers(builderCount) + // Build Response + // index users by id + const userIndex: { [key: string]: User } = {} + usersToDelete.reduce((prev, current) => { + prev[current._id!] = current + return prev + }, userIndex) + + // add the successful and unsuccessful users to response + dbResponse.forEach(item => { + const email = userIndex[item.id].email + if (item.ok) { + response.successful.push({ _id: item.id, email }) + } else { + response.unsuccessful.push({ + _id: item.id, + email, + reason: "Database error", + }) + } + }) + return response } diff --git a/packages/worker/src/tests/TestConfiguration.js b/packages/worker/src/tests/TestConfiguration.js deleted file mode 100644 index 694c56bfcd..0000000000 --- a/packages/worker/src/tests/TestConfiguration.js +++ /dev/null @@ -1,231 +0,0 @@ -require("./mocks") -require("../db").init() -const env = require("../environment") -const controllers = require("./controllers") -const supertest = require("supertest") -const { jwt } = require("@budibase/backend-core/auth") -const { Cookies, Headers } = require("@budibase/backend-core/constants") -const { Configs } = require("../constants") -const { users } = require("@budibase/backend-core") -const { createASession } = require("@budibase/backend-core/sessions") -const { TENANT_ID, CSRF_TOKEN } = require("./structures") -const structures = require("./structures") -const { doInTenant } = require("@budibase/backend-core/tenancy") -const { groups } = require("@budibase/pro") -class TestConfiguration { - constructor(openServer = true) { - if (openServer) { - env.PORT = "0" // random port - this.server = require("../index") - // we need the request for logging in, involves cookies, hard to fake - this.request = supertest(this.server) - } - } - - getRequest() { - return this.request - } - - // UTILS - - async _req(config, params, controlFunc) { - const request = {} - // fake cookies, we don't need them - request.cookies = { set: () => {}, get: () => {} } - request.config = { jwtSecret: env.JWT_SECRET } - request.appId = this.appId - request.user = { appId: this.appId, tenantId: TENANT_ID } - request.query = {} - request.request = { - body: config, - } - request.throw = (status, err) => { - throw { status, message: err } - } - if (params) { - request.params = params - } - await doInTenant(TENANT_ID, () => { - return controlFunc(request) - }) - return request.body - } - - // SETUP / TEARDOWN - - async beforeAll() { - await this.login() - } - - async afterAll() { - if (this.server) { - await this.server.close() - } - } - - // USER / AUTH - - async login() { - // create a test user - await this._req( - { - email: "test@test.com", - password: "test", - _id: "us_uuid1", - builder: { - global: true, - }, - admin: { - global: true, - }, - }, - null, - controllers.users.save - ) - await createASession("us_uuid1", { - sessionId: "sessionid", - tenantId: TENANT_ID, - csrfToken: CSRF_TOKEN, - }) - } - - cookieHeader(cookies) { - return { - Cookie: [cookies], - } - } - - defaultHeaders() { - const user = { - _id: "us_uuid1", - userId: "us_uuid1", - sessionId: "sessionid", - tenantId: TENANT_ID, - } - const authToken = jwt.sign(user, env.JWT_SECRET) - return { - Accept: "application/json", - ...this.cookieHeader([`${Cookies.Auth}=${authToken}`]), - [Headers.CSRF_TOKEN]: CSRF_TOKEN, - } - } - - async getUser(email) { - return doInTenant(TENANT_ID, () => { - return users.getGlobalUserByEmail(email) - }) - } - - async getGroup(id) { - return doInTenant(TENANT_ID, () => { - return groups.get(id) - }) - } - - async saveGroup(group) { - const res = await this.getRequest() - .post(`/api/global/groups`) - .send(group) - .set(this.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) - return res.body - } - - async createUser(email, password) { - const user = await this.getUser(structures.users.email) - if (user) { - return user - } - await this._req( - structures.users.user({ email, password }), - null, - controllers.users.save - ) - } - - async saveAdminUser() { - await this._req( - structures.users.user({ tenantId: TENANT_ID }), - null, - controllers.users.adminUser - ) - } - - // CONFIGS - - async deleteConfig(type) { - try { - const cfg = await this._req( - null, - { - type, - }, - controllers.config.find - ) - if (cfg) { - await this._req( - null, - { - id: cfg._id, - rev: cfg._rev, - }, - controllers.config.destroy - ) - } - } catch (err) { - // don't need to handle error - } - } - - // CONFIGS - SETTINGS - - async saveSettingsConfig() { - await this.deleteConfig(Configs.SETTINGS) - await this._req( - structures.configs.settings(), - null, - controllers.config.save - ) - } - - // CONFIGS - GOOGLE - - async saveGoogleConfig() { - await this.deleteConfig(Configs.GOOGLE) - await this._req(structures.configs.google(), null, controllers.config.save) - } - - // CONFIGS - OIDC - - getOIDConfigCookie(configId) { - const token = jwt.sign(configId, env.JWT_SECRET) - return this.cookieHeader([[`${Cookies.OIDC_CONFIG}=${token}`]]) - } - - async saveOIDCConfig() { - await this.deleteConfig(Configs.OIDC) - const config = structures.configs.oidc() - - await this._req(config, null, controllers.config.save) - return config - } - - // CONFIGS - SMTP - - async saveSmtpConfig() { - await this.deleteConfig(Configs.SMTP) - await this._req(structures.configs.smtp(), null, controllers.config.save) - } - - async saveEtherealSmtpConfig() { - await this.deleteConfig(Configs.SMTP) - await this._req( - structures.configs.smtpEthereal(), - null, - controllers.config.save - ) - } -} - -module.exports = TestConfiguration diff --git a/packages/worker/src/tests/TestConfiguration.ts b/packages/worker/src/tests/TestConfiguration.ts new file mode 100644 index 0000000000..7dabecc6f0 --- /dev/null +++ b/packages/worker/src/tests/TestConfiguration.ts @@ -0,0 +1,269 @@ +import "./mocks" +import dbConfig from "../db" +dbConfig.init() +import env from "../environment" +import controllers from "./controllers" +const supertest = require("supertest") +import { jwt } from "@budibase/backend-core/auth" +import { Cookies, Headers } from "@budibase/backend-core/constants" +import { Configs } from "../constants" +import { users, tenancy } from "@budibase/backend-core" +import { createASession } from "@budibase/backend-core/sessions" +import { TENANT_ID, TENANT_1, CSRF_TOKEN } from "./structures" +import structures from "./structures" +import { CreateUserResponse, User, AuthToken } from "@budibase/types" + +enum Mode { + ACCOUNT = "account", + SELF = "self", +} + +class TestConfiguration { + server: any + request: any + defaultUser?: User + tenant1User?: User + + constructor( + opts: { openServer: boolean; mode: Mode } = { + openServer: true, + mode: Mode.ACCOUNT, + } + ) { + if (opts.mode === Mode.ACCOUNT) { + this.modeAccount() + } else if (opts.mode === Mode.SELF) { + this.modeSelf() + } + + if (opts.openServer) { + env.PORT = "0" // random port + this.server = require("../index") + // we need the request for logging in, involves cookies, hard to fake + this.request = supertest(this.server) + } + } + + getRequest() { + return this.request + } + + // MODES + + modeAccount = () => { + env.SELF_HOSTED = false + // @ts-ignore + env.MULTI_TENANCY = true + // @ts-ignore + env.DISABLE_ACCOUNT_PORTAL = false + } + + modeSelf = () => { + env.SELF_HOSTED = true + // @ts-ignore + env.MULTI_TENANCY = false + // @ts-ignore + env.DISABLE_ACCOUNT_PORTAL = true + } + + // UTILS + + async _req(config: any, params: any, controlFunc: any) { + const request: any = {} + // fake cookies, we don't need them + request.cookies = { set: () => {}, get: () => {} } + request.config = { jwtSecret: env.JWT_SECRET } + request.user = { tenantId: this.getTenantId() } + request.query = {} + request.request = { + body: config, + } + request.throw = (status: any, err: any) => { + throw { status, message: err } + } + if (params) { + request.params = params + } + await tenancy.doInTenant(this.getTenantId(), () => { + return controlFunc(request) + }) + return request.body + } + + // SETUP / TEARDOWN + + async beforeAll() { + await this.createDefaultUser() + await this.createSession(this.defaultUser!) + + await tenancy.doInTenant(TENANT_1, async () => { + await this.createTenant1User() + await this.createSession(this.tenant1User!) + }) + } + + async afterAll() { + if (this.server) { + await this.server.close() + } + } + + // TENANCY + + getTenantId() { + try { + return tenancy.getTenantId() + } catch (e: any) { + return TENANT_ID + } + } + + // USER / AUTH + + async createDefaultUser() { + const user = structures.users.adminUser({ + email: "test@test.com", + password: "test", + }) + this.defaultUser = await this.createUser(user) + } + + async createTenant1User() { + const user = structures.users.adminUser({ + email: "tenant1@test.com", + password: "test", + }) + this.tenant1User = await this.createUser(user) + } + + async createSession(user: User) { + await createASession(user._id!, { + sessionId: "sessionid", + tenantId: user.tenantId, + csrfToken: CSRF_TOKEN, + }) + } + + cookieHeader(cookies: any) { + return { + Cookie: [cookies], + } + } + + authHeaders(user: User) { + const authToken: AuthToken = { + userId: user._id!, + sessionId: "sessionid", + tenantId: user.tenantId, + } + const authCookie = jwt.sign(authToken, env.JWT_SECRET) + return { + Accept: "application/json", + ...this.cookieHeader([`${Cookies.Auth}=${authCookie}`]), + [Headers.CSRF_TOKEN]: CSRF_TOKEN, + } + } + + defaultHeaders() { + const tenantId = this.getTenantId() + if (tenantId === TENANT_ID) { + return this.authHeaders(this.defaultUser!) + } else if (tenantId === TENANT_1) { + return this.authHeaders(this.tenant1User!) + } else { + throw new Error("could not determine auth headers to use") + } + } + + async getUser(email: string): Promise { + return tenancy.doInTenant(this.getTenantId(), () => { + return users.getGlobalUserByEmail(email) + }) + } + + async createUser(user?: User) { + if (!user) { + user = structures.users.user() + } + const response = await this._req(user, null, controllers.users.save) + const body = response as CreateUserResponse + return this.getUser(body.email) + } + + // CONFIGS + + async deleteConfig(type: any) { + try { + const cfg = await this._req( + null, + { + type, + }, + controllers.config.find + ) + if (cfg) { + await this._req( + null, + { + id: cfg._id, + rev: cfg._rev, + }, + controllers.config.destroy + ) + } + } catch (err) { + // don't need to handle error + } + } + + // CONFIGS - SETTINGS + + async saveSettingsConfig() { + await this.deleteConfig(Configs.SETTINGS) + await this._req( + structures.configs.settings(), + null, + controllers.config.save + ) + } + + // CONFIGS - GOOGLE + + async saveGoogleConfig() { + await this.deleteConfig(Configs.GOOGLE) + await this._req(structures.configs.google(), null, controllers.config.save) + } + + // CONFIGS - OIDC + + getOIDConfigCookie(configId: string) { + const token = jwt.sign(configId, env.JWT_SECRET) + return this.cookieHeader([[`${Cookies.OIDC_CONFIG}=${token}`]]) + } + + async saveOIDCConfig() { + await this.deleteConfig(Configs.OIDC) + const config = structures.configs.oidc() + + await this._req(config, null, controllers.config.save) + return config + } + + // CONFIGS - SMTP + + async saveSmtpConfig() { + await this.deleteConfig(Configs.SMTP) + await this._req(structures.configs.smtp(), null, controllers.config.save) + } + + async saveEtherealSmtpConfig() { + await this.deleteConfig(Configs.SMTP) + await this._req( + structures.configs.smtpEthereal(), + null, + controllers.config.save + ) + } +} + +export = TestConfiguration diff --git a/packages/worker/src/tests/api/accounts.ts b/packages/worker/src/tests/api/accounts.ts new file mode 100644 index 0000000000..fe6bf31192 --- /dev/null +++ b/packages/worker/src/tests/api/accounts.ts @@ -0,0 +1,28 @@ +import { Account, AccountMetadata } from "@budibase/types" +import TestConfiguration from "../TestConfiguration" + +export class AccountAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + saveMetadata = async (account: Account) => { + const res = await this.request + .put(`/api/system/accounts/${account.accountId}/metadata`) + .send(account) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + return res.body as AccountMetadata + } + + destroyMetadata = (accountId: string) => { + return this.request + .del(`/api/system/accounts/${accountId}/metadata`) + .set(this.config.defaultHeaders()) + } +} diff --git a/packages/worker/src/tests/api/auth.ts b/packages/worker/src/tests/api/auth.ts new file mode 100644 index 0000000000..204ae9f5dd --- /dev/null +++ b/packages/worker/src/tests/api/auth.ts @@ -0,0 +1,48 @@ +import TestConfiguration from "../TestConfiguration" + +export class AuthAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + updatePassword = (code: string) => { + return this.request + .post(`/api/global/auth/${this.config.getTenantId()}/reset/update`) + .send({ + password: "newpassword", + resetCode: code, + }) + .expect("Content-Type", /json/) + .expect(200) + } + + logout = () => { + return this.request + .post("/api/global/auth/logout") + .set(this.config.defaultHeaders()) + .expect(200) + } + + requestPasswordReset = async (sendMailMock: any) => { + await this.config.saveSmtpConfig() + await this.config.saveSettingsConfig() + await this.config.createUser() + const res = await this.request + .post(`/api/global/auth/${this.config.getTenantId()}/reset`) + .send({ + email: "test@test.com", + }) + .expect("Content-Type", /json/) + .expect(200) + const emailCall = sendMailMock.mock.calls[0][0] + const parts = emailCall.html.split( + `http://localhost:10000/builder/auth/reset?code=` + ) + const code = parts[1].split('"')[0].split("&")[0] + return { code, res } + } +} diff --git a/packages/worker/src/tests/api/configs.ts b/packages/worker/src/tests/api/configs.ts new file mode 100644 index 0000000000..3a3c433fa0 --- /dev/null +++ b/packages/worker/src/tests/api/configs.ts @@ -0,0 +1,40 @@ +import TestConfiguration from "../TestConfiguration" + +export class ConfigAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + getConfigChecklist = () => { + return this.request + .get(`/api/global/configs/checklist`) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + } + + saveConfig = (data: any) => { + return this.request + .post(`/api/global/configs`) + .send(data) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + } + + OIDCCallback = (configId: string) => { + return this.request + .get(`/api/global/auth/${this.config.getTenantId()}/oidc/callback`) + .set(this.config.getOIDConfigCookie(configId)) + } + + getOIDCConfig = (configId: string) => { + return this.request.get( + `/api/global/auth/${this.config.getTenantId()}/oidc/configs/${configId}` + ) + } +} diff --git a/packages/worker/src/tests/api/email.ts b/packages/worker/src/tests/api/email.ts new file mode 100644 index 0000000000..ea026c22ac --- /dev/null +++ b/packages/worker/src/tests/api/email.ts @@ -0,0 +1,24 @@ +import TestConfiguration from "../TestConfiguration" + +export class EmailAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + sendEmail = (purpose: string) => { + return this.request + .post(`/api/global/email/send`) + .send({ + email: "test@test.com", + purpose, + tenantId: this.config.getTenantId(), + }) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + } +} diff --git a/packages/worker/src/tests/api/index.ts b/packages/worker/src/tests/api/index.ts new file mode 100644 index 0000000000..a12e489a78 --- /dev/null +++ b/packages/worker/src/tests/api/index.ts @@ -0,0 +1,25 @@ +import TestConfiguration from "../TestConfiguration" +import { AccountAPI } from "./accounts" +import { AuthAPI } from "./auth" +import { ConfigAPI } from "./configs" +import { EmailAPI } from "./email" +import { SelfAPI } from "./self" +import { UserAPI } from "./users" + +export default class API { + accounts: AccountAPI + auth: AuthAPI + configs: ConfigAPI + emails: EmailAPI + self: SelfAPI + users: UserAPI + + constructor(config: TestConfiguration) { + this.accounts = new AccountAPI(config) + this.auth = new AuthAPI(config) + this.configs = new ConfigAPI(config) + this.emails = new EmailAPI(config) + this.self = new SelfAPI(config) + this.users = new UserAPI(config) + } +} diff --git a/packages/worker/src/tests/api/self.ts b/packages/worker/src/tests/api/self.ts new file mode 100644 index 0000000000..b1cd4a48c6 --- /dev/null +++ b/packages/worker/src/tests/api/self.ts @@ -0,0 +1,21 @@ +import TestConfiguration from "../TestConfiguration" +import { User } from "@budibase/types" + +export class SelfAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + updateSelf = (user: User) => { + return this.request + .post(`/api/global/self`) + .send(user) + .set(this.config.authHeaders(user)) + .expect("Content-Type", /json/) + .expect(200) + } +} diff --git a/packages/worker/src/tests/api/users.ts b/packages/worker/src/tests/api/users.ts new file mode 100644 index 0000000000..6f29b39da3 --- /dev/null +++ b/packages/worker/src/tests/api/users.ts @@ -0,0 +1,95 @@ +import { + BulkCreateUsersRequest, + BulkCreateUsersResponse, + BulkDeleteUsersRequest, + CreateUserResponse, + User, + UserDetails, +} from "@budibase/types" +import TestConfiguration from "../TestConfiguration" + +export class UserAPI { + config: TestConfiguration + request: any + + constructor(config: TestConfiguration) { + this.config = config + this.request = config.request + } + + // INVITE + + sendUserInvite = async (sendMailMock: any) => { + await this.config.saveSmtpConfig() + await this.config.saveSettingsConfig() + const res = await this.request + .post(`/api/global/users/invite`) + .send({ + email: "invite@test.com", + }) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + + const emailCall = sendMailMock.mock.calls[0][0] + // after this URL there should be a code + const parts = emailCall.html.split( + "http://localhost:10000/builder/invite?code=" + ) + const code = parts[1].split('"')[0].split("&")[0] + return { code, res } + } + + acceptInvite = (code: string) => { + return this.request + .post(`/api/global/users/invite/accept`) + .send({ + password: "newpassword", + inviteCode: code, + }) + .expect("Content-Type", /json/) + .expect(200) + } + + // BULK + + bulkCreateUsers = async (users: User[], groups: any[] = []) => { + const body: BulkCreateUsersRequest = { users, groups } + const res = await this.request + .post(`/api/global/users/bulkCreate`) + .send(body) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(200) + + return res.body as BulkCreateUsersResponse + } + + bulkDeleteUsers = (body: BulkDeleteUsersRequest, status?: number) => { + return this.request + .post(`/api/global/users/bulkDelete`) + .send(body) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(status ? status : 200) + } + + // USER + + saveUser = (user: User, status?: number) => { + return this.request + .post(`/api/global/users`) + .send(user) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(status ? status : 200) + } + + deleteUser = (userId: string, status?: number) => { + return this.request + .delete(`/api/global/users/${userId}`) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(status ? status : 200) + } +} diff --git a/packages/worker/src/tests/index.ts b/packages/worker/src/tests/index.ts index de4c1b7bcd..6ab1e83955 100644 --- a/packages/worker/src/tests/index.ts +++ b/packages/worker/src/tests/index.ts @@ -1,15 +1,14 @@ import TestConfiguration from "./TestConfiguration" import structures from "./structures" import mocks from "./mocks" +import API from "./api" -const config = new TestConfiguration() -const request = config.getRequest() - -const pkg = { +const pkg = { structures, + TENANT_1: structures.TENANT_1, mocks, - config, - request, + TestConfiguration, + API, } export = pkg diff --git a/packages/worker/src/tests/mocks/index.js b/packages/worker/src/tests/mocks/index.js deleted file mode 100644 index 5a85348350..0000000000 --- a/packages/worker/src/tests/mocks/index.js +++ /dev/null @@ -1,5 +0,0 @@ -const email = require("./email") - -module.exports = { - email, -} diff --git a/packages/worker/src/tests/mocks/index.ts b/packages/worker/src/tests/mocks/index.ts new file mode 100644 index 0000000000..e4b68bbfd4 --- /dev/null +++ b/packages/worker/src/tests/mocks/index.ts @@ -0,0 +1,7 @@ +const email = require("./email") +import { mocks as coreMocks } from "@budibase/backend-core/tests" + +export = { + email, + ...coreMocks, +} diff --git a/packages/worker/src/tests/structures/accounts.ts b/packages/worker/src/tests/structures/accounts.ts new file mode 100644 index 0000000000..df6b993684 --- /dev/null +++ b/packages/worker/src/tests/structures/accounts.ts @@ -0,0 +1,24 @@ +import { Account, AuthType, Hosting, CloudAccount } from "@budibase/types" +import { v4 as uuid } from "uuid" +import { utils } from "@budibase/backend-core" + +export const account = (): Account => { + return { + email: `${uuid()}@test.com`, + tenantId: utils.newid(), + hosting: Hosting.SELF, + authType: AuthType.SSO, + accountId: uuid(), + createdAt: Date.now(), + verified: true, + verificationSent: true, + tier: "FREE", + } +} + +export const cloudAccount = (): CloudAccount => { + return { + ...account(), + budibaseUserId: uuid(), + } +} diff --git a/packages/worker/src/tests/structures/index.ts b/packages/worker/src/tests/structures/index.ts index 61e683f621..a3029b0105 100644 --- a/packages/worker/src/tests/structures/index.ts +++ b/packages/worker/src/tests/structures/index.ts @@ -1,14 +1,20 @@ import configs from "./configs" import * as users from "./users" import * as groups from "./groups" +import * as accounts from "./accounts" const TENANT_ID = "default" +const TENANT_1 = "tenant1" const CSRF_TOKEN = "e3727778-7af0-4226-b5eb-f43cbe60a306" -export = { +const pkg = { configs, users, + accounts, TENANT_ID, + TENANT_1, CSRF_TOKEN, groups, } + +export = pkg diff --git a/packages/worker/src/tests/structures/users.ts b/packages/worker/src/tests/structures/users.ts index 21aa86663c..4bf24ec780 100644 --- a/packages/worker/src/tests/structures/users.ts +++ b/packages/worker/src/tests/structures/users.ts @@ -1,28 +1,32 @@ export const email = "test@test.com" import { AdminUser, BuilderUser, User } from "@budibase/types" +import { v4 as uuid } from "uuid" -export const user = (userProps: any): User => { +export const newEmail = () => { + return `${uuid()}@test.com` +} +export const user = (userProps?: any): User => { return { - email: "test@test.com", + email: newEmail(), password: "test", roles: {}, ...userProps, } } -export const adminUser = (userProps: any): AdminUser => { +export const adminUser = (userProps?: any): AdminUser => { return { ...user(userProps), admin: { global: true, }, builder: { - global: true - } + global: true, + }, } } -export const builderUser = (userProps: any): BuilderUser => { +export const builderUser = (userProps?: any): BuilderUser => { return { ...user(userProps), builder: { diff --git a/packages/worker/src/utilities/redis.js b/packages/worker/src/utilities/redis.js index 97adafa195..7e474b2c28 100644 --- a/packages/worker/src/utilities/redis.js +++ b/packages/worker/src/utilities/redis.js @@ -55,6 +55,7 @@ exports.init = async () => { exports.shutdown = async () => { if (pwResetClient) await pwResetClient.finish() if (invitationClient) await invitationClient.finish() + console.log("Redis shutdown") } /** diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index ada95a1087..bd6d364e8c 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -1074,6 +1074,11 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/uuid@8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" From b331f47aa43918be6bdd19e75338743f728e68c8 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 25 Aug 2022 22:56:58 +0100 Subject: [PATCH 046/105] Update user creation UI --- .../users/_components/PasswordModal.svelte | 120 ++++++++++++++---- .../builder/portal/manage/users/index.svelte | 10 +- packages/builder/src/stores/portal/users.js | 6 +- packages/types/src/documents/pouch.ts | 8 +- packages/worker/src/api/index.ts | 16 +-- .../src/api/routes/global/tests/users.spec.ts | 12 +- packages/worker/src/sdk/users/users.ts | 34 ++--- .../worker/src/tests/TestConfiguration.ts | 18 ++- 8 files changed, 150 insertions(+), 74 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte index 02501f2de0..8f22371372 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte @@ -2,24 +2,78 @@ import { Body, ModalContent, Table, Icon } from "@budibase/bbui" import PasswordCopyRenderer from "./PasswordCopyRenderer.svelte" import { parseToCsv } from "helpers/data/utils" + import { onMount } from "svelte" export let userData + export let createUsersResponse - $: mappedData = userData.map(user => { - return { - email: user.email, - password: user.password, + let hasSuccess + let hasFailure + let title + let failureMessage + + let userDataIndex + let successfulUsers + let unsuccessfulUsers + + const setTitle = () => { + if (hasSuccess) { + title = "Users created!" + } else if (hasFailure) { + title = "Oops!" } + } + + const setFailureMessage = () => { + if (hasSuccess) { + failureMessage = "However there was a problem creating some users." + } else { + failureMessage = "There was a problem creating some users." + } + } + + const setUsers = () => { + userDataIndex = userData.reduce((prev, current) => { + prev[current.email] = current + return prev + }, {}) + + successfulUsers = createUsersResponse.successful.map(user => { + return { + email: user.email, + password: userDataIndex[user.email].password, + } + }) + + unsuccessfulUsers = createUsersResponse.unsuccessful.map(user => { + return { + email: user.email, + reason: user.reason, + } + }) + } + + onMount(() => { + hasSuccess = createUsersResponse.successful.length + hasFailure = createUsersResponse.unsuccessful.length + setTitle() + setFailureMessage() + setUsers() }) - const schema = { + const successSchema = { email: {}, password: {}, } + const failedSchema = { + email: {}, + reason: {}, + } + const downloadCsvFile = () => { const fileName = "passwords.csv" - const content = parseToCsv(["email", "password"], mappedData) + const content = parseToCsv(["email", "password"], successfulUsers) download(fileName, content) } @@ -43,35 +97,51 @@ - - All your new users can be accessed through the autogenerated passwords. Take - note of these passwords or download the CSV file. - + {#if hasFailure} + + {failureMessage} + + + {/if} + {#if hasSuccess} + + All your new users can be accessed through the autogenerated passwords. + Take note of these passwords or download the CSV file. + -
-
- +
+
+ -
- Passwords CSV +
+ Passwords CSV +
-
-
+
+ {/if} diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte index 8f22371372..990a54610c 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte @@ -96,7 +96,7 @@ + + + + diff --git a/packages/builder/src/stores/portal/users.js b/packages/builder/src/stores/portal/users.js index 1dbc878dd1..e9bdf790f2 100644 --- a/packages/builder/src/stores/portal/users.js +++ b/packages/builder/src/stores/portal/users.js @@ -83,7 +83,7 @@ export function createUsersStore() { } async function bulkDelete(userIds) { - await API.deleteUsers(userIds) + return API.deleteUsers(userIds) } async function save(user) { From 415678ee8aa791b9975d24c07c13eff27676deda Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Fri, 26 Aug 2022 13:12:33 +0100 Subject: [PATCH 048/105] update deletion failure modal --- .../manage/users/_components/DeletionFailureModal.svelte | 4 ++-- .../src/pages/builder/portal/manage/users/index.svelte | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte index cfc753f1ca..370ee153f2 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte @@ -52,7 +52,7 @@
Date: Fri, 26 Aug 2022 13:18:38 +0100 Subject: [PATCH 049/105] Update NGINX access log to show upstream_response_time, proxy_host and upstream_addr --- hosting/nginx.dev.conf.hbs | 5 ++++- hosting/nginx.prod.conf.hbs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hosting/nginx.dev.conf.hbs b/hosting/nginx.dev.conf.hbs index 9398b7e719..148007d958 100644 --- a/hosting/nginx.dev.conf.hbs +++ b/hosting/nginx.dev.conf.hbs @@ -15,7 +15,10 @@ http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + '"$http_user_agent" "$http_x_forwarded_for" ' + 'response_time=$upstream_response_time proxy_host=$proxy_host upstream_addr=$upstream_addr'; + + access_log /var/log/nginx/access.log main; map $http_upgrade $connection_upgrade { default "upgrade"; diff --git a/hosting/nginx.prod.conf.hbs b/hosting/nginx.prod.conf.hbs index 4213626309..3c0e34387d 100644 --- a/hosting/nginx.prod.conf.hbs +++ b/hosting/nginx.prod.conf.hbs @@ -33,7 +33,10 @@ http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + '"$http_user_agent" "$http_x_forwarded_for" ' + 'response_time=$upstream_response_time proxy_host=$proxy_host upstream_addr=$upstream_addr'; + + access_log /var/log/nginx/access.log main; map $http_upgrade $connection_upgrade { default "upgrade"; From ab4d45fd3bf088b8cfbc9848aa6b89994857e83e Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 30 Aug 2022 09:26:10 +0000 Subject: [PATCH 050/105] v1.2.44-alpha.11 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 99c092ebd4..ebb502e3cc 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index a444e420b7..271da2e059 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.44-alpha.10", + "@budibase/types": "1.2.44-alpha.11", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 6ed50eee9d..ed31d0e950 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": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.44-alpha.10", + "@budibase/string-templates": "1.2.44-alpha.11", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 322c2c1bfb..5a7d2de835 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.44-alpha.10", - "@budibase/client": "1.2.44-alpha.10", - "@budibase/frontend-core": "1.2.44-alpha.10", - "@budibase/string-templates": "1.2.44-alpha.10", + "@budibase/bbui": "1.2.44-alpha.11", + "@budibase/client": "1.2.44-alpha.11", + "@budibase/frontend-core": "1.2.44-alpha.11", + "@budibase/string-templates": "1.2.44-alpha.11", "@sentry/browser": "5.19.1", "@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 458ef2569c..c6a9cdc30e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "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 15ce6f1fd6..24a6d59b6b 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "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": "1.2.44-alpha.10", - "@budibase/frontend-core": "1.2.44-alpha.10", - "@budibase/string-templates": "1.2.44-alpha.10", + "@budibase/bbui": "1.2.44-alpha.11", + "@budibase/frontend-core": "1.2.44-alpha.11", + "@budibase/string-templates": "1.2.44-alpha.11", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 5f8984dea9..7fb60daf25 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.44-alpha.10", + "@budibase/bbui": "1.2.44-alpha.11", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 4ef6a5bd18..3c6433cf41 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.44-alpha.10", - "@budibase/client": "1.2.44-alpha.10", + "@budibase/backend-core": "1.2.44-alpha.11", + "@budibase/client": "1.2.44-alpha.11", "@budibase/pro": "1.2.44-alpha.10", - "@budibase/string-templates": "1.2.44-alpha.10", - "@budibase/types": "1.2.44-alpha.10", + "@budibase/string-templates": "1.2.44-alpha.11", + "@budibase/types": "1.2.44-alpha.11", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index fa94e8e1bf..5afbf5878b 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 48fd7c063a..5418e2a667 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 5dcd799f1a..78da10c117 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.44-alpha.10", + "@budibase/backend-core": "1.2.44-alpha.11", "@budibase/pro": "1.2.44-alpha.10", - "@budibase/string-templates": "1.2.44-alpha.10", - "@budibase/types": "1.2.44-alpha.10", + "@budibase/string-templates": "1.2.44-alpha.11", + "@budibase/types": "1.2.44-alpha.11", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 197085ffccfc369700aff1a81c125b60d31fc06e Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 30 Aug 2022 09:29:11 +0000 Subject: [PATCH 051/105] Update pro version to 1.2.44-alpha.11 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 3c6433cf41..10e8afc231 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.44-alpha.11", "@budibase/client": "1.2.44-alpha.11", - "@budibase/pro": "1.2.44-alpha.10", + "@budibase/pro": "1.2.44-alpha.11", "@budibase/string-templates": "1.2.44-alpha.11", "@budibase/types": "1.2.44-alpha.11", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 0e6b40cc30..4f370cfc46 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.10.tgz#e34a98cef3cd48943f2fe60f196d0d2504386710" - integrity sha512-Ge8YJo7JbWtaBo9ucSFOCffFBplECi0c+BEP//tCUZTGYly/JnoVySS3mt/F7hSCD2XP8HFHgUD/suTSWCuOig== +"@budibase/backend-core@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.11.tgz#6dc33219c343776f9142d3d6938513cebe267f58" + integrity sha512-47snLRBA9gU3EjhyskKetKeM35fDHkgzflme/VfFFBBTEjl5WuRMEg2I7Vg9ZCWjiY7VQbkYX1yzxuXtw+zf3w== dependencies: - "@budibase/types" "1.2.44-alpha.10" + "@budibase/types" "1.2.44-alpha.11" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.10.tgz#0d592d2eea71e2bcf30ae1fa2786605fce1af573" - integrity sha512-r85jqeYevOJ0k20F6aKDOt3CV68mbo8S7IioNNxVb7aXRwsVnEySDN21XcP27r1ZMOJFz2Yz+WcUfntVfLJKmA== +"@budibase/pro@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.11.tgz#27dd5b1f5083bd69406357063dd111ab5810e476" + integrity sha512-xKKuSjo9NznmA2BRN6EGsklp+Eegta5bIInpUJS0K5OGoUBQ9rBD9HTLYVBei6irQ0eZAig9iNW+LF/Qy07P/A== dependencies: - "@budibase/backend-core" "1.2.44-alpha.10" - "@budibase/types" "1.2.44-alpha.10" + "@budibase/backend-core" "1.2.44-alpha.11" + "@budibase/types" "1.2.44-alpha.11" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.10.tgz#e43d83d4754432fc492ff97f6edba475ea896e50" - integrity sha512-4LcI+13ewTqlwEcFvrvqkwUbXhc/vfkfyfBhHmfJFzhpwtXMXSLT+bdVlRAagAW7P/f4HY24vt3PJzrByyN4pQ== +"@budibase/types@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.11.tgz#f6c3312d0392f8561509ca4649ca553917df6492" + integrity sha512-22sFDaHqS8+Oc9DhgGN6upITA/F/XZNONlpF4s15Lrc6rQg9Ou0RkXJ6z1Zr0LrrhhjJhslg4179/xJ0irGoPA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 78da10c117..db9c0ebfe3 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.44-alpha.11", - "@budibase/pro": "1.2.44-alpha.10", + "@budibase/pro": "1.2.44-alpha.11", "@budibase/string-templates": "1.2.44-alpha.11", "@budibase/types": "1.2.44-alpha.11", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index dccc6ee4ea..59a9c2cdb0 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.10.tgz#e34a98cef3cd48943f2fe60f196d0d2504386710" - integrity sha512-Ge8YJo7JbWtaBo9ucSFOCffFBplECi0c+BEP//tCUZTGYly/JnoVySS3mt/F7hSCD2XP8HFHgUD/suTSWCuOig== +"@budibase/backend-core@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.11.tgz#6dc33219c343776f9142d3d6938513cebe267f58" + integrity sha512-47snLRBA9gU3EjhyskKetKeM35fDHkgzflme/VfFFBBTEjl5WuRMEg2I7Vg9ZCWjiY7VQbkYX1yzxuXtw+zf3w== dependencies: - "@budibase/types" "1.2.44-alpha.10" + "@budibase/types" "1.2.44-alpha.11" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.10.tgz#0d592d2eea71e2bcf30ae1fa2786605fce1af573" - integrity sha512-r85jqeYevOJ0k20F6aKDOt3CV68mbo8S7IioNNxVb7aXRwsVnEySDN21XcP27r1ZMOJFz2Yz+WcUfntVfLJKmA== +"@budibase/pro@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.11.tgz#27dd5b1f5083bd69406357063dd111ab5810e476" + integrity sha512-xKKuSjo9NznmA2BRN6EGsklp+Eegta5bIInpUJS0K5OGoUBQ9rBD9HTLYVBei6irQ0eZAig9iNW+LF/Qy07P/A== dependencies: - "@budibase/backend-core" "1.2.44-alpha.10" - "@budibase/types" "1.2.44-alpha.10" + "@budibase/backend-core" "1.2.44-alpha.11" + "@budibase/types" "1.2.44-alpha.11" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.44-alpha.10": - version "1.2.44-alpha.10" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.10.tgz#e43d83d4754432fc492ff97f6edba475ea896e50" - integrity sha512-4LcI+13ewTqlwEcFvrvqkwUbXhc/vfkfyfBhHmfJFzhpwtXMXSLT+bdVlRAagAW7P/f4HY24vt3PJzrByyN4pQ== +"@budibase/types@1.2.44-alpha.11": + version "1.2.44-alpha.11" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.11.tgz#f6c3312d0392f8561509ca4649ca553917df6492" + integrity sha512-22sFDaHqS8+Oc9DhgGN6upITA/F/XZNONlpF4s15Lrc6rQg9Ou0RkXJ6z1Zr0LrrhhjJhslg4179/xJ0irGoPA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 42dd19d04b3604e32e19f86a84027afbdec4ca11 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 30 Aug 2022 09:56:11 +0000 Subject: [PATCH 052/105] v1.2.44-alpha.11 --- lerna.json | 4 ++-- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 2 +- packages/cli/package.json | 2 +- packages/client/package.json | 2 +- packages/frontend-core/package.json | 2 +- packages/server/package.json | 2 +- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lerna.json b/lerna.json index 685d2a4d34..ebb502e3cc 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.44-alpha.10", + "version": "1.2.44-alpha.11", "npmClient": "yarn", "packages": [ "packages/*" @@ -15,4 +15,4 @@ ] } } -} \ No newline at end of file +} diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 5f4d1468e0..271da2e059 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -81,4 +81,4 @@ "typescript": "4.7.3" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/bbui/package.json b/packages/bbui/package.json index df5abb64a0..ed31d0e950 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -86,4 +86,4 @@ "svelte-portal": "^1.0.0" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/builder/package.json b/packages/builder/package.json index 741bc4e73c..5a7d2de835 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -121,4 +121,4 @@ "vite": "^2.1.5" }, "gitHead": "115189f72a850bfb52b65ec61d932531bf327072" -} \ No newline at end of file +} diff --git a/packages/cli/package.json b/packages/cli/package.json index 78c0056d7d..c6a9cdc30e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -48,4 +48,4 @@ "eslint": "^7.20.0", "renamer": "^4.0.0" } -} \ No newline at end of file +} diff --git a/packages/client/package.json b/packages/client/package.json index 77ab5a68b0..24a6d59b6b 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -58,4 +58,4 @@ "rollup-plugin-visualizer": "^5.5.4" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 64c58604dd..7fb60daf25 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -10,4 +10,4 @@ "lodash": "^4.17.21", "svelte": "^3.46.2" } -} \ No newline at end of file +} diff --git a/packages/server/package.json b/packages/server/package.json index 7c3eac020d..10e8afc231 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -196,4 +196,4 @@ "oracledb": "5.3.0" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 6c7dfb47d4..5afbf5878b 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -46,4 +46,4 @@ "typescript": "^4.5.5" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/types/package.json b/packages/types/package.json index 8c5ac7c560..5418e2a667 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,4 +17,4 @@ "rimraf": "3.0.2", "typescript": "4.7.3" } -} \ No newline at end of file +} diff --git a/packages/worker/package.json b/packages/worker/package.json index 185d7eb0fc..db9c0ebfe3 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -102,4 +102,4 @@ ] }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} From a734d385f8fc8ca3833b9cc190b20d3fe5212bee Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 30 Aug 2022 10:59:27 +0100 Subject: [PATCH 053/105] Conditionally enable elastic apm --- .../templates/app-service-deployment.yaml | 12 + .../templates/worker-service-deployment.yaml | 13 + charts/budibase/values.yaml | 4 + packages/server/package.json | 1 + packages/server/src/app.ts | 11 +- packages/server/src/environment.js | 5 +- packages/server/yarn.lock | 393 ++++++++++- packages/worker/package.json | 1 + packages/worker/src/index.ts | 12 +- packages/worker/yarn.lock | 662 +++++++++++++++++- 10 files changed, 1081 insertions(+), 33 deletions(-) diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml index 0f8e2a08ce..d69ea53513 100644 --- a/charts/budibase/templates/app-service-deployment.yaml +++ b/charts/budibase/templates/app-service-deployment.yaml @@ -134,6 +134,18 @@ spec: - name: NODE_DEBUG value: {{ .Values.services.apps.nodeDebug | quote }} {{ end }} + {{ if .Values.globals.elasticApmEnabled }} + - name: ELASTIC_APM_ENABLED + value: {{ .Values.globals.elasticApmEnabled | quote }} + {{ end }} + {{ if .Values.globals.elasticApmSecretToken }} + - name: ELASTIC_APM_SECRET_TOKEN + value: { { .Values.globals.elasticApmSecretToken | quote } } + {{ end }} + {{ if .Values.globals.elasticApmServerUrl } } + - name: ELASTIC_APM_SERVER_URL + value: {{ .Values.globals.elasticApmServerUrl | quote }} + {{ end }} image: budibase/apps:{{ .Values.globals.appVersion }} imagePullPolicy: Always diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml index 918dab427b..5d265f85ff 100644 --- a/charts/budibase/templates/worker-service-deployment.yaml +++ b/charts/budibase/templates/worker-service-deployment.yaml @@ -125,6 +125,19 @@ spec: value: {{ .Values.globals.google.secret | quote }} - name: TENANT_FEATURE_FLAGS value: {{ .Values.globals.tenantFeatureFlags | quote }} + {{ if .Values.globals.elasticApmEnabled }} + - name: ELASTIC_APM_ENABLED + value: {{ .Values.globals.elasticApmEnabled | quote }} + {{ end }} + {{ if .Values.globals.elasticApmSecretToken }} + - name: ELASTIC_APM_SECRET_TOKEN + value: {{ .Values.globals.elasticApmSecretToken | quote }} + {{ end }} + {{ if .Values.globals.elasticApmServerUrl }} + - name: ELASTIC_APM_SERVER_URL + value: {{ .Values.globals.elasticApmServerUrl | quote }} + {{ end }} + image: budibase/worker:{{ .Values.globals.appVersion }} imagePullPolicy: Always livenessProbe: diff --git a/charts/budibase/values.yaml b/charts/budibase/values.yaml index 26f8cd24ed..9b5e76d0d7 100644 --- a/charts/budibase/values.yaml +++ b/charts/budibase/values.yaml @@ -114,6 +114,10 @@ globals: smtp: enabled: false +# elasticApmEnabled: +# elasticApmSecretToken: +# elasticApmServerUrl: + services: budibaseVersion: latest dns: cluster.local diff --git a/packages/server/package.json b/packages/server/package.json index f7df7caedc..8c01f8bb45 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -99,6 +99,7 @@ "curlconverter": "3.21.0", "dotenv": "8.2.0", "download": "8.0.0", + "elastic-apm-node": "3.38.0", "fix-path": "3.0.0", "form-data": "4.0.0", "fs-extra": "8.1.0", diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 62301d57ca..0b3bcd7cad 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -1,6 +1,15 @@ // need to load environment first -import { ExtendableContext } from "koa" import * as env from "./environment" + +// enable APM if configured +if (process.env.ELASTIC_APM_ENABLED) { + const apm = require("elastic-apm-node").start({ + serviceName: process.env.SERVICE, + environment: process.env.BUDIBASE_ENVIRONMENT, + }) +} + +import { ExtendableContext } from "koa" import db from "./db" db.init() const Koa = require("koa") diff --git a/packages/server/src/environment.js b/packages/server/src/environment.js index c2e2815e00..7f929f79e1 100644 --- a/packages/server/src/environment.js +++ b/packages/server/src/environment.js @@ -13,10 +13,7 @@ function isJest() { } function isDev() { - return ( - process.env.NODE_ENV !== "production" && - process.env.BUDIBASE_ENVIRONMENT !== "production" - ) + return process.env.NODE_ENV !== "production" } function isCypress() { diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 57d20dcce1..b00cfc4c74 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1303,6 +1303,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@elastic/ecs-helpers@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz#ee7e6f870f75a2222c5d7179b36a628f1db4779e" + integrity sha512-MDLb2aFeGjg46O5mLpdCzT5yOUDnXToJSrco2ShqGIXxNJaM8uJjX+4nd+hRYV4Vex8YJyDtOFEVBldQct6ndg== + dependencies: + fast-json-stringify "^2.4.1" + +"@elastic/ecs-pino-format@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@elastic/ecs-pino-format/-/ecs-pino-format-1.3.0.tgz#6e349a7da342b3c370d15361ba7f850bc2f783bc" + integrity sha512-U8D57gPECYoRCcwREsrXKBtqeyFFF/KAwHi4rG1u/oQhAg91Kzw8ZtUQJXD/DMDieLOqtbItFr2FRBWI3t3wog== + dependencies: + "@elastic/ecs-helpers" "^1.1.0" + "@elastic/elasticsearch@7.10.0": version "7.10.0" resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-7.10.0.tgz#da105a9c1f14146f9f2cab4e7026cb7949121b8d" @@ -2093,7 +2107,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@opentelemetry/api@^1.0.1": +"@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a" integrity sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ== @@ -3373,6 +3387,11 @@ adal-node@^0.2.2: uuid "^3.1.0" xpath.js "~1.1.0" +after-all-results@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/after-all-results/-/after-all-results-2.0.0.tgz#6ac2fc202b500f88da8f4f5530cfa100f4c6a2d0" + integrity sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg== + agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3380,6 +3399,15 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" +agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + airtable@0.10.1: version "0.10.1" resolved "https://registry.yarnpkg.com/airtable/-/airtable-0.10.1.tgz#0b311002bb44b39f19bf7c4bd2d47d75c733bf87" @@ -3403,7 +3431,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.11.0, ajv@^6.12.3, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3712,11 +3740,30 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async-cache@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-cache/-/async-cache-1.1.0.tgz#4a9a5a89d065ec5d8e5254bd9ee96ba76c532b5a" + integrity sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g== + dependencies: + lru-cache "^4.0.0" + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-value-promise@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/async-value-promise/-/async-value-promise-1.1.1.tgz#68957819e3eace804f3b4b69477e2bd276c15378" + integrity sha512-c2RFDKjJle1rHa0YxN9Ysu97/QBu3Wa+NOejJxsX+1qVDJrkD3JL/GN1B3gaILAEXJXbu/4Z1lcoCHFESe/APA== + dependencies: + async-value "^1.2.2" + +async-value@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/async-value/-/async-value-1.2.2.tgz#84517a1e7cb6b1a5b5e181fa31be10437b7fb125" + integrity sha512-8rwtYe32OAS1W9CTwvknoyts+mc3ta8N7Pi0h7AjkMaKvsFbr39K+gEfZ7Z81aPXQ1sK5M23lgLy1QfZpcpadQ== + async@^2.6.3: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" @@ -4007,6 +4054,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -4052,6 +4106,11 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +binary-search@^1.3.3: + version "1.3.6" + resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz#e32426016a0c5092f0f3598836a1c7da3560565c" + integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA== + binascii@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/binascii/-/binascii-0.0.2.tgz#a7f8a8801dbccf8b1756b743daa0fee9e2d9e0ee" @@ -4173,6 +4232,13 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +breadth-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/breadth-filter/-/breadth-filter-2.0.0.tgz#7b3f8737f46ba1946aec19355ecf5df2bdb7e47c" + integrity sha512-thQShDXnFWSk2oVBixRCyrWsFoV5tfOpWKHmxwafHQDNxCfDBk539utpvytNjmlFrTMqz41poLwJvA1MW3z0MQ== + dependencies: + object.entries "^1.0.4" + browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -4771,6 +4837,11 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== +console-log-level@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/console-log-level/-/console-log-level-1.4.1.tgz#9c5a6bb9ef1ef65b05aba83028b0ff894cdf630a" + integrity sha512-VZzbIORbP+PPcN/gg3DXClTLPLg5Slwd5fL2MIc+o1qZ4BXBvWyc6QxPk6T/Mkr6IVjRpoAGf32XxP3ZWMVRcQ== + consolidate@^0.16.0: version "0.16.0" resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" @@ -4778,6 +4849,11 @@ consolidate@^0.16.0: dependencies: bluebird "^3.7.2" +container-info@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/container-info/-/container-info-1.1.0.tgz#6fcb94e93eacd397c6316ca2834491ede44e55ee" + integrity sha512-eD2zLAmxGS2kmL4f1jY8BdOqnmpL6X70kvzTBW/9FIQnxoxiBJ4htMsTmtPLPWRs7NHYFvqKQ1VtppV08mdsQA== + content-disposition@^0.5.2, content-disposition@~0.5.2: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -4802,6 +4878,11 @@ cookie@^0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + cookiejar@^2.1.0: version "2.1.3" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" @@ -5424,6 +5505,60 @@ ejs@^3.1.6: dependencies: jake "^10.8.5" +elastic-apm-http-client@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/elastic-apm-http-client/-/elastic-apm-http-client-11.0.1.tgz#15dbe99d56d62b3f732d1bd2b51bef6094b78801" + integrity sha512-5AOWlhs2WlZpI+DfgGqY/8Rk7KF8WeevaO8R961eBylavU6GWhLRNiJncohn5jsvrqhmeT19azBvy/oYRN7bJw== + dependencies: + agentkeepalive "^4.2.1" + breadth-filter "^2.0.0" + container-info "^1.0.1" + end-of-stream "^1.4.4" + fast-safe-stringify "^2.0.7" + fast-stream-to-buffer "^1.0.0" + object-filter-sequence "^1.0.0" + readable-stream "^3.4.0" + semver "^6.3.0" + stream-chopper "^3.0.1" + +elastic-apm-node@3.38.0: + version "3.38.0" + resolved "https://registry.yarnpkg.com/elastic-apm-node/-/elastic-apm-node-3.38.0.tgz#4d0dc9279c0e23e09b3b30aa4a9f9aeccfa59cc0" + integrity sha512-/d6YuWFtsfkVRpFD0YJ2rYJVq0rI0PGqG/C+cW1JpMZ4IOU8dA9xzUkxbT0G3B8gpHNug07Xo6bJdQa2oUaFbQ== + dependencies: + "@elastic/ecs-pino-format" "^1.2.0" + "@opentelemetry/api" "^1.1.0" + after-all-results "^2.0.0" + async-cache "^1.1.0" + async-value-promise "^1.1.1" + basic-auth "^2.0.1" + cookie "^0.5.0" + core-util-is "^1.0.2" + elastic-apm-http-client "11.0.1" + end-of-stream "^1.4.4" + error-callsites "^2.0.4" + error-stack-parser "^2.0.6" + escape-string-regexp "^4.0.0" + fast-safe-stringify "^2.0.7" + http-headers "^3.0.2" + is-native "^1.0.1" + lru-cache "^6.0.0" + measured-reporting "^1.51.1" + monitor-event-loop-delay "^1.0.0" + object-filter-sequence "^1.0.0" + object-identity-map "^1.0.2" + original-url "^1.2.3" + pino "^6.11.2" + relative-microtime "^2.0.0" + require-in-the-middle "^5.0.3" + semver "^6.3.0" + set-cookie-serde "^1.0.0" + shallow-clone-shim "^2.0.0" + source-map "^0.8.0-beta.0" + sql-summary "^1.0.1" + traverse "^0.6.6" + unicode-byte-truncate "^1.0.0" + electron-to-chromium@^1.4.147: version "1.4.150" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.150.tgz#89f0e12505462d5df7e56c5b91aff7e1dfdd33ec" @@ -5476,7 +5611,7 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -5515,6 +5650,11 @@ errno@~0.1.1, errno@~0.1.7: dependencies: prr "~1.0.1" +error-callsites@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/error-callsites/-/error-callsites-2.0.4.tgz#44f09e6a201e9a1603ead81eacac5ba258fca76e" + integrity sha512-V877Ch4FC4FN178fDK1fsrHN4I1YQIBdtjKrHh3BUHMnh3SMvwUVrqkaOgDpUuevgSNna0RBq6Ox9SGlxYrigA== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -5527,7 +5667,14 @@ error-inject@^1.0.0: resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" integrity sha512-JM8N6PytDbmIYm1IhPWlo8vr3NtfjhDY/1MhD/a5b/aad/USE8a0+NsqE9d5n+GVGmuNkPQWm4bFQWv18d8tMg== -es-abstract@^1.17.5, es-abstract@^1.19.0, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0, es-abstract@^1.20.1: +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.17.5, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0, es-abstract@^1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== @@ -6153,6 +6300,16 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-json-stringify@^2.4.1: + version "2.7.13" + resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz#277aa86c2acba4d9851bd6108ed657aa327ed8c0" + integrity sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA== + dependencies: + ajv "^6.11.0" + deepmerge "^4.2.2" + rfdc "^1.2.0" + string-similarity "^4.0.1" + fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -6168,6 +6325,13 @@ fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.0.8: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-stream-to-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stream-to-buffer/-/fast-stream-to-buffer-1.0.0.tgz#793340cc753e7ec9c7fb6d57a53a0b911cb0f588" + integrity sha512-bI/544WUQlD2iXBibQbOMSmG07Hay7YrpXlKaeGTPT7H7pC0eitt3usak5vUwEvCGK/O7rUAM3iyQValGU22TQ== + dependencies: + end-of-stream "^1.4.1" + fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" @@ -6455,6 +6619,11 @@ formidable@^1.1.1, formidable@^1.2.0: resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.6.tgz#d2a51d60162bbc9b4a055d8457a7c75315d1a168" integrity sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ== +forwarded-parse@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.2.tgz#08511eddaaa2ddfd56ba11138eee7df117a09325" + integrity sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -7200,6 +7369,13 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" +http-headers@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-headers/-/http-headers-3.0.2.tgz#5147771292f0b39d6778d930a3a59a76fc7ef44d" + integrity sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw== + dependencies: + next-line "^1.1.0" + http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -7231,6 +7407,13 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.5: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -7546,6 +7729,13 @@ is-core-module@^2.8.1: dependencies: has "^1.0.3" +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -7607,6 +7797,11 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -7649,6 +7844,21 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-integer@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-integer/-/is-integer-1.0.7.tgz#6bde81aacddf78b659b6629d629cadc51a886d5c" + integrity sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg== + dependencies: + is-finite "^1.0.0" + +is-native@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-native/-/is-native-1.0.1.tgz#cd18cc162e8450d683b5babe79ac99c145449675" + integrity sha512-I4z9hx+4u3/zyvpvGtAR+n7SodJugE+i2jiS8yfq1A9QAZY0KldLQz0SBptLC9ti7kBlpghWUwTKE2BA62eCcw== + dependencies: + is-nil "^1.0.0" + to-source-code "^1.0.0" + is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" @@ -7659,6 +7869,11 @@ is-negative-zero@^2.0.2: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-nil@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-nil/-/is-nil-1.0.1.tgz#2daba29e0b585063875e7b539d071f5b15937969" + integrity sha512-m2Rm8PhUFDNNhgvwZJjJG74a9h5CHU0fkA8WT+WGlCjyEbZ2jPwgb+ZxHu4np284EqNVyOsgppReK4qy/TwEwg== + is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" @@ -9675,7 +9890,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.1, lru-cache@^4.1.3, lru-cache@^4.1.5: +lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.3, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -9758,6 +9973,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mapcap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mapcap/-/mapcap-1.0.0.tgz#e8e29d04a160eaf8c92ec4bcbd2c5d07ed037e5a" + integrity sha512-KcNlZSlFPx+r1jYZmxEbTVymG+dIctf10WmWkuhrhrblM+KMoF77HelwihL5cxYlORye79KoR4IlOOk99lUJ0g== + markdown-it@^12.2.0: version "12.3.2" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" @@ -9790,6 +10010,24 @@ mdurl@^1.0.1: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== +measured-core@^1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/measured-core/-/measured-core-1.51.1.tgz#98989705c00bfb0d8a20e665a9f8d6e246a40518" + integrity sha512-DZQP9SEwdqqYRvT2slMK81D/7xwdxXosZZBtLVfPSo6y5P672FBTbzHVdN4IQyUkUpcVOR9pIvtUy5Ryl7NKyg== + dependencies: + binary-search "^1.3.3" + optional-js "^2.0.0" + +measured-reporting@^1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/measured-reporting/-/measured-reporting-1.51.1.tgz#6aeb209ad55edf3940e8afa75c8f97f541216b31" + integrity sha512-JCt+2u6XT1I5lG3SuYqywE0e62DJuAzBcfMzWGUhIYtPQV2Vm4HiYt/durqmzsAbZV181CEs+o/jMKWJKkYIWw== + dependencies: + console-log-level "^1.4.1" + mapcap "^1.0.0" + measured-core "^1.51.1" + optional-js "^2.0.0" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -9987,6 +10225,11 @@ mock-require@^3.0.3: get-caller-file "^1.0.2" normalize-path "^2.1.1" +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + moment-timezone@^0.5.15: version "0.5.34" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" @@ -10017,6 +10260,11 @@ mongodb@3.6.3: optionalDependencies: saslprep "^1.0.0" +monitor-event-loop-delay@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/monitor-event-loop-delay/-/monitor-event-loop-delay-1.0.0.tgz#b5ab78165a3bb93f2b275c50d01430c7f155d1f7" + integrity sha512-YRIr1exCIfBDLZle8WHOfSo7Xg3M+phcZfq9Fx1L6Abo+atGp7cge5pM7PjyBn4s1oZI/BRD4EMrzQBbPpVb5Q== + mri@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" @@ -10032,7 +10280,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1, ms@^2.1.3: +ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -10172,6 +10420,11 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-line@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-line/-/next-line-1.1.0.tgz#fcae57853052b6a9bae8208e40dd7d3c2d304603" + integrity sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -10381,11 +10634,23 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-filter-sequence@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/object-filter-sequence/-/object-filter-sequence-1.0.0.tgz#10bb05402fff100082b80d7e83991b10db411692" + integrity sha512-CsubGNxhIEChNY4cXYuA6KXafztzHqzLLZ/y3Kasf3A+sa3lL9thq3z+7o0pZqzEinjXT6lXDPAfVWI59dUyzQ== + object-hash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== +object-identity-map@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-identity-map/-/object-identity-map-1.0.2.tgz#2b4213a4285ca3a8cd2e696782c9964f887524e7" + integrity sha512-a2XZDGyYTngvGS67kWnqVdpoaJWsY7C1GhPJvejWAFCsUioTAaiTu8oBad7c6cI4McZxr4CmvnZeycK05iav5A== + dependencies: + object.entries "^1.1.0" + object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -10413,6 +10678,15 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" +object.entries@^1.0.4, object.entries@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.getownpropertydescriptors@^2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" @@ -10536,6 +10810,11 @@ openapi-validator@^0.14.2: path-parser "^6.1.0" typeof "^1.0.0" +optional-js@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/optional-js/-/optional-js-2.3.0.tgz#81d54c4719afa8845b988143643a5148f9d89490" + integrity sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw== + optionator@^0.8.1, optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -10553,6 +10832,13 @@ oracledb@5.3.0: resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-5.3.0.tgz#a15e6cd16757d8711a2c006a28bd7ecd3b8466f7" integrity sha512-HMJzQ6lCf287ztvvehTEmjCWA21FQ3RMvM+mgoqd4i8pkREuqFWO+y3ovsGR9moJUg4T0xjcwS8rl4mggWPxmg== +original-url@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/original-url/-/original-url-1.2.3.tgz#133aff4b2d27e38a98d736f7629c56262b7153e1" + integrity sha512-BYm+pKYLtS4mVe/mgT3YKGtWV5HzN/XKiaIu1aK4rsxyjuHeTW9N+xVBEpJcY1onB3nccfH0RbzUEoimMqFUHQ== + dependencies: + forwarded-parse "^2.1.0" + os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -11036,7 +11322,7 @@ pino-std-serializers@^4.0.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== -pino@^6.13.0: +pino@^6.11.2, pino@^6.13.0: version "6.14.0" resolved "https://registry.yarnpkg.com/pino/-/pino-6.14.0.tgz#b745ea87a99a6c4c9b374e4f29ca7910d4c69f78" integrity sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg== @@ -11648,7 +11934,7 @@ readable-stream@1.1.14, readable-stream@^1.0.27-1: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11865,6 +12151,11 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" +relative-microtime@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/relative-microtime/-/relative-microtime-2.0.0.tgz#cceed2af095ecd72ea32011279c79e5fcc7de29b" + integrity sha512-l18ha6HEZc+No/uK4GyAnNxgKW7nvEe35IaeN54sShMojtqik2a6GbTyuiezkjpPaqP874Z3lW5ysBo5irz4NA== + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -11945,6 +12236,15 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-in-the-middle@^5.0.3: + version "5.2.0" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz#4b71e3cc7f59977100af9beb76bf2d056a5a6de2" + integrity sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg== + dependencies: + debug "^4.1.1" + module-details-from-path "^1.0.3" + resolve "^1.22.1" + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -12017,6 +12317,15 @@ resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.9.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@1.0.2, responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -12050,6 +12359,11 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rfdc@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -12105,7 +12419,7 @@ safe-buffer@*, safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-b resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -12260,6 +12574,11 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-cookie-serde@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-cookie-serde/-/set-cookie-serde-1.0.0.tgz#bcf9c260ed2212ac4005a53eacbaaa37c07ac452" + integrity sha512-Vq8e5GsupfJ7okHIvEPcfs5neCo7MZ1ZuWrO3sllYi3DOWt6bSSCpADzqXjz3k0fXehnoFIrmmhty9IN6U6BXQ== + set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -12280,6 +12599,11 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +shallow-clone-shim@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone-shim/-/shallow-clone-shim-2.0.0.tgz#b62bf55aed79f4c1430ea1dc4d293a193f52cf91" + integrity sha512-YRNymdiL3KGOoS67d73TEmk4tdPTO9GSMCoiphQsTcC9EtC+AOmMPjkyBkRoCJfW9ASsaZw1craaiw1dPN2D3Q== + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -12549,6 +12873,13 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + spark-md5@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d" @@ -12633,6 +12964,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +sql-summary@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sql-summary/-/sql-summary-1.0.1.tgz#a2dddb5435bae294eb11424a7330dc5bafe09c2b" + integrity sha512-IpCr2tpnNkP3Jera4ncexsZUp0enJBLr+pHCyTweMUBrbJsTgQeLWx1FXLhoBj/MvcnUQpkgOn2EY8FKOkUzww== + sqlstring@^2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.3.tgz#2ddc21f03bce2c387ed60680e739922c65751d0c" @@ -12672,6 +13008,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + standard-as-callback@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" @@ -12705,6 +13046,13 @@ step@0.0.x: resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2" integrity sha512-qSSeQinUJk2w38vUFobjFoE307GqsozMC8VisOCkJLpklvKPT0ptPHwWOrENoag8rgLudvTkfP3bancwP93/Jw== +stream-chopper@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/stream-chopper/-/stream-chopper-3.0.1.tgz#73791ae7bf954c297d6683aec178648efc61dd75" + integrity sha512-f7h+ly8baAE26iIjcp3VbnBkbIRGtrvV0X0xxFM/d7fwLTYnLzDPTXRKNxa2HZzohOrc96NTrR+FaV3mzOelNA== + dependencies: + readable-stream "^3.0.6" + stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" @@ -12728,7 +13076,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-similarity@^4.0.4: +string-similarity@^4.0.1, string-similarity@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== @@ -13383,6 +13731,13 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-source-code@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-source-code/-/to-source-code-1.0.2.tgz#dd136bdb1e1dbd80bbeacf088992678e9070bfea" + integrity sha512-YzWtjmNIf3E75eZYa7m1SCyl0vgOGoTzdpH3svfa8SUm5rqTgl9hnDolrAGOghCF9P2gsITXQoMrlujOoz+RPw== + dependencies: + is-nil "^1.0.0" + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -13440,6 +13795,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +traverse@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + integrity sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw== + trim-repeated@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" @@ -13638,6 +13998,14 @@ undici@^4.14.1: resolved "https://registry.yarnpkg.com/undici/-/undici-4.16.0.tgz#469bb87b3b918818d3d7843d91a1d08da357d5ff" integrity sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw== +unicode-byte-truncate@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unicode-byte-truncate/-/unicode-byte-truncate-1.0.0.tgz#aa6f0f3475193fe20c320ac9213e36e62e8764a7" + integrity sha512-GQgHk6DodEoKddKQdjnv7xKS9G09XCfHWX0R4RKht+EbUMSiVEmtWHGFO8HUm+6NvWik3E2/DG4MxTitOLL64A== + dependencies: + is-integer "^1.0.6" + unicode-substring "^0.1.0" + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -13661,6 +14029,11 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== +unicode-substring@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicode-substring/-/unicode-substring-0.1.0.tgz#6120ce3c390385dbcd0f60c32b9065c4181d4b36" + integrity sha512-36Xaw9wXi7MB/3/EQZZHkZyyiRNa9i3k9YtPAz2KfqMVH2xutdXyMHn4Igarmnvr+wOrfWa/6njhY+jPpXN2EQ== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" diff --git a/packages/worker/package.json b/packages/worker/package.json index 2b9d30f190..814f70f119 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -46,6 +46,7 @@ "aws-sdk": "2.1030.0", "bcryptjs": "2.4.3", "dotenv": "8.6.0", + "elastic-apm-node": "3.38.0", "global-agent": "3.0.0", "got": "11.8.3", "joi": "17.6.0", diff --git a/packages/worker/src/index.ts b/packages/worker/src/index.ts index 6fb954a1b5..bc1948c458 100644 --- a/packages/worker/src/index.ts +++ b/packages/worker/src/index.ts @@ -1,10 +1,18 @@ // need to load environment first +const env = require("./environment") + +// enable APM if configured +if (process.env.ELASTIC_APM_ENABLED) { + const apm = require("elastic-apm-node").start({ + serviceName: process.env.SERVICE, + environment: process.env.BUDIBASE_ENVIRONMENT, + }) +} + import { Scope } from "@sentry/node" import { Event } from "@sentry/types/dist/event" import Application from "koa" import { bootstrap } from "global-agent" - -const env = require("./environment") import db from "./db" db.init() const Koa = require("koa") diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index e0bea7efcb..8e3c1b9d2b 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -352,6 +352,20 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@elastic/ecs-helpers@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz#ee7e6f870f75a2222c5d7179b36a628f1db4779e" + integrity sha512-MDLb2aFeGjg46O5mLpdCzT5yOUDnXToJSrco2ShqGIXxNJaM8uJjX+4nd+hRYV4Vex8YJyDtOFEVBldQct6ndg== + dependencies: + fast-json-stringify "^2.4.1" + +"@elastic/ecs-pino-format@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@elastic/ecs-pino-format/-/ecs-pino-format-1.3.0.tgz#6e349a7da342b3c370d15361ba7f850bc2f783bc" + integrity sha512-U8D57gPECYoRCcwREsrXKBtqeyFFF/KAwHi4rG1u/oQhAg91Kzw8ZtUQJXD/DMDieLOqtbItFr2FRBWI3t3wog== + dependencies: + "@elastic/ecs-helpers" "^1.1.0" + "@hapi/bourne@^2.0.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-2.1.0.tgz#66aff77094dc3080bd5df44ec63881f2676eb020" @@ -653,6 +667,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@opentelemetry/api@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a" + integrity sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ== + "@sentry/core@6.17.7": version "6.17.7" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.17.7.tgz#f591235c06b1a4e75d748b15c539e071bd3f5cf5" @@ -1229,6 +1248,11 @@ acorn@^8.2.4, acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== +after-all-results@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/after-all-results/-/after-all-results-2.0.0.tgz#6ac2fc202b500f88da8f4f5530cfa100f4c6a2d0" + integrity sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1236,7 +1260,16 @@ agent-base@6: dependencies: debug "4" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: +agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.11.0, ajv@^6.12.3: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1374,6 +1407,25 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async-cache@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-cache/-/async-cache-1.1.0.tgz#4a9a5a89d065ec5d8e5254bd9ee96ba76c532b5a" + integrity sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g== + dependencies: + lru-cache "^4.0.0" + +async-value-promise@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/async-value-promise/-/async-value-promise-1.1.1.tgz#68957819e3eace804f3b4b69477e2bd276c15378" + integrity sha512-c2RFDKjJle1rHa0YxN9Ysu97/QBu3Wa+NOejJxsX+1qVDJrkD3JL/GN1B3gaILAEXJXbu/4Z1lcoCHFESe/APA== + dependencies: + async-value "^1.2.2" + +async-value@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/async-value/-/async-value-1.2.2.tgz#84517a1e7cb6b1a5b5e181fa31be10437b7fb125" + integrity sha512-8rwtYe32OAS1W9CTwvknoyts+mc3ta8N7Pi0h7AjkMaKvsFbr39K+gEfZ7Z81aPXQ1sK5M23lgLy1QfZpcpadQ== + async@~2.1.4: version "2.1.5" resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" @@ -1512,6 +1564,13 @@ base64url@3.x.x, base64url@^3.0.1: resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -1537,6 +1596,11 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +binary-search@^1.3.3: + version "1.3.6" + resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz#e32426016a0c5092f0f3598836a1c7da3560565c" + integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA== + bl@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -1585,6 +1649,13 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +breadth-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/breadth-filter/-/breadth-filter-2.0.0.tgz#7b3f8737f46ba1946aec19355ecf5df2bdb7e47c" + integrity sha512-thQShDXnFWSk2oVBixRCyrWsFoV5tfOpWKHmxwafHQDNxCfDBk539utpvytNjmlFrTMqz41poLwJvA1MW3z0MQ== + dependencies: + object.entries "^1.0.4" + browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -1691,7 +1762,7 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.0: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -1967,6 +2038,16 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== +console-log-level@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/console-log-level/-/console-log-level-1.4.1.tgz#9c5a6bb9ef1ef65b05aba83028b0ff894cdf630a" + integrity sha512-VZzbIORbP+PPcN/gg3DXClTLPLg5Slwd5fL2MIc+o1qZ4BXBvWyc6QxPk6T/Mkr6IVjRpoAGf32XxP3ZWMVRcQ== + +container-info@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/container-info/-/container-info-1.1.0.tgz#6fcb94e93eacd397c6316ca2834491ede44e55ee" + integrity sha512-eD2zLAmxGS2kmL4f1jY8BdOqnmpL6X70kvzTBW/9FIQnxoxiBJ4htMsTmtPLPWRs7NHYFvqKQ1VtppV08mdsQA== + content-disposition@~0.5.2: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -1991,6 +2072,11 @@ cookie@^0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + cookiejar@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" @@ -2183,7 +2269,7 @@ deferred-leveldown@~5.3.0: abstract-leveldown "~6.2.1" inherits "^2.0.3" -define-properties@^1.1.3: +define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== @@ -2216,7 +2302,7 @@ depd@2.0.0, depd@^2.0.0, depd@~2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -depd@~1.1.2: +depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== @@ -2340,6 +2426,60 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== +elastic-apm-http-client@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/elastic-apm-http-client/-/elastic-apm-http-client-11.0.1.tgz#15dbe99d56d62b3f732d1bd2b51bef6094b78801" + integrity sha512-5AOWlhs2WlZpI+DfgGqY/8Rk7KF8WeevaO8R961eBylavU6GWhLRNiJncohn5jsvrqhmeT19azBvy/oYRN7bJw== + dependencies: + agentkeepalive "^4.2.1" + breadth-filter "^2.0.0" + container-info "^1.0.1" + end-of-stream "^1.4.4" + fast-safe-stringify "^2.0.7" + fast-stream-to-buffer "^1.0.0" + object-filter-sequence "^1.0.0" + readable-stream "^3.4.0" + semver "^6.3.0" + stream-chopper "^3.0.1" + +elastic-apm-node@3.38.0: + version "3.38.0" + resolved "https://registry.yarnpkg.com/elastic-apm-node/-/elastic-apm-node-3.38.0.tgz#4d0dc9279c0e23e09b3b30aa4a9f9aeccfa59cc0" + integrity sha512-/d6YuWFtsfkVRpFD0YJ2rYJVq0rI0PGqG/C+cW1JpMZ4IOU8dA9xzUkxbT0G3B8gpHNug07Xo6bJdQa2oUaFbQ== + dependencies: + "@elastic/ecs-pino-format" "^1.2.0" + "@opentelemetry/api" "^1.1.0" + after-all-results "^2.0.0" + async-cache "^1.1.0" + async-value-promise "^1.1.1" + basic-auth "^2.0.1" + cookie "^0.5.0" + core-util-is "^1.0.2" + elastic-apm-http-client "11.0.1" + end-of-stream "^1.4.4" + error-callsites "^2.0.4" + error-stack-parser "^2.0.6" + escape-string-regexp "^4.0.0" + fast-safe-stringify "^2.0.7" + http-headers "^3.0.2" + is-native "^1.0.1" + lru-cache "^6.0.0" + measured-reporting "^1.51.1" + monitor-event-loop-delay "^1.0.0" + object-filter-sequence "^1.0.0" + object-identity-map "^1.0.2" + original-url "^1.2.3" + pino "^6.11.2" + relative-microtime "^2.0.0" + require-in-the-middle "^5.0.3" + semver "^6.3.0" + set-cookie-serde "^1.0.0" + shallow-clone-shim "^2.0.0" + source-map "^0.8.0-beta.0" + sql-summary "^1.0.1" + traverse "^0.6.6" + unicode-byte-truncate "^1.0.0" + electron-to-chromium@^1.4.147: version "1.4.150" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.150.tgz#89f0e12505462d5df7e56c5b91aff7e1dfdd33ec" @@ -2382,7 +2522,7 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -2403,6 +2543,11 @@ errno@~0.1.1: dependencies: prr "~1.0.1" +error-callsites@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/error-callsites/-/error-callsites-2.0.4.tgz#44f09e6a201e9a1603ead81eacac5ba258fca76e" + integrity sha512-V877Ch4FC4FN178fDK1fsrHN4I1YQIBdtjKrHh3BUHMnh3SMvwUVrqkaOgDpUuevgSNna0RBq6Ox9SGlxYrigA== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -2410,6 +2555,51 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es3ify@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/es3ify/-/es3ify-0.2.2.tgz#5dae3e650e5be3684b88066513d528d092629862" @@ -2677,6 +2867,16 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-json-stringify@^2.4.1: + version "2.7.13" + resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz#277aa86c2acba4d9851bd6108ed657aa327ed8c0" + integrity sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA== + dependencies: + ajv "^6.11.0" + deepmerge "^4.2.2" + rfdc "^1.2.0" + string-similarity "^4.0.1" + fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -2692,6 +2892,13 @@ fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.0.8, fast-safe-stringify@^2.1 resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-stream-to-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stream-to-buffer/-/fast-stream-to-buffer-1.0.0.tgz#793340cc753e7ec9c7fb6d57a53a0b911cb0f588" + integrity sha512-bI/544WUQlD2iXBibQbOMSmG07Hay7YrpXlKaeGTPT7H7pC0eitt3usak5vUwEvCGK/O7rUAM3iyQValGU22TQ== + dependencies: + end-of-stream "^1.4.1" + fast-url-parser@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -2827,6 +3034,11 @@ formidable@^2.0.1: once "1.4.0" qs "6.9.3" +forwarded-parse@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.2.tgz#08511eddaaa2ddfd56ba11138eee7df117a09325" + integrity sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw== + fresh@~0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -2859,11 +3071,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + gauge@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" @@ -2889,7 +3116,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== @@ -2922,6 +3149,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -3097,6 +3332,11 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3205,6 +3445,13 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" +http-headers@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-headers/-/http-headers-3.0.2.tgz#5147771292f0b39d6778d930a3a59a76fc7ef44d" + integrity sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw== + dependencies: + next-line "^1.1.0" + http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -3244,6 +3491,13 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.5: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -3364,6 +3618,15 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + ioredis@4.28.0: version "4.28.0" resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.28.0.tgz#5a2be3f37ff2075e2332f280eaeb02ab4d9ff0d3" @@ -3386,6 +3649,13 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -3393,11 +3663,24 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -3417,11 +3700,30 @@ is-core-module@^2.8.1: dependencies: has "^1.0.3" +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -3459,11 +3761,43 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-integer@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-integer/-/is-integer-1.0.7.tgz#6bde81aacddf78b659b6629d629cadc51a886d5c" + integrity sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg== + dependencies: + is-finite "^1.0.0" + +is-native@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-native/-/is-native-1.0.1.tgz#cd18cc162e8450d683b5babe79ac99c145449675" + integrity sha512-I4z9hx+4u3/zyvpvGtAR+n7SodJugE+i2jiS8yfq1A9QAZY0KldLQz0SBptLC9ti7kBlpghWUwTKE2BA62eCcw== + dependencies: + is-nil "^1.0.0" + to-source-code "^1.0.0" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-nil@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-nil/-/is-nil-1.0.1.tgz#2daba29e0b585063875e7b539d071f5b15937969" + integrity sha512-m2Rm8PhUFDNNhgvwZJjJG74a9h5CHU0fkA8WT+WGlCjyEbZ2jPwgb+ZxHu4np284EqNVyOsgppReK4qy/TwEwg== + is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3484,16 +3818,45 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-retry-allowed@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + is-type-of@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/is-type-of/-/is-type-of-1.2.1.tgz#e263ec3857aceb4f28c47130ec78db09a920f8c5" @@ -3508,6 +3871,13 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -4504,6 +4874,11 @@ lodash.pick@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -4519,6 +4894,14 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lru-cache@^4.0.0: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -4555,6 +4938,11 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +mapcap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mapcap/-/mapcap-1.0.0.tgz#e8e29d04a160eaf8c92ec4bcbd2c5d07ed037e5a" + integrity sha512-KcNlZSlFPx+r1jYZmxEbTVymG+dIctf10WmWkuhrhrblM+KMoF77HelwihL5cxYlORye79KoR4IlOOk99lUJ0g== + matcher@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" @@ -4571,6 +4959,24 @@ md5@^2.3.0: crypt "0.0.2" is-buffer "~1.1.6" +measured-core@^1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/measured-core/-/measured-core-1.51.1.tgz#98989705c00bfb0d8a20e665a9f8d6e246a40518" + integrity sha512-DZQP9SEwdqqYRvT2slMK81D/7xwdxXosZZBtLVfPSo6y5P672FBTbzHVdN4IQyUkUpcVOR9pIvtUy5Ryl7NKyg== + dependencies: + binary-search "^1.3.3" + optional-js "^2.0.0" + +measured-reporting@^1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/measured-reporting/-/measured-reporting-1.51.1.tgz#6aeb209ad55edf3940e8afa75c8f97f541216b31" + integrity sha512-JCt+2u6XT1I5lG3SuYqywE0e62DJuAzBcfMzWGUhIYtPQV2Vm4HiYt/durqmzsAbZV181CEs+o/jMKWJKkYIWw== + dependencies: + console-log-level "^1.4.1" + mapcap "^1.0.0" + measured-core "^1.51.1" + optional-js "^2.0.0" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -4692,6 +5098,16 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + +monitor-event-loop-delay@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/monitor-event-loop-delay/-/monitor-event-loop-delay-1.0.0.tgz#b5ab78165a3bb93f2b275c50d01430c7f155d1f7" + integrity sha512-YRIr1exCIfBDLZle8WHOfSo7Xg3M+phcZfq9Fx1L6Abo+atGp7cge5pM7PjyBn4s1oZI/BRD4EMrzQBbPpVb5Q== + mri@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" @@ -4702,7 +5118,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1, ms@^2.1.3: +ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -4737,6 +5153,11 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +next-line@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-line/-/next-line-1.1.0.tgz#fcae57853052b6a9bae8208e40dd7d3c2d304603" + integrity sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -4879,7 +5300,19 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.9.0: +object-filter-sequence@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/object-filter-sequence/-/object-filter-sequence-1.0.0.tgz#10bb05402fff100082b80d7e83991b10db411692" + integrity sha512-CsubGNxhIEChNY4cXYuA6KXafztzHqzLLZ/y3Kasf3A+sa3lL9thq3z+7o0pZqzEinjXT6lXDPAfVWI59dUyzQ== + +object-identity-map@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-identity-map/-/object-identity-map-1.0.2.tgz#2b4213a4285ca3a8cd2e696782c9964f887524e7" + integrity sha512-a2XZDGyYTngvGS67kWnqVdpoaJWsY7C1GhPJvejWAFCsUioTAaiTu8oBad7c6cI4McZxr4CmvnZeycK05iav5A== + dependencies: + object.entries "^1.1.0" + +object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -4889,6 +5322,25 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object.assign@^4.1.2: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.0.4, object.entries@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + on-finished@^2.3.0: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -4915,6 +5367,11 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ== +optional-js@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/optional-js/-/optional-js-2.3.0.tgz#81d54c4719afa8845b988143643a5148f9d89490" + integrity sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw== + optionator@^0.8.1, optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -4927,6 +5384,13 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" +original-url@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/original-url/-/original-url-1.2.3.tgz#133aff4b2d27e38a98d736f7629c56262b7153e1" + integrity sha512-BYm+pKYLtS4mVe/mgT3YKGtWV5HzN/XKiaIu1aK4rsxyjuHeTW9N+xVBEpJcY1onB3nccfH0RbzUEoimMqFUHQ== + dependencies: + forwarded-parse "^2.1.0" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -5180,7 +5644,7 @@ pino-std-serializers@^4.0.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== -pino@^6.13.0: +pino@^6.11.2, pino@^6.13.0: version "6.14.0" resolved "https://registry.yarnpkg.com/pino/-/pino-6.14.0.tgz#b745ea87a99a6c4c9b374e4f29ca7910d4c69f78" integrity sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg== @@ -5504,6 +5968,11 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -5621,7 +6090,7 @@ readable-stream@1.1.14, readable-stream@^1.0.27-1: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5704,6 +6173,15 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -5723,6 +6201,11 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +relative-microtime@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/relative-microtime/-/relative-microtime-2.0.0.tgz#cceed2af095ecd72ea32011279c79e5fcc7de29b" + integrity sha512-l18ha6HEZc+No/uK4GyAnNxgKW7nvEe35IaeN54sShMojtqik2a6GbTyuiezkjpPaqP874Z3lW5ysBo5irz4NA== + remove-trailing-slash@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz#be2285a59f39c74d1bce4f825950061915e3780d" @@ -5759,6 +6242,15 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-in-the-middle@^5.0.3: + version "5.2.0" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz#4b71e3cc7f59977100af9beb76bf2d056a5a6de2" + integrity sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg== + dependencies: + debug "^4.1.1" + module-details-from-path "^1.0.3" + resolve "^1.22.1" + resolve-alpn@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -5803,6 +6295,15 @@ resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -5830,7 +6331,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.3.0: +rfdc@^1.2.0, rfdc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== @@ -5880,16 +6381,16 @@ rxjs@^6.6.0: dependencies: tslib "^1.9.0" +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -5963,6 +6464,11 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-cookie-serde@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-cookie-serde/-/set-cookie-serde-1.0.0.tgz#bcf9c260ed2212ac4005a53eacbaaa37c07ac452" + integrity sha512-Vq8e5GsupfJ7okHIvEPcfs5neCo7MZ1ZuWrO3sllYi3DOWt6bSSCpADzqXjz3k0fXehnoFIrmmhty9IN6U6BXQ== + setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -5973,6 +6479,11 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +shallow-clone-shim@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone-shim/-/shallow-clone-shim-2.0.0.tgz#b62bf55aed79f4c1430ea1dc4d293a193f52cf91" + integrity sha512-YRNymdiL3KGOoS67d73TEmk4tdPTO9GSMCoiphQsTcC9EtC+AOmMPjkyBkRoCJfW9ASsaZw1craaiw1dPN2D3Q== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6068,6 +6579,13 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + source-map@~0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -6107,6 +6625,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +sql-summary@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sql-summary/-/sql-summary-1.0.1.tgz#a2dddb5435bae294eb11424a7330dc5bafe09c2b" + integrity sha512-IpCr2tpnNkP3Jera4ncexsZUp0enJBLr+pHCyTweMUBrbJsTgQeLWx1FXLhoBj/MvcnUQpkgOn2EY8FKOkUzww== + sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" @@ -6129,6 +6652,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + standard-as-callback@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" @@ -6149,6 +6677,13 @@ step@0.0.x: resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2" integrity sha512-qSSeQinUJk2w38vUFobjFoE307GqsozMC8VisOCkJLpklvKPT0ptPHwWOrENoag8rgLudvTkfP3bancwP93/Jw== +stream-chopper@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/stream-chopper/-/stream-chopper-3.0.1.tgz#73791ae7bf954c297d6683aec178648efc61dd75" + integrity sha512-f7h+ly8baAE26iIjcp3VbnBkbIRGtrvV0X0xxFM/d7fwLTYnLzDPTXRKNxa2HZzohOrc96NTrR+FaV3mzOelNA== + dependencies: + readable-stream "^3.0.6" + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -6157,6 +6692,11 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" +string-similarity@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" + integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== + string-template@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96" @@ -6180,6 +6720,24 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -6442,6 +7000,13 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +to-source-code@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-source-code/-/to-source-code-1.0.2.tgz#dd136bdb1e1dbd80bbeacf088992678e9070bfea" + integrity sha512-YzWtjmNIf3E75eZYa7m1SCyl0vgOGoTzdpH3svfa8SUm5rqTgl9hnDolrAGOghCF9P2gsITXQoMrlujOoz+RPw== + dependencies: + is-nil "^1.0.0" + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -6471,6 +7036,13 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + tr46@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" @@ -6483,6 +7055,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +traverse@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + integrity sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw== + ts-jest@27.1.3: version "27.1.3" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.3.tgz#1f723e7e74027c4da92c0ffbd73287e8af2b2957" @@ -6610,11 +7187,34 @@ uid2@0.0.x: resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.4.tgz#033f3b1d5d32505f5ce5f888b9f3b667123c0a44" integrity sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + undefsafe@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== +unicode-byte-truncate@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unicode-byte-truncate/-/unicode-byte-truncate-1.0.0.tgz#aa6f0f3475193fe20c320ac9213e36e62e8764a7" + integrity sha512-GQgHk6DodEoKddKQdjnv7xKS9G09XCfHWX0R4RKht+EbUMSiVEmtWHGFO8HUm+6NvWik3E2/DG4MxTitOLL64A== + dependencies: + is-integer "^1.0.6" + unicode-substring "^0.1.0" + +unicode-substring@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicode-substring/-/unicode-substring-0.1.0.tgz#6120ce3c390385dbcd0f60c32b9065c4181d4b36" + integrity sha512-36Xaw9wXi7MB/3/EQZZHkZyyiRNa9i3k9YtPAz2KfqMVH2xutdXyMHn4Igarmnvr+wOrfWa/6njhY+jPpXN2EQ== + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -6786,6 +7386,11 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -6816,6 +7421,15 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" @@ -6825,6 +7439,17 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: tr46 "^2.1.0" webidl-conversions "^6.1.0" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -6946,6 +7571,11 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" From e79730a59af655638bd309bcc0dd61f4f81fa6db Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 10:27:30 +0000 Subject: [PATCH 054/105] v1.2.53 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 7d798b46e3..5d44401515 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.52", + "version": "1.2.53", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index b6ec16e120..3aa75c4b1f 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.52", + "version": "1.2.53", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.52", + "@budibase/types": "^1.2.53", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 82d6534ce7..3b11fe47ee 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": "1.2.52", + "version": "1.2.53", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.52", + "@budibase/string-templates": "^1.2.53", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 99c7d31c07..c6421af7f6 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.52", + "version": "1.2.53", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.52", - "@budibase/client": "^1.2.52", - "@budibase/frontend-core": "^1.2.52", - "@budibase/string-templates": "^1.2.52", + "@budibase/bbui": "^1.2.53", + "@budibase/client": "^1.2.53", + "@budibase/frontend-core": "^1.2.53", + "@budibase/string-templates": "^1.2.53", "@sentry/browser": "5.19.1", "@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 6a9df6844a..56fdb634a5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.52", + "version": "1.2.53", "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 d4b2e66f27..e5099b2633 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.52", + "version": "1.2.53", "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": "^1.2.52", - "@budibase/frontend-core": "^1.2.52", - "@budibase/string-templates": "^1.2.52", + "@budibase/bbui": "^1.2.53", + "@budibase/frontend-core": "^1.2.53", + "@budibase/string-templates": "^1.2.53", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 14ef50302f..e5649f652c 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.52", + "version": "1.2.53", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.52", + "@budibase/bbui": "^1.2.53", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index f7df7caedc..a0e40c7f29 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.52", + "version": "1.2.53", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.52", - "@budibase/client": "^1.2.52", + "@budibase/backend-core": "^1.2.53", + "@budibase/client": "^1.2.53", "@budibase/pro": "1.2.52", - "@budibase/string-templates": "^1.2.52", - "@budibase/types": "^1.2.52", + "@budibase/string-templates": "^1.2.53", + "@budibase/types": "^1.2.53", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index dee0eb060e..30b46e2f19 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.52", + "version": "1.2.53", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index e6a92d27d1..38c09db436 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.52", + "version": "1.2.53", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 2b9d30f190..8f79dc746b 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.52", + "version": "1.2.53", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.52", + "@budibase/backend-core": "^1.2.53", "@budibase/pro": "1.2.52", - "@budibase/string-templates": "^1.2.52", - "@budibase/types": "^1.2.52", + "@budibase/string-templates": "^1.2.53", + "@budibase/types": "^1.2.53", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 2590b9138314085799b75cf6690bb00e12084d7c Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 10:30:53 +0000 Subject: [PATCH 055/105] Update pro version to 1.2.53 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index a0e40c7f29..a32588a22d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.53", "@budibase/client": "^1.2.53", - "@budibase/pro": "1.2.52", + "@budibase/pro": "1.2.53", "@budibase/string-templates": "^1.2.53", "@budibase/types": "^1.2.53", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 57d20dcce1..28eedf4799 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.52.tgz#0fb41c42081224e513781a9deee23cfbbe40477d" - integrity sha512-e4RguuyYih4pP2lg62Qro5LPa4zGYYafaH5VvZvpZ/YrGsZxcnf0vweE5WZVUKtX3ZQhVtrW5gzvrAaqQUOIbQ== +"@budibase/backend-core@1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.53.tgz#31b88e28afad2cdb957f012e3effb9d506613f4c" + integrity sha512-B/nPjvjRRTYDMIo932d4WfqBeQk4HuqazzpI/Fs+AFqOO4c0SS7iVQmCZCCtVrxdPs67ivIBiErU8dBGjmh+NQ== dependencies: - "@budibase/types" "^1.2.52" + "@budibase/types" "^1.2.53" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.52.tgz#585789af03cb1440a7edbab06fb197c77141b887" - integrity sha512-ehVC4dle5/yEMKG8etEzD7cxWDEGsMoaigpf1iseY1S+EbV4MHvkku1oSB64fekDc211UD5jMXQx8lLVgoZQDw== +"@budibase/pro@1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.53.tgz#a8fd69adb38046afa69bb4b499b5212c20c2cd11" + integrity sha512-sPxgJzH3EQfTfZXBMXb6h3ETOEfwf1dH8R7cdBj+OsGhJmUzwf6vsamgAtuQ0xUxUg92pNWy4VFh5TBMpWbXUQ== dependencies: - "@budibase/backend-core" "1.2.52" - "@budibase/types" "1.2.52" + "@budibase/backend-core" "1.2.53" + "@budibase/types" "1.2.53" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.52", "@budibase/types@^1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.52.tgz#11d35cdaf1b88bd9f4e12677dc3e34a74e80bf74" - integrity sha512-i9bZC59THo+BXssF1eCln2wouj3esFY8fWqqmjPN+Bo1l078LBMXTF0q+BjdSkf5jf6SR1TrT0uXj5AN0e6xWA== +"@budibase/types@1.2.53", "@budibase/types@^1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.53.tgz#43069a559ccb0d8ec06777ddb870b75476b68485" + integrity sha512-3nIu21ZvBpgrAuxDHue5ByKwyvQAg9Wc++Va1QFzWpEwuJyA3zaMKBbiHKACm1mUHFqjzRLHIsghv2LiaQ0jzg== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 8f79dc746b..adeba323d0 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.53", - "@budibase/pro": "1.2.52", + "@budibase/pro": "1.2.53", "@budibase/string-templates": "^1.2.53", "@budibase/types": "^1.2.53", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index e0bea7efcb..ac76ccd753 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.52.tgz#0fb41c42081224e513781a9deee23cfbbe40477d" - integrity sha512-e4RguuyYih4pP2lg62Qro5LPa4zGYYafaH5VvZvpZ/YrGsZxcnf0vweE5WZVUKtX3ZQhVtrW5gzvrAaqQUOIbQ== +"@budibase/backend-core@1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.53.tgz#31b88e28afad2cdb957f012e3effb9d506613f4c" + integrity sha512-B/nPjvjRRTYDMIo932d4WfqBeQk4HuqazzpI/Fs+AFqOO4c0SS7iVQmCZCCtVrxdPs67ivIBiErU8dBGjmh+NQ== dependencies: - "@budibase/types" "^1.2.52" + "@budibase/types" "^1.2.53" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.52.tgz#585789af03cb1440a7edbab06fb197c77141b887" - integrity sha512-ehVC4dle5/yEMKG8etEzD7cxWDEGsMoaigpf1iseY1S+EbV4MHvkku1oSB64fekDc211UD5jMXQx8lLVgoZQDw== +"@budibase/pro@1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.53.tgz#a8fd69adb38046afa69bb4b499b5212c20c2cd11" + integrity sha512-sPxgJzH3EQfTfZXBMXb6h3ETOEfwf1dH8R7cdBj+OsGhJmUzwf6vsamgAtuQ0xUxUg92pNWy4VFh5TBMpWbXUQ== dependencies: - "@budibase/backend-core" "1.2.52" - "@budibase/types" "1.2.52" + "@budibase/backend-core" "1.2.53" + "@budibase/types" "1.2.53" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.52", "@budibase/types@^1.2.52": - version "1.2.52" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.52.tgz#11d35cdaf1b88bd9f4e12677dc3e34a74e80bf74" - integrity sha512-i9bZC59THo+BXssF1eCln2wouj3esFY8fWqqmjPN+Bo1l078LBMXTF0q+BjdSkf5jf6SR1TrT0uXj5AN0e6xWA== +"@budibase/types@1.2.53", "@budibase/types@^1.2.53": + version "1.2.53" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.53.tgz#43069a559ccb0d8ec06777ddb870b75476b68485" + integrity sha512-3nIu21ZvBpgrAuxDHue5ByKwyvQAg9Wc++Va1QFzWpEwuJyA3zaMKBbiHKACm1mUHFqjzRLHIsghv2LiaQ0jzg== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From af896d37aa6407f5a2f5f1478f7e61a72f20e3fe Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 12:26:19 +0000 Subject: [PATCH 056/105] v1.2.54 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 5d44401515..8a22311d0d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.53", + "version": "1.2.54", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 3aa75c4b1f..4e3badaa9a 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.53", + "version": "1.2.54", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.53", + "@budibase/types": "^1.2.54", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 3b11fe47ee..80db388da0 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": "1.2.53", + "version": "1.2.54", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.53", + "@budibase/string-templates": "^1.2.54", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index c6421af7f6..89b63a5c45 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.53", + "version": "1.2.54", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.53", - "@budibase/client": "^1.2.53", - "@budibase/frontend-core": "^1.2.53", - "@budibase/string-templates": "^1.2.53", + "@budibase/bbui": "^1.2.54", + "@budibase/client": "^1.2.54", + "@budibase/frontend-core": "^1.2.54", + "@budibase/string-templates": "^1.2.54", "@sentry/browser": "5.19.1", "@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 56fdb634a5..cf66bd2b51 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.53", + "version": "1.2.54", "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 e5099b2633..7006e10f26 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.53", + "version": "1.2.54", "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": "^1.2.53", - "@budibase/frontend-core": "^1.2.53", - "@budibase/string-templates": "^1.2.53", + "@budibase/bbui": "^1.2.54", + "@budibase/frontend-core": "^1.2.54", + "@budibase/string-templates": "^1.2.54", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index e5649f652c..4bd1380a36 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.53", + "version": "1.2.54", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.53", + "@budibase/bbui": "^1.2.54", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index c6dae04ceb..9d7e0aba22 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.53", + "version": "1.2.54", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.53", - "@budibase/client": "^1.2.53", + "@budibase/backend-core": "^1.2.54", + "@budibase/client": "^1.2.54", "@budibase/pro": "1.2.53", - "@budibase/string-templates": "^1.2.53", - "@budibase/types": "^1.2.53", + "@budibase/string-templates": "^1.2.54", + "@budibase/types": "^1.2.54", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 30b46e2f19..012a752613 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.53", + "version": "1.2.54", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 38c09db436..8a8cc32f8e 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.53", + "version": "1.2.54", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 356a39a9ea..ce18b602bc 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.53", + "version": "1.2.54", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.53", + "@budibase/backend-core": "^1.2.54", "@budibase/pro": "1.2.53", - "@budibase/string-templates": "^1.2.53", - "@budibase/types": "^1.2.53", + "@budibase/string-templates": "^1.2.54", + "@budibase/types": "^1.2.54", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 899f0a7e866203df1988c8573a1f3121353c6d78 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 12:29:53 +0000 Subject: [PATCH 057/105] Update pro version to 1.2.54 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 9d7e0aba22..67aab9a129 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.54", "@budibase/client": "^1.2.54", - "@budibase/pro": "1.2.53", + "@budibase/pro": "1.2.54", "@budibase/string-templates": "^1.2.54", "@budibase/types": "^1.2.54", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index c9cf744b22..fb3d9e96b0 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.53.tgz#31b88e28afad2cdb957f012e3effb9d506613f4c" - integrity sha512-B/nPjvjRRTYDMIo932d4WfqBeQk4HuqazzpI/Fs+AFqOO4c0SS7iVQmCZCCtVrxdPs67ivIBiErU8dBGjmh+NQ== +"@budibase/backend-core@1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.54.tgz#8b897a4dc23fdd7ee821d6eb55828c411e7bfd61" + integrity sha512-ee2HyhAZU2P5POLfvO53ZKVhFrVmEHpD4lzidRmbcBNDIvAv9rXrCiZwQlf/ju/kzDhbBz16en8hVQdAu9KjRw== dependencies: - "@budibase/types" "^1.2.53" + "@budibase/types" "^1.2.54" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.53.tgz#a8fd69adb38046afa69bb4b499b5212c20c2cd11" - integrity sha512-sPxgJzH3EQfTfZXBMXb6h3ETOEfwf1dH8R7cdBj+OsGhJmUzwf6vsamgAtuQ0xUxUg92pNWy4VFh5TBMpWbXUQ== +"@budibase/pro@1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.54.tgz#66cd76b402bf7f90ada206e83ad0e5d58814844d" + integrity sha512-5Cc4mRAkHSjgVyBHw/7uwoTmmEm40GuGCkcUXuS6oXpQiV96nCJMutN3QafGlhiVXNcAaXN6yQGr5KGB7H91Gg== dependencies: - "@budibase/backend-core" "1.2.53" - "@budibase/types" "1.2.53" + "@budibase/backend-core" "1.2.54" + "@budibase/types" "1.2.54" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.53", "@budibase/types@^1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.53.tgz#43069a559ccb0d8ec06777ddb870b75476b68485" - integrity sha512-3nIu21ZvBpgrAuxDHue5ByKwyvQAg9Wc++Va1QFzWpEwuJyA3zaMKBbiHKACm1mUHFqjzRLHIsghv2LiaQ0jzg== +"@budibase/types@1.2.54", "@budibase/types@^1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.54.tgz#0b933124ec13c9b2e8c07c347b5108a8aa0f1ed8" + integrity sha512-fZAKNSE1zHOmIbxnISqgJop5KTzsMiJZnEvv32KL0pTl/ehvU6DVDF0dgV7VCgpRTNmErbc+QlA1eKXWvwinGA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index ce18b602bc..2114934a0c 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.54", - "@budibase/pro": "1.2.53", + "@budibase/pro": "1.2.54", "@budibase/string-templates": "^1.2.54", "@budibase/types": "^1.2.54", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index dc17ac4bec..33f9890208 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.53.tgz#31b88e28afad2cdb957f012e3effb9d506613f4c" - integrity sha512-B/nPjvjRRTYDMIo932d4WfqBeQk4HuqazzpI/Fs+AFqOO4c0SS7iVQmCZCCtVrxdPs67ivIBiErU8dBGjmh+NQ== +"@budibase/backend-core@1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.54.tgz#8b897a4dc23fdd7ee821d6eb55828c411e7bfd61" + integrity sha512-ee2HyhAZU2P5POLfvO53ZKVhFrVmEHpD4lzidRmbcBNDIvAv9rXrCiZwQlf/ju/kzDhbBz16en8hVQdAu9KjRw== dependencies: - "@budibase/types" "^1.2.53" + "@budibase/types" "^1.2.54" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.53.tgz#a8fd69adb38046afa69bb4b499b5212c20c2cd11" - integrity sha512-sPxgJzH3EQfTfZXBMXb6h3ETOEfwf1dH8R7cdBj+OsGhJmUzwf6vsamgAtuQ0xUxUg92pNWy4VFh5TBMpWbXUQ== +"@budibase/pro@1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.54.tgz#66cd76b402bf7f90ada206e83ad0e5d58814844d" + integrity sha512-5Cc4mRAkHSjgVyBHw/7uwoTmmEm40GuGCkcUXuS6oXpQiV96nCJMutN3QafGlhiVXNcAaXN6yQGr5KGB7H91Gg== dependencies: - "@budibase/backend-core" "1.2.53" - "@budibase/types" "1.2.53" + "@budibase/backend-core" "1.2.54" + "@budibase/types" "1.2.54" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.53", "@budibase/types@^1.2.53": - version "1.2.53" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.53.tgz#43069a559ccb0d8ec06777ddb870b75476b68485" - integrity sha512-3nIu21ZvBpgrAuxDHue5ByKwyvQAg9Wc++Va1QFzWpEwuJyA3zaMKBbiHKACm1mUHFqjzRLHIsghv2LiaQ0jzg== +"@budibase/types@1.2.54", "@budibase/types@^1.2.54": + version "1.2.54" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.54.tgz#0b933124ec13c9b2e8c07c347b5108a8aa0f1ed8" + integrity sha512-fZAKNSE1zHOmIbxnISqgJop5KTzsMiJZnEvv32KL0pTl/ehvU6DVDF0dgV7VCgpRTNmErbc+QlA1eKXWvwinGA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 502f246bd37d646ddd6ae1c11e9e7b120a24ae7d Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 30 Aug 2022 13:53:31 +0100 Subject: [PATCH 058/105] Fix k8s yaml formatting --- charts/budibase/templates/app-service-deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml index d69ea53513..74b98ac008 100644 --- a/charts/budibase/templates/app-service-deployment.yaml +++ b/charts/budibase/templates/app-service-deployment.yaml @@ -140,9 +140,9 @@ spec: {{ end }} {{ if .Values.globals.elasticApmSecretToken }} - name: ELASTIC_APM_SECRET_TOKEN - value: { { .Values.globals.elasticApmSecretToken | quote } } + value: {{ .Values.globals.elasticApmSecretToken | quote }} {{ end }} - {{ if .Values.globals.elasticApmServerUrl } } + {{ if .Values.globals.elasticApmServerUrl }} - name: ELASTIC_APM_SERVER_URL value: {{ .Values.globals.elasticApmServerUrl | quote }} {{ end }} From 55ef22b64c79fae2246f773c7d36724bf1abc02f Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 13:05:19 +0000 Subject: [PATCH 059/105] v1.2.55 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 8a22311d0d..c4c1bb6048 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.54", + "version": "1.2.55", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 4e3badaa9a..0adef9ef04 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.54", + "version": "1.2.55", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.54", + "@budibase/types": "^1.2.55", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 80db388da0..19b3a1401b 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": "1.2.54", + "version": "1.2.55", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.54", + "@budibase/string-templates": "^1.2.55", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 89b63a5c45..3a1426d4d8 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.54", + "version": "1.2.55", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.54", - "@budibase/client": "^1.2.54", - "@budibase/frontend-core": "^1.2.54", - "@budibase/string-templates": "^1.2.54", + "@budibase/bbui": "^1.2.55", + "@budibase/client": "^1.2.55", + "@budibase/frontend-core": "^1.2.55", + "@budibase/string-templates": "^1.2.55", "@sentry/browser": "5.19.1", "@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 cf66bd2b51..d0b0fa710a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.54", + "version": "1.2.55", "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 7006e10f26..d48d70c255 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.54", + "version": "1.2.55", "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": "^1.2.54", - "@budibase/frontend-core": "^1.2.54", - "@budibase/string-templates": "^1.2.54", + "@budibase/bbui": "^1.2.55", + "@budibase/frontend-core": "^1.2.55", + "@budibase/string-templates": "^1.2.55", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 4bd1380a36..6dc21ab097 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.54", + "version": "1.2.55", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.54", + "@budibase/bbui": "^1.2.55", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 67aab9a129..d6e1104d86 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.54", + "version": "1.2.55", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.54", - "@budibase/client": "^1.2.54", + "@budibase/backend-core": "^1.2.55", + "@budibase/client": "^1.2.55", "@budibase/pro": "1.2.54", - "@budibase/string-templates": "^1.2.54", - "@budibase/types": "^1.2.54", + "@budibase/string-templates": "^1.2.55", + "@budibase/types": "^1.2.55", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 012a752613..56dadfc55f 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.54", + "version": "1.2.55", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 8a8cc32f8e..66313825f9 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.54", + "version": "1.2.55", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 2114934a0c..9ebded40ad 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.54", + "version": "1.2.55", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.54", + "@budibase/backend-core": "^1.2.55", "@budibase/pro": "1.2.54", - "@budibase/string-templates": "^1.2.54", - "@budibase/types": "^1.2.54", + "@budibase/string-templates": "^1.2.55", + "@budibase/types": "^1.2.55", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From e64b1e549fce7337097809c57ca55f54ca5e884e Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 13:08:36 +0000 Subject: [PATCH 060/105] Update pro version to 1.2.55 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index d6e1104d86..9fd4f61690 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.55", "@budibase/client": "^1.2.55", - "@budibase/pro": "1.2.54", + "@budibase/pro": "1.2.55", "@budibase/string-templates": "^1.2.55", "@budibase/types": "^1.2.55", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index fb3d9e96b0..f059129feb 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.54.tgz#8b897a4dc23fdd7ee821d6eb55828c411e7bfd61" - integrity sha512-ee2HyhAZU2P5POLfvO53ZKVhFrVmEHpD4lzidRmbcBNDIvAv9rXrCiZwQlf/ju/kzDhbBz16en8hVQdAu9KjRw== +"@budibase/backend-core@1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.55.tgz#b958497fed4edfef06d725eb7d669af0d7f3900d" + integrity sha512-s88CM02Qr7ZBDyGptzRxm3L0RwcSLSMZ15sqf0UwOfHgfionoTOIcJVrKMfFM8FbZ/c1eBns92rotKn7GVBCTg== dependencies: - "@budibase/types" "^1.2.54" + "@budibase/types" "^1.2.55" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.54.tgz#66cd76b402bf7f90ada206e83ad0e5d58814844d" - integrity sha512-5Cc4mRAkHSjgVyBHw/7uwoTmmEm40GuGCkcUXuS6oXpQiV96nCJMutN3QafGlhiVXNcAaXN6yQGr5KGB7H91Gg== +"@budibase/pro@1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.55.tgz#a279bd0eed1e34075270ba5c74b045eb06c6eed7" + integrity sha512-rM/KTUmtVMGMNZz4Nr2lruGcOjFgvjzE25k7g48bLqvWCjXMOeCsaRKl7d2qOyBs/vWzpCZgrD1Hy45MiqQbBQ== dependencies: - "@budibase/backend-core" "1.2.54" - "@budibase/types" "1.2.54" + "@budibase/backend-core" "1.2.55" + "@budibase/types" "1.2.55" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.54", "@budibase/types@^1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.54.tgz#0b933124ec13c9b2e8c07c347b5108a8aa0f1ed8" - integrity sha512-fZAKNSE1zHOmIbxnISqgJop5KTzsMiJZnEvv32KL0pTl/ehvU6DVDF0dgV7VCgpRTNmErbc+QlA1eKXWvwinGA== +"@budibase/types@1.2.55", "@budibase/types@^1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.55.tgz#d777e4480003a04a77ba8e425b0c3d359e25d4ea" + integrity sha512-t41ZE2RiXweZRMHKga+StWn/BK/90G7SRiPvuZe7lN0a0Mo+Gya3fQxWZKmMtMc/VMT24oXULivPs1UJhpLGEA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 9ebded40ad..c9bceefad7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.55", - "@budibase/pro": "1.2.54", + "@budibase/pro": "1.2.55", "@budibase/string-templates": "^1.2.55", "@budibase/types": "^1.2.55", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 33f9890208..6b653422b7 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.54.tgz#8b897a4dc23fdd7ee821d6eb55828c411e7bfd61" - integrity sha512-ee2HyhAZU2P5POLfvO53ZKVhFrVmEHpD4lzidRmbcBNDIvAv9rXrCiZwQlf/ju/kzDhbBz16en8hVQdAu9KjRw== +"@budibase/backend-core@1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.55.tgz#b958497fed4edfef06d725eb7d669af0d7f3900d" + integrity sha512-s88CM02Qr7ZBDyGptzRxm3L0RwcSLSMZ15sqf0UwOfHgfionoTOIcJVrKMfFM8FbZ/c1eBns92rotKn7GVBCTg== dependencies: - "@budibase/types" "^1.2.54" + "@budibase/types" "^1.2.55" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.54.tgz#66cd76b402bf7f90ada206e83ad0e5d58814844d" - integrity sha512-5Cc4mRAkHSjgVyBHw/7uwoTmmEm40GuGCkcUXuS6oXpQiV96nCJMutN3QafGlhiVXNcAaXN6yQGr5KGB7H91Gg== +"@budibase/pro@1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.55.tgz#a279bd0eed1e34075270ba5c74b045eb06c6eed7" + integrity sha512-rM/KTUmtVMGMNZz4Nr2lruGcOjFgvjzE25k7g48bLqvWCjXMOeCsaRKl7d2qOyBs/vWzpCZgrD1Hy45MiqQbBQ== dependencies: - "@budibase/backend-core" "1.2.54" - "@budibase/types" "1.2.54" + "@budibase/backend-core" "1.2.55" + "@budibase/types" "1.2.55" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.54", "@budibase/types@^1.2.54": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.54.tgz#0b933124ec13c9b2e8c07c347b5108a8aa0f1ed8" - integrity sha512-fZAKNSE1zHOmIbxnISqgJop5KTzsMiJZnEvv32KL0pTl/ehvU6DVDF0dgV7VCgpRTNmErbc+QlA1eKXWvwinGA== +"@budibase/types@1.2.55", "@budibase/types@^1.2.55": + version "1.2.55" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.55.tgz#d777e4480003a04a77ba8e425b0c3d359e25d4ea" + integrity sha512-t41ZE2RiXweZRMHKga+StWn/BK/90G7SRiPvuZe7lN0a0Mo+Gya3fQxWZKmMtMc/VMT24oXULivPs1UJhpLGEA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 1095d079cb739983a8a621f29b4b96ed94e520d5 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 30 Aug 2022 15:54:19 +0100 Subject: [PATCH 061/105] Add BUDIBASE_ENVIRONMENT to worker deployment --- charts/budibase/templates/worker-service-deployment.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml index 5d265f85ff..ea33ccb577 100644 --- a/charts/budibase/templates/worker-service-deployment.yaml +++ b/charts/budibase/templates/worker-service-deployment.yaml @@ -26,6 +26,8 @@ spec: io.kompose.service: worker-service spec: containers: + - name: BUDIBASE_ENVIRONMENT + value: {{ .Values.globals.budibaseEnv }} - env: - name: DEPLOYMENT_ENVIRONMENT value: "kubernetes" From 8df41d34844d8c7f98bc04c8ea805aed4fff0a0b Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 15:08:07 +0000 Subject: [PATCH 062/105] v1.2.56 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index c4c1bb6048..729a2c144d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.55", + "version": "1.2.56", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 0adef9ef04..5a06c83e3e 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.55", + "version": "1.2.56", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.55", + "@budibase/types": "^1.2.56", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 19b3a1401b..a48163001e 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": "1.2.55", + "version": "1.2.56", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.55", + "@budibase/string-templates": "^1.2.56", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 3a1426d4d8..2a5549a786 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.55", + "version": "1.2.56", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.55", - "@budibase/client": "^1.2.55", - "@budibase/frontend-core": "^1.2.55", - "@budibase/string-templates": "^1.2.55", + "@budibase/bbui": "^1.2.56", + "@budibase/client": "^1.2.56", + "@budibase/frontend-core": "^1.2.56", + "@budibase/string-templates": "^1.2.56", "@sentry/browser": "5.19.1", "@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 d0b0fa710a..f02db3cb56 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.55", + "version": "1.2.56", "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 d48d70c255..f460733867 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.55", + "version": "1.2.56", "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": "^1.2.55", - "@budibase/frontend-core": "^1.2.55", - "@budibase/string-templates": "^1.2.55", + "@budibase/bbui": "^1.2.56", + "@budibase/frontend-core": "^1.2.56", + "@budibase/string-templates": "^1.2.56", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 6dc21ab097..667e84d026 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.55", + "version": "1.2.56", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.55", + "@budibase/bbui": "^1.2.56", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 9fd4f61690..8f2892f913 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.55", + "version": "1.2.56", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.55", - "@budibase/client": "^1.2.55", + "@budibase/backend-core": "^1.2.56", + "@budibase/client": "^1.2.56", "@budibase/pro": "1.2.55", - "@budibase/string-templates": "^1.2.55", - "@budibase/types": "^1.2.55", + "@budibase/string-templates": "^1.2.56", + "@budibase/types": "^1.2.56", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 56dadfc55f..90c9945783 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.55", + "version": "1.2.56", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 66313825f9..2dc62ed59c 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.55", + "version": "1.2.56", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index c9bceefad7..416bad30bb 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.55", + "version": "1.2.56", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.55", + "@budibase/backend-core": "^1.2.56", "@budibase/pro": "1.2.55", - "@budibase/string-templates": "^1.2.55", - "@budibase/types": "^1.2.55", + "@budibase/string-templates": "^1.2.56", + "@budibase/types": "^1.2.56", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 2896e68d11b647906484e9d67ee3cde02de0fad2 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 15:11:56 +0000 Subject: [PATCH 063/105] Update pro version to 1.2.56 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 8f2892f913..8c82e8e3ec 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.56", "@budibase/client": "^1.2.56", - "@budibase/pro": "1.2.55", + "@budibase/pro": "1.2.56", "@budibase/string-templates": "^1.2.56", "@budibase/types": "^1.2.56", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index f059129feb..f6835133b3 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.55.tgz#b958497fed4edfef06d725eb7d669af0d7f3900d" - integrity sha512-s88CM02Qr7ZBDyGptzRxm3L0RwcSLSMZ15sqf0UwOfHgfionoTOIcJVrKMfFM8FbZ/c1eBns92rotKn7GVBCTg== +"@budibase/backend-core@1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.56.tgz#0e26f8a5bf0580147fb4d50f2ba96947734ba1e8" + integrity sha512-JpKhT/y0nxYG1T+udd0El1tx2Wwm+e3xTUmM1xV1HNiIB6cd49QqfHQvwR0xM69O37FBrG3GZlbLJaZR+/qF+w== dependencies: - "@budibase/types" "^1.2.55" + "@budibase/types" "^1.2.56" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.55.tgz#a279bd0eed1e34075270ba5c74b045eb06c6eed7" - integrity sha512-rM/KTUmtVMGMNZz4Nr2lruGcOjFgvjzE25k7g48bLqvWCjXMOeCsaRKl7d2qOyBs/vWzpCZgrD1Hy45MiqQbBQ== +"@budibase/pro@1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.56.tgz#45703f175d3347e036572de6cfb308c34eddc1eb" + integrity sha512-FxqRBhjH9xgPHmoEUo3pU8/8c3mMsj+vrivv0/c3i9UmkXWwDbOjPWbm3p/GrnTDsejlCTS999lZdOIz72+83g== dependencies: - "@budibase/backend-core" "1.2.55" - "@budibase/types" "1.2.55" + "@budibase/backend-core" "1.2.56" + "@budibase/types" "1.2.56" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.55", "@budibase/types@^1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.55.tgz#d777e4480003a04a77ba8e425b0c3d359e25d4ea" - integrity sha512-t41ZE2RiXweZRMHKga+StWn/BK/90G7SRiPvuZe7lN0a0Mo+Gya3fQxWZKmMtMc/VMT24oXULivPs1UJhpLGEA== +"@budibase/types@1.2.56", "@budibase/types@^1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.56.tgz#d3bfdb614a53a85f85ad4f10427567ceacdf5dc5" + integrity sha512-bfib4QnNIQcOrzGCX0UvxZrtXkYXkjo7T/mSlnrCwoiclJ/KA96eyzVgew7ayVcrbfE+q+xzvCSKCJqVgXydWQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 416bad30bb..eefb9b0d3c 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.56", - "@budibase/pro": "1.2.55", + "@budibase/pro": "1.2.56", "@budibase/string-templates": "^1.2.56", "@budibase/types": "^1.2.56", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 6b653422b7..c2331d8b45 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.55.tgz#b958497fed4edfef06d725eb7d669af0d7f3900d" - integrity sha512-s88CM02Qr7ZBDyGptzRxm3L0RwcSLSMZ15sqf0UwOfHgfionoTOIcJVrKMfFM8FbZ/c1eBns92rotKn7GVBCTg== +"@budibase/backend-core@1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.56.tgz#0e26f8a5bf0580147fb4d50f2ba96947734ba1e8" + integrity sha512-JpKhT/y0nxYG1T+udd0El1tx2Wwm+e3xTUmM1xV1HNiIB6cd49QqfHQvwR0xM69O37FBrG3GZlbLJaZR+/qF+w== dependencies: - "@budibase/types" "^1.2.55" + "@budibase/types" "^1.2.56" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.55.tgz#a279bd0eed1e34075270ba5c74b045eb06c6eed7" - integrity sha512-rM/KTUmtVMGMNZz4Nr2lruGcOjFgvjzE25k7g48bLqvWCjXMOeCsaRKl7d2qOyBs/vWzpCZgrD1Hy45MiqQbBQ== +"@budibase/pro@1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.56.tgz#45703f175d3347e036572de6cfb308c34eddc1eb" + integrity sha512-FxqRBhjH9xgPHmoEUo3pU8/8c3mMsj+vrivv0/c3i9UmkXWwDbOjPWbm3p/GrnTDsejlCTS999lZdOIz72+83g== dependencies: - "@budibase/backend-core" "1.2.55" - "@budibase/types" "1.2.55" + "@budibase/backend-core" "1.2.56" + "@budibase/types" "1.2.56" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.55", "@budibase/types@^1.2.55": - version "1.2.55" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.55.tgz#d777e4480003a04a77ba8e425b0c3d359e25d4ea" - integrity sha512-t41ZE2RiXweZRMHKga+StWn/BK/90G7SRiPvuZe7lN0a0Mo+Gya3fQxWZKmMtMc/VMT24oXULivPs1UJhpLGEA== +"@budibase/types@1.2.56", "@budibase/types@^1.2.56": + version "1.2.56" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.56.tgz#d3bfdb614a53a85f85ad4f10427567ceacdf5dc5" + integrity sha512-bfib4QnNIQcOrzGCX0UvxZrtXkYXkjo7T/mSlnrCwoiclJ/KA96eyzVgew7ayVcrbfE+q+xzvCSKCJqVgXydWQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From b4b6acb2a5a638b4c77a06b1fabc610aa809116d Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 30 Aug 2022 16:14:13 +0100 Subject: [PATCH 064/105] Fix worker-service deployment env formatting --- charts/budibase/templates/worker-service-deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml index ea33ccb577..083231eeff 100644 --- a/charts/budibase/templates/worker-service-deployment.yaml +++ b/charts/budibase/templates/worker-service-deployment.yaml @@ -26,9 +26,9 @@ spec: io.kompose.service: worker-service spec: containers: - - name: BUDIBASE_ENVIRONMENT - value: {{ .Values.globals.budibaseEnv }} - env: + - name: BUDIBASE_ENVIRONMENT + value: {{ .Values.globals.budibaseEnv }} - name: DEPLOYMENT_ENVIRONMENT value: "kubernetes" - name: CLUSTER_PORT From 605b91baf8bed0f1ffbb2d3304d4525c866bdd77 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 15:37:17 +0000 Subject: [PATCH 065/105] v1.2.57 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 729a2c144d..bb19f48bb0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.56", + "version": "1.2.57", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 5a06c83e3e..d0fdb55cb8 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.56", + "version": "1.2.57", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.56", + "@budibase/types": "^1.2.57", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index a48163001e..5a3a1b4b97 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": "1.2.56", + "version": "1.2.57", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.56", + "@budibase/string-templates": "^1.2.57", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 2a5549a786..479956a84b 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.56", + "version": "1.2.57", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.56", - "@budibase/client": "^1.2.56", - "@budibase/frontend-core": "^1.2.56", - "@budibase/string-templates": "^1.2.56", + "@budibase/bbui": "^1.2.57", + "@budibase/client": "^1.2.57", + "@budibase/frontend-core": "^1.2.57", + "@budibase/string-templates": "^1.2.57", "@sentry/browser": "5.19.1", "@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 f02db3cb56..787b9dd6e0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.56", + "version": "1.2.57", "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 f460733867..fdeac37bd9 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.56", + "version": "1.2.57", "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": "^1.2.56", - "@budibase/frontend-core": "^1.2.56", - "@budibase/string-templates": "^1.2.56", + "@budibase/bbui": "^1.2.57", + "@budibase/frontend-core": "^1.2.57", + "@budibase/string-templates": "^1.2.57", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 667e84d026..0221be197e 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.56", + "version": "1.2.57", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.56", + "@budibase/bbui": "^1.2.57", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 8c82e8e3ec..f9d39bde71 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.56", + "version": "1.2.57", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.56", - "@budibase/client": "^1.2.56", + "@budibase/backend-core": "^1.2.57", + "@budibase/client": "^1.2.57", "@budibase/pro": "1.2.56", - "@budibase/string-templates": "^1.2.56", - "@budibase/types": "^1.2.56", + "@budibase/string-templates": "^1.2.57", + "@budibase/types": "^1.2.57", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 90c9945783..9ec0fa65eb 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.56", + "version": "1.2.57", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 2dc62ed59c..a1c98eb0e7 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.56", + "version": "1.2.57", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index eefb9b0d3c..07819f79c2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.56", + "version": "1.2.57", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.56", + "@budibase/backend-core": "^1.2.57", "@budibase/pro": "1.2.56", - "@budibase/string-templates": "^1.2.56", - "@budibase/types": "^1.2.56", + "@budibase/string-templates": "^1.2.57", + "@budibase/types": "^1.2.57", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From c77abbb372ed368f54120ce7841b0c28d65bb1e4 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 30 Aug 2022 15:41:29 +0000 Subject: [PATCH 066/105] Update pro version to 1.2.57 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index f9d39bde71..b996fe8787 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.57", "@budibase/client": "^1.2.57", - "@budibase/pro": "1.2.56", + "@budibase/pro": "1.2.57", "@budibase/string-templates": "^1.2.57", "@budibase/types": "^1.2.57", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index f6835133b3..5f053ddd46 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.56.tgz#0e26f8a5bf0580147fb4d50f2ba96947734ba1e8" - integrity sha512-JpKhT/y0nxYG1T+udd0El1tx2Wwm+e3xTUmM1xV1HNiIB6cd49QqfHQvwR0xM69O37FBrG3GZlbLJaZR+/qF+w== +"@budibase/backend-core@1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" + integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== dependencies: - "@budibase/types" "^1.2.56" + "@budibase/types" "^1.2.57" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.56.tgz#45703f175d3347e036572de6cfb308c34eddc1eb" - integrity sha512-FxqRBhjH9xgPHmoEUo3pU8/8c3mMsj+vrivv0/c3i9UmkXWwDbOjPWbm3p/GrnTDsejlCTS999lZdOIz72+83g== +"@budibase/pro@1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" + integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== dependencies: - "@budibase/backend-core" "1.2.56" - "@budibase/types" "1.2.56" + "@budibase/backend-core" "1.2.57" + "@budibase/types" "1.2.57" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.56", "@budibase/types@^1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.56.tgz#d3bfdb614a53a85f85ad4f10427567ceacdf5dc5" - integrity sha512-bfib4QnNIQcOrzGCX0UvxZrtXkYXkjo7T/mSlnrCwoiclJ/KA96eyzVgew7ayVcrbfE+q+xzvCSKCJqVgXydWQ== +"@budibase/types@1.2.57", "@budibase/types@^1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" + integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 07819f79c2..c54d9185de 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.57", - "@budibase/pro": "1.2.56", + "@budibase/pro": "1.2.57", "@budibase/string-templates": "^1.2.57", "@budibase/types": "^1.2.57", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index c2331d8b45..cb6519f4d2 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.56.tgz#0e26f8a5bf0580147fb4d50f2ba96947734ba1e8" - integrity sha512-JpKhT/y0nxYG1T+udd0El1tx2Wwm+e3xTUmM1xV1HNiIB6cd49QqfHQvwR0xM69O37FBrG3GZlbLJaZR+/qF+w== +"@budibase/backend-core@1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" + integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== dependencies: - "@budibase/types" "^1.2.56" + "@budibase/types" "^1.2.57" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.56.tgz#45703f175d3347e036572de6cfb308c34eddc1eb" - integrity sha512-FxqRBhjH9xgPHmoEUo3pU8/8c3mMsj+vrivv0/c3i9UmkXWwDbOjPWbm3p/GrnTDsejlCTS999lZdOIz72+83g== +"@budibase/pro@1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" + integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== dependencies: - "@budibase/backend-core" "1.2.56" - "@budibase/types" "1.2.56" + "@budibase/backend-core" "1.2.57" + "@budibase/types" "1.2.57" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.56", "@budibase/types@^1.2.56": - version "1.2.56" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.56.tgz#d3bfdb614a53a85f85ad4f10427567ceacdf5dc5" - integrity sha512-bfib4QnNIQcOrzGCX0UvxZrtXkYXkjo7T/mSlnrCwoiclJ/KA96eyzVgew7ayVcrbfE+q+xzvCSKCJqVgXydWQ== +"@budibase/types@1.2.57", "@budibase/types@^1.2.57": + version "1.2.57" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" + integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From ae3e4a7d6ee48f63cf533e02bf3ea268a3af1a0e Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Wed, 31 Aug 2022 10:47:41 +0100 Subject: [PATCH 067/105] Update shutdown logging --- packages/cli/package.json | 2 +- packages/server/src/app.ts | 8 +++++--- packages/server/src/automations/bullboard.js | 1 + packages/server/src/threads/index.ts | 1 + packages/worker/src/index.ts | 4 +--- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 22fac6dbf7..23f1be394f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.1.32-alpha.6", + "@budibase/backend-core": "1.2.47", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 62301d57ca..592892fbff 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -74,9 +74,7 @@ server.on("close", async () => { return } shuttingDown = true - if (!env.isTest()) { - console.log("Server Closed") - } + console.log("Server Closed") await automations.shutdown() await redis.shutdown() await events.shutdown() @@ -158,3 +156,7 @@ process.on("uncaughtException", err => { process.on("SIGTERM", () => { shutdown() }) + +process.on("SIGINT", () => { + shutdown() +}) diff --git a/packages/server/src/automations/bullboard.js b/packages/server/src/automations/bullboard.js index af091843f2..3aac6c4fed 100644 --- a/packages/server/src/automations/bullboard.js +++ b/packages/server/src/automations/bullboard.js @@ -53,6 +53,7 @@ exports.shutdown = async () => { await automationQueue.close() automationQueue = null } + console.log("Bull shutdown") } exports.queue = automationQueue diff --git a/packages/server/src/threads/index.ts b/packages/server/src/threads/index.ts index f112fdca5e..cee85e2815 100644 --- a/packages/server/src/threads/index.ts +++ b/packages/server/src/threads/index.ts @@ -106,5 +106,6 @@ export class Thread { static async shutdown() { await Thread.stopThreads() + console.log("Threads shutdown") } } diff --git a/packages/worker/src/index.ts b/packages/worker/src/index.ts index 7819fedeed..3f8be7c49d 100644 --- a/packages/worker/src/index.ts +++ b/packages/worker/src/index.ts @@ -63,9 +63,7 @@ server.on("close", async () => { return } shuttingDown = true - if (!env.isTest()) { - console.log("Server Closed") - } + console.log("Server Closed") await redis.shutdown() await events.shutdown() if (!env.isTest()) { From 7ae3d1d19f74fdc84a5ff5dfdf536f4b81569380 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Wed, 31 Aug 2022 11:05:49 +0100 Subject: [PATCH 068/105] Update shutdown logging --- packages/server/src/utilities/redis.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/server/src/utilities/redis.js b/packages/server/src/utilities/redis.js index 0c25bab27a..4eddca6e4a 100644 --- a/packages/server/src/utilities/redis.js +++ b/packages/server/src/utilities/redis.js @@ -20,6 +20,7 @@ exports.shutdown = async () => { if (devAppClient) await devAppClient.finish() if (debounceClient) await debounceClient.finish() if (flagClient) await flagClient.finish() + console.log("Redis shutdown") } exports.doesUserHaveLock = async (devAppId, user) => { From 14ab4c64ce2beaa3e41e47198feaaad2208d36c8 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 31 Aug 2022 11:39:04 +0100 Subject: [PATCH 069/105] Only fire onchange events from form fields when values change to a new valid value --- .../client/src/components/app/forms/AttachmentField.svelte | 4 ++-- packages/client/src/components/app/forms/BooleanField.svelte | 4 ++-- .../client/src/components/app/forms/DateTimeField.svelte | 4 ++-- packages/client/src/components/app/forms/InnerForm.svelte | 2 +- packages/client/src/components/app/forms/JSONField.svelte | 4 ++-- .../client/src/components/app/forms/LongFormField.svelte | 4 ++-- .../client/src/components/app/forms/MultiFieldSelect.svelte | 4 ++-- packages/client/src/components/app/forms/OptionsField.svelte | 4 ++-- .../client/src/components/app/forms/RelationshipField.svelte | 4 ++-- packages/client/src/components/app/forms/S3Upload.svelte | 4 ++-- packages/client/src/components/app/forms/StringField.svelte | 5 ++--- 11 files changed, 21 insertions(+), 22 deletions(-) diff --git a/packages/client/src/components/app/forms/AttachmentField.svelte b/packages/client/src/components/app/forms/AttachmentField.svelte index 5023e77ae5..bbb5314a85 100644 --- a/packages/client/src/components/app/forms/AttachmentField.svelte +++ b/packages/client/src/components/app/forms/AttachmentField.svelte @@ -48,8 +48,8 @@ } const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/BooleanField.svelte b/packages/client/src/components/app/forms/BooleanField.svelte index b9c69ce684..a65d041c29 100644 --- a/packages/client/src/components/app/forms/BooleanField.svelte +++ b/packages/client/src/components/app/forms/BooleanField.svelte @@ -28,8 +28,8 @@ } const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/DateTimeField.svelte b/packages/client/src/components/app/forms/DateTimeField.svelte index 4ca766121d..182a79aabf 100644 --- a/packages/client/src/components/app/forms/DateTimeField.svelte +++ b/packages/client/src/components/app/forms/DateTimeField.svelte @@ -17,8 +17,8 @@ let fieldApi const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/InnerForm.svelte b/packages/client/src/components/app/forms/InnerForm.svelte index 554085ba91..05178ecfd7 100644 --- a/packages/client/src/components/app/forms/InnerForm.svelte +++ b/packages/client/src/components/app/forms/InnerForm.svelte @@ -268,7 +268,7 @@ // Skip if the value is the same if (!skipCheck && fieldState.value === value) { - return + return false } // Update field state diff --git a/packages/client/src/components/app/forms/JSONField.svelte b/packages/client/src/components/app/forms/JSONField.svelte index 4bb5ee542c..607947605a 100644 --- a/packages/client/src/components/app/forms/JSONField.svelte +++ b/packages/client/src/components/app/forms/JSONField.svelte @@ -37,8 +37,8 @@ const handleChange = e => { const value = parseValue(e.detail) - fieldApi.setValue(value) - if (onChange) { + const changed = fieldApi.setValue(value) + if (onChange && changed) { onChange({ value }) } } diff --git a/packages/client/src/components/app/forms/LongFormField.svelte b/packages/client/src/components/app/forms/LongFormField.svelte index 200e55af41..8d94f83319 100644 --- a/packages/client/src/components/app/forms/LongFormField.svelte +++ b/packages/client/src/components/app/forms/LongFormField.svelte @@ -47,8 +47,8 @@ } const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/MultiFieldSelect.svelte b/packages/client/src/components/app/forms/MultiFieldSelect.svelte index 55bca89c23..a6889f37b2 100644 --- a/packages/client/src/components/app/forms/MultiFieldSelect.svelte +++ b/packages/client/src/components/app/forms/MultiFieldSelect.svelte @@ -44,8 +44,8 @@ } const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/OptionsField.svelte b/packages/client/src/components/app/forms/OptionsField.svelte index 1df0216f56..5e2df50464 100644 --- a/packages/client/src/components/app/forms/OptionsField.svelte +++ b/packages/client/src/components/app/forms/OptionsField.svelte @@ -34,8 +34,8 @@ ) const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/RelationshipField.svelte b/packages/client/src/components/app/forms/RelationshipField.svelte index ce2f194786..735b44b9ae 100644 --- a/packages/client/src/components/app/forms/RelationshipField.svelte +++ b/packages/client/src/components/app/forms/RelationshipField.svelte @@ -84,8 +84,8 @@ } const handleChange = value => { - fieldApi.setValue(value) - if (onChange) { + const changed = fieldApi.setValue(value) + if (onChange && changed) { onChange({ value }) } } diff --git a/packages/client/src/components/app/forms/S3Upload.svelte b/packages/client/src/components/app/forms/S3Upload.svelte index 188ff042e9..795e2e4332 100644 --- a/packages/client/src/components/app/forms/S3Upload.svelte +++ b/packages/client/src/components/app/forms/S3Upload.svelte @@ -90,8 +90,8 @@ } const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } diff --git a/packages/client/src/components/app/forms/StringField.svelte b/packages/client/src/components/app/forms/StringField.svelte index fcdcfdc099..26136b5d8d 100644 --- a/packages/client/src/components/app/forms/StringField.svelte +++ b/packages/client/src/components/app/forms/StringField.svelte @@ -16,8 +16,8 @@ let fieldApi const handleChange = e => { - fieldApi.setValue(e.detail) - if (onChange) { + const changed = fieldApi.setValue(e.detail) + if (onChange && changed) { onChange({ value: e.detail }) } } @@ -29,7 +29,6 @@ {disabled} {validation} {defaultValue} - {onChange} type={type === "number" ? "number" : "string"} bind:fieldState bind:fieldApi From 8b6f73f3988363bc2dca66bf1eff240b663a61c4 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 10:45:50 +0000 Subject: [PATCH 070/105] v1.2.58-alpha.0 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index bb19f48bb0..418ead7a32 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.57", + "version": "1.2.58-alpha.0", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index a35758d4cf..f97080e365 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.57", + "@budibase/types": "1.2.58-alpha.0", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 5a3a1b4b97..c235a6c958 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": "1.2.57", + "version": "1.2.58-alpha.0", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.57", + "@budibase/string-templates": "1.2.58-alpha.0", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index b3c33f6437..184a8031ed 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.57", - "@budibase/client": "^1.2.57", - "@budibase/frontend-core": "^1.2.57", - "@budibase/string-templates": "^1.2.57", + "@budibase/bbui": "1.2.58-alpha.0", + "@budibase/client": "1.2.58-alpha.0", + "@budibase/frontend-core": "1.2.58-alpha.0", + "@budibase/string-templates": "1.2.58-alpha.0", "@sentry/browser": "5.19.1", "@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 079117318f..0d1ca0714b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.57", + "@budibase/backend-core": "1.2.58-alpha.0", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index fdeac37bd9..b68800f15c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "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": "^1.2.57", - "@budibase/frontend-core": "^1.2.57", - "@budibase/string-templates": "^1.2.57", + "@budibase/bbui": "1.2.58-alpha.0", + "@budibase/frontend-core": "1.2.58-alpha.0", + "@budibase/string-templates": "1.2.58-alpha.0", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 0221be197e..49d94ef8f2 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.57", + "@budibase/bbui": "1.2.58-alpha.0", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index de863440ff..97c8ed9fe0 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.57", - "@budibase/client": "^1.2.57", + "@budibase/backend-core": "1.2.58-alpha.0", + "@budibase/client": "1.2.58-alpha.0", "@budibase/pro": "1.2.57", - "@budibase/string-templates": "^1.2.57", - "@budibase/types": "^1.2.57", + "@budibase/string-templates": "1.2.58-alpha.0", + "@budibase/types": "1.2.58-alpha.0", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9ec0fa65eb..be657d28d9 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index a1c98eb0e7..d491eedf2c 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index c54d9185de..17efe3c399 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.57", + "version": "1.2.58-alpha.0", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.57", + "@budibase/backend-core": "1.2.58-alpha.0", "@budibase/pro": "1.2.57", - "@budibase/string-templates": "^1.2.57", - "@budibase/types": "^1.2.57", + "@budibase/string-templates": "1.2.58-alpha.0", + "@budibase/types": "1.2.58-alpha.0", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 1df350efc935e6036d2cbd62eb4b624d16e825a5 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 10:48:49 +0000 Subject: [PATCH 071/105] Update pro version to 1.2.58-alpha.0 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 31 ++++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 31 ++++++++++++++++--------------- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 97c8ed9fe0..0db1c6dce3 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.0", "@budibase/client": "1.2.58-alpha.0", - "@budibase/pro": "1.2.57", + "@budibase/pro": "1.2.58-alpha.0", "@budibase/string-templates": "1.2.58-alpha.0", "@budibase/types": "1.2.58-alpha.0", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 021cfa0a39..0d315acf36 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,18 +1094,19 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" - integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== +"@budibase/backend-core@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.0.tgz#a99177c7464d7efa3496dd024ee4fd30c7aecb14" + integrity sha512-rMSxhY//51tJENbYmoE5TA+y31tiiDD12NH13RFA7K5vYdHODXV31ZjKyBiNGRSoz7e6ppFosmIk3pCYh9e9Tw== dependencies: - "@budibase/types" "^1.2.57" + "@budibase/types" "1.2.58-alpha.0" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" dotenv "16.0.1" emitter-listener "1.1.2" ioredis "4.28.0" + joi "17.6.0" jsonwebtoken "8.5.1" koa-passport "4.1.4" lodash "4.17.21" @@ -1177,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" - integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== +"@budibase/pro@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.0.tgz#72e8e738e2ccfc9fd9ede41add93224b17228ce7" + integrity sha512-Pch80TXeb+lmhlfIobTiVkWluX67FHMmsgmHgh98tnkHGibxGemsMQSv6ivJW8LrsH9qNPXDCISu4R6b1PN+sQ== dependencies: - "@budibase/backend-core" "1.2.57" - "@budibase/types" "1.2.57" + "@budibase/backend-core" "1.2.58-alpha.0" + "@budibase/types" "1.2.58-alpha.0" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.57", "@budibase/types@^1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" - integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== +"@budibase/types@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.0.tgz#6729ceeaec582bb146896307d1cec7220f87ad98" + integrity sha512-Punjqzqrgft5QqZ8BrBJ1B+7kYLLAzVGrdiZ8mmIvcYVF3WdfVdtJ/ZPuBLTgEa/4peQrnv4JUVVpgPDV7EqAQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 17efe3c399..4878bda6f7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.0", - "@budibase/pro": "1.2.57", + "@budibase/pro": "1.2.58-alpha.0", "@budibase/string-templates": "1.2.58-alpha.0", "@budibase/types": "1.2.58-alpha.0", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index cb6519f4d2..85b56bf227 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,18 +291,19 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" - integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== +"@budibase/backend-core@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.0.tgz#a99177c7464d7efa3496dd024ee4fd30c7aecb14" + integrity sha512-rMSxhY//51tJENbYmoE5TA+y31tiiDD12NH13RFA7K5vYdHODXV31ZjKyBiNGRSoz7e6ppFosmIk3pCYh9e9Tw== dependencies: - "@budibase/types" "^1.2.57" + "@budibase/types" "1.2.58-alpha.0" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" dotenv "16.0.1" emitter-listener "1.1.2" ioredis "4.28.0" + joi "17.6.0" jsonwebtoken "8.5.1" koa-passport "4.1.4" lodash "4.17.21" @@ -324,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" - integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== +"@budibase/pro@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.0.tgz#72e8e738e2ccfc9fd9ede41add93224b17228ce7" + integrity sha512-Pch80TXeb+lmhlfIobTiVkWluX67FHMmsgmHgh98tnkHGibxGemsMQSv6ivJW8LrsH9qNPXDCISu4R6b1PN+sQ== dependencies: - "@budibase/backend-core" "1.2.57" - "@budibase/types" "1.2.57" + "@budibase/backend-core" "1.2.58-alpha.0" + "@budibase/types" "1.2.58-alpha.0" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.57", "@budibase/types@^1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" - integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== +"@budibase/types@1.2.58-alpha.0": + version "1.2.58-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.0.tgz#6729ceeaec582bb146896307d1cec7220f87ad98" + integrity sha512-Punjqzqrgft5QqZ8BrBJ1B+7kYLLAzVGrdiZ8mmIvcYVF3WdfVdtJ/ZPuBLTgEa/4peQrnv4JUVVpgPDV7EqAQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 472990b684d3381e70326dfed641c54de2728116 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Wed, 31 Aug 2022 12:24:12 +0100 Subject: [PATCH 072/105] Add conditional around joiValidator schema.append --- packages/backend-core/src/middleware/joi-validator.js | 11 +++++++---- packages/server/src/middleware/joi-validator.js | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/backend-core/src/middleware/joi-validator.js b/packages/backend-core/src/middleware/joi-validator.js index 748ccebd89..6812dbdd54 100644 --- a/packages/backend-core/src/middleware/joi-validator.js +++ b/packages/backend-core/src/middleware/joi-validator.js @@ -13,10 +13,13 @@ function validate(schema, property) { params = ctx.request[property] } - schema = schema.append({ - createdAt: Joi.any().optional(), - updatedAt: Joi.any().optional(), - }) + // not all schemas have the append property e.g. array schemas + if (schema.append) { + schema = schema.append({ + createdAt: Joi.any().optional(), + updatedAt: Joi.any().optional(), + }) + } const { error } = schema.validate(params) if (error) { diff --git a/packages/server/src/middleware/joi-validator.js b/packages/server/src/middleware/joi-validator.js index 748ccebd89..6812dbdd54 100644 --- a/packages/server/src/middleware/joi-validator.js +++ b/packages/server/src/middleware/joi-validator.js @@ -13,10 +13,13 @@ function validate(schema, property) { params = ctx.request[property] } - schema = schema.append({ - createdAt: Joi.any().optional(), - updatedAt: Joi.any().optional(), - }) + // not all schemas have the append property e.g. array schemas + if (schema.append) { + schema = schema.append({ + createdAt: Joi.any().optional(), + updatedAt: Joi.any().optional(), + }) + } const { error } = schema.validate(params) if (error) { From 3225729b2f9ae5a8f85cd8de28aed930cbee57f9 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 12:17:36 +0000 Subject: [PATCH 073/105] v1.2.58-alpha.1 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 418ead7a32..6d84c1a26a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index f97080e365..a2080b3661 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.0", + "@budibase/types": "1.2.58-alpha.1", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index c235a6c958..438faf7079 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": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.0", + "@budibase/string-templates": "1.2.58-alpha.1", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 184a8031ed..fd19fae82a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.0", - "@budibase/client": "1.2.58-alpha.0", - "@budibase/frontend-core": "1.2.58-alpha.0", - "@budibase/string-templates": "1.2.58-alpha.0", + "@budibase/bbui": "1.2.58-alpha.1", + "@budibase/client": "1.2.58-alpha.1", + "@budibase/frontend-core": "1.2.58-alpha.1", + "@budibase/string-templates": "1.2.58-alpha.1", "@sentry/browser": "5.19.1", "@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 0d1ca0714b..0b6ce6babb 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.0", + "@budibase/backend-core": "1.2.58-alpha.1", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index b68800f15c..4f52f61c15 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "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": "1.2.58-alpha.0", - "@budibase/frontend-core": "1.2.58-alpha.0", - "@budibase/string-templates": "1.2.58-alpha.0", + "@budibase/bbui": "1.2.58-alpha.1", + "@budibase/frontend-core": "1.2.58-alpha.1", + "@budibase/string-templates": "1.2.58-alpha.1", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 49d94ef8f2..9d0cdc4222 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.0", + "@budibase/bbui": "1.2.58-alpha.1", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 0db1c6dce3..89c6753ee3 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.0", - "@budibase/client": "1.2.58-alpha.0", + "@budibase/backend-core": "1.2.58-alpha.1", + "@budibase/client": "1.2.58-alpha.1", "@budibase/pro": "1.2.58-alpha.0", - "@budibase/string-templates": "1.2.58-alpha.0", - "@budibase/types": "1.2.58-alpha.0", + "@budibase/string-templates": "1.2.58-alpha.1", + "@budibase/types": "1.2.58-alpha.1", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index be657d28d9..e4404675f7 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index d491eedf2c..00f01758cc 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index adc19d68ca..9adafb4e38 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.0", + "version": "1.2.58-alpha.1", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.0", + "@budibase/backend-core": "1.2.58-alpha.1", "@budibase/pro": "1.2.58-alpha.0", - "@budibase/string-templates": "1.2.58-alpha.0", - "@budibase/types": "1.2.58-alpha.0", + "@budibase/string-templates": "1.2.58-alpha.1", + "@budibase/types": "1.2.58-alpha.1", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From e75b92f409b887708996b27ffeffd4d2b86be485 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 12:21:20 +0000 Subject: [PATCH 074/105] Update pro version to 1.2.58-alpha.1 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 89c6753ee3..0d68d26de5 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.1", "@budibase/client": "1.2.58-alpha.1", - "@budibase/pro": "1.2.58-alpha.0", + "@budibase/pro": "1.2.58-alpha.1", "@budibase/string-templates": "1.2.58-alpha.1", "@budibase/types": "1.2.58-alpha.1", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 0d315acf36..fa1b209151 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.0.tgz#a99177c7464d7efa3496dd024ee4fd30c7aecb14" - integrity sha512-rMSxhY//51tJENbYmoE5TA+y31tiiDD12NH13RFA7K5vYdHODXV31ZjKyBiNGRSoz7e6ppFosmIk3pCYh9e9Tw== +"@budibase/backend-core@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.1.tgz#26fe21df9839e671df70de9403bf9597dcfb15a6" + integrity sha512-WjwwiSc2haaRI9Yg2i7NoZ+QrbVRezM8xBJZWt2sL17xW6VVZ7ao5zCRZD+M0Euo9EO1C25ehCTYI9iUF9UU0w== dependencies: - "@budibase/types" "1.2.58-alpha.0" + "@budibase/types" "1.2.58-alpha.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.0.tgz#72e8e738e2ccfc9fd9ede41add93224b17228ce7" - integrity sha512-Pch80TXeb+lmhlfIobTiVkWluX67FHMmsgmHgh98tnkHGibxGemsMQSv6ivJW8LrsH9qNPXDCISu4R6b1PN+sQ== +"@budibase/pro@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.1.tgz#fbcf2c8712c90d316e8dcec5d807ba9bab27985b" + integrity sha512-cLCXkXnHVJCV+K81BbM2GwkicnBs+W+x97QYo79NhId5pEvIzkmmIuvirtGcihk6hoBI2cPwJUmx5M5CrU574Q== dependencies: - "@budibase/backend-core" "1.2.58-alpha.0" - "@budibase/types" "1.2.58-alpha.0" + "@budibase/backend-core" "1.2.58-alpha.1" + "@budibase/types" "1.2.58-alpha.1" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.0.tgz#6729ceeaec582bb146896307d1cec7220f87ad98" - integrity sha512-Punjqzqrgft5QqZ8BrBJ1B+7kYLLAzVGrdiZ8mmIvcYVF3WdfVdtJ/ZPuBLTgEa/4peQrnv4JUVVpgPDV7EqAQ== +"@budibase/types@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.1.tgz#1d7335eee57f9cb9bf0141640a563ab545b8178d" + integrity sha512-qxplmPest4l3BAHbKJ5zd4UcYBqjb8IbPTp4D2Yqm0icjSgDH9uOXA3wBwBbnBKwe8AfxeGkXgHyFkccIFSZvA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 9adafb4e38..ca98843b91 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.1", - "@budibase/pro": "1.2.58-alpha.0", + "@budibase/pro": "1.2.58-alpha.1", "@budibase/string-templates": "1.2.58-alpha.1", "@budibase/types": "1.2.58-alpha.1", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 41ab1ea5e2..d85dadc599 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.0.tgz#a99177c7464d7efa3496dd024ee4fd30c7aecb14" - integrity sha512-rMSxhY//51tJENbYmoE5TA+y31tiiDD12NH13RFA7K5vYdHODXV31ZjKyBiNGRSoz7e6ppFosmIk3pCYh9e9Tw== +"@budibase/backend-core@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.1.tgz#26fe21df9839e671df70de9403bf9597dcfb15a6" + integrity sha512-WjwwiSc2haaRI9Yg2i7NoZ+QrbVRezM8xBJZWt2sL17xW6VVZ7ao5zCRZD+M0Euo9EO1C25ehCTYI9iUF9UU0w== dependencies: - "@budibase/types" "1.2.58-alpha.0" + "@budibase/types" "1.2.58-alpha.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.0.tgz#72e8e738e2ccfc9fd9ede41add93224b17228ce7" - integrity sha512-Pch80TXeb+lmhlfIobTiVkWluX67FHMmsgmHgh98tnkHGibxGemsMQSv6ivJW8LrsH9qNPXDCISu4R6b1PN+sQ== +"@budibase/pro@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.1.tgz#fbcf2c8712c90d316e8dcec5d807ba9bab27985b" + integrity sha512-cLCXkXnHVJCV+K81BbM2GwkicnBs+W+x97QYo79NhId5pEvIzkmmIuvirtGcihk6hoBI2cPwJUmx5M5CrU574Q== dependencies: - "@budibase/backend-core" "1.2.58-alpha.0" - "@budibase/types" "1.2.58-alpha.0" + "@budibase/backend-core" "1.2.58-alpha.1" + "@budibase/types" "1.2.58-alpha.1" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.0": - version "1.2.58-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.0.tgz#6729ceeaec582bb146896307d1cec7220f87ad98" - integrity sha512-Punjqzqrgft5QqZ8BrBJ1B+7kYLLAzVGrdiZ8mmIvcYVF3WdfVdtJ/ZPuBLTgEa/4peQrnv4JUVVpgPDV7EqAQ== +"@budibase/types@1.2.58-alpha.1": + version "1.2.58-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.1.tgz#1d7335eee57f9cb9bf0141640a563ab545b8178d" + integrity sha512-qxplmPest4l3BAHbKJ5zd4UcYBqjb8IbPTp4D2Yqm0icjSgDH9uOXA3wBwBbnBKwe8AfxeGkXgHyFkccIFSZvA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 675fdd4b88456e4a663f8e2efb148556e0a35aab Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 12:42:49 +0000 Subject: [PATCH 075/105] v1.2.58-alpha.2 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 6d84c1a26a..f8bd38d1c3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index a2080b3661..ac548367ef 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.1", + "@budibase/types": "1.2.58-alpha.2", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 438faf7079..7f00709b1c 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": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.1", + "@budibase/string-templates": "1.2.58-alpha.2", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index fd19fae82a..941cc8e74d 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.1", - "@budibase/client": "1.2.58-alpha.1", - "@budibase/frontend-core": "1.2.58-alpha.1", - "@budibase/string-templates": "1.2.58-alpha.1", + "@budibase/bbui": "1.2.58-alpha.2", + "@budibase/client": "1.2.58-alpha.2", + "@budibase/frontend-core": "1.2.58-alpha.2", + "@budibase/string-templates": "1.2.58-alpha.2", "@sentry/browser": "5.19.1", "@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 0b6ce6babb..15d5f810c6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.1", + "@budibase/backend-core": "1.2.58-alpha.2", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index 4f52f61c15..d628ad2330 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "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": "1.2.58-alpha.1", - "@budibase/frontend-core": "1.2.58-alpha.1", - "@budibase/string-templates": "1.2.58-alpha.1", + "@budibase/bbui": "1.2.58-alpha.2", + "@budibase/frontend-core": "1.2.58-alpha.2", + "@budibase/string-templates": "1.2.58-alpha.2", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 9d0cdc4222..b7a1ca5409 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.1", + "@budibase/bbui": "1.2.58-alpha.2", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 0d68d26de5..20c144fc6f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.1", - "@budibase/client": "1.2.58-alpha.1", + "@budibase/backend-core": "1.2.58-alpha.2", + "@budibase/client": "1.2.58-alpha.2", "@budibase/pro": "1.2.58-alpha.1", - "@budibase/string-templates": "1.2.58-alpha.1", - "@budibase/types": "1.2.58-alpha.1", + "@budibase/string-templates": "1.2.58-alpha.2", + "@budibase/types": "1.2.58-alpha.2", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index e4404675f7..ded6fa7ca1 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 00f01758cc..60c885973b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index ca98843b91..17ad7b2fb2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.1", + "version": "1.2.58-alpha.2", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.1", + "@budibase/backend-core": "1.2.58-alpha.2", "@budibase/pro": "1.2.58-alpha.1", - "@budibase/string-templates": "1.2.58-alpha.1", - "@budibase/types": "1.2.58-alpha.1", + "@budibase/string-templates": "1.2.58-alpha.2", + "@budibase/types": "1.2.58-alpha.2", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 502504e659de571acb46a195e9a7c356948f7ab2 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 12:45:45 +0000 Subject: [PATCH 076/105] Update pro version to 1.2.58-alpha.2 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 20c144fc6f..2ed2be9e0e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.2", "@budibase/client": "1.2.58-alpha.2", - "@budibase/pro": "1.2.58-alpha.1", + "@budibase/pro": "1.2.58-alpha.2", "@budibase/string-templates": "1.2.58-alpha.2", "@budibase/types": "1.2.58-alpha.2", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index fa1b209151..ab8f9b0014 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.1.tgz#26fe21df9839e671df70de9403bf9597dcfb15a6" - integrity sha512-WjwwiSc2haaRI9Yg2i7NoZ+QrbVRezM8xBJZWt2sL17xW6VVZ7ao5zCRZD+M0Euo9EO1C25ehCTYI9iUF9UU0w== +"@budibase/backend-core@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.2.tgz#bdf3fe2e5944d6731da5240eaf1463e18643b9d7" + integrity sha512-hVNuTYZHcHDRHBLHET7195oBPQOcENQHcnGEFyAg96XxLINA2u08VbO19bP6DvHzpj6VQW/ElPddKcSsJDLXVg== dependencies: - "@budibase/types" "1.2.58-alpha.1" + "@budibase/types" "1.2.58-alpha.2" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.1.tgz#fbcf2c8712c90d316e8dcec5d807ba9bab27985b" - integrity sha512-cLCXkXnHVJCV+K81BbM2GwkicnBs+W+x97QYo79NhId5pEvIzkmmIuvirtGcihk6hoBI2cPwJUmx5M5CrU574Q== +"@budibase/pro@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.2.tgz#108ad8486c65f0a9f8b5437aae676fdce808bf9d" + integrity sha512-HdVqvH5yrKhENqPlsouDEXTCx6MT3xUsojqkvLgQcRYKoJc4IQ56MqLdpSYPGJgfFk/mMeyuET9DD8RSI5s//Q== dependencies: - "@budibase/backend-core" "1.2.58-alpha.1" - "@budibase/types" "1.2.58-alpha.1" + "@budibase/backend-core" "1.2.58-alpha.2" + "@budibase/types" "1.2.58-alpha.2" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.1.tgz#1d7335eee57f9cb9bf0141640a563ab545b8178d" - integrity sha512-qxplmPest4l3BAHbKJ5zd4UcYBqjb8IbPTp4D2Yqm0icjSgDH9uOXA3wBwBbnBKwe8AfxeGkXgHyFkccIFSZvA== +"@budibase/types@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.2.tgz#1b39358537d0826e3637e1f38276feec6dfc1f61" + integrity sha512-l+OMG3xHBA63FMvJQhT9Eo+NUW3tJQdAPCwgKYF/6LgfM3aO8H/928g9+hdQljwYTc/wpHxSQLuN5QYqiYrHSA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 17ad7b2fb2..f92017e760 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.2", - "@budibase/pro": "1.2.58-alpha.1", + "@budibase/pro": "1.2.58-alpha.2", "@budibase/string-templates": "1.2.58-alpha.2", "@budibase/types": "1.2.58-alpha.2", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index d85dadc599..1be18a7734 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.1.tgz#26fe21df9839e671df70de9403bf9597dcfb15a6" - integrity sha512-WjwwiSc2haaRI9Yg2i7NoZ+QrbVRezM8xBJZWt2sL17xW6VVZ7ao5zCRZD+M0Euo9EO1C25ehCTYI9iUF9UU0w== +"@budibase/backend-core@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.2.tgz#bdf3fe2e5944d6731da5240eaf1463e18643b9d7" + integrity sha512-hVNuTYZHcHDRHBLHET7195oBPQOcENQHcnGEFyAg96XxLINA2u08VbO19bP6DvHzpj6VQW/ElPddKcSsJDLXVg== dependencies: - "@budibase/types" "1.2.58-alpha.1" + "@budibase/types" "1.2.58-alpha.2" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.1.tgz#fbcf2c8712c90d316e8dcec5d807ba9bab27985b" - integrity sha512-cLCXkXnHVJCV+K81BbM2GwkicnBs+W+x97QYo79NhId5pEvIzkmmIuvirtGcihk6hoBI2cPwJUmx5M5CrU574Q== +"@budibase/pro@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.2.tgz#108ad8486c65f0a9f8b5437aae676fdce808bf9d" + integrity sha512-HdVqvH5yrKhENqPlsouDEXTCx6MT3xUsojqkvLgQcRYKoJc4IQ56MqLdpSYPGJgfFk/mMeyuET9DD8RSI5s//Q== dependencies: - "@budibase/backend-core" "1.2.58-alpha.1" - "@budibase/types" "1.2.58-alpha.1" + "@budibase/backend-core" "1.2.58-alpha.2" + "@budibase/types" "1.2.58-alpha.2" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.1": - version "1.2.58-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.1.tgz#1d7335eee57f9cb9bf0141640a563ab545b8178d" - integrity sha512-qxplmPest4l3BAHbKJ5zd4UcYBqjb8IbPTp4D2Yqm0icjSgDH9uOXA3wBwBbnBKwe8AfxeGkXgHyFkccIFSZvA== +"@budibase/types@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.2.tgz#1b39358537d0826e3637e1f38276feec6dfc1f61" + integrity sha512-l+OMG3xHBA63FMvJQhT9Eo+NUW3tJQdAPCwgKYF/6LgfM3aO8H/928g9+hdQljwYTc/wpHxSQLuN5QYqiYrHSA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 58ed827e8e3d007fa934cefc43bfda895c42b497 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Aug 2022 12:47:51 +0000 Subject: [PATCH 077/105] Bump moment-timezone from 0.5.34 to 0.5.37 in /packages/server Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.34 to 0.5.37. - [Release notes](https://github.com/moment/moment-timezone/releases) - [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md) - [Commits](https://github.com/moment/moment-timezone/compare/0.5.34...0.5.37) --- updated-dependencies: - dependency-name: moment-timezone dependency-type: indirect ... Signed-off-by: dependabot[bot] --- packages/server/yarn.lock | 617 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 599 insertions(+), 18 deletions(-) diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index ab8f9b0014..1d129f63df 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1128,6 +1128,59 @@ uuid "8.3.2" zlib "1.0.5" +"@budibase/bbui@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.2.58-alpha.2.tgz#06d4fa34ede4c170c1ad7cb782e43ada92f39458" + integrity sha512-PR0DD0M+X6xLaVJORyDACDuLAhUoHrLvk5Ac/31m3P2PCZqHel8/wO8tPgs/rF4zSb83z9PMZ1cGQahyxbFNmA== + dependencies: + "@adobe/spectrum-css-workflow-icons" "^1.2.1" + "@budibase/string-templates" "1.2.58-alpha.2" + "@spectrum-css/actionbutton" "^1.0.1" + "@spectrum-css/actiongroup" "^1.0.1" + "@spectrum-css/avatar" "^3.0.2" + "@spectrum-css/button" "^3.0.1" + "@spectrum-css/buttongroup" "^3.0.2" + "@spectrum-css/checkbox" "^3.0.2" + "@spectrum-css/dialog" "^3.0.1" + "@spectrum-css/divider" "^1.0.3" + "@spectrum-css/dropzone" "^3.0.2" + "@spectrum-css/fieldgroup" "^3.0.2" + "@spectrum-css/fieldlabel" "^3.0.1" + "@spectrum-css/icon" "^3.0.1" + "@spectrum-css/illustratedmessage" "^3.0.2" + "@spectrum-css/inlinealert" "^2.0.1" + "@spectrum-css/inputgroup" "^3.0.2" + "@spectrum-css/label" "^2.0.10" + "@spectrum-css/link" "^3.1.1" + "@spectrum-css/menu" "^3.0.1" + "@spectrum-css/modal" "^3.0.1" + "@spectrum-css/pagination" "^3.0.3" + "@spectrum-css/picker" "^1.0.1" + "@spectrum-css/popover" "^3.0.1" + "@spectrum-css/progressbar" "^1.0.2" + "@spectrum-css/progresscircle" "^1.0.2" + "@spectrum-css/radio" "^3.0.2" + "@spectrum-css/search" "^3.0.2" + "@spectrum-css/sidenav" "^3.0.2" + "@spectrum-css/slider" "3.0.1" + "@spectrum-css/statuslight" "^3.0.2" + "@spectrum-css/stepper" "^3.0.3" + "@spectrum-css/switch" "^1.0.2" + "@spectrum-css/table" "^3.0.1" + "@spectrum-css/tabs" "^3.2.12" + "@spectrum-css/tags" "^3.0.2" + "@spectrum-css/textfield" "^3.0.1" + "@spectrum-css/toast" "^3.0.1" + "@spectrum-css/tooltip" "^3.0.3" + "@spectrum-css/treeview" "^3.0.2" + "@spectrum-css/typography" "^3.0.1" + "@spectrum-css/underlay" "^2.0.9" + "@spectrum-css/vars" "^3.0.1" + dayjs "^1.10.4" + easymde "^2.16.1" + svelte-flatpickr "^3.2.3" + svelte-portal "^1.0.0" + "@budibase/bbui@^0.9.139": version "0.9.190" resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-0.9.190.tgz#e1ec400ac90f556bfbc80fc23a04506f1585ea81" @@ -1178,6 +1231,70 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" +"@budibase/client@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/client/-/client-1.2.58-alpha.2.tgz#d33db18b41a8f127e6d84413d8a130c3ac9bf5ce" + integrity sha512-odRloq/a8MdU+alqDQmmzQ1GShcsyogrmj/6pC/DxJeqpbABVvdyYYAmRQifeWliBF6pZ9PhxqsEpl2UbroH1g== + dependencies: + "@budibase/bbui" "1.2.58-alpha.2" + "@budibase/frontend-core" "1.2.58-alpha.2" + "@budibase/string-templates" "1.2.58-alpha.2" + "@spectrum-css/button" "^3.0.3" + "@spectrum-css/card" "^3.0.3" + "@spectrum-css/divider" "^1.0.3" + "@spectrum-css/link" "^3.1.3" + "@spectrum-css/page" "^3.0.1" + "@spectrum-css/tag" "^3.1.4" + "@spectrum-css/typography" "^3.0.2" + "@spectrum-css/vars" "^3.0.1" + apexcharts "^3.22.1" + dayjs "^1.10.5" + downloadjs "1.4.7" + leaflet "^1.7.1" + regexparam "^1.3.0" + rollup-plugin-polyfill-node "^0.8.0" + sanitize-html "^2.7.0" + screenfull "^6.0.1" + shortid "^2.2.15" + svelte "^3.49.0" + svelte-apexcharts "^1.0.2" + svelte-flatpickr "^3.1.0" + svelte-spa-router "^3.0.5" + +"@budibase/frontend-core@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/frontend-core/-/frontend-core-1.2.58-alpha.2.tgz#0acc72abeb5bb5f0e2cfbad006b67b2121c664c3" + integrity sha512-EsJGVEvvteRbgtDeLdz+biQiO5HDE7YXLuw3TfFPaU7Dd9HyXMhiiP0nKP2qOWTUk5iQvpv4yoo04CtcKOD2tA== + dependencies: + "@budibase/bbui" "1.2.58-alpha.2" + lodash "^4.17.21" + svelte "^3.46.2" + +"@budibase/handlebars-helpers@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@budibase/handlebars-helpers/-/handlebars-helpers-0.11.8.tgz#6953d29673a8c5c407e096c0a84890465c7ce841" + integrity sha512-ggWJUt0GqsHFAEup5tlWlcrmYML57nKhpNGGLzVsqXVYN8eVmf3xluYmmMe7fDYhQH0leSprrdEXmsdFQF3HAQ== + dependencies: + array-sort "^1.0.0" + define-property "^2.0.2" + extend-shallow "^3.0.2" + for-in "^1.0.2" + get-object "^0.2.0" + get-value "^3.0.1" + handlebars "^4.7.7" + handlebars-utils "^1.0.6" + has-value "^2.0.2" + helper-md "^0.2.2" + html-tag "^2.0.0" + is-even "^1.0.0" + is-glob "^4.0.1" + kind-of "^6.0.3" + micromatch "^3.1.5" + relative "^3.0.2" + striptags "^3.1.1" + to-gfm-code-block "^0.1.1" + year "^0.2.1" + "@budibase/pro@1.2.58-alpha.2": version "1.2.58-alpha.2" resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.2.tgz#108ad8486c65f0a9f8b5437aae676fdce808bf9d" @@ -1207,6 +1324,18 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" +"@budibase/string-templates@1.2.58-alpha.2": + version "1.2.58-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-1.2.58-alpha.2.tgz#2415cbd73950f0c379cf8e519453c6079bba1a32" + integrity sha512-wqd4YKBISfT99bhsAygSVGug86YxBCxfecXWvfjIi5HVGg765A4OU/LrFUI9vph3BQXc5asQqxOc7F7Careqsg== + dependencies: + "@budibase/handlebars-helpers" "^0.11.8" + dayjs "^1.10.4" + handlebars "^4.7.6" + handlebars-utils "^1.0.6" + lodash "^4.17.20" + vm2 "^3.9.4" + "@budibase/types@1.2.58-alpha.2": version "1.2.58-alpha.2" resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.2.tgz#1b39358537d0826e3637e1f38276feec6dfc1f61" @@ -2183,6 +2312,24 @@ resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.3.tgz#4cfca8e564228c0bddcdf4418cba60c20b224ac4" integrity sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA== +"@rollup/plugin-inject@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2" + integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + estree-walker "^2.0.1" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@sendgrid/client@^7.1.1": version "7.7.0" resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.7.0.tgz#f8f67abd604205a0d0b1af091b61517ef465fdbf" @@ -2464,6 +2611,11 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/sidenav/-/sidenav-3.0.23.tgz#c218560d472e13a3e0d1499b762df1206dcffbfd" integrity sha512-4IFw2/HMQJRzM0M2c5na/HeY7y5vJoGpMFBkXNpQyhW4TRo7N1rGwYQ5dRD3s4OVEWV4/rjfGV0d/qhfwKUTog== +"@spectrum-css/slider@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@spectrum-css/slider/-/slider-3.0.1.tgz#5281e6f47eb5a4fd3d1816c138bf66d01d7f2e49" + integrity sha512-DI2dtMRnQuDM1miVzl3SGyR1khUEKnwdXfO5EHDFwkC3yav43F5QogkfjmjFmWWobMVovdJlAuiaaJ/IHejD0Q== + "@spectrum-css/statuslight@^3.0.2": version "3.0.8" resolved "https://registry.yarnpkg.com/@spectrum-css/statuslight/-/statuslight-3.0.8.tgz#3b0ea80712573679870a85d469850230e794a0f7" @@ -2489,6 +2641,16 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/tabs/-/tabs-3.2.16.tgz#c3f7800d8d6f7c9930c28cd01354816328bf72b1" integrity sha512-JUcMB/fiDG/KoyrVstlUMacFJUY4OHKqhMRuPtu9ggUXWCRbSkY8he92v6u0HwY3DuhDoOxNTK8d/PLjk/fsbg== +"@spectrum-css/tabs@^3.2.12": + version "3.2.19" + resolved "https://registry.yarnpkg.com/@spectrum-css/tabs/-/tabs-3.2.19.tgz#2eae3a2c4760466882db08281365d502c3f22ebf" + integrity sha512-SNGFf/karBr/GNz5GNWnbppFz6uEOGecv6D8WA1ZLeWkjg4gG5e4M9XmPcB32v350e1PTRG7KwWDce48qWAKCQ== + +"@spectrum-css/tag@^3.1.4": + version "3.3.14" + resolved "https://registry.yarnpkg.com/@spectrum-css/tag/-/tag-3.3.14.tgz#2d1ca0759da6a3a2970d14bcabf33bd4a8f63a5f" + integrity sha512-S4RUaxN/83Pr/SYkQHeZNh2NXmtumUEzhrsrrliI6bAt3bjs+mLresTGd9qkIX2+Ycq1JHWTr0HTga4ti1YYyA== + "@spectrum-css/tags@^3.0.2": version "3.0.3" resolved "https://registry.yarnpkg.com/@spectrum-css/tags/-/tags-3.0.3.tgz#fc76d2735cdc442de91b7eb3bee49a928c0767ac" @@ -2666,6 +2828,13 @@ resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== +"@types/codemirror@^5.60.4": + version "5.60.5" + resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-5.60.5.tgz#5b989a3b4bbe657458cf372c92b6bfda6061a2b7" + integrity sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg== + dependencies: + "@types/tern" "*" + "@types/connect@*": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -2714,6 +2883,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -2857,6 +3031,11 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== +"@types/marked@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.6.tgz#9ca544c1057f3c8b3f649b5e8e56d9241e3ca22d" + integrity sha512-ITAVUzsnVbhy5afxhs4PPPbrv2hKVEDH5BhhaQNQlVG0UNu+9A18XSdYr53nBdHZ0ADEQLl+ciOjXbs7eHdiQQ== + "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" @@ -2992,6 +3171,13 @@ "@types/cookiejar" "*" "@types/node" "*" +"@types/tern@*": + version "0.23.4" + resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" + integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg== + dependencies: + "@types/estree" "*" + "@types/tough-cookie@*": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" @@ -3590,7 +3776,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: +argparse@^1.0.10, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -3637,6 +3823,15 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -3787,6 +3982,13 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== +autolinker@~0.28.0: + version "0.28.1" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47" + integrity sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ== + dependencies: + gulp-header "^1.7.1" + available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -4637,6 +4839,18 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +codemirror-spell-checker@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz#1c660f9089483ccb5113b9ba9ca19c3f4993371e" + integrity sha512-2Tl6n0v+GJRsC9K3MLCdLaMOmvWL0uukajNJseorZJsslaxZyZMgENocPU8R0DyoTAiKsyqiemSOZo7kjGV0LQ== + dependencies: + typo-js "*" + +codemirror@^5.63.1: + version "5.65.8" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.8.tgz#50f145ba7eb725091110c31f3a7c1fdef6bdc721" + integrity sha512-TNGkSkkoAsmZSf6W6g35LMVQJBHKasc2CKwhr/fTxSYun7cn6J+CbtyNjV/MYlFVkNTsqZoviegyCZimWhoMMA== + collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" @@ -4787,6 +5001,13 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concat-with-sourcemaps@*: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + condense-newlines@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" @@ -5207,6 +5428,13 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + default-shell@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc" @@ -5374,11 +5602,25 @@ doctrine@3.0.0, doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -5393,6 +5635,22 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -5437,6 +5695,11 @@ download@8.0.0: p-event "^2.1.0" pify "^4.0.1" +downloadjs@1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/downloadjs/-/downloadjs-1.4.7.tgz#f69f96f940e0d0553dac291139865a3cd0101e3c" + integrity sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q== + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -5452,6 +5715,17 @@ duplexify@^4.0.0: readable-stream "^3.1.1" stream-shift "^1.0.0" +easymde@^2.16.1: + version "2.17.0" + resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.17.0.tgz#07954ec374b2e4f873c505c2b7d82b08e8d7053c" + integrity sha512-xerjhBh6G+FDfU2EBfKNEVqawYGqnK2zACKtyQlZKnxPoaesncRbHiSX5Yrf3Ur8KjEX1BvG7Ysccrd8hKTkig== + dependencies: + "@types/codemirror" "^5.60.4" + "@types/marked" "^4.0.1" + codemirror "^5.63.1" + codemirror-spell-checker "1.1.2" + marked "^4.0.18" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -5617,6 +5891,16 @@ enhanced-resolve@^5.9.3: graceful-fs "^4.2.4" tapable "^2.2.0" +ent@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" @@ -6062,6 +6346,16 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6633,6 +6927,11 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + integrity sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg== + fs-extra@8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -6781,6 +7080,14 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.3" +get-object@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c" + integrity sha512-7P6y6k6EzEFmO/XyUyFlXm1YLJy9xeA1x/grNV8276abX5GuwUtYgKFkRFkLixw4hf4Pz9q2vgv/8Ar42R0HuQ== + dependencies: + is-number "^2.0.2" + isobject "^0.2.0" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -6843,6 +7150,13 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== +get-value@^3.0.0, get-value@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-3.0.1.tgz#5efd2a157f1d6a516d7524e124ac52d0a39ef5a8" + integrity sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA== + dependencies: + isobject "^3.0.1" + getopts@2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" @@ -7148,7 +7462,24 @@ gtoken@^5.0.4: google-p12-pem "^3.1.3" jws "^4.0.0" -handlebars@^4.7.7: +gulp-header@^1.7.1: + version "1.8.12" + resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84" + integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ== + dependencies: + concat-with-sourcemaps "*" + lodash.template "^4.4.0" + through2 "^2.0.0" + +handlebars-utils@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9" + integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw== + dependencies: + kind-of "^6.0.0" + typeof-article "^0.1.1" + +handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -7242,6 +7573,14 @@ has-value@^1.0.0: has-values "^1.0.0" isobject "^3.0.0" +has-value@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-2.0.2.tgz#d0f12e8780ba8e90e66ad1a21c707fdb67c25658" + integrity sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA== + dependencies: + get-value "^3.0.0" + has-values "^2.0.1" + has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" @@ -7255,6 +7594,13 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-values@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d" + integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w== + dependencies: + kind-of "^6.0.2" + has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -7267,6 +7613,16 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +helper-md@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f" + integrity sha512-49TaQzK+Ic7ZVTq4i1UZxRUJEmAilTk8hz7q4I0WNUaTclLR8ArJV5B3A1fe1xF2HtsDTr2gYKLaVTof/Lt84Q== + dependencies: + ent "^2.2.0" + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + remarkable "^1.6.2" + homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -7303,6 +7659,24 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-tag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed" + integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g== + dependencies: + is-self-closing "^1.0.1" + kind-of "^6.0.0" + +htmlparser2@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + http-assert@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" @@ -7764,6 +8138,13 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-even@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06" + integrity sha512-LEhnkAdJqic4Dbqn58A0y52IXoHWlsueqQkKfMfdEnIYG8A1sm/GHidKkS6yvXlMoRrkM34csHnXQtOqcb+Jzg== + dependencies: + is-odd "^0.1.2" + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -7870,6 +8251,13 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" +is-number@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== + dependencies: + kind-of "^3.0.2" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -7892,6 +8280,13 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== +is-odd@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7" + integrity sha512-Ri7C2K7o5IrUU9UEI8losXJCCD/UtsaIrkR5sxIcFg4xQ9cRJXlWA5DQvTE0yDc0krvSNLsRGXN11UPS6KyfBw== + dependencies: + is-number "^3.0.0" + is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -7909,6 +8304,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -7937,6 +8337,13 @@ is-retry-allowed@^2.2.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== +is-self-closing@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4" + integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg== + dependencies: + self-closing-tags "^1.0.1" + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -8047,6 +8454,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isobject@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e" + integrity sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -9227,7 +9639,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== @@ -9241,12 +9653,12 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: +kind-of@^5.0.0, kind-of@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -9506,6 +9918,11 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +leaflet@^1.7.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.8.0.tgz#4615db4a22a304e8e692cae9270b983b38a2055e" + integrity sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA== + left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -9700,6 +10117,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -9810,6 +10232,21 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.without@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" @@ -9820,7 +10257,7 @@ lodash.xor@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6" integrity sha512-sVN2zimthq7aZ5sPGXnSz32rZPuqcparVW50chJQe+mzTYV+IsxSsl/2gnkWWE2Of7K3myBQBqtLKOUEHJKRsQ== -lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9893,6 +10330,13 @@ luxon@^3.0.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.0.1.tgz#6901111d10ad06fd267ad4e4128a84bef8a77299" integrity sha512-hF3kv0e5gwHQZKz4wtm4c+inDtyc7elkanAsBq+fundaCdUBNJB1dHEGUZIM6SfSBUlbVFduPwEtNjFK8wLtcw== +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -9962,6 +10406,11 @@ markdown-it@^12.2.0: mdurl "^1.0.1" uc.micro "^1.0.5" +marked@^4.0.18: + version "4.1.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.0.tgz#3fc6e7485f21c1ca5d6ec4a39de820e146954796" + integrity sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA== + matcher@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" @@ -10052,7 +10501,7 @@ methods@^1.0.1, methods@^1.1.1, methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -10204,18 +10653,13 @@ module-details-from-path@^1.0.3: integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== moment-timezone@^0.5.15: - version "0.5.34" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" - integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg== + version "0.5.37" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.37.tgz#adf97f719c4e458fdb12e2b4e87b8bec9f4eef1e" + integrity sha512-uEDzDNFhfaywRl+vwXxffjjq1q0Vzr+fcQpQ1bU0kbzorfS7zVtZnCnGc8mhWmF39d4g4YriF6kwA75mJKE/Zg== dependencies: moment ">= 2.9.0" -"moment@>= 2.9.0": - version "2.29.3" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" - integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== - -moment@^2.29.3: +"moment@>= 2.9.0", moment@^2.29.3: version "2.29.4" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== @@ -10341,6 +10785,16 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -10981,6 +11435,11 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== +parse-srcset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" + integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q== + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -11227,7 +11686,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -11342,6 +11801,15 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== +postcss@^8.3.11: + version "8.4.16" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" + integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + postgres-array@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" @@ -12081,6 +12549,16 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" +regexparam@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.1.tgz#c912f5dae371e3798100b3c9ce22b7414d0889fa" + integrity sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw== + +regexparam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" + integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -12129,6 +12607,21 @@ relative-microtime@^2.0.0: resolved "https://registry.yarnpkg.com/relative-microtime/-/relative-microtime-2.0.0.tgz#cceed2af095ecd72ea32011279c79e5fcc7de29b" integrity sha512-l18ha6HEZc+No/uK4GyAnNxgKW7nvEe35IaeN54sShMojtqik2a6GbTyuiezkjpPaqP874Z3lW5ysBo5irz4NA== +relative@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" + integrity sha512-Q5W2qeYtY9GbiR8z1yHNZ1DGhyjb4AnLEjt8iE6XfcC1QIu+FAtj3HQaO0wH28H1mX6cqNLvAqWhP402dxJGyA== + dependencies: + isobject "^2.0.0" + +remarkable@^1.6.2: + version "1.7.4" + resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00" + integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg== + dependencies: + argparse "^1.0.10" + autolinker "~0.28.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -12363,6 +12856,13 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" +rollup-plugin-polyfill-node@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19" + integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ== + dependencies: + "@rollup/plugin-inject" "^4.0.0" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -12429,6 +12929,18 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" +sanitize-html@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.1.tgz#a6c2c1a88054a79eeacfac9b0a43f1b393476901" + integrity sha512-oOpe8l4J8CaBk++2haoN5yNI5beekjuHv3JRPKUx/7h40Rdr85pemn4NkvUB3TcBP7yjat574sPlcMAyv4UQig== + dependencies: + deepmerge "^4.2.2" + escape-string-regexp "^4.0.0" + htmlparser2 "^6.0.0" + is-plain-object "^5.0.0" + parse-srcset "^1.0.2" + postcss "^8.3.11" + sanitize-s3-objectkey@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/sanitize-s3-objectkey/-/sanitize-s3-objectkey-0.0.1.tgz#efa9887cd45275b40234fb4bb12fc5754fe64e7e" @@ -12467,6 +12979,11 @@ schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +screenfull@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-6.0.2.tgz#3dbe4b8c4f8f49fb8e33caa8f69d0bca730ab238" + integrity sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw== + search-params@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/search-params/-/search-params-3.0.0.tgz#dbc7c243058e5a33ae1e9870be91f5aced4100d8" @@ -12484,6 +13001,11 @@ seek-bzip@^1.0.5: dependencies: commander "^2.8.1" +self-closing-tags@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d" + integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA== + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -12629,6 +13151,13 @@ shimmer@^1.2.0: resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== +shortid@^2.2.15: + version "2.2.16" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" + integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g== + dependencies: + nanoid "^2.1.0" + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -12793,6 +13322,11 @@ source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -12853,6 +13387,11 @@ source-map@^0.8.0-beta.0: dependencies: whatwg-url "^7.0.0" +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + spark-md5@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d" @@ -13194,6 +13733,11 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" +striptags@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" + integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== + style-loader@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" @@ -13293,7 +13837,14 @@ svelte-portal@^1.0.0: resolved "https://registry.yarnpkg.com/svelte-portal/-/svelte-portal-1.0.0.tgz#36a47c5578b1a4d9b4dc60fa32a904640ec4cdd3" integrity sha512-nHf+DS/jZ6jjnZSleBMSaZua9JlG5rZv9lOGKgJuaZStfevtjIlUJrkLc3vbV8QdBvPPVmvcjTlazAzfKu0v3Q== -svelte@3.49.0: +svelte-spa-router@^3.0.5: + version "3.3.0" + resolved "https://registry.yarnpkg.com/svelte-spa-router/-/svelte-spa-router-3.3.0.tgz#2fc0967a49dc361dfe4d38dddad6e662eed5b42c" + integrity sha512-cwRNe7cxD43sCvSfEeaKiNZg3FCizGxeMcf7CPiWRP3jKXjEma3vxyyuDtPOam6nWbVxl9TNM3hlE/i87ZlqcQ== + dependencies: + regexparam "2.0.1" + +svelte@3.49.0, svelte@^3.46.2, svelte@^3.49.0: version "3.49.0" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.49.0.tgz#5baee3c672306de1070c3b7888fc2204e36a4029" integrity sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA== @@ -13655,6 +14206,11 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +to-gfm-code-block@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82" + integrity sha512-LQRZWyn8d5amUKnfR9A9Uu7x9ss7Re8peuWR2gkh1E+ildOfv2aF26JpuDg8JtvCduu5+hOrMIH+XstZtnagqg== + to-json-schema@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f" @@ -13913,6 +14469,13 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typeof-article@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af" + integrity sha512-Vn42zdX3FhmUrzEmitX3iYyLb+Umwpmv8fkZRIknYh84lmdrwqZA5xYaoKiIj2Rc5i/5wcDrpUmZcbk1U51vTw== + dependencies: + kind-of "^3.1.0" + typeof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/typeof/-/typeof-1.0.0.tgz#9c84403f2323ae5399167275497638ea1d2f2440" @@ -13923,6 +14486,11 @@ typescript@4.6.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== +typo-js@*: + version "1.2.2" + resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.2.2.tgz#340484d81fe518e77c81a5a770162b14492f183b" + integrity sha512-C7pYBQK17EjSg8tVNY91KHdUt5Nf6FMJ+c3js076quPmBML57PmNMzAcIq/2kf/hSYtFABNDIYNYlJRl5BJhGw== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -14260,6 +14828,14 @@ vm2@3.9.6: acorn "^8.7.0" acorn-walk "^8.2.0" +vm2@^3.9.4: + version "3.9.11" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.11.tgz#a880f510a606481719ec3f9803b940c5805a06fe" + integrity sha512-PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg== + dependencies: + acorn "^8.7.0" + acorn-walk "^8.2.0" + vuvuzela@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b" @@ -14813,6 +15389,11 @@ yauzl@^2.4.2: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +year@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0" + integrity sha512-9GnJUZ0QM4OgXuOzsKNzTJ5EOkums1Xc+3YQXp+Q+UxFjf7zLucp9dQ8QMIft0Szs1E1hUiXFim1OYfEKFq97w== + ylru@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.3.2.tgz#0de48017473275a4cbdfc83a1eaf67c01af8a785" From e6e0fedd7b5bee3877c7fd002518b528f612b362 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 31 Aug 2022 14:27:22 +0100 Subject: [PATCH 078/105] Add test case for migrating navigation settings from old apps --- .../src/api/routes/tests/application.spec.js | 26 +++++++++++++++++++ .../src/api/routes/tests/data/old-app.txt | 3 +++ 2 files changed, 29 insertions(+) create mode 100644 packages/server/src/api/routes/tests/data/old-app.txt diff --git a/packages/server/src/api/routes/tests/application.spec.js b/packages/server/src/api/routes/tests/application.spec.js index 2620547298..dcfc2c6d9b 100644 --- a/packages/server/src/api/routes/tests/application.spec.js +++ b/packages/server/src/api/routes/tests/application.spec.js @@ -17,6 +17,7 @@ const { checkBuilderEndpoint, } = require("./utilities/TestFunctions") const setup = require("./utilities") +const { basicScreen, basicLayout } = setup.structures const { AppStatus } = require("../../../db/utils") const { events } = require("@budibase/backend-core") @@ -81,6 +82,31 @@ describe("/applications", () => { body: { name: "My App" }, }) }) + + it("migrates navigation settings from old apps", async () => { + const res = await request + .post("/api/applications") + .field("name", "Old App") + .field("useTemplate", "true") + .set(config.defaultHeaders()) + .attach("templateFile", "src/api/routes/tests/data/old-app.txt") + .expect("Content-Type", /json/) + .expect(200) + expect(res.body._id).toBeDefined() + expect(res.body.navigation).toBeDefined() + expect(res.body.navigation.hideLogo).toBe(true) + expect(res.body.navigation.title).toBe("Custom Title") + expect(res.body.navigation.hideLogo).toBe(true) + expect(res.body.navigation.navigation).toBe("Left") + expect(res.body.navigation.navBackground).toBe( + "var(--spectrum-global-color-blue-600)" + ) + expect(res.body.navigation.navTextColor).toBe( + "var(--spectrum-global-color-gray-50)" + ) + expect(events.app.created).toBeCalledTimes(1) + expect(events.app.fileImported).toBeCalledTimes(1) + }) }) describe("fetch", () => { diff --git a/packages/server/src/api/routes/tests/data/old-app.txt b/packages/server/src/api/routes/tests/data/old-app.txt new file mode 100644 index 0000000000..42732092e5 --- /dev/null +++ b/packages/server/src/api/routes/tests/data/old-app.txt @@ -0,0 +1,3 @@ +{"version":"1.2.9","db_type":"http","start_time":"2022-08-31T13:18:50.740Z","db_info":{"db_name":"app_dev_default_c45f987cfa274060840878557ff2f547","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"28-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQ2P2kSGpHqwIrEsALX-GGA","sizes":{"file":233890,"external":5856,"active":19326},"props":{},"doc_del_count":0,"doc_count":7,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0","host":"http://localhost:10000/db/app_dev_default_c45f987cfa274060840878557ff2f547/","auto_compaction":false,"adapter":"http"}} +{"docs":[{"_id":"_design/database","_rev":"4-afb0361e5ebb6b7e464c6c146ac3f559","views":{"by_link":{"map":"function (doc) {\n // everything in this must remain constant as its going to Pouch, no external variables\n if (doc.type === \"link\") {\n let doc1 = doc.doc1;\n let doc2 = doc.doc2;\n emit([doc1.tableId, doc1.rowId], {\n id: doc2.rowId,\n thisId: doc1.rowId,\n fieldName: doc1.fieldName,\n });\n // if linking to same table can't emit twice\n if (doc1.tableId !== doc2.tableId) {\n emit([doc2.tableId, doc2.rowId], {\n id: doc1.rowId,\n thisId: doc2.rowId,\n fieldName: doc2.fieldName,\n });\n }\n }\n }"},"screen_routes":{"map":"function(doc) {\n if (doc._id.startsWith(\"screen_\")) {\n emit(doc._id, {\n id: doc._id,\n routing: doc.routing,\n })\n }\n }"}},"indexes":{"rows":{"index":"function (doc) {\n function idx(input, prev) {\n for (let key of Object.keys(input)) {\n let idxKey = prev != null ? `${prev}.${key}` : key;\n idxKey = idxKey.replace(/ /g, \"_\");\n if (Array.isArray(input[key])) {\n for (let val of input[key]) {\n if (typeof val !== \"object\") {\n // eslint-disable-next-line no-undef\n index(idxKey, val, { store: true });\n }\n }\n }\n else if (key === \"_id\" || key === \"_rev\" || input[key] == null) {\n continue;\n }\n if (typeof input[key] === \"string\") {\n // eslint-disable-next-line no-undef\n index(idxKey, input[key].toLowerCase(), { store: true });\n }\n else if (typeof input[key] !== \"object\") {\n // eslint-disable-next-line no-undef\n index(idxKey, input[key], { store: true });\n }\n else {\n idx(input[key], idxKey);\n }\n }\n }\n if (doc._id.startsWith(\"ro_\")) {\n // eslint-disable-next-line no-undef\n index(\"default\", doc._id);\n idx(doc);\n }\n }","analyzer":"keyword"}},"_revisions":{"start":4,"ids":["afb0361e5ebb6b7e464c6c146ac3f559","d1eafe2832e6554b5d348e16d6a1b0d3","6e20795c5ba67179b478f0337a585b56","0b24e44a44af45e51e562fd124ce3007"]}},{"_id":"app_metadata","_rev":"8-9c8540f72e647e3ca7108978e862ff17","appId":"app_dev_default_c45f987cfa274060840878557ff2f547","type":"app","version":"1.0.79-alpha.7","componentLibraries":["@budibase/standard-components"],"name":"Old App","url":"/old%20app","instance":{"_id":"app_dev_default_c45f987cfa274060840878557ff2f547"},"tenantId":"default","updatedAt":"2022-08-31T13:18:05.273Z","createdAt":"2022-08-31T13:16:36.639Z","status":"development","customTheme":{"navBackground":"var(--spectrum-global-color-blue-600)","navTextColor":"var(--spectrum-global-color-gray-50)","buttonBorderRadius":"4px","primaryColor":"var(--spectrum-global-color-red-600)"},"_revisions":{"start":8,"ids":["9c8540f72e647e3ca7108978e862ff17","5c86ff8a96e1f3b4505e205f25a92656","75473d58cf92b61dbcdcd74157f9e2e1","ebc34a96a7ad678bae76d7d70880f4de","1c7397be4ef470d66bd0fd4b3fe4a002","89222c47e9d254b4885e1818cd0aac79","66bed1c391eabcea6ad3557d8ede5f27","0f1136445fd7c2cf73bb5cf41aaa19d2"]}},{"_id":"layout_private_master","_rev":"12-fa664c0538f1478b2a3695c8909a04e9","componentLibraries":["@budibase/standard-components"],"title":"Old App","favicon":"./_shared/favicon.png","stylesheets":[],"name":"Navigation Layout","props":{"_id":"4f569166-a4f3-47ea-a09e-6d218c75586f","_instanceName":"Navigation Layout","_component":"@budibase/standard-components/layout","_children":[{"_id":"7fcf11e4-6f5b-4085-8e0d-9f3d44c98967","_component":"@budibase/standard-components/screenslot","_instanceName":"Screen slot","_styles":{"normal":{"flex":"1 1 auto","display":"flex","flex-direction":"column","justify-content":"flex-start","align-items":"stretch"},"hover":{},"active":{},"selected":{}},"_children":[]}],"_styles":{"active":{},"hover":{},"normal":{},"selected":{}},"title":"Custom Title","navigation":"Left","width":"Small","links":[{"text":"Home","url":"/"}],"hideLogo":true,"hideTitle":false},"_revisions":{"start":12,"ids":["fa664c0538f1478b2a3695c8909a04e9","54b4084d5c10369ecd7a3b33d4cb7775","61e5d376e9f00d20d9905bf011680943","f222416fe5bcf0085ceb72bdc94327c1","b6d9abe1caa1a8ffec0b1e8cb7324c4b","85a347b8c8acb5ad4e31929384062e05","a7ce68d677f2fa7e9a0d54b2fb4275bb","83811e8befcdac752cdbe16cd8b33fa0","362cb9ad2c87ef9c92c58c0a41ed69d4","0a3bba6cdc98539abb3a4e98e13ef98a","d964020cc8907b37047bcd2bd1387735","156b45a34bbee17b6a4a97bfaaeb6f90"]}},{"_id":"layout_public_master","_rev":"1-c7d57c9c42e9e8f988d82f0e6cc7d32c","componentLibraries":["@budibase/standard-components"],"title":"Old App","favicon":"./_shared/favicon.png","stylesheets":[],"name":"Empty Layout","props":{"_id":"3723ffa1-f9e0-4c05-8013-98195c788ed6","_instanceName":"Empty Layout","_component":"@budibase/standard-components/layout","_children":[{"_id":"7fcf11e4-6f5b-4085-8e0d-9f3d44c98967","_component":"@budibase/standard-components/screenslot","_instanceName":"Screen slot","_styles":{"normal":{"flex":"1 1 auto","display":"flex","flex-direction":"column","justify-content":"flex-start","align-items":"stretch"},"hover":{},"active":{},"selected":{}},"_children":[]}],"_styles":{"active":{},"hover":{},"normal":{},"selected":{}},"navigation":"None","width":"Large","links":[{"text":"Home","url":"/"}]}},{"_id":"screen_c483ef802772479196a28c8a6eafe6a5","_rev":"1-db29ceb02c9c6c1ade847c8086d28a70","layoutId":"layout_private_master","props":{"_id":"cafd93b74e18b45a49a58c894d7ef29b4","_component":"@budibase/standard-components/container","_styles":{"normal":{},"hover":{},"active":{},"selected":{}},"_children":[],"_instanceName":"Home","direction":"column","hAlign":"stretch","vAlign":"top","size":"grow","gap":"M"},"routing":{"route":"/home","roleId":"BASIC"},"name":"cafd93b74e18b45a49a58c894d7ef29b4","template":"createFromScratch"},{"_id":"ta_users","_rev":"1-30a4344f056c24cf776d5736eb3c7ed5","type":"table","views":{},"name":"Users","schema":{"email":{"type":"string","constraints":{"type":"string","email":true,"length":{"maximum":""},"presence":true},"fieldName":"email","name":"email"},"firstName":{"name":"firstName","fieldName":"firstName","type":"string","constraints":{"type":"string","presence":false}},"lastName":{"name":"lastName","fieldName":"lastName","type":"string","constraints":{"type":"string","presence":false}},"roleId":{"fieldName":"roleId","name":"roleId","type":"options","constraints":{"type":"string","presence":false,"inclusion":["ADMIN","POWER","BASIC","PUBLIC"]}},"status":{"fieldName":"status","name":"status","type":"options","constraints":{"type":"string","presence":false,"inclusion":["active","inactive"]}}},"primaryDisplay":"email"}]} +{"seq":"28-g1AAAACbeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVCJDUv3___-zMpgTxXKBAuxJiZYGxgZG2DTgMSaPBUgyNACp_1DT2MCmGRmZWBglG2PTlwUAEaUn-w"} From f4f6e4202effbd05da2108056e8b2c066456a76a Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 13:29:34 +0000 Subject: [PATCH 079/105] v1.2.58-alpha.3 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index f8bd38d1c3..9a15d5c726 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ac548367ef..fab8358321 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.2", + "@budibase/types": "1.2.58-alpha.3", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 7f00709b1c..cb3d78c36f 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": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.2", + "@budibase/string-templates": "1.2.58-alpha.3", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 941cc8e74d..21a63d4bbc 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.2", - "@budibase/client": "1.2.58-alpha.2", - "@budibase/frontend-core": "1.2.58-alpha.2", - "@budibase/string-templates": "1.2.58-alpha.2", + "@budibase/bbui": "1.2.58-alpha.3", + "@budibase/client": "1.2.58-alpha.3", + "@budibase/frontend-core": "1.2.58-alpha.3", + "@budibase/string-templates": "1.2.58-alpha.3", "@sentry/browser": "5.19.1", "@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 15d5f810c6..e6b68483be 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.2", + "@budibase/backend-core": "1.2.58-alpha.3", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index d628ad2330..e436268944 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "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": "1.2.58-alpha.2", - "@budibase/frontend-core": "1.2.58-alpha.2", - "@budibase/string-templates": "1.2.58-alpha.2", + "@budibase/bbui": "1.2.58-alpha.3", + "@budibase/frontend-core": "1.2.58-alpha.3", + "@budibase/string-templates": "1.2.58-alpha.3", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index b7a1ca5409..9843f16bd3 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.2", + "@budibase/bbui": "1.2.58-alpha.3", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 2ed2be9e0e..b580dd1602 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.2", - "@budibase/client": "1.2.58-alpha.2", + "@budibase/backend-core": "1.2.58-alpha.3", + "@budibase/client": "1.2.58-alpha.3", "@budibase/pro": "1.2.58-alpha.2", - "@budibase/string-templates": "1.2.58-alpha.2", - "@budibase/types": "1.2.58-alpha.2", + "@budibase/string-templates": "1.2.58-alpha.3", + "@budibase/types": "1.2.58-alpha.3", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index ded6fa7ca1..4c7b096c40 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 60c885973b..7e5e88bd20 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index f92017e760..e69392d5a0 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.2", + "version": "1.2.58-alpha.3", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.2", + "@budibase/backend-core": "1.2.58-alpha.3", "@budibase/pro": "1.2.58-alpha.2", - "@budibase/string-templates": "1.2.58-alpha.2", - "@budibase/types": "1.2.58-alpha.2", + "@budibase/string-templates": "1.2.58-alpha.3", + "@budibase/types": "1.2.58-alpha.3", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 84546a814a6fd1b09f632b0e209200ab5569a512 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 13:33:05 +0000 Subject: [PATCH 080/105] Update pro version to 1.2.58-alpha.3 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 634 ++--------------------------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +- 4 files changed, 41 insertions(+), 627 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index b580dd1602..784637d241 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.3", "@budibase/client": "1.2.58-alpha.3", - "@budibase/pro": "1.2.58-alpha.2", + "@budibase/pro": "1.2.58-alpha.3", "@budibase/string-templates": "1.2.58-alpha.3", "@budibase/types": "1.2.58-alpha.3", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 1d129f63df..c84d3e3929 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.2.tgz#bdf3fe2e5944d6731da5240eaf1463e18643b9d7" - integrity sha512-hVNuTYZHcHDRHBLHET7195oBPQOcENQHcnGEFyAg96XxLINA2u08VbO19bP6DvHzpj6VQW/ElPddKcSsJDLXVg== +"@budibase/backend-core@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.3.tgz#705986aaf2d97d15fab64ded044d30530773b541" + integrity sha512-yliV7eLHgjprjYdLhB2Tk/0ibEk5O17Mez5Nn5AqySAwsz+LwfHquaJZ8gT6uoRmgdMVLiEipBmO7cd+XQpR5A== dependencies: - "@budibase/types" "1.2.58-alpha.2" + "@budibase/types" "1.2.58-alpha.3" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1128,59 +1128,6 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/bbui@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.2.58-alpha.2.tgz#06d4fa34ede4c170c1ad7cb782e43ada92f39458" - integrity sha512-PR0DD0M+X6xLaVJORyDACDuLAhUoHrLvk5Ac/31m3P2PCZqHel8/wO8tPgs/rF4zSb83z9PMZ1cGQahyxbFNmA== - dependencies: - "@adobe/spectrum-css-workflow-icons" "^1.2.1" - "@budibase/string-templates" "1.2.58-alpha.2" - "@spectrum-css/actionbutton" "^1.0.1" - "@spectrum-css/actiongroup" "^1.0.1" - "@spectrum-css/avatar" "^3.0.2" - "@spectrum-css/button" "^3.0.1" - "@spectrum-css/buttongroup" "^3.0.2" - "@spectrum-css/checkbox" "^3.0.2" - "@spectrum-css/dialog" "^3.0.1" - "@spectrum-css/divider" "^1.0.3" - "@spectrum-css/dropzone" "^3.0.2" - "@spectrum-css/fieldgroup" "^3.0.2" - "@spectrum-css/fieldlabel" "^3.0.1" - "@spectrum-css/icon" "^3.0.1" - "@spectrum-css/illustratedmessage" "^3.0.2" - "@spectrum-css/inlinealert" "^2.0.1" - "@spectrum-css/inputgroup" "^3.0.2" - "@spectrum-css/label" "^2.0.10" - "@spectrum-css/link" "^3.1.1" - "@spectrum-css/menu" "^3.0.1" - "@spectrum-css/modal" "^3.0.1" - "@spectrum-css/pagination" "^3.0.3" - "@spectrum-css/picker" "^1.0.1" - "@spectrum-css/popover" "^3.0.1" - "@spectrum-css/progressbar" "^1.0.2" - "@spectrum-css/progresscircle" "^1.0.2" - "@spectrum-css/radio" "^3.0.2" - "@spectrum-css/search" "^3.0.2" - "@spectrum-css/sidenav" "^3.0.2" - "@spectrum-css/slider" "3.0.1" - "@spectrum-css/statuslight" "^3.0.2" - "@spectrum-css/stepper" "^3.0.3" - "@spectrum-css/switch" "^1.0.2" - "@spectrum-css/table" "^3.0.1" - "@spectrum-css/tabs" "^3.2.12" - "@spectrum-css/tags" "^3.0.2" - "@spectrum-css/textfield" "^3.0.1" - "@spectrum-css/toast" "^3.0.1" - "@spectrum-css/tooltip" "^3.0.3" - "@spectrum-css/treeview" "^3.0.2" - "@spectrum-css/typography" "^3.0.1" - "@spectrum-css/underlay" "^2.0.9" - "@spectrum-css/vars" "^3.0.1" - dayjs "^1.10.4" - easymde "^2.16.1" - svelte-flatpickr "^3.2.3" - svelte-portal "^1.0.0" - "@budibase/bbui@^0.9.139": version "0.9.190" resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-0.9.190.tgz#e1ec400ac90f556bfbc80fc23a04506f1585ea81" @@ -1231,77 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/client@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/client/-/client-1.2.58-alpha.2.tgz#d33db18b41a8f127e6d84413d8a130c3ac9bf5ce" - integrity sha512-odRloq/a8MdU+alqDQmmzQ1GShcsyogrmj/6pC/DxJeqpbABVvdyYYAmRQifeWliBF6pZ9PhxqsEpl2UbroH1g== +"@budibase/pro@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.3.tgz#ae905b19db0284265a6089c4a420f89e8e5e352e" + integrity sha512-jyhv5LdP28nnuKkjoHCAfowo/gYM2Bs9gRHXVpaH2+dfZP0+0jsSHekUoE/gBDpsslCcDoh/XuqriCyvIfG7Dw== dependencies: - "@budibase/bbui" "1.2.58-alpha.2" - "@budibase/frontend-core" "1.2.58-alpha.2" - "@budibase/string-templates" "1.2.58-alpha.2" - "@spectrum-css/button" "^3.0.3" - "@spectrum-css/card" "^3.0.3" - "@spectrum-css/divider" "^1.0.3" - "@spectrum-css/link" "^3.1.3" - "@spectrum-css/page" "^3.0.1" - "@spectrum-css/tag" "^3.1.4" - "@spectrum-css/typography" "^3.0.2" - "@spectrum-css/vars" "^3.0.1" - apexcharts "^3.22.1" - dayjs "^1.10.5" - downloadjs "1.4.7" - leaflet "^1.7.1" - regexparam "^1.3.0" - rollup-plugin-polyfill-node "^0.8.0" - sanitize-html "^2.7.0" - screenfull "^6.0.1" - shortid "^2.2.15" - svelte "^3.49.0" - svelte-apexcharts "^1.0.2" - svelte-flatpickr "^3.1.0" - svelte-spa-router "^3.0.5" - -"@budibase/frontend-core@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/frontend-core/-/frontend-core-1.2.58-alpha.2.tgz#0acc72abeb5bb5f0e2cfbad006b67b2121c664c3" - integrity sha512-EsJGVEvvteRbgtDeLdz+biQiO5HDE7YXLuw3TfFPaU7Dd9HyXMhiiP0nKP2qOWTUk5iQvpv4yoo04CtcKOD2tA== - dependencies: - "@budibase/bbui" "1.2.58-alpha.2" - lodash "^4.17.21" - svelte "^3.46.2" - -"@budibase/handlebars-helpers@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@budibase/handlebars-helpers/-/handlebars-helpers-0.11.8.tgz#6953d29673a8c5c407e096c0a84890465c7ce841" - integrity sha512-ggWJUt0GqsHFAEup5tlWlcrmYML57nKhpNGGLzVsqXVYN8eVmf3xluYmmMe7fDYhQH0leSprrdEXmsdFQF3HAQ== - dependencies: - array-sort "^1.0.0" - define-property "^2.0.2" - extend-shallow "^3.0.2" - for-in "^1.0.2" - get-object "^0.2.0" - get-value "^3.0.1" - handlebars "^4.7.7" - handlebars-utils "^1.0.6" - has-value "^2.0.2" - helper-md "^0.2.2" - html-tag "^2.0.0" - is-even "^1.0.0" - is-glob "^4.0.1" - kind-of "^6.0.3" - micromatch "^3.1.5" - relative "^3.0.2" - striptags "^3.1.1" - to-gfm-code-block "^0.1.1" - year "^0.2.1" - -"@budibase/pro@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.2.tgz#108ad8486c65f0a9f8b5437aae676fdce808bf9d" - integrity sha512-HdVqvH5yrKhENqPlsouDEXTCx6MT3xUsojqkvLgQcRYKoJc4IQ56MqLdpSYPGJgfFk/mMeyuET9DD8RSI5s//Q== - dependencies: - "@budibase/backend-core" "1.2.58-alpha.2" - "@budibase/types" "1.2.58-alpha.2" + "@budibase/backend-core" "1.2.58-alpha.3" + "@budibase/types" "1.2.58-alpha.3" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1324,22 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/string-templates@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-1.2.58-alpha.2.tgz#2415cbd73950f0c379cf8e519453c6079bba1a32" - integrity sha512-wqd4YKBISfT99bhsAygSVGug86YxBCxfecXWvfjIi5HVGg765A4OU/LrFUI9vph3BQXc5asQqxOc7F7Careqsg== - dependencies: - "@budibase/handlebars-helpers" "^0.11.8" - dayjs "^1.10.4" - handlebars "^4.7.6" - handlebars-utils "^1.0.6" - lodash "^4.17.20" - vm2 "^3.9.4" - -"@budibase/types@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.2.tgz#1b39358537d0826e3637e1f38276feec6dfc1f61" - integrity sha512-l+OMG3xHBA63FMvJQhT9Eo+NUW3tJQdAPCwgKYF/6LgfM3aO8H/928g9+hdQljwYTc/wpHxSQLuN5QYqiYrHSA== +"@budibase/types@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.3.tgz#0a96a949b8b989723abf768e3494fe2040d3b543" + integrity sha512-jRC1zTxLi4ozEIlzRMyo1+L+WkKyU2r8m1W7FRhvUQn4+Alk4ynB6TUaSfWavDOvtg4hWg5TVzJfpVOfVjeg5w== "@bull-board/api@3.7.0": version "3.7.0" @@ -2312,24 +2183,6 @@ resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.3.tgz#4cfca8e564228c0bddcdf4418cba60c20b224ac4" integrity sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA== -"@rollup/plugin-inject@^4.0.0": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2" - integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ== - dependencies: - "@rollup/pluginutils" "^3.1.0" - estree-walker "^2.0.1" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - "@sendgrid/client@^7.1.1": version "7.7.0" resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.7.0.tgz#f8f67abd604205a0d0b1af091b61517ef465fdbf" @@ -2611,11 +2464,6 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/sidenav/-/sidenav-3.0.23.tgz#c218560d472e13a3e0d1499b762df1206dcffbfd" integrity sha512-4IFw2/HMQJRzM0M2c5na/HeY7y5vJoGpMFBkXNpQyhW4TRo7N1rGwYQ5dRD3s4OVEWV4/rjfGV0d/qhfwKUTog== -"@spectrum-css/slider@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@spectrum-css/slider/-/slider-3.0.1.tgz#5281e6f47eb5a4fd3d1816c138bf66d01d7f2e49" - integrity sha512-DI2dtMRnQuDM1miVzl3SGyR1khUEKnwdXfO5EHDFwkC3yav43F5QogkfjmjFmWWobMVovdJlAuiaaJ/IHejD0Q== - "@spectrum-css/statuslight@^3.0.2": version "3.0.8" resolved "https://registry.yarnpkg.com/@spectrum-css/statuslight/-/statuslight-3.0.8.tgz#3b0ea80712573679870a85d469850230e794a0f7" @@ -2641,16 +2489,6 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/tabs/-/tabs-3.2.16.tgz#c3f7800d8d6f7c9930c28cd01354816328bf72b1" integrity sha512-JUcMB/fiDG/KoyrVstlUMacFJUY4OHKqhMRuPtu9ggUXWCRbSkY8he92v6u0HwY3DuhDoOxNTK8d/PLjk/fsbg== -"@spectrum-css/tabs@^3.2.12": - version "3.2.19" - resolved "https://registry.yarnpkg.com/@spectrum-css/tabs/-/tabs-3.2.19.tgz#2eae3a2c4760466882db08281365d502c3f22ebf" - integrity sha512-SNGFf/karBr/GNz5GNWnbppFz6uEOGecv6D8WA1ZLeWkjg4gG5e4M9XmPcB32v350e1PTRG7KwWDce48qWAKCQ== - -"@spectrum-css/tag@^3.1.4": - version "3.3.14" - resolved "https://registry.yarnpkg.com/@spectrum-css/tag/-/tag-3.3.14.tgz#2d1ca0759da6a3a2970d14bcabf33bd4a8f63a5f" - integrity sha512-S4RUaxN/83Pr/SYkQHeZNh2NXmtumUEzhrsrrliI6bAt3bjs+mLresTGd9qkIX2+Ycq1JHWTr0HTga4ti1YYyA== - "@spectrum-css/tags@^3.0.2": version "3.0.3" resolved "https://registry.yarnpkg.com/@spectrum-css/tags/-/tags-3.0.3.tgz#fc76d2735cdc442de91b7eb3bee49a928c0767ac" @@ -2828,13 +2666,6 @@ resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== -"@types/codemirror@^5.60.4": - version "5.60.5" - resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-5.60.5.tgz#5b989a3b4bbe657458cf372c92b6bfda6061a2b7" - integrity sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg== - dependencies: - "@types/tern" "*" - "@types/connect@*": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -2883,11 +2714,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -3031,11 +2857,6 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@types/marked@^4.0.1": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.6.tgz#9ca544c1057f3c8b3f649b5e8e56d9241e3ca22d" - integrity sha512-ITAVUzsnVbhy5afxhs4PPPbrv2hKVEDH5BhhaQNQlVG0UNu+9A18XSdYr53nBdHZ0ADEQLl+ciOjXbs7eHdiQQ== - "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" @@ -3171,13 +2992,6 @@ "@types/cookiejar" "*" "@types/node" "*" -"@types/tern@*": - version "0.23.4" - resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" - integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg== - dependencies: - "@types/estree" "*" - "@types/tough-cookie@*": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" @@ -3776,7 +3590,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.10, argparse@^1.0.7: +argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -3823,15 +3637,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -3982,13 +3787,6 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autolinker@~0.28.0: - version "0.28.1" - resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47" - integrity sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ== - dependencies: - gulp-header "^1.7.1" - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -4839,18 +4637,6 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -codemirror-spell-checker@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz#1c660f9089483ccb5113b9ba9ca19c3f4993371e" - integrity sha512-2Tl6n0v+GJRsC9K3MLCdLaMOmvWL0uukajNJseorZJsslaxZyZMgENocPU8R0DyoTAiKsyqiemSOZo7kjGV0LQ== - dependencies: - typo-js "*" - -codemirror@^5.63.1: - version "5.65.8" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.8.tgz#50f145ba7eb725091110c31f3a7c1fdef6bdc721" - integrity sha512-TNGkSkkoAsmZSf6W6g35LMVQJBHKasc2CKwhr/fTxSYun7cn6J+CbtyNjV/MYlFVkNTsqZoviegyCZimWhoMMA== - collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" @@ -5001,13 +4787,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-with-sourcemaps@*: - version "1.1.0" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" - integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== - dependencies: - source-map "^0.6.1" - condense-newlines@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" @@ -5428,13 +5207,6 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - default-shell@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc" @@ -5602,25 +5374,11 @@ doctrine@3.0.0, doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -5635,22 +5393,6 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -5695,11 +5437,6 @@ download@8.0.0: p-event "^2.1.0" pify "^4.0.1" -downloadjs@1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/downloadjs/-/downloadjs-1.4.7.tgz#f69f96f940e0d0553dac291139865a3cd0101e3c" - integrity sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q== - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -5715,17 +5452,6 @@ duplexify@^4.0.0: readable-stream "^3.1.1" stream-shift "^1.0.0" -easymde@^2.16.1: - version "2.17.0" - resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.17.0.tgz#07954ec374b2e4f873c505c2b7d82b08e8d7053c" - integrity sha512-xerjhBh6G+FDfU2EBfKNEVqawYGqnK2zACKtyQlZKnxPoaesncRbHiSX5Yrf3Ur8KjEX1BvG7Ysccrd8hKTkig== - dependencies: - "@types/codemirror" "^5.60.4" - "@types/marked" "^4.0.1" - codemirror "^5.63.1" - codemirror-spell-checker "1.1.2" - marked "^4.0.18" - ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -5891,16 +5617,6 @@ enhanced-resolve@^5.9.3: graceful-fs "^4.2.4" tapable "^2.2.0" -ent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" @@ -6346,16 +6062,6 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6927,11 +6633,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg== - fs-extra@8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -7080,14 +6781,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.3" -get-object@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c" - integrity sha512-7P6y6k6EzEFmO/XyUyFlXm1YLJy9xeA1x/grNV8276abX5GuwUtYgKFkRFkLixw4hf4Pz9q2vgv/8Ar42R0HuQ== - dependencies: - is-number "^2.0.2" - isobject "^0.2.0" - get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -7150,13 +6843,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== -get-value@^3.0.0, get-value@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-3.0.1.tgz#5efd2a157f1d6a516d7524e124ac52d0a39ef5a8" - integrity sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA== - dependencies: - isobject "^3.0.1" - getopts@2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" @@ -7462,24 +7148,7 @@ gtoken@^5.0.4: google-p12-pem "^3.1.3" jws "^4.0.0" -gulp-header@^1.7.1: - version "1.8.12" - resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84" - integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ== - dependencies: - concat-with-sourcemaps "*" - lodash.template "^4.4.0" - through2 "^2.0.0" - -handlebars-utils@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9" - integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw== - dependencies: - kind-of "^6.0.0" - typeof-article "^0.1.1" - -handlebars@^4.7.6, handlebars@^4.7.7: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -7573,14 +7242,6 @@ has-value@^1.0.0: has-values "^1.0.0" isobject "^3.0.0" -has-value@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-2.0.2.tgz#d0f12e8780ba8e90e66ad1a21c707fdb67c25658" - integrity sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA== - dependencies: - get-value "^3.0.0" - has-values "^2.0.1" - has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" @@ -7594,13 +7255,6 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has-values@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d" - integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w== - dependencies: - kind-of "^6.0.2" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -7613,16 +7267,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -helper-md@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f" - integrity sha512-49TaQzK+Ic7ZVTq4i1UZxRUJEmAilTk8hz7q4I0WNUaTclLR8ArJV5B3A1fe1xF2HtsDTr2gYKLaVTof/Lt84Q== - dependencies: - ent "^2.2.0" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - remarkable "^1.6.2" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -7659,24 +7303,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-tag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed" - integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g== - dependencies: - is-self-closing "^1.0.1" - kind-of "^6.0.0" - -htmlparser2@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - http-assert@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" @@ -8138,13 +7764,6 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-even@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06" - integrity sha512-LEhnkAdJqic4Dbqn58A0y52IXoHWlsueqQkKfMfdEnIYG8A1sm/GHidKkS6yvXlMoRrkM34csHnXQtOqcb+Jzg== - dependencies: - is-odd "^0.1.2" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -8251,13 +7870,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -8280,13 +7892,6 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== -is-odd@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7" - integrity sha512-Ri7C2K7o5IrUU9UEI8losXJCCD/UtsaIrkR5sxIcFg4xQ9cRJXlWA5DQvTE0yDc0krvSNLsRGXN11UPS6KyfBw== - dependencies: - is-number "^3.0.0" - is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -8304,11 +7909,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -8337,13 +7937,6 @@ is-retry-allowed@^2.2.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== -is-self-closing@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4" - integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg== - dependencies: - self-closing-tags "^1.0.1" - is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -8454,11 +8047,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e" - integrity sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ== - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -9639,7 +9227,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== @@ -9653,12 +9241,12 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0, kind-of@^5.0.2: +kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -9918,11 +9506,6 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -leaflet@^1.7.1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.8.0.tgz#4615db4a22a304e8e692cae9270b983b38a2055e" - integrity sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA== - left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -10117,11 +9700,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== - lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -10232,21 +9810,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== -lodash.template@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.without@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" @@ -10257,7 +9820,7 @@ lodash.xor@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6" integrity sha512-sVN2zimthq7aZ5sPGXnSz32rZPuqcparVW50chJQe+mzTYV+IsxSsl/2gnkWWE2Of7K3myBQBqtLKOUEHJKRsQ== -lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10330,13 +9893,6 @@ luxon@^3.0.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.0.1.tgz#6901111d10ad06fd267ad4e4128a84bef8a77299" integrity sha512-hF3kv0e5gwHQZKz4wtm4c+inDtyc7elkanAsBq+fundaCdUBNJB1dHEGUZIM6SfSBUlbVFduPwEtNjFK8wLtcw== -magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -10406,11 +9962,6 @@ markdown-it@^12.2.0: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^4.0.18: - version "4.1.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.0.tgz#3fc6e7485f21c1ca5d6ec4a39de820e146954796" - integrity sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA== - matcher@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" @@ -10501,7 +10052,7 @@ methods@^1.0.1, methods@^1.1.1, methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -10785,16 +10336,6 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== -nanoid@^2.1.0: - version "2.1.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" - integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -11435,11 +10976,6 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -parse-srcset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" - integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q== - parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -11686,7 +11222,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -11801,15 +11337,6 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== -postcss@^8.3.11: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postgres-array@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" @@ -12549,16 +12076,6 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexparam@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.1.tgz#c912f5dae371e3798100b3c9ce22b7414d0889fa" - integrity sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw== - -regexparam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" - integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -12607,21 +12124,6 @@ relative-microtime@^2.0.0: resolved "https://registry.yarnpkg.com/relative-microtime/-/relative-microtime-2.0.0.tgz#cceed2af095ecd72ea32011279c79e5fcc7de29b" integrity sha512-l18ha6HEZc+No/uK4GyAnNxgKW7nvEe35IaeN54sShMojtqik2a6GbTyuiezkjpPaqP874Z3lW5ysBo5irz4NA== -relative@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" - integrity sha512-Q5W2qeYtY9GbiR8z1yHNZ1DGhyjb4AnLEjt8iE6XfcC1QIu+FAtj3HQaO0wH28H1mX6cqNLvAqWhP402dxJGyA== - dependencies: - isobject "^2.0.0" - -remarkable@^1.6.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00" - integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg== - dependencies: - argparse "^1.0.10" - autolinker "~0.28.0" - remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -12856,13 +12358,6 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -rollup-plugin-polyfill-node@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19" - integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ== - dependencies: - "@rollup/plugin-inject" "^4.0.0" - rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -12929,18 +12424,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sanitize-html@^2.7.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.1.tgz#a6c2c1a88054a79eeacfac9b0a43f1b393476901" - integrity sha512-oOpe8l4J8CaBk++2haoN5yNI5beekjuHv3JRPKUx/7h40Rdr85pemn4NkvUB3TcBP7yjat574sPlcMAyv4UQig== - dependencies: - deepmerge "^4.2.2" - escape-string-regexp "^4.0.0" - htmlparser2 "^6.0.0" - is-plain-object "^5.0.0" - parse-srcset "^1.0.2" - postcss "^8.3.11" - sanitize-s3-objectkey@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/sanitize-s3-objectkey/-/sanitize-s3-objectkey-0.0.1.tgz#efa9887cd45275b40234fb4bb12fc5754fe64e7e" @@ -12979,11 +12462,6 @@ schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -screenfull@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-6.0.2.tgz#3dbe4b8c4f8f49fb8e33caa8f69d0bca730ab238" - integrity sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw== - search-params@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/search-params/-/search-params-3.0.0.tgz#dbc7c243058e5a33ae1e9870be91f5aced4100d8" @@ -13001,11 +12479,6 @@ seek-bzip@^1.0.5: dependencies: commander "^2.8.1" -self-closing-tags@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d" - integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA== - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -13151,13 +12624,6 @@ shimmer@^1.2.0: resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== -shortid@^2.2.15: - version "2.2.16" - resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" - integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g== - dependencies: - nanoid "^2.1.0" - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -13322,11 +12788,6 @@ source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -13387,11 +12848,6 @@ source-map@^0.8.0-beta.0: dependencies: whatwg-url "^7.0.0" -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - spark-md5@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d" @@ -13733,11 +13189,6 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -striptags@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" - integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== - style-loader@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" @@ -13837,14 +13288,7 @@ svelte-portal@^1.0.0: resolved "https://registry.yarnpkg.com/svelte-portal/-/svelte-portal-1.0.0.tgz#36a47c5578b1a4d9b4dc60fa32a904640ec4cdd3" integrity sha512-nHf+DS/jZ6jjnZSleBMSaZua9JlG5rZv9lOGKgJuaZStfevtjIlUJrkLc3vbV8QdBvPPVmvcjTlazAzfKu0v3Q== -svelte-spa-router@^3.0.5: - version "3.3.0" - resolved "https://registry.yarnpkg.com/svelte-spa-router/-/svelte-spa-router-3.3.0.tgz#2fc0967a49dc361dfe4d38dddad6e662eed5b42c" - integrity sha512-cwRNe7cxD43sCvSfEeaKiNZg3FCizGxeMcf7CPiWRP3jKXjEma3vxyyuDtPOam6nWbVxl9TNM3hlE/i87ZlqcQ== - dependencies: - regexparam "2.0.1" - -svelte@3.49.0, svelte@^3.46.2, svelte@^3.49.0: +svelte@3.49.0: version "3.49.0" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.49.0.tgz#5baee3c672306de1070c3b7888fc2204e36a4029" integrity sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA== @@ -14206,11 +13650,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-gfm-code-block@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82" - integrity sha512-LQRZWyn8d5amUKnfR9A9Uu7x9ss7Re8peuWR2gkh1E+ildOfv2aF26JpuDg8JtvCduu5+hOrMIH+XstZtnagqg== - to-json-schema@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f" @@ -14469,13 +13908,6 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typeof-article@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af" - integrity sha512-Vn42zdX3FhmUrzEmitX3iYyLb+Umwpmv8fkZRIknYh84lmdrwqZA5xYaoKiIj2Rc5i/5wcDrpUmZcbk1U51vTw== - dependencies: - kind-of "^3.1.0" - typeof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/typeof/-/typeof-1.0.0.tgz#9c84403f2323ae5399167275497638ea1d2f2440" @@ -14486,11 +13918,6 @@ typescript@4.6.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== -typo-js@*: - version "1.2.2" - resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.2.2.tgz#340484d81fe518e77c81a5a770162b14492f183b" - integrity sha512-C7pYBQK17EjSg8tVNY91KHdUt5Nf6FMJ+c3js076quPmBML57PmNMzAcIq/2kf/hSYtFABNDIYNYlJRl5BJhGw== - uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -14828,14 +14255,6 @@ vm2@3.9.6: acorn "^8.7.0" acorn-walk "^8.2.0" -vm2@^3.9.4: - version "3.9.11" - resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.11.tgz#a880f510a606481719ec3f9803b940c5805a06fe" - integrity sha512-PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg== - dependencies: - acorn "^8.7.0" - acorn-walk "^8.2.0" - vuvuzela@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b" @@ -15389,11 +14808,6 @@ yauzl@^2.4.2: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -year@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0" - integrity sha512-9GnJUZ0QM4OgXuOzsKNzTJ5EOkums1Xc+3YQXp+Q+UxFjf7zLucp9dQ8QMIft0Szs1E1hUiXFim1OYfEKFq97w== - ylru@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.3.2.tgz#0de48017473275a4cbdfc83a1eaf67c01af8a785" diff --git a/packages/worker/package.json b/packages/worker/package.json index e69392d5a0..0b760fc4e2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.3", - "@budibase/pro": "1.2.58-alpha.2", + "@budibase/pro": "1.2.58-alpha.3", "@budibase/string-templates": "1.2.58-alpha.3", "@budibase/types": "1.2.58-alpha.3", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 1be18a7734..cde14ca3a2 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.2.tgz#bdf3fe2e5944d6731da5240eaf1463e18643b9d7" - integrity sha512-hVNuTYZHcHDRHBLHET7195oBPQOcENQHcnGEFyAg96XxLINA2u08VbO19bP6DvHzpj6VQW/ElPddKcSsJDLXVg== +"@budibase/backend-core@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.3.tgz#705986aaf2d97d15fab64ded044d30530773b541" + integrity sha512-yliV7eLHgjprjYdLhB2Tk/0ibEk5O17Mez5Nn5AqySAwsz+LwfHquaJZ8gT6uoRmgdMVLiEipBmO7cd+XQpR5A== dependencies: - "@budibase/types" "1.2.58-alpha.2" + "@budibase/types" "1.2.58-alpha.3" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.2.tgz#108ad8486c65f0a9f8b5437aae676fdce808bf9d" - integrity sha512-HdVqvH5yrKhENqPlsouDEXTCx6MT3xUsojqkvLgQcRYKoJc4IQ56MqLdpSYPGJgfFk/mMeyuET9DD8RSI5s//Q== +"@budibase/pro@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.3.tgz#ae905b19db0284265a6089c4a420f89e8e5e352e" + integrity sha512-jyhv5LdP28nnuKkjoHCAfowo/gYM2Bs9gRHXVpaH2+dfZP0+0jsSHekUoE/gBDpsslCcDoh/XuqriCyvIfG7Dw== dependencies: - "@budibase/backend-core" "1.2.58-alpha.2" - "@budibase/types" "1.2.58-alpha.2" + "@budibase/backend-core" "1.2.58-alpha.3" + "@budibase/types" "1.2.58-alpha.3" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.2": - version "1.2.58-alpha.2" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.2.tgz#1b39358537d0826e3637e1f38276feec6dfc1f61" - integrity sha512-l+OMG3xHBA63FMvJQhT9Eo+NUW3tJQdAPCwgKYF/6LgfM3aO8H/928g9+hdQljwYTc/wpHxSQLuN5QYqiYrHSA== +"@budibase/types@1.2.58-alpha.3": + version "1.2.58-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.3.tgz#0a96a949b8b989723abf768e3494fe2040d3b543" + integrity sha512-jRC1zTxLi4ozEIlzRMyo1+L+WkKyU2r8m1W7FRhvUQn4+Alk4ynB6TUaSfWavDOvtg4hWg5TVzJfpVOfVjeg5w== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From e3d53981131485caab5652565b335a445f0b33c2 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 14:39:18 +0000 Subject: [PATCH 081/105] v1.2.58-alpha.4 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 9a15d5c726..1488c8a8d0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index fab8358321..fd12de23f1 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.3", + "@budibase/types": "1.2.58-alpha.4", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index cb3d78c36f..e8636699c2 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": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.3", + "@budibase/string-templates": "1.2.58-alpha.4", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 21a63d4bbc..3f327d4703 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.3", - "@budibase/client": "1.2.58-alpha.3", - "@budibase/frontend-core": "1.2.58-alpha.3", - "@budibase/string-templates": "1.2.58-alpha.3", + "@budibase/bbui": "1.2.58-alpha.4", + "@budibase/client": "1.2.58-alpha.4", + "@budibase/frontend-core": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.4", "@sentry/browser": "5.19.1", "@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 e6b68483be..81adbe2a92 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.3", + "@budibase/backend-core": "1.2.58-alpha.4", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index e436268944..b66d0b3dac 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "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": "1.2.58-alpha.3", - "@budibase/frontend-core": "1.2.58-alpha.3", - "@budibase/string-templates": "1.2.58-alpha.3", + "@budibase/bbui": "1.2.58-alpha.4", + "@budibase/frontend-core": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.4", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 9843f16bd3..1ccc947edf 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.3", + "@budibase/bbui": "1.2.58-alpha.4", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 784637d241..4f02fd9ef8 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.3", - "@budibase/client": "1.2.58-alpha.3", + "@budibase/backend-core": "1.2.58-alpha.4", + "@budibase/client": "1.2.58-alpha.4", "@budibase/pro": "1.2.58-alpha.3", - "@budibase/string-templates": "1.2.58-alpha.3", - "@budibase/types": "1.2.58-alpha.3", + "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/types": "1.2.58-alpha.4", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 4c7b096c40..a893918e99 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 7e5e88bd20..7452b30a14 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 0b760fc4e2..c1b6faea0c 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.3", + "version": "1.2.58-alpha.4", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.3", + "@budibase/backend-core": "1.2.58-alpha.4", "@budibase/pro": "1.2.58-alpha.3", - "@budibase/string-templates": "1.2.58-alpha.3", - "@budibase/types": "1.2.58-alpha.3", + "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/types": "1.2.58-alpha.4", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 186015ca7c9d8f8e0edd4943f989ddbe67003848 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 31 Aug 2022 14:42:54 +0000 Subject: [PATCH 082/105] Update pro version to 1.2.58-alpha.4 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 4f02fd9ef8..72c6641a51 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.4", "@budibase/client": "1.2.58-alpha.4", - "@budibase/pro": "1.2.58-alpha.3", + "@budibase/pro": "1.2.58-alpha.4", "@budibase/string-templates": "1.2.58-alpha.4", "@budibase/types": "1.2.58-alpha.4", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index c84d3e3929..d98f3c4cff 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.3.tgz#705986aaf2d97d15fab64ded044d30530773b541" - integrity sha512-yliV7eLHgjprjYdLhB2Tk/0ibEk5O17Mez5Nn5AqySAwsz+LwfHquaJZ8gT6uoRmgdMVLiEipBmO7cd+XQpR5A== +"@budibase/backend-core@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" + integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== dependencies: - "@budibase/types" "1.2.58-alpha.3" + "@budibase/types" "1.2.58-alpha.4" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.3.tgz#ae905b19db0284265a6089c4a420f89e8e5e352e" - integrity sha512-jyhv5LdP28nnuKkjoHCAfowo/gYM2Bs9gRHXVpaH2+dfZP0+0jsSHekUoE/gBDpsslCcDoh/XuqriCyvIfG7Dw== +"@budibase/pro@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" + integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== dependencies: - "@budibase/backend-core" "1.2.58-alpha.3" - "@budibase/types" "1.2.58-alpha.3" + "@budibase/backend-core" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.4" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.3.tgz#0a96a949b8b989723abf768e3494fe2040d3b543" - integrity sha512-jRC1zTxLi4ozEIlzRMyo1+L+WkKyU2r8m1W7FRhvUQn4+Alk4ynB6TUaSfWavDOvtg4hWg5TVzJfpVOfVjeg5w== +"@budibase/types@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" + integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index c1b6faea0c..fcb452dd0e 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.4", - "@budibase/pro": "1.2.58-alpha.3", + "@budibase/pro": "1.2.58-alpha.4", "@budibase/string-templates": "1.2.58-alpha.4", "@budibase/types": "1.2.58-alpha.4", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index cde14ca3a2..78004ddb63 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.3.tgz#705986aaf2d97d15fab64ded044d30530773b541" - integrity sha512-yliV7eLHgjprjYdLhB2Tk/0ibEk5O17Mez5Nn5AqySAwsz+LwfHquaJZ8gT6uoRmgdMVLiEipBmO7cd+XQpR5A== +"@budibase/backend-core@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" + integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== dependencies: - "@budibase/types" "1.2.58-alpha.3" + "@budibase/types" "1.2.58-alpha.4" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.3.tgz#ae905b19db0284265a6089c4a420f89e8e5e352e" - integrity sha512-jyhv5LdP28nnuKkjoHCAfowo/gYM2Bs9gRHXVpaH2+dfZP0+0jsSHekUoE/gBDpsslCcDoh/XuqriCyvIfG7Dw== +"@budibase/pro@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" + integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== dependencies: - "@budibase/backend-core" "1.2.58-alpha.3" - "@budibase/types" "1.2.58-alpha.3" + "@budibase/backend-core" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.4" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.3": - version "1.2.58-alpha.3" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.3.tgz#0a96a949b8b989723abf768e3494fe2040d3b543" - integrity sha512-jRC1zTxLi4ozEIlzRMyo1+L+WkKyU2r8m1W7FRhvUQn4+Alk4ynB6TUaSfWavDOvtg4hWg5TVzJfpVOfVjeg5w== +"@budibase/types@1.2.58-alpha.4": + version "1.2.58-alpha.4" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" + integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From e416dc6788371003168d9e06ba81d6dd9746e8e9 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 1 Sep 2022 07:58:05 +0100 Subject: [PATCH 083/105] Apply validation to invite users by email + results modal --- .../users/_components/InvitedModal.svelte | 75 +++++++++++++++++++ .../builder/portal/manage/users/index.svelte | 17 +---- packages/types/src/api/web/user.ts | 12 +++ .../src/api/controllers/global/users.ts | 69 ++++++----------- .../src/api/routes/global/tests/users.spec.ts | 54 ++++++++++++- packages/worker/src/sdk/users/users.ts | 56 +++++++++++++- packages/worker/src/tests/api/users.ts | 22 +++++- 7 files changed, 237 insertions(+), 68 deletions(-) create mode 100644 packages/builder/src/pages/builder/portal/manage/users/_components/InvitedModal.svelte diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/InvitedModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/InvitedModal.svelte new file mode 100644 index 0000000000..9cc66a1385 --- /dev/null +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/InvitedModal.svelte @@ -0,0 +1,75 @@ + + + + {#if hasSuccess} + + Your users should now receive an email invite to get access to their + Budibase account + + {/if} + {#if hasFailure} + + {failureMessage} + +
+ {/if} + + + diff --git a/packages/builder/src/pages/builder/portal/manage/users/index.svelte b/packages/builder/src/pages/builder/portal/manage/users/index.svelte index 1e763240c6..e7d8497b46 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte @@ -7,7 +7,6 @@ Table, Layout, Modal, - ModalContent, Search, notifications, Pagination, @@ -23,6 +22,7 @@ import { goto } from "@roxi/routify" import OnboardingTypeModal from "./_components/OnboardingTypeModal.svelte" import PasswordModal from "./_components/PasswordModal.svelte" + import InvitedModal from "./_components/InvitedModal.svelte" import DeletionFailureModal from "./_components/DeletionFailureModal.svelte" import ImportUsersModal from "./_components/ImportUsersModal.svelte" import { createPaginationStore } from "helpers/pagination" @@ -59,6 +59,7 @@ $: userData = [] $: createUsersResponse = { successful: [], unsuccessful: [] } $: deleteUsersResponse = { successful: [], unsuccessful: [] } + $: inviteUsersResponse = { successful: [], unsuccessful: [] } $: page = $pageInfo.page $: fetchUsers(page, searchEmail) $: { @@ -96,8 +97,7 @@ admin: user.role === Constants.BudibaseRoles.Admin, })) try { - const res = await users.invite(payload) - notifications.success(res.message) + inviteUsersResponse = await users.invite(payload) inviteConfirmationModal.show() } catch (error) { notifications.error("Error inviting user") @@ -281,16 +281,7 @@ - - Your users should now recieve an email invite to get access to their - Budibase account + diff --git a/packages/types/src/api/web/user.ts b/packages/types/src/api/web/user.ts index 0351680f98..b2c17575c2 100644 --- a/packages/types/src/api/web/user.ts +++ b/packages/types/src/api/web/user.ts @@ -29,3 +29,15 @@ export interface BulkDeleteUsersResponse { successful: UserDetails[] unsuccessful: { _id: string; email: string; reason: string }[] } + +export interface InviteUserRequest { + email: string + userInfo: any +} + +export type InviteUsersRequest = InviteUserRequest[] + +export interface InviteUsersResponse { + successful: { email: string }[] + unsuccessful: { email: string; reason: string }[] +} diff --git a/packages/worker/src/api/controllers/global/users.ts b/packages/worker/src/api/controllers/global/users.ts index 97ee34b8f4..d5e8eb8e62 100644 --- a/packages/worker/src/api/controllers/global/users.ts +++ b/packages/worker/src/api/controllers/global/users.ts @@ -1,9 +1,13 @@ -import { EmailTemplatePurpose } from "../../../constants" import { checkInviteCode } from "../../../utilities/redis" -import { sendEmail } from "../../../utilities/email" import { users } from "../../../sdk" import env from "../../../environment" -import { BulkDeleteUsersRequest, CloudAccount, User } from "@budibase/types" +import { + BulkDeleteUsersRequest, + CloudAccount, + InviteUserRequest, + InviteUsersRequest, + User, +} from "@budibase/types" import { accounts, cache, @@ -191,58 +195,27 @@ export const tenantUserLookup = async (ctx: any) => { } export const invite = async (ctx: any) => { - let { email, userInfo } = ctx.request.body - const existing = await usersCore.getGlobalUserByEmail(email) - if (existing) { - ctx.throw(400, "Email address already in use.") + const request = ctx.request.body as InviteUserRequest + const response = await users.invite([request]) + + // explicitly throw for single user invite + if (response.unsuccessful.length) { + const reason = response.unsuccessful[0].reason + if (reason === "Unavailable") { + ctx.throw(400, reason) + } else { + ctx.throw(500, reason) + } } - if (!userInfo) { - userInfo = {} - } - userInfo.tenantId = tenancy.getTenantId() - const opts: any = { - subject: "{{ company }} platform invitation", - info: userInfo, - } - await sendEmail(email, EmailTemplatePurpose.INVITATION, opts) + ctx.body = { message: "Invitation has been sent.", } - await events.user.invited() } export const inviteMultiple = async (ctx: any) => { - let users = ctx.request.body - let existing = false - let existingEmail - for (let user of users) { - if (await usersCore.getGlobalUserByEmail(user.email)) { - existing = true - existingEmail = user.email - break - } - } - - if (existing) { - ctx.throw(400, `${existingEmail} already exists`) - } - - for (let i = 0; i < users.length; i++) { - let userInfo = users[i].userInfo - if (!userInfo) { - userInfo = {} - } - userInfo.tenantId = tenancy.getTenantId() - const opts: any = { - subject: "{{ company }} platform invitation", - info: userInfo, - } - await sendEmail(users[i].email, EmailTemplatePurpose.INVITATION, opts) - } - - ctx.body = { - message: "Invitations have been sent.", - } + const request = ctx.request.body as InviteUsersRequest + ctx.body = await users.invite(request) } export const inviteAccept = async (ctx: any) => { diff --git a/packages/worker/src/api/routes/global/tests/users.spec.ts b/packages/worker/src/api/routes/global/tests/users.spec.ts index 8c2808eeee..a4e5591844 100644 --- a/packages/worker/src/api/routes/global/tests/users.spec.ts +++ b/packages/worker/src/api/routes/global/tests/users.spec.ts @@ -1,3 +1,5 @@ +import { InviteUsersResponse } from "@budibase/types" + jest.mock("nodemailer") import { TestConfiguration, @@ -27,7 +29,8 @@ describe("/api/global/users", () => { describe("invite", () => { it("should be able to generate an invitation", async () => { - const { code, res } = await api.users.sendUserInvite(sendMailMock) + const email = structures.users.newEmail() + const { code, res } = await api.users.sendUserInvite(sendMailMock, email) expect(res.body).toEqual({ message: "Invitation has been sent." }) expect(sendMailMock).toHaveBeenCalled() @@ -35,13 +38,27 @@ describe("/api/global/users", () => { expect(events.user.invited).toBeCalledTimes(1) }) + it("should be able to generate an invitation for existing user", async () => { + const { code, res } = await api.users.sendUserInvite( + sendMailMock, + config.defaultUser!.email, + 400 + ) + + expect(res.body.message).toBe("Unavailable") + expect(sendMailMock).toHaveBeenCalledTimes(0) + expect(code).toBeUndefined() + expect(events.user.invited).toBeCalledTimes(0) + }) + it("should be able to create new user from invite", async () => { - const { code } = await api.users.sendUserInvite(sendMailMock) + const email = structures.users.newEmail() + const { code } = await api.users.sendUserInvite(sendMailMock, email) const res = await api.users.acceptInvite(code) expect(res.body._id).toBeDefined() - const user = await config.getUser("invite@test.com") + const user = await config.getUser(email) expect(user).toBeDefined() expect(user._id).toEqual(res.body._id) expect(events.user.inviteAccepted).toBeCalledTimes(1) @@ -49,6 +66,37 @@ describe("/api/global/users", () => { }) }) + describe("inviteMultiple", () => { + it("should be able to generate an invitation", async () => { + const newUserInvite = () => ({ + email: structures.users.newEmail(), + userInfo: {}, + }) + const request = [newUserInvite(), newUserInvite()] + + const res = await api.users.sendMultiUserInvite(request) + + const body = res.body as InviteUsersResponse + expect(body.successful.length).toBe(2) + expect(body.unsuccessful.length).toBe(0) + expect(sendMailMock).toHaveBeenCalledTimes(2) + expect(events.user.invited).toBeCalledTimes(2) + }) + + it("should not be able to generate an invitation for existing user", async () => { + const request = [{ email: config.defaultUser!.email, userInfo: {} }] + + const res = await api.users.sendMultiUserInvite(request) + + const body = res.body as InviteUsersResponse + expect(body.successful.length).toBe(0) + expect(body.unsuccessful.length).toBe(1) + expect(body.unsuccessful[0].reason).toBe("Unavailable") + expect(sendMailMock).toHaveBeenCalledTimes(0) + expect(events.user.invited).toBeCalledTimes(0) + }) + }) + describe("bulkCreate", () => { it("should ignore users existing in the same tenant", async () => { const user = await config.createUser() diff --git a/packages/worker/src/sdk/users/users.ts b/packages/worker/src/sdk/users/users.ts index 3e084ded55..0ea16bf670 100644 --- a/packages/worker/src/sdk/users/users.ts +++ b/packages/worker/src/sdk/users/users.ts @@ -16,12 +16,12 @@ import { migrations, StaticDatabases, ViewName, + events, } from "@budibase/backend-core" import { MigrationType, PlatformUserByEmail, User, - Account, BulkCreateUsersResponse, CreateUserResponse, BulkDeleteUsersResponse, @@ -30,8 +30,12 @@ import { RowResponse, BulkDocsResponse, AccountMetadata, + InviteUsersRequest, + InviteUsersResponse, } from "@budibase/types" import { groups as groupUtils } from "@budibase/pro" +import { sendEmail } from "../../utilities/email" +import { EmailTemplatePurpose } from "../../constants" const PAGE_LIMIT = 8 @@ -551,3 +555,53 @@ const bulkDeleteProcessing = async (dbUser: User) => { // let server know to sync user await apps.syncUserInApps(userId) } + +export const invite = async ( + users: InviteUsersRequest +): Promise => { + const response: InviteUsersResponse = { + successful: [], + unsuccessful: [], + } + + const matchedEmails = await searchExistingEmails(users.map(u => u.email)) + const newUsers = [] + + // separate duplicates from new users + for (let user of users) { + if (matchedEmails.includes(user.email)) { + response.unsuccessful.push({ email: user.email, reason: "Unavailable" }) + } else { + newUsers.push(user) + } + } + // overwrite users with new only + users = newUsers + + // send the emails for new users + const tenantId = tenancy.getTenantId() + for (let user of users) { + try { + let userInfo = user.userInfo + if (!userInfo) { + userInfo = {} + } + userInfo.tenantId = tenantId + const opts: any = { + subject: "{{ company }} platform invitation", + info: userInfo, + } + await sendEmail(user.email, EmailTemplatePurpose.INVITATION, opts) + response.successful.push({ email: user.email }) + await events.user.invited() + } catch (e) { + console.error(`Failed to send email invitation email=${user.email}`, e) + response.unsuccessful.push({ + email: user.email, + reason: "Failed to send email", + }) + } + } + + return response +} diff --git a/packages/worker/src/tests/api/users.ts b/packages/worker/src/tests/api/users.ts index 6f29b39da3..c5f338016e 100644 --- a/packages/worker/src/tests/api/users.ts +++ b/packages/worker/src/tests/api/users.ts @@ -3,6 +3,7 @@ import { BulkCreateUsersResponse, BulkDeleteUsersRequest, CreateUserResponse, + InviteUsersRequest, User, UserDetails, } from "@budibase/types" @@ -19,17 +20,21 @@ export class UserAPI { // INVITE - sendUserInvite = async (sendMailMock: any) => { + sendUserInvite = async (sendMailMock: any, email: string, status = 200) => { await this.config.saveSmtpConfig() await this.config.saveSettingsConfig() const res = await this.request .post(`/api/global/users/invite`) .send({ - email: "invite@test.com", + email, }) .set(this.config.defaultHeaders()) .expect("Content-Type", /json/) - .expect(200) + .expect(status) + + if (status !== 200) { + return { code: undefined, res } + } const emailCall = sendMailMock.mock.calls[0][0] // after this URL there should be a code @@ -51,6 +56,17 @@ export class UserAPI { .expect(200) } + sendMultiUserInvite = async (request: InviteUsersRequest, status = 200) => { + await this.config.saveSmtpConfig() + await this.config.saveSettingsConfig() + return this.request + .post(`/api/global/users/multi/invite`) + .send(request) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(status) + } + // BULK bulkCreateUsers = async (users: User[], groups: any[] = []) => { From 53a43ae87d18a6c5d84a47c027e794e0e4e834e1 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 1 Sep 2022 08:29:03 +0100 Subject: [PATCH 084/105] Typos --- .../src/pages/builder/portal/manage/users/index.svelte | 6 +++--- packages/worker/src/api/routes/global/tests/users.spec.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/index.svelte b/packages/builder/src/pages/builder/portal/manage/users/index.svelte index e7d8497b46..ea61e3fcf3 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte @@ -144,10 +144,10 @@ userData = await removingDuplicities({ groups, users }) if (!userData.users.length) return - return createUser() + return createUsers() } - async function createUser() { + async function createUsers() { try { createUsersResponse = await users.create( await removingDuplicities(userData) @@ -164,7 +164,7 @@ if (onboardingType === "emailOnboarding") { createUserFlow() } else { - await createUser() + await createUsers() } } diff --git a/packages/worker/src/api/routes/global/tests/users.spec.ts b/packages/worker/src/api/routes/global/tests/users.spec.ts index a4e5591844..7762c2e7e2 100644 --- a/packages/worker/src/api/routes/global/tests/users.spec.ts +++ b/packages/worker/src/api/routes/global/tests/users.spec.ts @@ -38,7 +38,7 @@ describe("/api/global/users", () => { expect(events.user.invited).toBeCalledTimes(1) }) - it("should be able to generate an invitation for existing user", async () => { + it("should not be able to generate an invitation for existing user", async () => { const { code, res } = await api.users.sendUserInvite( sendMailMock, config.defaultUser!.email, From 9bfa3da73ff5ccf96f0a070d29f4b604bd48c5d9 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 1 Sep 2022 08:40:19 +0100 Subject: [PATCH 085/105] Add trimming to AddUserModal --- .../portal/manage/users/_components/AddUserModal.svelte | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte index ced45db687..0c02eec4e9 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte @@ -44,7 +44,11 @@ ] } - function validateInput(email, index) { + function validateInput(input, index) { + if (input.email) { + input.email = input.email.trim() + } + const email = input.email if (email) { const res = emailValidator(email) if (res === true) { @@ -95,7 +99,7 @@ bind:dropdownValue={input.role} options={Constants.BudibaseRoleOptions} error={input.error} - on:blur={() => validateInput(input.email, index)} + on:blur={() => validateInput(input, index)} />
From 6de0352299284a56f8d1bdd351cd2447a5b4c286 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 08:30:35 +0000 Subject: [PATCH 086/105] v1.2.58-alpha.5 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 1488c8a8d0..d726cbab9c 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index fd12de23f1..e02ecc2c0c 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.4", + "@budibase/types": "1.2.58-alpha.5", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index e8636699c2..a35698c779 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": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 3f327d4703..2ac398ecca 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.4", - "@budibase/client": "1.2.58-alpha.4", - "@budibase/frontend-core": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", + "@budibase/client": "1.2.58-alpha.5", + "@budibase/frontend-core": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.5", "@sentry/browser": "5.19.1", "@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 81adbe2a92..6d5a1e8794 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index b66d0b3dac..4b4760099d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.4", + "version": "1.2.58-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": "1.2.58-alpha.4", - "@budibase/frontend-core": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", + "@budibase/frontend-core": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.5", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 1ccc947edf..20b22ffe40 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 72c6641a51..4b279b4022 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.4", - "@budibase/client": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", + "@budibase/client": "1.2.58-alpha.5", "@budibase/pro": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", - "@budibase/types": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/types": "1.2.58-alpha.5", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index a893918e99..7cd3887fc8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 7452b30a14..6ca06392d3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index fcb452dd0e..22397acf77 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", "@budibase/pro": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", - "@budibase/types": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/types": "1.2.58-alpha.5", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 65f2426cd46562e08a32fb64451ae644a301a724 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 08:33:35 +0000 Subject: [PATCH 087/105] Update pro version to 1.2.58-alpha.5 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 4b279b4022..c440376177 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.5", "@budibase/client": "1.2.58-alpha.5", - "@budibase/pro": "1.2.58-alpha.4", + "@budibase/pro": "1.2.58-alpha.5", "@budibase/string-templates": "1.2.58-alpha.5", "@budibase/types": "1.2.58-alpha.5", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index d98f3c4cff..19c3977f67 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" - integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== +"@budibase/backend-core@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" + integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== dependencies: - "@budibase/types" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.5" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" - integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== +"@budibase/pro@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" + integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== dependencies: - "@budibase/backend-core" "1.2.58-alpha.4" - "@budibase/types" "1.2.58-alpha.4" + "@budibase/backend-core" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.5" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" - integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== +"@budibase/types@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" + integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 22397acf77..4601c1cd43 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.5", - "@budibase/pro": "1.2.58-alpha.4", + "@budibase/pro": "1.2.58-alpha.5", "@budibase/string-templates": "1.2.58-alpha.5", "@budibase/types": "1.2.58-alpha.5", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 78004ddb63..580f586a63 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" - integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== +"@budibase/backend-core@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" + integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== dependencies: - "@budibase/types" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.5" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" - integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== +"@budibase/pro@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" + integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== dependencies: - "@budibase/backend-core" "1.2.58-alpha.4" - "@budibase/types" "1.2.58-alpha.4" + "@budibase/backend-core" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.5" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" - integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== +"@budibase/types@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" + integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 8550b7a34db94e858f021ffcbbb07aaf3fd190b8 Mon Sep 17 00:00:00 2001 From: R2bEEaton Date: Thu, 1 Sep 2022 06:15:34 -0400 Subject: [PATCH 088/105] Automation list sort alphabetically by name #7565 This commit addresses issue #7565 (mine). Automations are currently sorted by internal ID and not by name, which makes it slightly harder to find an automation from a user's point of view. --- .../components/automation/AutomationPanel/AutomationList.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte index 53b0603ebb..68361a8d25 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte @@ -23,7 +23,7 @@
- {#each $automationStore.automations as automation, idx} + {#each _.orderBy($automationStore.automations, ['name'], ['asc']) as automation, idx} 0} icon="ShareAndroid" From 1c83caafc05067b878038288b823be43a0bdf17a Mon Sep 17 00:00:00 2001 From: R2bEEaton Date: Thu, 1 Sep 2022 06:29:38 -0400 Subject: [PATCH 089/105] import _ from 'lodash" Missed the import for the `_` from Lodash. --- .../components/automation/AutomationPanel/AutomationList.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte index 68361a8d25..4f4d6e488d 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte @@ -5,6 +5,7 @@ import NavItem from "components/common/NavItem.svelte" import EditAutomationPopover from "./EditAutomationPopover.svelte" import { notifications } from "@budibase/bbui" + import _ from 'lodash' $: selectedAutomationId = $automationStore.selectedAutomation?.automation?._id From c0c6f34e4a27054dab5438fa9bd0d7503ecbbfdc Mon Sep 17 00:00:00 2001 From: R2bEEaton Date: Thu, 1 Sep 2022 06:36:39 -0400 Subject: [PATCH 090/105] possible fix for yarn lint --- .../automation/AutomationPanel/AutomationList.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte index 4f4d6e488d..688d5be769 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte @@ -5,7 +5,7 @@ import NavItem from "components/common/NavItem.svelte" import EditAutomationPopover from "./EditAutomationPopover.svelte" import { notifications } from "@budibase/bbui" - import _ from 'lodash' + import _ from "lodash" $: selectedAutomationId = $automationStore.selectedAutomation?.automation?._id @@ -24,7 +24,7 @@
- {#each _.orderBy($automationStore.automations, ['name'], ['asc']) as automation, idx} + {#each _.orderBy($automationStore.automations, ["name"], ["asc"]) as automation, idx} 0} icon="ShareAndroid" From f53f23d6ae51c1a054ad20779b82c0a4d85a1f03 Mon Sep 17 00:00:00 2001 From: R2bEEaton Date: Thu, 1 Sep 2022 07:15:25 -0400 Subject: [PATCH 091/105] resolving requested change --- .../automation/AutomationPanel/AutomationList.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte index 688d5be769..c7bd43661b 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationList.svelte @@ -5,7 +5,6 @@ import NavItem from "components/common/NavItem.svelte" import EditAutomationPopover from "./EditAutomationPopover.svelte" import { notifications } from "@budibase/bbui" - import _ from "lodash" $: selectedAutomationId = $automationStore.selectedAutomation?.automation?._id @@ -24,7 +23,7 @@
- {#each _.orderBy($automationStore.automations, ["name"], ["asc"]) as automation, idx} + {#each $automationStore.automations.sort(aut => aut.name) as automation, idx} 0} icon="ShareAndroid" From 8c5ab5921898315af431100c9cc149a2d8653f24 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 30 Aug 2022 12:57:29 +0100 Subject: [PATCH 092/105] Add confirmation for ejecting blocks and component target when using context menu --- .../navigation/ComponentDropdownMenu.svelte | 15 +- .../navigation/ComponentListPanel.svelte | 157 +++++++++++------- 2 files changed, 108 insertions(+), 64 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte index 5add1fedac..c19cba1aac 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte @@ -7,14 +7,15 @@ $: noPaste = !$store.componentToPaste const keyboardEvent = (key, ctrlKey = false) => { - // Ensure this component is selected first - if (component._id !== $store.selectedComponentId) { - store.update(state => { - state.selectedComponentId = component._id - return state + document.dispatchEvent( + new CustomEvent("component-menu", { + detail: { + key, + ctrlKey, + id: component?._id, + }, }) - } - document.dispatchEvent(new KeyboardEvent("keydown", { key, ctrlKey })) + ) } diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte index 0c292d1db4..86b71b9785 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte @@ -7,14 +7,66 @@ import NavItem from "components/common/NavItem.svelte" import ScreenslotDropdownMenu from "./ScreenslotDropdownMenu.svelte" import { setContext, onMount } from "svelte" - import { get } from "svelte/store" import DNDPositionIndicator from "./DNDPositionIndicator.svelte" import { DropPosition } from "./dndStore" import ConfirmDialog from "components/common/ConfirmDialog.svelte" import { notifications, Button } from "@budibase/bbui" + import { findComponent } from "builderStore/componentUtils" let scrollRef let confirmDeleteDialog + let confirmEjectDialog + let componentToDelete + let componentToEject + + const keyHandlers = { + ["^ArrowUp"]: async component => { + await store.actions.components.moveUp(component) + }, + ["^ArrowDown"]: async component => { + await store.actions.components.moveDown(component) + }, + ["^c"]: component => { + store.actions.components.copy(component, false) + }, + ["^x"]: component => { + store.actions.components.copy(component, true) + }, + ["^v"]: async component => { + await store.actions.components.paste(component, "inside") + }, + ["^d"]: async component => { + store.actions.components.copy(component) + await store.actions.components.paste(component, "below") + }, + ["^e"]: component => { + componentToEject = component + confirmEjectDialog.show() + }, + ["^Enter"]: () => { + $goto("./new") + }, + ["Delete"]: component => { + // Don't show confirmation for the screen itself + if (component?._id === $selectedScreen.props._id) { + return false + } + componentToDelete = component + confirmDeleteDialog.show() + }, + ["ArrowUp"]: () => { + store.actions.components.selectPrevious() + }, + ["ArrowDown"]: () => { + store.actions.components.selectNext() + }, + ["Escape"]: () => { + if (!$isActive("/new")) { + return false + } + $goto("./") + }, + } const scrollTo = bounds => { if (!bounds) { @@ -59,6 +111,11 @@ }) } + // Set scroll context so components can invoke scrolling when selected + setContext("scroll", { + scrollTo, + }) + const onDrop = async () => { try { await dndStore.actions.drop() @@ -68,13 +125,28 @@ } } - // Set scroll context so components can invoke scrolling when selected - setContext("scroll", { - scrollTo, - }) - - const deleteComponent = async () => { - await store.actions.components.delete(get(selectedComponent)) + const handleKeyAction = async (component, key, ctrlKey = false) => { + if (!component || !key) { + return false + } + try { + // Delete and backspace are the same + if (key === "Backspace") { + key = "Delete" + } + // Prefix key with a caret for ctrl modifier + if (ctrlKey) { + key = "^" + key + } + const handler = keyHandlers[key] + if (!handler) { + return false + } + return handler(component) + } catch (error) { + console.log(error) + notifications.error("Error handling key press") + } } const handleKeyPress = async e => { @@ -87,59 +159,23 @@ if (["input", "textarea"].indexOf(activeTag) !== -1 && e.key !== "Escape") { return } - const component = get(selectedComponent) - try { - if (e.ctrlKey || e.metaKey) { - if (e.key === "ArrowUp") { - e.preventDefault() - await store.actions.components.moveUp(component) - } else if (e.key === "ArrowDown") { - e.preventDefault() - await store.actions.components.moveDown(component) - } else if (e.key === "c") { - e.preventDefault() - await store.actions.components.copy(component, false) - } else if (e.key === "x") { - e.preventDefault() - store.actions.components.copy(component, true) - } else if (e.key === "v") { - e.preventDefault() - await store.actions.components.paste(component, "inside") - } else if (e.key === "d") { - e.preventDefault() - await store.actions.components.copy(component) - await store.actions.components.paste(component, "below") - } else if (e.key === "Enter") { - e.preventDefault() - $goto("./new") - } - } else if (e.key === "Backspace" || e.key === "Delete") { - // Don't show confirmation for the screen itself - if (component._id === get(selectedScreen).props._id) { - return - } - e.preventDefault() - confirmDeleteDialog.show() - } else if (e.key === "ArrowUp") { - e.preventDefault() - await store.actions.components.selectPrevious() - } else if (e.key === "ArrowDown") { - e.preventDefault() - await store.actions.components.selectNext() - } else if (e.key === "Escape" && $isActive("./new")) { - e.preventDefault() - $goto("./") - } - } catch (error) { - console.log(error) - notifications.error("Error handling key press") - } + // Key events are always for the selected component + return handleKeyAction($selectedComponent, e.key, e.ctrlKey || e.metaKey) + } + + const handleComponentMenu = async e => { + // Menu events can be for any component + const { id, key, ctrlKey } = e.detail + const component = findComponent($selectedScreen.props, id) + return await handleKeyAction(component, key, ctrlKey) } onMount(() => { document.addEventListener("keydown", handleKeyPress) + document.addEventListener("component-menu", handleComponentMenu) return () => { document.removeEventListener("keydown", handleKeyPress) + document.removeEventListener("component-menu", handleComponentMenu) } }) @@ -192,9 +228,16 @@ store.actions.components.delete(componentToDelete)} +/> + store.actions.components.requestEjectBlock(componentToEject?._id)} + okText="Eject block" /> diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte index b4c8e7abad..399ceab4a9 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte @@ -124,17 +124,5 @@ {#if idx === 0 && componentDefinition?.component?.endsWith("/fieldgroup")} {/if} - {#if section?.info} -
- {@html section.info} -
- {/if} {/each} - - From 60289734dd87b3a80b02a4e0b8983dda4f459809 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 30 Aug 2022 13:32:52 +0100 Subject: [PATCH 094/105] Allow dropping on empty space below tree --- .../navigation/ComponentScrollWrapper.svelte | 18 +++++++++++++++++- .../navigation/ComponentTree.svelte | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentScrollWrapper.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentScrollWrapper.svelte index 65352a5dda..15ba7acecf 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentScrollWrapper.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentScrollWrapper.svelte @@ -1,5 +1,7 @@ -
+
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentTree.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentTree.svelte index 6704027f35..31d6eb132b 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentTree.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentTree.svelte @@ -68,7 +68,8 @@ closedNodes = closedNodes } - const onDrop = async () => { + const onDrop = async e => { + e.stopPropagation() try { await dndStore.actions.drop() } catch (error) { From aed4331ce8850541e35857c33106bb005e1af6e2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 1 Sep 2022 13:14:25 +0100 Subject: [PATCH 095/105] Revert some cherry pick changes --- .../settings/ComponentSettingsSection.svelte | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte index 399ceab4a9..b4c8e7abad 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ComponentSettingsSection.svelte @@ -124,5 +124,17 @@ {#if idx === 0 && componentDefinition?.component?.endsWith("/fieldgroup")} {/if} + {#if section?.info} +
+ {@html section.info} +
+ {/if} {/each} + + From 2922b47620173f41097d36b9dc5b1c0f8f7b063a Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 1 Sep 2022 12:49:54 +0000 Subject: [PATCH 096/105] v1.2.58 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index bb19f48bb0..1e077dc047 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.57", + "version": "1.2.58", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index d0fdb55cb8..eae0c653f3 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.57", + "version": "1.2.58", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.57", + "@budibase/types": "^1.2.58", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 5a3a1b4b97..9cff16fc3a 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": "1.2.57", + "version": "1.2.58", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.57", + "@budibase/string-templates": "^1.2.58", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 479956a84b..a13f981c5e 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.57", + "version": "1.2.58", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.57", - "@budibase/client": "^1.2.57", - "@budibase/frontend-core": "^1.2.57", - "@budibase/string-templates": "^1.2.57", + "@budibase/bbui": "^1.2.58", + "@budibase/client": "^1.2.58", + "@budibase/frontend-core": "^1.2.58", + "@budibase/string-templates": "^1.2.58", "@sentry/browser": "5.19.1", "@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 787b9dd6e0..a19459ce2d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.57", + "version": "1.2.58", "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 fdeac37bd9..b40071bea7 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.57", + "version": "1.2.58", "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": "^1.2.57", - "@budibase/frontend-core": "^1.2.57", - "@budibase/string-templates": "^1.2.57", + "@budibase/bbui": "^1.2.58", + "@budibase/frontend-core": "^1.2.58", + "@budibase/string-templates": "^1.2.58", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 0221be197e..bfbe609baa 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.57", + "version": "1.2.58", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.57", + "@budibase/bbui": "^1.2.58", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index b996fe8787..437ea4f7ba 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.57", + "version": "1.2.58", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.57", - "@budibase/client": "^1.2.57", + "@budibase/backend-core": "^1.2.58", + "@budibase/client": "^1.2.58", "@budibase/pro": "1.2.57", - "@budibase/string-templates": "^1.2.57", - "@budibase/types": "^1.2.57", + "@budibase/string-templates": "^1.2.58", + "@budibase/types": "^1.2.58", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9ec0fa65eb..4d4a68f1be 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.57", + "version": "1.2.58", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index a1c98eb0e7..6974c82e47 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.57", + "version": "1.2.58", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index c54d9185de..84dc550935 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.57", + "version": "1.2.58", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.57", + "@budibase/backend-core": "^1.2.58", "@budibase/pro": "1.2.57", - "@budibase/string-templates": "^1.2.57", - "@budibase/types": "^1.2.57", + "@budibase/string-templates": "^1.2.58", + "@budibase/types": "^1.2.58", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 55e705227306d5e79af2458b355a9eec7cc6a7ef Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 1 Sep 2022 12:53:41 +0000 Subject: [PATCH 097/105] Update pro version to 1.2.58 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 437ea4f7ba..a74fb9e26f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "^1.2.58", "@budibase/client": "^1.2.58", - "@budibase/pro": "1.2.57", + "@budibase/pro": "1.2.58", "@budibase/string-templates": "^1.2.58", "@budibase/types": "^1.2.58", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 5f053ddd46..b09a2116f7 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" - integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== +"@budibase/backend-core@1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58.tgz#00afc311adbfcb8cc2563f77ba7dd1c228d1591f" + integrity sha512-kQvs9S7t+p9K/VwEmXkwVqEgz0fqsd0u7794YUhbE69fSso+PiTZlr0tM9mpprLPqJlVm57/4rt8rzoSldRy0g== dependencies: - "@budibase/types" "^1.2.57" + "@budibase/types" "^1.2.58" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1177,13 +1177,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" - integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== +"@budibase/pro@1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58.tgz#da93611966e95d2a2427bbff3dfe14301b366123" + integrity sha512-DAoSjxtSRpgmPS8arFf7tTXyFud5oQH2HwgttS96tDm9/JnZWwKs2vfnj3XX/w8T0SaINvc1abRzjFrryIrTfw== dependencies: - "@budibase/backend-core" "1.2.57" - "@budibase/types" "1.2.57" + "@budibase/backend-core" "1.2.58" + "@budibase/types" "1.2.58" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1206,10 +1206,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.57", "@budibase/types@^1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" - integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== +"@budibase/types@1.2.58", "@budibase/types@^1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58.tgz#2f29047f4c11318367516ef63d3c447e4ef28be0" + integrity sha512-Em3IrTjK/DO7+CHt17g3XXDQ45KF4+E9b37xdwHIQiXrNKFaDTJXAF9KWFCZD4d6pYgI/+WZCCew/DNOgOUPhA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 84dc550935..22a08af25f 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.2.58", - "@budibase/pro": "1.2.57", + "@budibase/pro": "1.2.58", "@budibase/string-templates": "^1.2.58", "@budibase/types": "^1.2.58", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index cb6519f4d2..0d7c99f049 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.57.tgz#eec40e82753d8339ab7f00dc50fd45a65f54fbce" - integrity sha512-vUswrbFGO0BXU5CuK2JmEFdD+sNIjsr4KdNN9ne1u8PTf8WwvEphUm/K6nd+W+KckrzrExqPWIAfM0wI1znsTA== +"@budibase/backend-core@1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58.tgz#00afc311adbfcb8cc2563f77ba7dd1c228d1591f" + integrity sha512-kQvs9S7t+p9K/VwEmXkwVqEgz0fqsd0u7794YUhbE69fSso+PiTZlr0tM9mpprLPqJlVm57/4rt8rzoSldRy0g== dependencies: - "@budibase/types" "^1.2.57" + "@budibase/types" "^1.2.58" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -324,21 +324,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.57.tgz#89733b31d72731a92341428c86401b07bd9d2050" - integrity sha512-FPUvjjTzM7CV7oOAo6Cf8nSx6GkUmmDTOR0KE9rBH08i5lyZwG+Xw+jt7xHge47ECDwAu2oCjt+6xDpm/6t7jw== +"@budibase/pro@1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58.tgz#da93611966e95d2a2427bbff3dfe14301b366123" + integrity sha512-DAoSjxtSRpgmPS8arFf7tTXyFud5oQH2HwgttS96tDm9/JnZWwKs2vfnj3XX/w8T0SaINvc1abRzjFrryIrTfw== dependencies: - "@budibase/backend-core" "1.2.57" - "@budibase/types" "1.2.57" + "@budibase/backend-core" "1.2.58" + "@budibase/types" "1.2.58" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.57", "@budibase/types@^1.2.57": - version "1.2.57" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.57.tgz#416e92f99bc8cde206e311b832b6c924299b57a5" - integrity sha512-tD8qcFnCt46R4k07OokrVJiWcceZtVA9pPNPmrH96S+hGwxXbYGLyaTJpG4nJmiALFG7JzxnesW19UPZeVbalA== +"@budibase/types@1.2.58", "@budibase/types@^1.2.58": + version "1.2.58" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58.tgz#2f29047f4c11318367516ef63d3c447e4ef28be0" + integrity sha512-Em3IrTjK/DO7+CHt17g3XXDQ45KF4+E9b37xdwHIQiXrNKFaDTJXAF9KWFCZD4d6pYgI/+WZCCew/DNOgOUPhA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 7a7f6c4dbeed4972d302061c870315a9708a5f8f Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 1 Sep 2022 13:59:55 +0100 Subject: [PATCH 098/105] Remove lingering mentions of block ejection --- .../navigation/ComponentKeyHandler.svelte | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentKeyHandler.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentKeyHandler.svelte index 004db799d0..467d9a5a2f 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentKeyHandler.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentKeyHandler.svelte @@ -7,9 +7,7 @@ import ConfirmDialog from "components/common/ConfirmDialog.svelte" let confirmDeleteDialog - let confirmEjectDialog let componentToDelete - let componentToEject const keyHandlers = { ["^ArrowUp"]: async component => { @@ -31,10 +29,6 @@ store.actions.components.copy(component) await store.actions.components.paste(component, "below") }, - ["^e"]: component => { - componentToEject = component - confirmEjectDialog.show() - }, ["^Enter"]: () => { $goto("./new") }, @@ -122,10 +116,3 @@ okText="Delete Component" onOk={() => store.actions.components.delete(componentToDelete)} /> - store.actions.components.requestEjectBlock(componentToEject?._id)} - okText="Eject block" -/> From 6225d7d6a9d66f5675411db8292acadb3d78446f Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 13:02:02 +0000 Subject: [PATCH 099/105] v1.2.58-alpha.6 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index d726cbab9c..2498e120c0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index e02ecc2c0c..7609d7abab 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.5", + "@budibase/types": "1.2.58-alpha.6", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index a35698c779..4045df839c 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": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.6", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 2ac398ecca..1bc721bf58 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.5", - "@budibase/client": "1.2.58-alpha.5", - "@budibase/frontend-core": "1.2.58-alpha.5", - "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/bbui": "1.2.58-alpha.6", + "@budibase/client": "1.2.58-alpha.6", + "@budibase/frontend-core": "1.2.58-alpha.6", + "@budibase/string-templates": "1.2.58-alpha.6", "@sentry/browser": "5.19.1", "@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 6d5a1e8794..6f077cb0e5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.5", + "@budibase/backend-core": "1.2.58-alpha.6", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index 4b4760099d..c40cc75a27 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.5", + "version": "1.2.58-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": "1.2.58-alpha.5", - "@budibase/frontend-core": "1.2.58-alpha.5", - "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/bbui": "1.2.58-alpha.6", + "@budibase/frontend-core": "1.2.58-alpha.6", + "@budibase/string-templates": "1.2.58-alpha.6", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 20b22ffe40..c16c488b51 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.5", + "@budibase/bbui": "1.2.58-alpha.6", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index c440376177..2f27499fe6 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.5", - "@budibase/client": "1.2.58-alpha.5", + "@budibase/backend-core": "1.2.58-alpha.6", + "@budibase/client": "1.2.58-alpha.6", "@budibase/pro": "1.2.58-alpha.5", - "@budibase/string-templates": "1.2.58-alpha.5", - "@budibase/types": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.6", + "@budibase/types": "1.2.58-alpha.6", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 7cd3887fc8..88589b72a0 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 6ca06392d3..dce4173a21 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 4601c1cd43..766ef529e6 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.5", + "version": "1.2.58-alpha.6", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.5", + "@budibase/backend-core": "1.2.58-alpha.6", "@budibase/pro": "1.2.58-alpha.5", - "@budibase/string-templates": "1.2.58-alpha.5", - "@budibase/types": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.6", + "@budibase/types": "1.2.58-alpha.6", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 6d5f277908dc67aa4c01341ce956fe70ea6b7fb6 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 13:06:11 +0000 Subject: [PATCH 100/105] Update pro version to 1.2.58-alpha.6 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 2f27499fe6..1b7dc9acc3 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.6", "@budibase/client": "1.2.58-alpha.6", - "@budibase/pro": "1.2.58-alpha.5", + "@budibase/pro": "1.2.58-alpha.6", "@budibase/string-templates": "1.2.58-alpha.6", "@budibase/types": "1.2.58-alpha.6", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 19c3977f67..b49da40e89 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" - integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== +"@budibase/backend-core@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.6.tgz#5c8d56af57247ce240d4dc1ba5ca8d5dc172903b" + integrity sha512-QMtLjvF4aKOSzlr4G3/ZREhSgD3dzm4v7l9KnYTmoeV0KkoxW1ytf1Q7fP2QWiMwWr4mhG3OJiY2x/0vsVaGiw== dependencies: - "@budibase/types" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.6" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" - integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== +"@budibase/pro@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.6.tgz#00d5c9d90109718019bc5891d3a57e6e184e137f" + integrity sha512-EzjUVXKOP5QbtIC1+e0w5eE75Meq8ZmtzYAQ9uU7vSy3EvErxCG5+eEr0UwzHHxQNhWxqkrNQnuae7QfNy1Ytg== dependencies: - "@budibase/backend-core" "1.2.58-alpha.5" - "@budibase/types" "1.2.58-alpha.5" + "@budibase/backend-core" "1.2.58-alpha.6" + "@budibase/types" "1.2.58-alpha.6" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" - integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== +"@budibase/types@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.6.tgz#7465783174993749852f6c6be0afa67f709571f3" + integrity sha512-+z7WZw/gunmGIQeyPnLWApiqUTqeq+Wq8m/1Utz58ImHkoM0iumKrHtevSNRxAl0YHy5s11aetI24XuoxGHaTQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 766ef529e6..35f1030049 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.6", - "@budibase/pro": "1.2.58-alpha.5", + "@budibase/pro": "1.2.58-alpha.6", "@budibase/string-templates": "1.2.58-alpha.6", "@budibase/types": "1.2.58-alpha.6", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 580f586a63..a8730bed22 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" - integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== +"@budibase/backend-core@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.6.tgz#5c8d56af57247ce240d4dc1ba5ca8d5dc172903b" + integrity sha512-QMtLjvF4aKOSzlr4G3/ZREhSgD3dzm4v7l9KnYTmoeV0KkoxW1ytf1Q7fP2QWiMwWr4mhG3OJiY2x/0vsVaGiw== dependencies: - "@budibase/types" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.6" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" - integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== +"@budibase/pro@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.6.tgz#00d5c9d90109718019bc5891d3a57e6e184e137f" + integrity sha512-EzjUVXKOP5QbtIC1+e0w5eE75Meq8ZmtzYAQ9uU7vSy3EvErxCG5+eEr0UwzHHxQNhWxqkrNQnuae7QfNy1Ytg== dependencies: - "@budibase/backend-core" "1.2.58-alpha.5" - "@budibase/types" "1.2.58-alpha.5" + "@budibase/backend-core" "1.2.58-alpha.6" + "@budibase/types" "1.2.58-alpha.6" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.5": - version "1.2.58-alpha.5" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" - integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== +"@budibase/types@1.2.58-alpha.6": + version "1.2.58-alpha.6" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.6.tgz#7465783174993749852f6c6be0afa67f709571f3" + integrity sha512-+z7WZw/gunmGIQeyPnLWApiqUTqeq+Wq8m/1Utz58ImHkoM0iumKrHtevSNRxAl0YHy5s11aetI24XuoxGHaTQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From be967fbf9eea4d1d0c58a624251b00452ad65482 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 14:31:49 +0000 Subject: [PATCH 101/105] v1.2.58-alpha.7 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 2498e120c0..dd5f7a9db3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 7609d7abab..4eae026f90 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.6", + "@budibase/types": "1.2.58-alpha.7", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 4045df839c..7157f0e22e 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": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "1.2.58-alpha.6", + "@budibase/string-templates": "1.2.58-alpha.7", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 1bc721bf58..1ff505a25a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.6", - "@budibase/client": "1.2.58-alpha.6", - "@budibase/frontend-core": "1.2.58-alpha.6", - "@budibase/string-templates": "1.2.58-alpha.6", + "@budibase/bbui": "1.2.58-alpha.7", + "@budibase/client": "1.2.58-alpha.7", + "@budibase/frontend-core": "1.2.58-alpha.7", + "@budibase/string-templates": "1.2.58-alpha.7", "@sentry/browser": "5.19.1", "@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 6f077cb0e5..86e45021c9 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.6", + "@budibase/backend-core": "1.2.58-alpha.7", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index c40cc75a27..f35d5fd112 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.6", + "version": "1.2.58-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": "1.2.58-alpha.6", - "@budibase/frontend-core": "1.2.58-alpha.6", - "@budibase/string-templates": "1.2.58-alpha.6", + "@budibase/bbui": "1.2.58-alpha.7", + "@budibase/frontend-core": "1.2.58-alpha.7", + "@budibase/string-templates": "1.2.58-alpha.7", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index c16c488b51..8ee1aa8559 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.6", + "@budibase/bbui": "1.2.58-alpha.7", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 1b7dc9acc3..a298c83947 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.6", - "@budibase/client": "1.2.58-alpha.6", + "@budibase/backend-core": "1.2.58-alpha.7", + "@budibase/client": "1.2.58-alpha.7", "@budibase/pro": "1.2.58-alpha.6", - "@budibase/string-templates": "1.2.58-alpha.6", - "@budibase/types": "1.2.58-alpha.6", + "@budibase/string-templates": "1.2.58-alpha.7", + "@budibase/types": "1.2.58-alpha.7", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 88589b72a0..99a2387f2c 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index dce4173a21..2ce235bb09 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 35f1030049..0bb3dba237 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.6", + "version": "1.2.58-alpha.7", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.6", + "@budibase/backend-core": "1.2.58-alpha.7", "@budibase/pro": "1.2.58-alpha.6", - "@budibase/string-templates": "1.2.58-alpha.6", - "@budibase/types": "1.2.58-alpha.6", + "@budibase/string-templates": "1.2.58-alpha.7", + "@budibase/types": "1.2.58-alpha.7", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From fa3f827a7d28a1b26c71cf76ddc605c062e666e5 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 14:34:56 +0000 Subject: [PATCH 102/105] Update pro version to 1.2.58-alpha.7 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index a298c83947..330cd574c9 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.7", "@budibase/client": "1.2.58-alpha.7", - "@budibase/pro": "1.2.58-alpha.6", + "@budibase/pro": "1.2.58-alpha.7", "@budibase/string-templates": "1.2.58-alpha.7", "@budibase/types": "1.2.58-alpha.7", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index b49da40e89..aaae2ae12f 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.6.tgz#5c8d56af57247ce240d4dc1ba5ca8d5dc172903b" - integrity sha512-QMtLjvF4aKOSzlr4G3/ZREhSgD3dzm4v7l9KnYTmoeV0KkoxW1ytf1Q7fP2QWiMwWr4mhG3OJiY2x/0vsVaGiw== +"@budibase/backend-core@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.7.tgz#b7888eb0e9796a4e49283cf8b928a6771439dbc0" + integrity sha512-wdZlJDQtYkGNce9hlj30Np6BDxvS5Mr07XhMwERlKzSRjOOAkQtM5bX+7UVZoIE/X0f8/h47U8P4T3Y98WGMkg== dependencies: - "@budibase/types" "1.2.58-alpha.6" + "@budibase/types" "1.2.58-alpha.7" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.6.tgz#00d5c9d90109718019bc5891d3a57e6e184e137f" - integrity sha512-EzjUVXKOP5QbtIC1+e0w5eE75Meq8ZmtzYAQ9uU7vSy3EvErxCG5+eEr0UwzHHxQNhWxqkrNQnuae7QfNy1Ytg== +"@budibase/pro@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.7.tgz#8b21dbda2081a4362701195365cf5290e8416115" + integrity sha512-GDTi6xYpkstSS0CL2kBuNixrVApciovqmx1iC7M5JofGZvbym+Yh4EV+Y9CGAlBw5xgaM3qoGa50AAHB43gtEw== dependencies: - "@budibase/backend-core" "1.2.58-alpha.6" - "@budibase/types" "1.2.58-alpha.6" + "@budibase/backend-core" "1.2.58-alpha.7" + "@budibase/types" "1.2.58-alpha.7" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.6.tgz#7465783174993749852f6c6be0afa67f709571f3" - integrity sha512-+z7WZw/gunmGIQeyPnLWApiqUTqeq+Wq8m/1Utz58ImHkoM0iumKrHtevSNRxAl0YHy5s11aetI24XuoxGHaTQ== +"@budibase/types@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.7.tgz#5f4e7d262bb597d01a1bd7c0674453946de3cfa2" + integrity sha512-VVW7XKFyax5A69cMoR8gwI06cxt/1G1cLH+8ECjIiwb2oO3hHe6WnlA91dUar0IdcdBHji7vYXg4MD1p8wb6jA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 0bb3dba237..bb85730db0 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.7", - "@budibase/pro": "1.2.58-alpha.6", + "@budibase/pro": "1.2.58-alpha.7", "@budibase/string-templates": "1.2.58-alpha.7", "@budibase/types": "1.2.58-alpha.7", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index a8730bed22..ed1335a706 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.6.tgz#5c8d56af57247ce240d4dc1ba5ca8d5dc172903b" - integrity sha512-QMtLjvF4aKOSzlr4G3/ZREhSgD3dzm4v7l9KnYTmoeV0KkoxW1ytf1Q7fP2QWiMwWr4mhG3OJiY2x/0vsVaGiw== +"@budibase/backend-core@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.7.tgz#b7888eb0e9796a4e49283cf8b928a6771439dbc0" + integrity sha512-wdZlJDQtYkGNce9hlj30Np6BDxvS5Mr07XhMwERlKzSRjOOAkQtM5bX+7UVZoIE/X0f8/h47U8P4T3Y98WGMkg== dependencies: - "@budibase/types" "1.2.58-alpha.6" + "@budibase/types" "1.2.58-alpha.7" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.6.tgz#00d5c9d90109718019bc5891d3a57e6e184e137f" - integrity sha512-EzjUVXKOP5QbtIC1+e0w5eE75Meq8ZmtzYAQ9uU7vSy3EvErxCG5+eEr0UwzHHxQNhWxqkrNQnuae7QfNy1Ytg== +"@budibase/pro@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.7.tgz#8b21dbda2081a4362701195365cf5290e8416115" + integrity sha512-GDTi6xYpkstSS0CL2kBuNixrVApciovqmx1iC7M5JofGZvbym+Yh4EV+Y9CGAlBw5xgaM3qoGa50AAHB43gtEw== dependencies: - "@budibase/backend-core" "1.2.58-alpha.6" - "@budibase/types" "1.2.58-alpha.6" + "@budibase/backend-core" "1.2.58-alpha.7" + "@budibase/types" "1.2.58-alpha.7" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.6": - version "1.2.58-alpha.6" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.6.tgz#7465783174993749852f6c6be0afa67f709571f3" - integrity sha512-+z7WZw/gunmGIQeyPnLWApiqUTqeq+Wq8m/1Utz58ImHkoM0iumKrHtevSNRxAl0YHy5s11aetI24XuoxGHaTQ== +"@budibase/types@1.2.58-alpha.7": + version "1.2.58-alpha.7" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.7.tgz#5f4e7d262bb597d01a1bd7c0674453946de3cfa2" + integrity sha512-VVW7XKFyax5A69cMoR8gwI06cxt/1G1cLH+8ECjIiwb2oO3hHe6WnlA91dUar0IdcdBHji7vYXg4MD1p8wb6jA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 309f746b3e676c68391a75cbb94bf894cb1145ad Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 2 Sep 2022 10:05:43 +0100 Subject: [PATCH 103/105] Fix user validation when pressing confirm --- .../builder/portal/manage/users/_components/AddUserModal.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte index 0c02eec4e9..e76271854d 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte @@ -65,7 +65,7 @@ const onConfirm = () => { let valid = true userData.forEach((input, index) => { - valid = validateInput(input.email, index) && valid + valid = validateInput(input, index) && valid }) if (!valid) { return false From 365df003a72dfe4de8575334b5302ccbf6b2ce4f Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 2 Sep 2022 09:19:07 +0000 Subject: [PATCH 104/105] v1.2.59-alpha.0 --- lerna.json | 4 ++-- packages/backend-core/package.json | 6 +++--- packages/bbui/package.json | 6 +++--- packages/builder/package.json | 12 ++++++------ packages/cli/package.json | 4 ++-- packages/client/package.json | 10 +++++----- packages/frontend-core/package.json | 6 +++--- packages/server/package.json | 12 ++++++------ packages/string-templates/package.json | 4 ++-- packages/types/package.json | 4 ++-- packages/worker/package.json | 10 +++++----- 11 files changed, 39 insertions(+), 39 deletions(-) diff --git a/lerna.json b/lerna.json index 37acdab0e5..4974a78682 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58", + "version": "1.2.59-alpha.0", "npmClient": "yarn", "packages": [ "packages/*" @@ -15,4 +15,4 @@ ] } } -} \ No newline at end of file +} diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 7eb09cedde..1b0304cb91 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "^1.2.58", + "@budibase/types": "1.2.59-alpha.0", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", @@ -81,4 +81,4 @@ "typescript": "4.7.3" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 29b41b6352..13c695d015 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": "1.2.58", + "version": "1.2.59-alpha.0", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.2.58", + "@budibase/string-templates": "1.2.59-alpha.0", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", @@ -86,4 +86,4 @@ "svelte-portal": "^1.0.0" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/builder/package.json b/packages/builder/package.json index 3d2398d19d..425153a832 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.58", - "@budibase/client": "^1.2.58", - "@budibase/frontend-core": "^1.2.58", - "@budibase/string-templates": "^1.2.58", + "@budibase/bbui": "1.2.59-alpha.0", + "@budibase/client": "1.2.59-alpha.0", + "@budibase/frontend-core": "1.2.59-alpha.0", + "@budibase/string-templates": "1.2.59-alpha.0", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", @@ -121,4 +121,4 @@ "vite": "^2.1.5" }, "gitHead": "115189f72a850bfb52b65ec61d932531bf327072" -} \ No newline at end of file +} diff --git a/packages/cli/package.json b/packages/cli/package.json index 624008a7e0..8213d4e914 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -48,4 +48,4 @@ "eslint": "^7.20.0", "renamer": "^4.0.0" } -} \ No newline at end of file +} diff --git a/packages/client/package.json b/packages/client/package.json index cde5efe5db..0c00c1a702 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "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": "^1.2.58", - "@budibase/frontend-core": "^1.2.58", - "@budibase/string-templates": "^1.2.58", + "@budibase/bbui": "1.2.59-alpha.0", + "@budibase/frontend-core": "1.2.59-alpha.0", + "@budibase/string-templates": "1.2.59-alpha.0", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", @@ -58,4 +58,4 @@ "rollup-plugin-visualizer": "^5.5.4" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 5b816d6d21..8403e5034e 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,13 +1,13 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.2.58", + "@budibase/bbui": "1.2.59-alpha.0", "lodash": "^4.17.21", "svelte": "^3.46.2" } -} \ No newline at end of file +} diff --git a/packages/server/package.json b/packages/server/package.json index 04d242f195..a6a964b9e6 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "^1.2.58", - "@budibase/client": "^1.2.58", + "@budibase/backend-core": "1.2.59-alpha.0", + "@budibase/client": "1.2.59-alpha.0", "@budibase/pro": "1.2.58", - "@budibase/string-templates": "^1.2.58", - "@budibase/types": "^1.2.58", + "@budibase/string-templates": "1.2.59-alpha.0", + "@budibase/types": "1.2.59-alpha.0", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", @@ -197,4 +197,4 @@ "oracledb": "5.3.0" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 214d105912..6034e76a32 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", @@ -46,4 +46,4 @@ "typescript": "^4.5.5" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/types/package.json b/packages/types/package.json index 7805ca3f51..8e9f4c2391 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -17,4 +17,4 @@ "rimraf": "3.0.2", "typescript": "4.7.3" } -} \ No newline at end of file +} diff --git a/packages/worker/package.json b/packages/worker/package.json index b24d500f7a..b404bfaeea 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58", + "version": "1.2.59-alpha.0", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.2.58", + "@budibase/backend-core": "1.2.59-alpha.0", "@budibase/pro": "1.2.58", - "@budibase/string-templates": "^1.2.58", - "@budibase/types": "^1.2.58", + "@budibase/string-templates": "1.2.59-alpha.0", + "@budibase/types": "1.2.59-alpha.0", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", @@ -104,4 +104,4 @@ ] }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} From 30bbb5e0d890ba6615a73702386fe1bfd4101edc Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 2 Sep 2022 09:22:44 +0000 Subject: [PATCH 105/105] Update pro version to 1.2.59-alpha.0 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index a6a964b9e6..9f1210fb32 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.59-alpha.0", "@budibase/client": "1.2.59-alpha.0", - "@budibase/pro": "1.2.58", + "@budibase/pro": "1.2.59-alpha.0", "@budibase/string-templates": "1.2.59-alpha.0", "@budibase/types": "1.2.59-alpha.0", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 72f3c5ff09..93ba08da8c 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58.tgz#00afc311adbfcb8cc2563f77ba7dd1c228d1591f" - integrity sha512-kQvs9S7t+p9K/VwEmXkwVqEgz0fqsd0u7794YUhbE69fSso+PiTZlr0tM9mpprLPqJlVm57/4rt8rzoSldRy0g== +"@budibase/backend-core@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.59-alpha.0.tgz#34330175c26e31ec4838891e8ed561d5f75f1158" + integrity sha512-dXVX+IKeNMUIQUAH52E/9D73s+PSkXeU5m7dGjGeiWZQ2m3CALX0XhdL64NVEmpwmKwJVEvagi26lQSYwVrSyQ== dependencies: - "@budibase/types" "^1.2.58" + "@budibase/types" "1.2.59-alpha.0" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58.tgz#da93611966e95d2a2427bbff3dfe14301b366123" - integrity sha512-DAoSjxtSRpgmPS8arFf7tTXyFud5oQH2HwgttS96tDm9/JnZWwKs2vfnj3XX/w8T0SaINvc1abRzjFrryIrTfw== +"@budibase/pro@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.59-alpha.0.tgz#191865bf170832b17566336b047d3461f6036009" + integrity sha512-nP8LL0eZdWpLZ4NViou31dE3uY1dQPJDzvFE9r71OsSLG6KGHS7fkkMA+4hq3gfrsPzAIp729m6RroksqnnKGw== dependencies: - "@budibase/backend-core" "1.2.58" - "@budibase/types" "1.2.58" + "@budibase/backend-core" "1.2.59-alpha.0" + "@budibase/types" "1.2.59-alpha.0" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58", "@budibase/types@^1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58.tgz#2f29047f4c11318367516ef63d3c447e4ef28be0" - integrity sha512-Em3IrTjK/DO7+CHt17g3XXDQ45KF4+E9b37xdwHIQiXrNKFaDTJXAF9KWFCZD4d6pYgI/+WZCCew/DNOgOUPhA== +"@budibase/types@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.59-alpha.0.tgz#7d77598607865a0f5b9a7c9063e0f7a774ebd2a1" + integrity sha512-ddoqBxRKYl3biVmg3l3jFE/eB8DvL1VqMA/sIaVYU16Js913pU0jauT9Z/y2uqiGescfoZReCabBjD7qhr6L7w== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index b404bfaeea..e9708628a1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.59-alpha.0", - "@budibase/pro": "1.2.58", + "@budibase/pro": "1.2.59-alpha.0", "@budibase/string-templates": "1.2.59-alpha.0", "@budibase/types": "1.2.59-alpha.0", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 5ad3ab61c3..f5cb949c22 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58.tgz#00afc311adbfcb8cc2563f77ba7dd1c228d1591f" - integrity sha512-kQvs9S7t+p9K/VwEmXkwVqEgz0fqsd0u7794YUhbE69fSso+PiTZlr0tM9mpprLPqJlVm57/4rt8rzoSldRy0g== +"@budibase/backend-core@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.59-alpha.0.tgz#34330175c26e31ec4838891e8ed561d5f75f1158" + integrity sha512-dXVX+IKeNMUIQUAH52E/9D73s+PSkXeU5m7dGjGeiWZQ2m3CALX0XhdL64NVEmpwmKwJVEvagi26lQSYwVrSyQ== dependencies: - "@budibase/types" "^1.2.58" + "@budibase/types" "1.2.59-alpha.0" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58.tgz#da93611966e95d2a2427bbff3dfe14301b366123" - integrity sha512-DAoSjxtSRpgmPS8arFf7tTXyFud5oQH2HwgttS96tDm9/JnZWwKs2vfnj3XX/w8T0SaINvc1abRzjFrryIrTfw== +"@budibase/pro@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.59-alpha.0.tgz#191865bf170832b17566336b047d3461f6036009" + integrity sha512-nP8LL0eZdWpLZ4NViou31dE3uY1dQPJDzvFE9r71OsSLG6KGHS7fkkMA+4hq3gfrsPzAIp729m6RroksqnnKGw== dependencies: - "@budibase/backend-core" "1.2.58" - "@budibase/types" "1.2.58" + "@budibase/backend-core" "1.2.59-alpha.0" + "@budibase/types" "1.2.59-alpha.0" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58", "@budibase/types@^1.2.58": - version "1.2.58" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58.tgz#2f29047f4c11318367516ef63d3c447e4ef28be0" - integrity sha512-Em3IrTjK/DO7+CHt17g3XXDQ45KF4+E9b37xdwHIQiXrNKFaDTJXAF9KWFCZD4d6pYgI/+WZCCew/DNOgOUPhA== +"@budibase/types@1.2.59-alpha.0": + version "1.2.59-alpha.0" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.59-alpha.0.tgz#7d77598607865a0f5b9a7c9063e0f7a774ebd2a1" + integrity sha512-ddoqBxRKYl3biVmg3l3jFE/eB8DvL1VqMA/sIaVYU16Js913pU0jauT9Z/y2uqiGescfoZReCabBjD7qhr6L7w== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0"