Merge pull request #6627 from Budibase/fix/june-fixes
Various fixes for release
This commit is contained in:
commit
bd87f0a9b3
|
@ -5,8 +5,9 @@
|
||||||
import { notifications } from "@budibase/bbui"
|
import { notifications } from "@budibase/bbui"
|
||||||
import RowFieldControl from "../RowFieldControl.svelte"
|
import RowFieldControl from "../RowFieldControl.svelte"
|
||||||
import { API } from "api"
|
import { API } from "api"
|
||||||
import { ModalContent, Select } from "@budibase/bbui"
|
import { ModalContent, Select, Link } from "@budibase/bbui"
|
||||||
import ErrorsBox from "components/common/ErrorsBox.svelte"
|
import ErrorsBox from "components/common/ErrorsBox.svelte"
|
||||||
|
import { goto } from "@roxi/routify"
|
||||||
|
|
||||||
export let row = {}
|
export let row = {}
|
||||||
|
|
||||||
|
@ -87,6 +88,15 @@
|
||||||
onConfirm={saveRow}
|
onConfirm={saveRow}
|
||||||
>
|
>
|
||||||
<ErrorsBox {errors} />
|
<ErrorsBox {errors} />
|
||||||
|
<!-- need to explain to the user the readonly fields -->
|
||||||
|
{#if !creating}
|
||||||
|
<div>
|
||||||
|
A user's email, role, first and last names cannot be changed from within
|
||||||
|
the app builder. Please go to the <Link
|
||||||
|
on:click={$goto("/builder/portal/manage/users")}>user portal</Link
|
||||||
|
> to do this.
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
<RowFieldControl
|
<RowFieldControl
|
||||||
meta={{ ...tableSchema.email, name: "Email" }}
|
meta={{ ...tableSchema.email, name: "Email" }}
|
||||||
bind:value={row.email}
|
bind:value={row.email}
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
|
await automationStore.actions.fetch()
|
||||||
const params = new URLSearchParams(window.location.search)
|
const params = new URLSearchParams(window.location.search)
|
||||||
const shouldOpen = params.get("open") === ERROR
|
const shouldOpen = params.get("open") === ERROR
|
||||||
// open with errors, open panel for latest
|
// open with errors, open panel for latest
|
||||||
|
|
|
@ -304,9 +304,11 @@
|
||||||
on:unpublish={e => unpublishApp(e.detail)}
|
on:unpublish={e => unpublishApp(e.detail)}
|
||||||
/>
|
/>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab title="Automation History">
|
{#if isPublished}
|
||||||
<HistoryTab app={selectedApp} />
|
<Tab title="Automation History">
|
||||||
</Tab>
|
<HistoryTab app={selectedApp} />
|
||||||
|
</Tab>
|
||||||
|
{/if}
|
||||||
{#if false}
|
{#if false}
|
||||||
<Tab title="Backups">
|
<Tab title="Backups">
|
||||||
<div class="container">Backups contents</div>
|
<div class="container">Backups contents</div>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2137,6 +2137,10 @@
|
||||||
"query": {
|
"query": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"allOr": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specifies that a row should be returned if it satisfies any of the specified options, rather than requiring it to fulfill all the search parameters. This defaults to false, meaning AND logic will be used."
|
||||||
|
},
|
||||||
"string": {
|
"string": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"example": {
|
"example": {
|
||||||
|
@ -2155,12 +2159,12 @@
|
||||||
},
|
},
|
||||||
"range": {
|
"range": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"description": "Searches within a range, the format of this must be columnName -> [low, high].",
|
"description": "Searches within a range, the format of this must be in the format of an object with a \"low\" and \"high\" property.",
|
||||||
"example": {
|
"example": {
|
||||||
"columnName1": [
|
"columnName1": {
|
||||||
10,
|
"low": 10,
|
||||||
20
|
"high": 20
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"equal": {
|
"equal": {
|
||||||
|
|
|
@ -1551,6 +1551,12 @@ paths:
|
||||||
query:
|
query:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
allOr:
|
||||||
|
type: boolean
|
||||||
|
description: Specifies that a row should be returned if it satisfies any of the
|
||||||
|
specified options, rather than requiring it to fulfill
|
||||||
|
all the search parameters. This defaults to false,
|
||||||
|
meaning AND logic will be used.
|
||||||
string:
|
string:
|
||||||
type: object
|
type: object
|
||||||
example:
|
example:
|
||||||
|
@ -1566,12 +1572,12 @@ paths:
|
||||||
description: A fuzzy search, only supported by internal tables.
|
description: A fuzzy search, only supported by internal tables.
|
||||||
range:
|
range:
|
||||||
type: object
|
type: object
|
||||||
description: Searches within a range, the format of this must be columnName ->
|
description: Searches within a range, the format of this must be in the format
|
||||||
[low, high].
|
of an object with a "low" and "high" property.
|
||||||
example:
|
example:
|
||||||
columnName1:
|
columnName1:
|
||||||
- 10
|
low: 10
|
||||||
- 20
|
high: 20
|
||||||
equal:
|
equal:
|
||||||
type: object
|
type: object
|
||||||
description: Searches for rows that have a column value that is exactly the
|
description: Searches for rows that have a column value that is exactly the
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const { getAllApps } = require("@budibase/backend-core/db")
|
const { getAllApps } = require("@budibase/backend-core/db")
|
||||||
const { updateAppId } = require("@budibase/backend-core/context")
|
const { updateAppId } = require("@budibase/backend-core/context")
|
||||||
import { search as stringSearch } from "./utils"
|
import { search as stringSearch, addRev } from "./utils"
|
||||||
import * as controller from "../application"
|
import * as controller from "../application"
|
||||||
import { Application } from "../../../definitions/common"
|
import { Application } from "../../../definitions/common"
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ export async function read(ctx: any, next: any) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function update(ctx: any, next: any) {
|
export async function update(ctx: any, next: any) {
|
||||||
ctx.request.body = fixAppID(ctx.request.body, ctx.params)
|
ctx.request.body = await addRev(fixAppID(ctx.request.body, ctx.params))
|
||||||
updateAppId(ctx.params.appId)
|
updateAppId(ctx.params.appId)
|
||||||
await controller.update(ctx)
|
await controller.update(ctx)
|
||||||
await setResponseApp(ctx)
|
await setResponseApp(ctx)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const { getAppDB } = require("@budibase/backend-core/context")
|
const { getAppDB } = require("@budibase/backend-core/context")
|
||||||
import { isExternalTable } from "../../../integrations/utils"
|
import { isExternalTable } from "../../../integrations/utils"
|
||||||
|
import { APP_PREFIX, DocumentTypes } from "../../../db/utils"
|
||||||
|
|
||||||
export async function addRev(
|
export async function addRev(
|
||||||
body: { _id?: string; _rev?: string },
|
body: { _id?: string; _rev?: string },
|
||||||
|
@ -8,9 +9,15 @@ export async function addRev(
|
||||||
if (!body._id || (tableId && isExternalTable(tableId))) {
|
if (!body._id || (tableId && isExternalTable(tableId))) {
|
||||||
return body
|
return body
|
||||||
}
|
}
|
||||||
|
let id = body._id
|
||||||
|
if (body._id.startsWith(APP_PREFIX)) {
|
||||||
|
id = DocumentTypes.APP_METADATA
|
||||||
|
}
|
||||||
const db = getAppDB()
|
const db = getAppDB()
|
||||||
const dbDoc = await db.get(body._id)
|
const dbDoc = await db.get(id)
|
||||||
body._rev = dbDoc._rev
|
body._rev = dbDoc._rev
|
||||||
|
// update ID in case it is an app ID
|
||||||
|
body._id = id
|
||||||
return body
|
return body
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ const { getAppId } = require("@budibase/backend-core/context")
|
||||||
class QueryBuilder {
|
class QueryBuilder {
|
||||||
constructor(base) {
|
constructor(base) {
|
||||||
this.query = {
|
this.query = {
|
||||||
|
allOr: false,
|
||||||
string: {},
|
string: {},
|
||||||
fuzzy: {},
|
fuzzy: {},
|
||||||
range: {},
|
range: {},
|
||||||
|
@ -146,8 +147,22 @@ class QueryBuilder {
|
||||||
|
|
||||||
buildSearchQuery() {
|
buildSearchQuery() {
|
||||||
const builder = this
|
const builder = this
|
||||||
let query = "*:*"
|
let allOr = this.query && this.query.allOr
|
||||||
|
let query = allOr ? "" : "*:*"
|
||||||
const allPreProcessingOpts = { escape: true, lowercase: true, wrap: true }
|
const allPreProcessingOpts = { escape: true, lowercase: true, wrap: true }
|
||||||
|
let tableId
|
||||||
|
if (this.query.equal.tableId) {
|
||||||
|
tableId = this.query.equal.tableId
|
||||||
|
delete this.query.equal.tableId
|
||||||
|
}
|
||||||
|
|
||||||
|
const equal = (key, value) => {
|
||||||
|
// 0 evaluates to false, which means we would return all rows if we don't check it
|
||||||
|
if (!value && value !== 0) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
||||||
|
}
|
||||||
|
|
||||||
function build(structure, queryFn) {
|
function build(structure, queryFn) {
|
||||||
for (let [key, value] of Object.entries(structure)) {
|
for (let [key, value] of Object.entries(structure)) {
|
||||||
|
@ -158,7 +173,10 @@ class QueryBuilder {
|
||||||
if (expression == null) {
|
if (expression == null) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
query += ` AND ${expression}`
|
if (query.length > 0) {
|
||||||
|
query += ` ${allOr ? "OR" : "AND"} `
|
||||||
|
}
|
||||||
|
query += expression
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,13 +222,7 @@ class QueryBuilder {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (this.query.equal) {
|
if (this.query.equal) {
|
||||||
build(this.query.equal, (key, value) => {
|
build(this.query.equal, equal)
|
||||||
// 0 evaluates to false, which means we would return all rows if we don't check it
|
|
||||||
if (!value && value !== 0) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
if (this.query.notEqual) {
|
if (this.query.notEqual) {
|
||||||
build(this.query.notEqual, (key, value) => {
|
build(this.query.notEqual, (key, value) => {
|
||||||
|
@ -248,6 +260,12 @@ class QueryBuilder {
|
||||||
return `${key}:(${orStatement})`
|
return `${key}:(${orStatement})`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// make sure table ID is always added as an AND
|
||||||
|
if (tableId) {
|
||||||
|
query = `(${query})`
|
||||||
|
allOr = false
|
||||||
|
build({ tableId }, equal)
|
||||||
|
}
|
||||||
return query
|
return query
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -150,6 +150,11 @@ read.push(new Endpoint("get", "/tables/:tableId/rows/:rowId", controller.read))
|
||||||
* query:
|
* query:
|
||||||
* type: object
|
* type: object
|
||||||
* properties:
|
* properties:
|
||||||
|
* allOr:
|
||||||
|
* type: boolean
|
||||||
|
* description: Specifies that a row should be returned if it satisfies
|
||||||
|
* any of the specified options, rather than requiring it to fulfill all
|
||||||
|
* the search parameters. This defaults to false, meaning AND logic will be used.
|
||||||
* string:
|
* string:
|
||||||
* type: object
|
* type: object
|
||||||
* example:
|
* example:
|
||||||
|
@ -167,9 +172,9 @@ read.push(new Endpoint("get", "/tables/:tableId/rows/:rowId", controller.read))
|
||||||
* range:
|
* range:
|
||||||
* type: object
|
* type: object
|
||||||
* description: Searches within a range, the format of this must be
|
* description: Searches within a range, the format of this must be
|
||||||
* columnName -> [low, high].
|
* in the format of an object with a "low" and "high" property.
|
||||||
* example:
|
* example:
|
||||||
* columnName1: [10, 20]
|
* columnName1: { low: 10, high: 20 }
|
||||||
* equal:
|
* equal:
|
||||||
* type: object
|
* type: object
|
||||||
* description: Searches for rows that have a column value that is
|
* description: Searches for rows that have a column value that is
|
||||||
|
|
|
@ -58,6 +58,7 @@ function filterObject() {
|
||||||
oneOf: Joi.object().optional(),
|
oneOf: Joi.object().optional(),
|
||||||
contains: Joi.object().optional(),
|
contains: Joi.object().optional(),
|
||||||
notContains: Joi.object().optional(),
|
notContains: Joi.object().optional(),
|
||||||
|
allOr: Joi.boolean().optional(),
|
||||||
}).unknown(true)
|
}).unknown(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1080,11 +1080,12 @@
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||||
|
|
||||||
"@budibase/backend-core@1.0.218":
|
"@budibase/backend-core@1.0.219-alpha.17":
|
||||||
version "1.0.218"
|
version "1.0.219-alpha.17"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.218.tgz#be101c8baf220fa3fc55d63071bb38fc6c8cf4d8"
|
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.219-alpha.17.tgz#eacb5feb851f6a20771d9505d38f123398e5dc06"
|
||||||
integrity sha512-v9+bvQ2+OsK7eGyDHzMuPawTu2LovRCsuArFeMnaG/AbexkqnbB74w+h3vh/2npuHzrnk8RZkM2c4pp/ycqfKw==
|
integrity sha512-cR0MLkXOuVht/1cqXspFaduGeaEroe/JfIkidss1OVvi2E5YjcUjDgZIYvlNiUTnh1ggGv7ql4AI4CZDk5LaHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@budibase/types" "^1.0.219-alpha.17"
|
||||||
"@techpass/passport-openidconnect" "0.3.2"
|
"@techpass/passport-openidconnect" "0.3.2"
|
||||||
aws-sdk "2.1030.0"
|
aws-sdk "2.1030.0"
|
||||||
bcrypt "5.0.1"
|
bcrypt "5.0.1"
|
||||||
|
@ -1161,12 +1162,13 @@
|
||||||
svelte-flatpickr "^3.2.3"
|
svelte-flatpickr "^3.2.3"
|
||||||
svelte-portal "^1.0.0"
|
svelte-portal "^1.0.0"
|
||||||
|
|
||||||
"@budibase/pro@1.0.218":
|
"@budibase/pro@1.0.219-alpha.17":
|
||||||
version "1.0.218"
|
version "1.0.219-alpha.17"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.218.tgz#b9e5bb95cca996dc1f7f783a3a02e51cbbf3df55"
|
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.219-alpha.17.tgz#bedf4b9e84e8225855e22526b0b1dcc760c6ccfe"
|
||||||
integrity sha512-LJpV4rYPP9DzMNkL2Y0euZplkubBKBE+gc5JBTMt1l9Fwn2Sri/Y5bQ+U8fjczjmHxYnZLrFwH+o6LCnk/QJow==
|
integrity sha512-bQGkeqzZL+fzQ69oFYnEIwGJ3v8kCXxl6jlMqLEW3r2MQQlsS53c7Z4keRQ0bSOclTLg7eYTj6lDvy+0UI0Wpg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@budibase/backend-core" "1.0.218"
|
"@budibase/backend-core" "1.0.219-alpha.17"
|
||||||
|
"@budibase/types" "1.0.219-alpha.17"
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
|
|
||||||
"@budibase/standard-components@^0.9.139":
|
"@budibase/standard-components@^0.9.139":
|
||||||
|
@ -1187,6 +1189,16 @@
|
||||||
svelte-apexcharts "^1.0.2"
|
svelte-apexcharts "^1.0.2"
|
||||||
svelte-flatpickr "^3.1.0"
|
svelte-flatpickr "^3.1.0"
|
||||||
|
|
||||||
|
"@budibase/types@1.0.219-alpha.17":
|
||||||
|
version "1.0.219-alpha.17"
|
||||||
|
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.0.219-alpha.17.tgz#f91c820e8be9bbc7a588fb5ede22f0494012947e"
|
||||||
|
integrity sha512-pWXdKMINgtb5usaKnTPZ5EdE0e8jiegF0zg1460ULVFuYH4Ibs94N1VVyHT/UuqEeTjQXhrGGIcRFUQF88KvBQ==
|
||||||
|
|
||||||
|
"@budibase/types@^1.0.219-alpha.17":
|
||||||
|
version "1.0.219"
|
||||||
|
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.0.219.tgz#817fd90f0604048c222b9a0a1059acf3407c88ff"
|
||||||
|
integrity sha512-aPYpwEBsP60oKZzz1gP4j+SaiVxebUe/ZExQqdnhzl9qAj8PzXVD8dKR/oozXqZHJ37hgkgai7i83eXDqeU/qQ==
|
||||||
|
|
||||||
"@bull-board/api@3.7.0":
|
"@bull-board/api@3.7.0":
|
||||||
version "3.7.0"
|
version "3.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/@bull-board/api/-/api-3.7.0.tgz#231f687187c0cb34e0b97f463917b6aaeb4ef6af"
|
resolved "https://registry.yarnpkg.com/@bull-board/api/-/api-3.7.0.tgz#231f687187c0cb34e0b97f463917b6aaeb4ef6af"
|
||||||
|
|
|
@ -293,11 +293,12 @@
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||||
|
|
||||||
"@budibase/backend-core@1.0.218":
|
"@budibase/backend-core@1.0.219-alpha.17":
|
||||||
version "1.0.218"
|
version "1.0.219-alpha.17"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.218.tgz#be101c8baf220fa3fc55d63071bb38fc6c8cf4d8"
|
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.219-alpha.17.tgz#eacb5feb851f6a20771d9505d38f123398e5dc06"
|
||||||
integrity sha512-v9+bvQ2+OsK7eGyDHzMuPawTu2LovRCsuArFeMnaG/AbexkqnbB74w+h3vh/2npuHzrnk8RZkM2c4pp/ycqfKw==
|
integrity sha512-cR0MLkXOuVht/1cqXspFaduGeaEroe/JfIkidss1OVvi2E5YjcUjDgZIYvlNiUTnh1ggGv7ql4AI4CZDk5LaHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@budibase/types" "^1.0.219-alpha.17"
|
||||||
"@techpass/passport-openidconnect" "0.3.2"
|
"@techpass/passport-openidconnect" "0.3.2"
|
||||||
aws-sdk "2.1030.0"
|
aws-sdk "2.1030.0"
|
||||||
bcrypt "5.0.1"
|
bcrypt "5.0.1"
|
||||||
|
@ -325,14 +326,25 @@
|
||||||
uuid "8.3.2"
|
uuid "8.3.2"
|
||||||
zlib "1.0.5"
|
zlib "1.0.5"
|
||||||
|
|
||||||
"@budibase/pro@1.0.218":
|
"@budibase/pro@1.0.219-alpha.17":
|
||||||
version "1.0.218"
|
version "1.0.219-alpha.17"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.218.tgz#b9e5bb95cca996dc1f7f783a3a02e51cbbf3df55"
|
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.219-alpha.17.tgz#bedf4b9e84e8225855e22526b0b1dcc760c6ccfe"
|
||||||
integrity sha512-LJpV4rYPP9DzMNkL2Y0euZplkubBKBE+gc5JBTMt1l9Fwn2Sri/Y5bQ+U8fjczjmHxYnZLrFwH+o6LCnk/QJow==
|
integrity sha512-bQGkeqzZL+fzQ69oFYnEIwGJ3v8kCXxl6jlMqLEW3r2MQQlsS53c7Z4keRQ0bSOclTLg7eYTj6lDvy+0UI0Wpg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@budibase/backend-core" "1.0.218"
|
"@budibase/backend-core" "1.0.219-alpha.17"
|
||||||
|
"@budibase/types" "1.0.219-alpha.17"
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
|
|
||||||
|
"@budibase/types@1.0.219-alpha.17":
|
||||||
|
version "1.0.219-alpha.17"
|
||||||
|
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.0.219-alpha.17.tgz#f91c820e8be9bbc7a588fb5ede22f0494012947e"
|
||||||
|
integrity sha512-pWXdKMINgtb5usaKnTPZ5EdE0e8jiegF0zg1460ULVFuYH4Ibs94N1VVyHT/UuqEeTjQXhrGGIcRFUQF88KvBQ==
|
||||||
|
|
||||||
|
"@budibase/types@^1.0.219-alpha.17":
|
||||||
|
version "1.0.219"
|
||||||
|
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.0.219.tgz#817fd90f0604048c222b9a0a1059acf3407c88ff"
|
||||||
|
integrity sha512-aPYpwEBsP60oKZzz1gP4j+SaiVxebUe/ZExQqdnhzl9qAj8PzXVD8dKR/oozXqZHJ37hgkgai7i83eXDqeU/qQ==
|
||||||
|
|
||||||
"@cspotcode/source-map-consumer@0.8.0":
|
"@cspotcode/source-map-consumer@0.8.0":
|
||||||
version "0.8.0"
|
version "0.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
||||||
|
|
Loading…
Reference in New Issue