From 5e6b7dfc0680efeb4a5f6ae07862ee94f5c4284a Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Fri, 5 Aug 2022 17:41:55 +0100 Subject: [PATCH 1/7] Add seperate rate limiting config for webhooks + environment variable support --- hosting/docker-compose.yaml | 4 +++- hosting/nginx.prod.conf.hbs | 23 +++++++++++++++++++++++ hosting/proxy/Dockerfile | 14 ++++++++++++-- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/hosting/docker-compose.yaml b/hosting/docker-compose.yaml index f669f9261d..5281155545 100644 --- a/hosting/docker-compose.yaml +++ b/hosting/docker-compose.yaml @@ -75,7 +75,9 @@ services: ports: - "${MAIN_PORT}:10000" container_name: bbproxy - image: budibase/proxy + image: proxy-service + environment: + - PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 depends_on: - minio-service - worker-service diff --git a/hosting/nginx.prod.conf.hbs b/hosting/nginx.prod.conf.hbs index ac35a2020d..4213626309 100644 --- a/hosting/nginx.prod.conf.hbs +++ b/hosting/nginx.prod.conf.hbs @@ -9,7 +9,11 @@ events { } http { + # rate limiting + limit_req_status 429; limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=20r/s; + limit_req_zone $binary_remote_addr zone=webhooks:10m rate=${PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND}r/s; + include /etc/nginx/mime.types; default_type application/octet-stream; proxy_set_header Host $host; @@ -126,6 +130,25 @@ http { proxy_pass http://$apps:4002; } + location /api/webhooks/ { + # calls to webhooks are rate limited + limit_req zone=webhooks nodelay; + + # Rest of configuration copied from /api/ location above + # 120s timeout on API requests + proxy_read_timeout 120s; + proxy_connect_timeout 120s; + proxy_send_timeout 120s; + + proxy_http_version 1.1; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_pass http://$apps:4002; + } + location /db/ { proxy_pass http://$couchdb:5984; rewrite ^/db/(.*)$ /$1 break; diff --git a/hosting/proxy/Dockerfile b/hosting/proxy/Dockerfile index a2b17d3333..d9b33e3e9a 100644 --- a/hosting/proxy/Dockerfile +++ b/hosting/proxy/Dockerfile @@ -1,3 +1,13 @@ FROM nginx:latest -COPY .generated-nginx.prod.conf /etc/nginx/nginx.conf -COPY error.html /usr/share/nginx/html/error.html \ No newline at end of file + +# nginx.conf +# use the default nginx behaviour for *.template files which are processed with envsubst +# override the output dir to output directly to /etc/nginx instead of /etc/nginx/conf.d +ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx +COPY .generated-nginx.prod.conf /etc/nginx/templates/nginx.conf.template + +# Error handling +COPY error.html /usr/share/nginx/html/error.html + +# Default environment +ENV PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 \ No newline at end of file From cf37563c8935ed8665a546f065bd8be85178ea0f Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 9 Aug 2022 13:31:12 +0100 Subject: [PATCH 2/7] Fix served events --- .../src/events/async/BBEventEmitter.ts | 27 +++++++++++++ .../backend-core/src/events/async/index.ts | 1 + packages/backend-core/src/events/events.ts | 40 +++++++++++++++++++ .../events/processors/AnalyticsProcessor.ts | 6 +-- .../events/processors/posthog/rateLimiting.ts | 11 +++-- .../controllers/static/{index.js => index.ts} | 20 +++++----- 6 files changed, 88 insertions(+), 17 deletions(-) create mode 100644 packages/backend-core/src/events/async/BBEventEmitter.ts create mode 100644 packages/backend-core/src/events/async/index.ts rename packages/server/src/api/controllers/static/{index.js => index.ts} (89%) diff --git a/packages/backend-core/src/events/async/BBEventEmitter.ts b/packages/backend-core/src/events/async/BBEventEmitter.ts new file mode 100644 index 0000000000..41668858e1 --- /dev/null +++ b/packages/backend-core/src/events/async/BBEventEmitter.ts @@ -0,0 +1,27 @@ +import { EventEmitter } from "events" +import * as context from "../../context" +import { Identity, Event } from "@budibase/types" + +export interface EmittedEvent { + tenantId: string + identity: Identity + appId: string | undefined + properties: any +} + +class BBEventEmitter extends EventEmitter { + emitEvent(event: Event, properties: any, identity: Identity) { + const tenantId = context.getTenantId() + const appId = context.getAppId() + + const emittedEvent: EmittedEvent = { + tenantId, + identity, + appId, + properties, + } + this.emit(event, emittedEvent) + } +} + +export const emitter = new BBEventEmitter() diff --git a/packages/backend-core/src/events/async/index.ts b/packages/backend-core/src/events/async/index.ts new file mode 100644 index 0000000000..60e47f7a13 --- /dev/null +++ b/packages/backend-core/src/events/async/index.ts @@ -0,0 +1 @@ +export * from "./BBEventEmitter" diff --git a/packages/backend-core/src/events/events.ts b/packages/backend-core/src/events/events.ts index cda90d12c9..1d532c092b 100644 --- a/packages/backend-core/src/events/events.ts +++ b/packages/backend-core/src/events/events.ts @@ -2,6 +2,41 @@ import { Event } from "@budibase/types" import { processors } from "./processors" import * as identification from "./identification" import * as backfill from "./backfill" +import { emitter, EmittedEvent } from "./async" +import * as context from "../context" +import * as logging from "../logging" + +const USE_ASYNC: any[] = [ + Event.SERVED_BUILDER, + Event.SERVED_APP, + Event.SERVED_APP_PREVIEW, +] + +for (let event of USE_ASYNC) { + emitter.on(event, async (props: EmittedEvent) => { + try { + await context.doInTenant(props.tenantId, async () => { + if (props.appId) { + await context.doInAppContext(props.appId, async () => { + await processors.processEvent( + event as Event, + props.identity, + props.properties + ) + }) + } else { + await processors.processEvent( + event as Event, + props.identity, + props.properties + ) + } + }) + } catch (e) { + logging.logAlert(`Unable to process async event ${event}`, e) + } + }) +} export const publishEvent = async ( event: Event, @@ -11,6 +46,11 @@ export const publishEvent = async ( // in future this should use async events via a distributed queue. const identity = await identification.getCurrentIdentity() + if (USE_ASYNC.includes(event)) { + emitter.emitEvent(event, properties, identity) + return + } + const backfilling = await backfill.isBackfillingEvent(event) // no backfill - send the event and exit if (!backfilling) { diff --git a/packages/backend-core/src/events/processors/AnalyticsProcessor.ts b/packages/backend-core/src/events/processors/AnalyticsProcessor.ts index 602407400e..f9d7547120 100644 --- a/packages/backend-core/src/events/processors/AnalyticsProcessor.ts +++ b/packages/backend-core/src/events/processors/AnalyticsProcessor.ts @@ -32,7 +32,7 @@ export default class AnalyticsProcessor implements EventProcessor { return } if (this.posthog) { - this.posthog.processEvent(event, identity, properties, timestamp) + await this.posthog.processEvent(event, identity, properties, timestamp) } } @@ -45,14 +45,14 @@ export default class AnalyticsProcessor implements EventProcessor { return } if (this.posthog) { - this.posthog.identify(identity, timestamp) + await this.posthog.identify(identity, timestamp) } } async identifyGroup(group: Group, timestamp?: string | number) { // Group indentifications (tenant and installation) always on if (this.posthog) { - this.posthog.identifyGroup(group, timestamp) + await this.posthog.identifyGroup(group, timestamp) } } diff --git a/packages/backend-core/src/events/processors/posthog/rateLimiting.ts b/packages/backend-core/src/events/processors/posthog/rateLimiting.ts index e2a02eb28e..9c7b7876d6 100644 --- a/packages/backend-core/src/events/processors/posthog/rateLimiting.ts +++ b/packages/backend-core/src/events/processors/posthog/rateLimiting.ts @@ -45,7 +45,7 @@ export const limited = async (event: Event): Promise => { return false } - const cachedEvent = (await readEvent(event)) as EventProperties + const cachedEvent = await readEvent(event) if (cachedEvent) { const timestamp = new Date(cachedEvent.timestamp) const limit = RATE_LIMITS[event] @@ -76,14 +76,17 @@ export const limited = async (event: Event): Promise => { const eventKey = (event: RateLimitedEvent) => { let key = `${CacheKeys.EVENTS_RATE_LIMIT}:${event}` if (isPerApp(event)) { - key = key + context.getAppId() + key = key + ":" + context.getAppId() } return key } -const readEvent = async (event: RateLimitedEvent) => { +const readEvent = async ( + event: RateLimitedEvent +): Promise => { const key = eventKey(event) - return cache.get(key) + const result = await cache.get(key) + return result as EventProperties } const recordEvent = async ( diff --git a/packages/server/src/api/controllers/static/index.js b/packages/server/src/api/controllers/static/index.ts similarity index 89% rename from packages/server/src/api/controllers/static/index.js rename to packages/server/src/api/controllers/static/index.ts index 86bce89b4a..b0e36b8943 100644 --- a/packages/server/src/api/controllers/static/index.js +++ b/packages/server/src/api/controllers/static/index.ts @@ -18,14 +18,14 @@ const { DocumentTypes, isDevAppID } = require("../../../db/utils") const { getAppDB, getAppId } = require("@budibase/backend-core/context") const { setCookie, clearCookie } = require("@budibase/backend-core/utils") const AWS = require("aws-sdk") -const { events } = require("@budibase/backend-core") +import { events } from "@budibase/backend-core" const fs = require("fs") const { downloadTarballDirect, } = require("../../../utilities/fileSystem/utilities") -async function prepareUpload({ s3Key, bucket, metadata, file }) { +async function prepareUpload({ s3Key, bucket, metadata, file }: any) { const response = await upload({ bucket, metadata, @@ -44,7 +44,7 @@ async function prepareUpload({ s3Key, bucket, metadata, file }) { } } -exports.toggleBetaUiFeature = async function (ctx) { +export const toggleBetaUiFeature = async function (ctx: any) { const cookieName = `beta:${ctx.params.feature}` if (ctx.cookies.get(cookieName)) { @@ -72,21 +72,21 @@ exports.toggleBetaUiFeature = async function (ctx) { } } -exports.serveBuilder = async function (ctx) { +export const serveBuilder = async function (ctx: any) { const builderPath = resolve(TOP_LEVEL_PATH, "builder") await send(ctx, ctx.file, { root: builderPath }) - if (!ctx.file.includes("assets/")) { + if (ctx.file === "index.html") { await events.serve.servedBuilder() } } -exports.uploadFile = async function (ctx) { +export const uploadFile = async function (ctx: any) { let files = ctx.request.files.file.length > 1 ? Array.from(ctx.request.files.file) : [ctx.request.files.file] - const uploads = files.map(async file => { + const uploads = files.map(async (file: any) => { const fileExtension = [...file.name.split(".")].pop() // filenames converted to UUIDs so they are unique const processedFileName = `${uuid.v4()}.${fileExtension}` @@ -101,7 +101,7 @@ exports.uploadFile = async function (ctx) { ctx.body = await Promise.all(uploads) } -exports.serveApp = async function (ctx) { +export const serveApp = async function (ctx: any) { const db = getAppDB({ skip_setup: true }) const appInfo = await db.get(DocumentTypes.APP_METADATA) let appId = getAppId() @@ -134,13 +134,13 @@ exports.serveApp = async function (ctx) { } } -exports.serveClientLibrary = async function (ctx) { +export const serveClientLibrary = async function (ctx: any) { return send(ctx, "budibase-client.js", { root: join(NODE_MODULES_PATH, "@budibase", "client", "dist"), }) } -exports.getSignedUploadURL = async function (ctx) { +export const getSignedUploadURL = async function (ctx: any) { const database = getAppDB() // Ensure datasource is valid From 1a31dff984bfa747abaca90b0599452a31d28df2 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 9 Aug 2022 14:01:55 +0100 Subject: [PATCH 3/7] Rename async to emit --- .../src/events/{async => emit}/BBEventEmitter.ts | 0 packages/backend-core/src/events/{async => emit}/index.ts | 0 packages/backend-core/src/events/events.ts | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) rename packages/backend-core/src/events/{async => emit}/BBEventEmitter.ts (100%) rename packages/backend-core/src/events/{async => emit}/index.ts (100%) diff --git a/packages/backend-core/src/events/async/BBEventEmitter.ts b/packages/backend-core/src/events/emit/BBEventEmitter.ts similarity index 100% rename from packages/backend-core/src/events/async/BBEventEmitter.ts rename to packages/backend-core/src/events/emit/BBEventEmitter.ts diff --git a/packages/backend-core/src/events/async/index.ts b/packages/backend-core/src/events/emit/index.ts similarity index 100% rename from packages/backend-core/src/events/async/index.ts rename to packages/backend-core/src/events/emit/index.ts diff --git a/packages/backend-core/src/events/events.ts b/packages/backend-core/src/events/events.ts index 1d532c092b..63fedf4754 100644 --- a/packages/backend-core/src/events/events.ts +++ b/packages/backend-core/src/events/events.ts @@ -2,17 +2,17 @@ import { Event } from "@budibase/types" import { processors } from "./processors" import * as identification from "./identification" import * as backfill from "./backfill" -import { emitter, EmittedEvent } from "./async" +import { emitter, EmittedEvent } from "./emit" import * as context from "../context" import * as logging from "../logging" -const USE_ASYNC: any[] = [ +const USE_EMITTER: any[] = [ Event.SERVED_BUILDER, Event.SERVED_APP, Event.SERVED_APP_PREVIEW, ] -for (let event of USE_ASYNC) { +for (let event of USE_EMITTER) { emitter.on(event, async (props: EmittedEvent) => { try { await context.doInTenant(props.tenantId, async () => { @@ -46,7 +46,7 @@ export const publishEvent = async ( // in future this should use async events via a distributed queue. const identity = await identification.getCurrentIdentity() - if (USE_ASYNC.includes(event)) { + if (USE_EMITTER.includes(event)) { emitter.emitEvent(event, properties, identity) return } From 105766335352df8786768b9cba017309caccc5b7 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 9 Aug 2022 13:28:56 +0000 Subject: [PATCH 4/7] v1.2.26 --- 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 2123c86b0b..f4099322d5 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.25", + "version": "1.2.26", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 04b40c73b4..804892a921 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.25", + "version": "1.2.26", "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.25", + "@budibase/types": "^1.2.26", "@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 f5e62b48bf..8d1ab71e54 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.25", + "version": "1.2.26", "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.25", + "@budibase/string-templates": "^1.2.26", "@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 d9eb8afcbf..27ef819086 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.25", + "version": "1.2.26", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.25", - "@budibase/client": "^1.2.25", - "@budibase/frontend-core": "^1.2.25", - "@budibase/string-templates": "^1.2.25", + "@budibase/bbui": "^1.2.26", + "@budibase/client": "^1.2.26", + "@budibase/frontend-core": "^1.2.26", + "@budibase/string-templates": "^1.2.26", "@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 1586f1693e..5f51d183ab 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.25", + "version": "1.2.26", "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 2487a67db4..b3584bf05c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.25", + "version": "1.2.26", "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.25", - "@budibase/frontend-core": "^1.2.25", - "@budibase/string-templates": "^1.2.25", + "@budibase/bbui": "^1.2.26", + "@budibase/frontend-core": "^1.2.26", + "@budibase/string-templates": "^1.2.26", "@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 530058fb8f..5dfcada3de 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.25", + "version": "1.2.26", "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.25", + "@budibase/bbui": "^1.2.26", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 8be2dc175f..cbd8938a32 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.25", + "version": "1.2.26", "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.25", - "@budibase/client": "^1.2.25", + "@budibase/backend-core": "^1.2.26", + "@budibase/client": "^1.2.26", "@budibase/pro": "1.2.25", - "@budibase/string-templates": "^1.2.25", - "@budibase/types": "^1.2.25", + "@budibase/string-templates": "^1.2.26", + "@budibase/types": "^1.2.26", "@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 3219960ed3..4f79099ad1 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.25", + "version": "1.2.26", "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 dd121b4eb9..903069e39e 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.25", + "version": "1.2.26", "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 64b3fbc66b..d3ce77f6ae 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.25", + "version": "1.2.26", "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.25", + "@budibase/backend-core": "^1.2.26", "@budibase/pro": "1.2.25", - "@budibase/string-templates": "^1.2.25", - "@budibase/types": "^1.2.25", + "@budibase/string-templates": "^1.2.26", + "@budibase/types": "^1.2.26", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From b33a0fb3ad44396b76f0405fd98d421fd17b3d21 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 9 Aug 2022 13:31:52 +0000 Subject: [PATCH 5/7] Update pro version to 1.2.26 --- 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 cbd8938a32..1f575378f3 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.26", "@budibase/client": "^1.2.26", - "@budibase/pro": "1.2.25", + "@budibase/pro": "1.2.26", "@budibase/string-templates": "^1.2.26", "@budibase/types": "^1.2.26", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 2d7cbcf962..c71956960e 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.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.25.tgz#7dcb958cfdd8f73d3755bf0d8470248d4f721360" - integrity sha512-UKA8t8trzTe/jHEpAGlYT2fZIR8SRxDnFvY0wQFGPspvJ0EnoVX6U2sV7kuZy8EtTxpJxShG7Nvt94I0EjiN5w== +"@budibase/backend-core@1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.26.tgz#1a6ad75955ea8535c1775f02ffe26d8a0fd1029f" + integrity sha512-cYcPfVXP4Yah5W5KEfvhyWlLGb1o3a0VTC4+rvEiGW/mG0yrKEVAU+kcVlp2J9I8oCdShSSN1eNIRQGTT7Kneg== dependencies: - "@budibase/types" "^1.2.25" + "@budibase/types" "^1.2.26" "@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.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.25.tgz#9e802bb7b18ba192617b01269f6ebefee0477b05" - integrity sha512-zxL7p61jMNznnAL9EKYg+Ap9ar3K9lbzwyM75uZjgAw2VGCYm7Z1Kftj9EGmEQxzXiZfrWTJcOE8MAhu8nAJRA== +"@budibase/pro@1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.26.tgz#37c6ba098fc90d3ef7fff73e0233c4c8314f4997" + integrity sha512-Vnne9BykcHRSU+UyTxFQTjfQQRsXqsWtv8Fw/FricxIaTLazwzXHI4nm8k5WUI6Ol4AAnlzessXmRMvxCluoPw== dependencies: - "@budibase/backend-core" "1.2.25" - "@budibase/types" "1.2.25" + "@budibase/backend-core" "1.2.26" + "@budibase/types" "1.2.26" "@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.25", "@budibase/types@^1.2.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.25.tgz#9b3738f774592e25f9ac44527e8b2e4aba6b4933" - integrity sha512-ReBvf2aN5/3M1eFcCrqycu68g54CxV2BXiEQTOS2om4u3WRcQMPa69eMjHJ4SltBb5HwfXveDu50Tc+4M8kS6w== +"@budibase/types@1.2.26", "@budibase/types@^1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.26.tgz#1ec924e269e89eaaf1f90805ad4b1d3783e895e3" + integrity sha512-PRwgN6CZfMdFjMcKItF5WoZ6Jy8GOUbbCwWLsEezknmF+fFab6uyRRJCys4iVwAxnv+Nw3Ixv4K5ngyUyYWDlw== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index d3ce77f6ae..6768edf6cc 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.26", - "@budibase/pro": "1.2.25", + "@budibase/pro": "1.2.26", "@budibase/string-templates": "^1.2.26", "@budibase/types": "^1.2.26", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 0d982bc14b..eade3eb700 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.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.25.tgz#7dcb958cfdd8f73d3755bf0d8470248d4f721360" - integrity sha512-UKA8t8trzTe/jHEpAGlYT2fZIR8SRxDnFvY0wQFGPspvJ0EnoVX6U2sV7kuZy8EtTxpJxShG7Nvt94I0EjiN5w== +"@budibase/backend-core@1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.26.tgz#1a6ad75955ea8535c1775f02ffe26d8a0fd1029f" + integrity sha512-cYcPfVXP4Yah5W5KEfvhyWlLGb1o3a0VTC4+rvEiGW/mG0yrKEVAU+kcVlp2J9I8oCdShSSN1eNIRQGTT7Kneg== dependencies: - "@budibase/types" "^1.2.25" + "@budibase/types" "^1.2.26" "@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.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.25.tgz#9e802bb7b18ba192617b01269f6ebefee0477b05" - integrity sha512-zxL7p61jMNznnAL9EKYg+Ap9ar3K9lbzwyM75uZjgAw2VGCYm7Z1Kftj9EGmEQxzXiZfrWTJcOE8MAhu8nAJRA== +"@budibase/pro@1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.26.tgz#37c6ba098fc90d3ef7fff73e0233c4c8314f4997" + integrity sha512-Vnne9BykcHRSU+UyTxFQTjfQQRsXqsWtv8Fw/FricxIaTLazwzXHI4nm8k5WUI6Ol4AAnlzessXmRMvxCluoPw== dependencies: - "@budibase/backend-core" "1.2.25" - "@budibase/types" "1.2.25" + "@budibase/backend-core" "1.2.26" + "@budibase/types" "1.2.26" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.25", "@budibase/types@^1.2.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.25.tgz#9b3738f774592e25f9ac44527e8b2e4aba6b4933" - integrity sha512-ReBvf2aN5/3M1eFcCrqycu68g54CxV2BXiEQTOS2om4u3WRcQMPa69eMjHJ4SltBb5HwfXveDu50Tc+4M8kS6w== +"@budibase/types@1.2.26", "@budibase/types@^1.2.26": + version "1.2.26" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.26.tgz#1ec924e269e89eaaf1f90805ad4b1d3783e895e3" + integrity sha512-PRwgN6CZfMdFjMcKItF5WoZ6Jy8GOUbbCwWLsEezknmF+fFab6uyRRJCys4iVwAxnv+Nw3Ixv4K5ngyUyYWDlw== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 31442919481ce9baf475a9375aeeb0b12ff58eb2 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 10 Aug 2022 08:43:44 +0000 Subject: [PATCH 6/7] v1.2.27 --- 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 f4099322d5..15a771a46f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.26", + "version": "1.2.27", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 804892a921..528300bc83 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.26", + "version": "1.2.27", "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.26", + "@budibase/types": "^1.2.27", "@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 8d1ab71e54..c80fa643e6 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.26", + "version": "1.2.27", "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.26", + "@budibase/string-templates": "^1.2.27", "@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 27ef819086..d2e0bc0fe9 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.26", + "version": "1.2.27", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.2.26", - "@budibase/client": "^1.2.26", - "@budibase/frontend-core": "^1.2.26", - "@budibase/string-templates": "^1.2.26", + "@budibase/bbui": "^1.2.27", + "@budibase/client": "^1.2.27", + "@budibase/frontend-core": "^1.2.27", + "@budibase/string-templates": "^1.2.27", "@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 5f51d183ab..e92ea4a86d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.26", + "version": "1.2.27", "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 b3584bf05c..9a83975e60 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.26", + "version": "1.2.27", "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.26", - "@budibase/frontend-core": "^1.2.26", - "@budibase/string-templates": "^1.2.26", + "@budibase/bbui": "^1.2.27", + "@budibase/frontend-core": "^1.2.27", + "@budibase/string-templates": "^1.2.27", "@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 5dfcada3de..7d0ee0c42f 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.26", + "version": "1.2.27", "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.26", + "@budibase/bbui": "^1.2.27", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 1f575378f3..7fe18a5d96 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.26", + "version": "1.2.27", "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.26", - "@budibase/client": "^1.2.26", + "@budibase/backend-core": "^1.2.27", + "@budibase/client": "^1.2.27", "@budibase/pro": "1.2.26", - "@budibase/string-templates": "^1.2.26", - "@budibase/types": "^1.2.26", + "@budibase/string-templates": "^1.2.27", + "@budibase/types": "^1.2.27", "@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 4f79099ad1..726b5207b7 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.26", + "version": "1.2.27", "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 903069e39e..8e15aae144 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.26", + "version": "1.2.27", "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 6768edf6cc..4d196ab196 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.26", + "version": "1.2.27", "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.26", + "@budibase/backend-core": "^1.2.27", "@budibase/pro": "1.2.26", - "@budibase/string-templates": "^1.2.26", - "@budibase/types": "^1.2.26", + "@budibase/string-templates": "^1.2.27", + "@budibase/types": "^1.2.27", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From a4a2229957cf9388b53ad7bf2eb7bcb00953bd78 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 10 Aug 2022 08:46:47 +0000 Subject: [PATCH 7/7] Update pro version to 1.2.27 --- 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 7fe18a5d96..6fc13ef1a0 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.27", "@budibase/client": "^1.2.27", - "@budibase/pro": "1.2.26", + "@budibase/pro": "1.2.27", "@budibase/string-templates": "^1.2.27", "@budibase/types": "^1.2.27", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index c71956960e..8b0587ca8b 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.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.26.tgz#1a6ad75955ea8535c1775f02ffe26d8a0fd1029f" - integrity sha512-cYcPfVXP4Yah5W5KEfvhyWlLGb1o3a0VTC4+rvEiGW/mG0yrKEVAU+kcVlp2J9I8oCdShSSN1eNIRQGTT7Kneg== +"@budibase/backend-core@1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.27.tgz#7924f0917e0378b62a0ee2f45f672b264e8fbf89" + integrity sha512-dFKp7LhUMMUKsEUY2qDrONHUiPz7pLyOesrRpZElVj6/LldJN4XOUFVu/3xFClvGSGNtP9FVifbAKlNKodZI5w== dependencies: - "@budibase/types" "^1.2.26" + "@budibase/types" "^1.2.27" "@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.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.26.tgz#37c6ba098fc90d3ef7fff73e0233c4c8314f4997" - integrity sha512-Vnne9BykcHRSU+UyTxFQTjfQQRsXqsWtv8Fw/FricxIaTLazwzXHI4nm8k5WUI6Ol4AAnlzessXmRMvxCluoPw== +"@budibase/pro@1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.27.tgz#a4291dc59d07bb1467e1b99be25941ba544bf787" + integrity sha512-MVmof/vGx41ev18QElIBNX6feygsyi6pFtDf/J+Kl+W+eSDySLjs2p5krG4PpQlZAFJ+X0DOPSWxxJSEdPqLQQ== dependencies: - "@budibase/backend-core" "1.2.26" - "@budibase/types" "1.2.26" + "@budibase/backend-core" "1.2.27" + "@budibase/types" "1.2.27" "@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.26", "@budibase/types@^1.2.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.26.tgz#1ec924e269e89eaaf1f90805ad4b1d3783e895e3" - integrity sha512-PRwgN6CZfMdFjMcKItF5WoZ6Jy8GOUbbCwWLsEezknmF+fFab6uyRRJCys4iVwAxnv+Nw3Ixv4K5ngyUyYWDlw== +"@budibase/types@1.2.27", "@budibase/types@^1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.27.tgz#5d5d7e1ca87fcff57b1ddce0a89b675dedbaa1e5" + integrity sha512-/hr8yRldF/7mVOCr5TNd45npgbcauB+bK+lkARH7zRuYhrJegUDK8UZqRUSHRxkUmfmxsZeufsf2/o4Vgc3Qig== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 4d196ab196..a1d20c090f 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.27", - "@budibase/pro": "1.2.26", + "@budibase/pro": "1.2.27", "@budibase/string-templates": "^1.2.27", "@budibase/types": "^1.2.27", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index eade3eb700..1a9ec80bbe 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.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.26.tgz#1a6ad75955ea8535c1775f02ffe26d8a0fd1029f" - integrity sha512-cYcPfVXP4Yah5W5KEfvhyWlLGb1o3a0VTC4+rvEiGW/mG0yrKEVAU+kcVlp2J9I8oCdShSSN1eNIRQGTT7Kneg== +"@budibase/backend-core@1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.27.tgz#7924f0917e0378b62a0ee2f45f672b264e8fbf89" + integrity sha512-dFKp7LhUMMUKsEUY2qDrONHUiPz7pLyOesrRpZElVj6/LldJN4XOUFVu/3xFClvGSGNtP9FVifbAKlNKodZI5w== dependencies: - "@budibase/types" "^1.2.26" + "@budibase/types" "^1.2.27" "@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.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.26.tgz#37c6ba098fc90d3ef7fff73e0233c4c8314f4997" - integrity sha512-Vnne9BykcHRSU+UyTxFQTjfQQRsXqsWtv8Fw/FricxIaTLazwzXHI4nm8k5WUI6Ol4AAnlzessXmRMvxCluoPw== +"@budibase/pro@1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.27.tgz#a4291dc59d07bb1467e1b99be25941ba544bf787" + integrity sha512-MVmof/vGx41ev18QElIBNX6feygsyi6pFtDf/J+Kl+W+eSDySLjs2p5krG4PpQlZAFJ+X0DOPSWxxJSEdPqLQQ== dependencies: - "@budibase/backend-core" "1.2.26" - "@budibase/types" "1.2.26" + "@budibase/backend-core" "1.2.27" + "@budibase/types" "1.2.27" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.26", "@budibase/types@^1.2.26": - version "1.2.26" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.26.tgz#1ec924e269e89eaaf1f90805ad4b1d3783e895e3" - integrity sha512-PRwgN6CZfMdFjMcKItF5WoZ6Jy8GOUbbCwWLsEezknmF+fFab6uyRRJCys4iVwAxnv+Nw3Ixv4K5ngyUyYWDlw== +"@budibase/types@1.2.27", "@budibase/types@^1.2.27": + version "1.2.27" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.27.tgz#5d5d7e1ca87fcff57b1ddce0a89b675dedbaa1e5" + integrity sha512-/hr8yRldF/7mVOCr5TNd45npgbcauB+bK+lkARH7zRuYhrJegUDK8UZqRUSHRxkUmfmxsZeufsf2/o4Vgc3Qig== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0"