From 3b5f9ed3e26b5b1286efe166528c0acabb2fb642 Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 18 Jul 2022 13:34:40 +0900
Subject: [PATCH 001/300] Fix popover min-width to have parents full width
---
packages/bbui/src/Popover/Popover.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/bbui/src/Popover/Popover.svelte b/packages/bbui/src/Popover/Popover.svelte
index 1017ef71fc..756e5e6a09 100644
--- a/packages/bbui/src/Popover/Popover.svelte
+++ b/packages/bbui/src/Popover/Popover.svelte
@@ -63,7 +63,7 @@
diff --git a/packages/string-templates/src/conversion/index.js b/packages/string-templates/src/conversion/index.js
new file mode 100644
index 0000000000..62abdf6f54
--- /dev/null
+++ b/packages/string-templates/src/conversion/index.js
@@ -0,0 +1,87 @@
+const { getHelperList } = require("../helpers")
+
+function getLayers(fullBlock) {
+ let layers = []
+ while (fullBlock.length) {
+ const start = fullBlock.lastIndexOf("("),
+ end = fullBlock.indexOf(")")
+ let layer
+ if (start === -1 || end === -1) {
+ layer = fullBlock.trim()
+ fullBlock = ""
+ } else {
+ const untrimmed = fullBlock.substring(start, end + 1)
+ layer = untrimmed.substring(1, untrimmed.length - 1).trim()
+ fullBlock =
+ fullBlock.slice(0, start) +
+ fullBlock.slice(start + untrimmed.length + 1, fullBlock.length)
+ }
+ layers.push(layer)
+ }
+ return layers
+}
+
+function getVariable(variableName) {
+ return isNaN(parseFloat(variableName)) ? `$("${variableName}")` : variableName
+}
+
+function buildList(parts, value) {
+ function build() {
+ return parts
+ .map(part => (part.startsWith("helper") ? part : getVariable(part)))
+ .join(", ")
+ }
+ if (!value) {
+ return parts.length > 1 ? `...[${build()}]` : build()
+ } else {
+ return parts.length === 0 ? value : `...[${value}, ${build()}]`
+ }
+}
+
+function splitBySpace(layer) {
+ const parts = []
+ let started = null,
+ last = 0
+ for (let index = 0; index < layer.length; index++) {
+ const char = layer[index]
+ if (char === "[" && started == null) {
+ started = index
+ } else if (char === "]" && started != null && layer[index + 1] !== ".") {
+ parts.push(layer.substring(started, index + 1).trim())
+ started = null
+ last = index
+ } else if (started == null && char === " ") {
+ parts.push(layer.substring(last, index).trim())
+ last = index
+ }
+ }
+ if (!layer.startsWith("[")) {
+ parts.push(layer.substring(last, layer.length).trim())
+ }
+ return parts
+}
+
+module.exports.convertHBSBlock = (block, blockNumber) => {
+ const braceLength = block[2] === "{" ? 3 : 2
+ block = block.substring(braceLength, block.length - braceLength).trim()
+ const layers = getLayers(block)
+
+ let value = null
+ const list = getHelperList()
+ for (let layer of layers) {
+ const parts = splitBySpace(layer)
+ if (value || parts.length > 1) {
+ // first of layer should always be the helper
+ const helper = parts.splice(0, 1)
+ if (list[helper]) {
+ value = `helpers.${helper}(${buildList(parts, value)})`
+ }
+ }
+ // no helpers
+ else {
+ value = getVariable(parts[0])
+ }
+ }
+ // split by space will remove square brackets
+ return { variable: `var${blockNumber}`, value }
+}
diff --git a/packages/string-templates/src/helpers/external.js b/packages/string-templates/src/helpers/external.js
index 0fa7f734d0..f461045f71 100644
--- a/packages/string-templates/src/helpers/external.js
+++ b/packages/string-templates/src/helpers/external.js
@@ -23,6 +23,9 @@ const ADDED_HELPERS = {
duration: duration,
}
+exports.externalCollections = EXTERNAL_FUNCTION_COLLECTIONS
+exports.addedHelpers = ADDED_HELPERS
+
exports.registerAll = handlebars => {
for (let [name, helper] of Object.entries(ADDED_HELPERS)) {
handlebars.registerHelper(name, helper)
diff --git a/packages/string-templates/src/helpers/index.js b/packages/string-templates/src/helpers/index.js
index 76a4c5d2ca..f04fa58399 100644
--- a/packages/string-templates/src/helpers/index.js
+++ b/packages/string-templates/src/helpers/index.js
@@ -7,6 +7,7 @@ const {
HelperFunctionBuiltin,
LITERAL_MARKER,
} = require("./constants")
+const { getHelperList } = require("./list")
const HTML_SWAPS = {
"<": "<",
@@ -91,3 +92,5 @@ module.exports.unregisterAll = handlebars => {
// unregister all imported helpers
externalHandlebars.unregisterAll(handlebars)
}
+
+module.exports.getHelperList = getHelperList
diff --git a/packages/string-templates/src/helpers/javascript.js b/packages/string-templates/src/helpers/javascript.js
index 0173be0b54..951a9f534a 100644
--- a/packages/string-templates/src/helpers/javascript.js
+++ b/packages/string-templates/src/helpers/javascript.js
@@ -1,6 +1,7 @@
const { atob } = require("../utilities")
const { cloneDeep } = require("lodash/fp")
const { LITERAL_MARKER } = require("../helpers/constants")
+const { getHelperList } = require("./list")
// The method of executing JS scripts depends on the bundle being built.
// This setter is used in the entrypoint (either index.cjs or index.mjs).
@@ -45,6 +46,7 @@ module.exports.processJS = (handlebars, context) => {
// app context.
const sandboxContext = {
$: path => getContextValue(path, cloneDeep(context)),
+ helpers: getHelperList(),
}
// Create a sandbox with our context and run the JS
diff --git a/packages/string-templates/src/helpers/list.js b/packages/string-templates/src/helpers/list.js
new file mode 100644
index 0000000000..a309b9e57f
--- /dev/null
+++ b/packages/string-templates/src/helpers/list.js
@@ -0,0 +1,19 @@
+const externalHandlebars = require("./external")
+const helperList = require("@budibase/handlebars-helpers")
+
+module.exports.getHelperList = () => {
+ let constructed = []
+ for (let collection of externalHandlebars.externalCollections) {
+ constructed.push(helperList[collection]())
+ }
+ const fullMap = {}
+ for (let collection of constructed) {
+ for (let [key, func] of Object.entries(collection)) {
+ fullMap[key] = func
+ }
+ }
+ for (let key of Object.keys(externalHandlebars.addedHelpers)) {
+ fullMap[key] = externalHandlebars.addedHelpers[key]
+ }
+ return fullMap
+}
diff --git a/packages/string-templates/src/index.cjs b/packages/string-templates/src/index.cjs
index d0de680aca..870e14493a 100644
--- a/packages/string-templates/src/index.cjs
+++ b/packages/string-templates/src/index.cjs
@@ -19,6 +19,7 @@ module.exports.doesContainStrings = templates.doesContainStrings
module.exports.doesContainString = templates.doesContainString
module.exports.disableEscaping = templates.disableEscaping
module.exports.findHBSBlocks = templates.findHBSBlocks
+module.exports.convertToJS = templates.convertToJS
/**
* Use vm2 to run JS scripts in a node env
diff --git a/packages/string-templates/src/index.js b/packages/string-templates/src/index.js
index f4feceac4b..eae545de14 100644
--- a/packages/string-templates/src/index.js
+++ b/packages/string-templates/src/index.js
@@ -8,6 +8,7 @@ const {
FIND_ANY_HBS_REGEX,
findDoubleHbsInstances,
} = require("./utilities")
+const { convertHBSBlock } = require("./conversion")
const hbsInstance = handlebars.create()
registerAll(hbsInstance)
@@ -342,3 +343,31 @@ module.exports.findHBSBlocks = string => {
module.exports.doesContainString = (template, string) => {
return exports.doesContainStrings(template, [string])
}
+
+module.exports.convertToJS = hbs => {
+ const blocks = exports.findHBSBlocks(hbs)
+ let js = "return `",
+ prevBlock = null
+ const variables = {}
+ if (blocks.length === 0) {
+ js += hbs
+ }
+ let count = 1
+ for (let block of blocks) {
+ let stringPart = hbs
+ if (prevBlock) {
+ stringPart = stringPart.split(prevBlock)[1]
+ }
+ stringPart = stringPart.split(block)[0]
+ prevBlock = block
+ const { variable, value } = convertHBSBlock(block, count++)
+ variables[variable] = value
+ js += `${stringPart.split()}\${${variable}}`
+ }
+ let varBlock = ""
+ for (let [variable, value] of Object.entries(variables)) {
+ varBlock += `const ${variable} = ${value};\n`
+ }
+ js += "`;"
+ return `${varBlock}${js}`
+}
diff --git a/packages/string-templates/src/index.mjs b/packages/string-templates/src/index.mjs
index 3d115cdec1..34cb90ea34 100644
--- a/packages/string-templates/src/index.mjs
+++ b/packages/string-templates/src/index.mjs
@@ -19,6 +19,7 @@ export const doesContainStrings = templates.doesContainStrings
export const doesContainString = templates.doesContainString
export const disableEscaping = templates.disableEscaping
export const findHBSBlocks = templates.findHBSBlocks
+export const convertToJS = templates.convertToJS
/**
* Use polyfilled vm to run JS scripts in a browser Env
diff --git a/packages/string-templates/test/hbsToJs.spec.js b/packages/string-templates/test/hbsToJs.spec.js
new file mode 100644
index 0000000000..1197907b29
--- /dev/null
+++ b/packages/string-templates/test/hbsToJs.spec.js
@@ -0,0 +1,84 @@
+const {
+ convertToJS
+} = require("../src/index.cjs")
+
+function checkLines(response, lines) {
+ const toCheck = response.split("\n")
+ let count = 0
+ for (let line of lines) {
+ expect(toCheck[count++]).toBe(line)
+ }
+}
+
+describe("Test that the string processing works correctly", () => {
+ it("should convert string without HBS", () => {
+ const response = convertToJS("Hello my name is Michael")
+ expect(response).toBe("return `Hello my name is Michael`;")
+ })
+
+ it("basic example with square brackets", () => {
+ const response = convertToJS("{{ [query] }}")
+ checkLines(response, [
+ "const var1 = $(\"[query]\");",
+ "return `${var1}`;",
+ ])
+ })
+
+ it("should convert some basic HBS strings", () => {
+ const response = convertToJS("Hello {{ name }}, welcome to {{ company }}!")
+ checkLines(response, [
+ "const var1 = $(\"name\");",
+ "const var2 = $(\"company\");",
+ "return `Hello ${var1}, welcome to ${var2}`;",
+ ])
+ })
+
+ it("should handle a helper block", () => {
+ const response = convertToJS("This is the average: {{ avg array }}")
+ checkLines(response, [
+ "const var1 = helpers.avg($(\"array\"));",
+ "return `This is the average: ${var1}`;",
+ ])
+ })
+
+ it("should handle multi-variable helper", () => {
+ const response = convertToJS("This is the average: {{ join ( avg val1 val2 val3 ) }}")
+ checkLines(response, [
+ "const var1 = helpers.join(helpers.avg(...[$(\"val1\"), $(\"val2\"), $(\"val3\")]));",
+ "return `This is the average: ${var1}`;",
+ ])
+ })
+
+ it("should handle a complex statement", () => {
+ const response = convertToJS("This is the average: {{ join ( avg val1 val2 val3 ) val4 }}")
+ checkLines(response, [
+ "const var1 = helpers.join(...[helpers.avg(...[$(\"val1\"), $(\"val2\"), $(\"val3\")]), $(\"val4\")]);",
+ "return `This is the average: ${var1}`;",
+ ])
+ })
+
+ it("should handle square brackets", () => {
+ const response = convertToJS("This is: {{ [val thing] }}")
+ checkLines(response, [
+ "const var1 = $(\"[val thing]\");",
+ "return `This is: ${var1}`;",
+ ])
+ })
+
+ it("should handle square brackets with properties", () => {
+ const response = convertToJS("{{ [user].[_id] }}")
+ checkLines(response, [
+ "const var1 = $(\"[user].[_id]\");",
+ "return `${var1}`;",
+ ])
+ })
+
+ it("should handle multiple complex statements", () => {
+ const response = convertToJS("average: {{ avg ( abs val1 ) val2 }} add: {{ add 1 2 }}")
+ checkLines(response, [
+ "const var1 = helpers.avg(...[helpers.abs($(\"val1\")), $(\"val2\")]);",
+ "const var2 = helpers.add(...[1, 2]);",
+ "return `average: ${var1} add: ${var2}`;",
+ ])
+ })
+})
\ No newline at end of file
From 011b97d57fda9643ba325ee7a1fd6681abb66448 Mon Sep 17 00:00:00 2001
From: NEOLPAR
Date: Thu, 28 Jul 2022 20:35:43 +0100
Subject: [PATCH 031/300] important note for pro modifications
---
.github/workflows/README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index e70b3ce39d..9367ce7073 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -119,6 +119,8 @@ This job is responsible for deploying to our production, cloud kubernetes enviro
## Pro
+| **NOTE**: When developing for both pro / budibase repositories, your branch names need to match, or else the correct pro image doesn't get run within your CI job.
+
### Installing Pro
The pro package is always installed from source in our CI jobs.
From 7a6efe3ea8403960d7c27cb9f9d6ae17b60cd5c6 Mon Sep 17 00:00:00 2001
From: mike12345567
Date: Fri, 29 Jul 2022 09:50:53 +0100
Subject: [PATCH 032/300] Some minor fixes for edge cases.
---
.../common/bindings/BindingPanel.svelte | 2 +-
.../string-templates/src/conversion/index.js | 11 +++++----
.../string-templates/test/hbsToJs.spec.js | 24 +++++++++++++++----
3 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte
index 6f0bc4615a..2a9a64b455 100644
--- a/packages/builder/src/components/common/bindings/BindingPanel.svelte
+++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte
@@ -62,7 +62,7 @@
const updateValue = val => {
valid = isValid(readableToRuntimeBinding(bindings, val))
- console.log(decodeJSBinding(readableToRuntimeBinding(bindings, val)))
+ console.log(readableToRuntimeBinding(bindings, val))
if (valid) {
dispatch("change", val)
}
diff --git a/packages/string-templates/src/conversion/index.js b/packages/string-templates/src/conversion/index.js
index 62abdf6f54..51b760b8c5 100644
--- a/packages/string-templates/src/conversion/index.js
+++ b/packages/string-templates/src/conversion/index.js
@@ -32,9 +32,9 @@ function buildList(parts, value) {
.join(", ")
}
if (!value) {
- return parts.length > 1 ? `...[${build()}]` : build()
+ return parts.length > 1 ? `${build()}` : build()
} else {
- return parts.length === 0 ? value : `...[${value}, ${build()}]`
+ return parts.length === 0 ? value : `${value}, ${build()}`
}
}
@@ -50,12 +50,15 @@ function splitBySpace(layer) {
parts.push(layer.substring(started, index + 1).trim())
started = null
last = index
- } else if (started == null && char === " ") {
+ } else if (started == null && char === " " && last !== index - 1) {
parts.push(layer.substring(last, index).trim())
last = index
}
}
- if (!layer.startsWith("[")) {
+ if (
+ (!layer.startsWith("[") || parts.length === 0) &&
+ last !== layer.length - 1
+ ) {
parts.push(layer.substring(last, layer.length).trim())
}
return parts
diff --git a/packages/string-templates/test/hbsToJs.spec.js b/packages/string-templates/test/hbsToJs.spec.js
index 1197907b29..aca2e931fc 100644
--- a/packages/string-templates/test/hbsToJs.spec.js
+++ b/packages/string-templates/test/hbsToJs.spec.js
@@ -24,6 +24,14 @@ describe("Test that the string processing works correctly", () => {
])
})
+ it("handle properties", () => {
+ const response = convertToJS("{{ [query].id }}")
+ checkLines(response, [
+ "const var1 = $(\"[query].id\");",
+ "return `${var1}`;",
+ ])
+ })
+
it("should convert some basic HBS strings", () => {
const response = convertToJS("Hello {{ name }}, welcome to {{ company }}!")
checkLines(response, [
@@ -33,6 +41,14 @@ describe("Test that the string processing works correctly", () => {
])
})
+ it("Should handle many square brackets in helpers", () => {
+ const response = convertToJS("Hello {{ avg [user].[_id] [user].[_rev] }}")
+ checkLines(response, [
+ "const var1 = helpers.avg($(\"[user].[_id]\"), $(\"[user].[_rev]\"));",
+ "return `Hello ${var1}`;"
+ ])
+ })
+
it("should handle a helper block", () => {
const response = convertToJS("This is the average: {{ avg array }}")
checkLines(response, [
@@ -44,7 +60,7 @@ describe("Test that the string processing works correctly", () => {
it("should handle multi-variable helper", () => {
const response = convertToJS("This is the average: {{ join ( avg val1 val2 val3 ) }}")
checkLines(response, [
- "const var1 = helpers.join(helpers.avg(...[$(\"val1\"), $(\"val2\"), $(\"val3\")]));",
+ "const var1 = helpers.join(helpers.avg($(\"val1\"), $(\"val2\"), $(\"val3\")));",
"return `This is the average: ${var1}`;",
])
})
@@ -52,7 +68,7 @@ describe("Test that the string processing works correctly", () => {
it("should handle a complex statement", () => {
const response = convertToJS("This is the average: {{ join ( avg val1 val2 val3 ) val4 }}")
checkLines(response, [
- "const var1 = helpers.join(...[helpers.avg(...[$(\"val1\"), $(\"val2\"), $(\"val3\")]), $(\"val4\")]);",
+ "const var1 = helpers.join(helpers.avg($(\"val1\"), $(\"val2\"), $(\"val3\")), $(\"val4\"));",
"return `This is the average: ${var1}`;",
])
})
@@ -76,8 +92,8 @@ describe("Test that the string processing works correctly", () => {
it("should handle multiple complex statements", () => {
const response = convertToJS("average: {{ avg ( abs val1 ) val2 }} add: {{ add 1 2 }}")
checkLines(response, [
- "const var1 = helpers.avg(...[helpers.abs($(\"val1\")), $(\"val2\")]);",
- "const var2 = helpers.add(...[1, 2]);",
+ "const var1 = helpers.avg(helpers.abs($(\"val1\")), $(\"val2\"));",
+ "const var2 = helpers.add(1, 2);",
"return `average: ${var1} add: ${var2}`;",
])
})
From b4a8109cf0e37ca36ebe1da746936a611d5fbf9d Mon Sep 17 00:00:00 2001
From: mike12345567
Date: Fri, 29 Jul 2022 14:12:04 +0100
Subject: [PATCH 033/300] Adding the examples and helper add functionality for
JS as well as hiding button to convert outside of development environment.
---
.../common/bindings/BindingPanel.svelte | 48 ++++++++++++----
.../src/components/common/bindings/utils.js | 8 ++-
packages/string-templates/manifest.json | 2 +-
.../scripts/gen-collection-info.js | 6 +-
.../string-templates/src/conversion/index.js | 55 ++++++++++++++++---
.../string-templates/test/hbsToJs.spec.js | 36 +++++++++++-
6 files changed, 129 insertions(+), 26 deletions(-)
diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte
index 2a9a64b455..4dc9d9700e 100644
--- a/packages/builder/src/components/common/bindings/BindingPanel.svelte
+++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte
@@ -24,6 +24,7 @@
import { addHBSBinding, addJSBinding } from "./utils"
import CodeMirrorEditor from "components/common/CodeMirrorEditor.svelte"
import { convertToJS } from "@budibase/string-templates"
+ import { admin } from "stores/portal"
const dispatch = createEventDispatcher()
@@ -62,16 +63,24 @@
const updateValue = val => {
valid = isValid(readableToRuntimeBinding(bindings, val))
- console.log(readableToRuntimeBinding(bindings, val))
if (valid) {
dispatch("change", val)
}
}
- // Adds a HBS helper to the expression
- const addHelper = helper => {
- hbsValue = addHBSBinding(hbsValue, getCaretPosition(), helper.text)
- updateValue(hbsValue)
+ // Adds a JS/HBS helper to the expression
+ const addHelper = (helper, js) => {
+ let value
+ const pos = getCaretPosition()
+ if (js) {
+ const decoded = decodeJSBinding(jsValue)
+ value = jsValue = encodeJSBinding(
+ addJSBinding(decoded, pos, helper.text, { helper: true })
+ )
+ } else {
+ value = hbsValue = addHBSBinding(hbsValue, pos, helper.text)
+ }
+ updateValue(value)
}
// Adds a data binding to the expression
@@ -108,7 +117,6 @@
const convert = () => {
const runtime = readableToRuntimeBinding(bindings, hbsValue)
- console.log(runtime)
const runtimeJs = encodeJSBinding(convertToJS(runtime))
jsValue = runtimeToReadableBinding(bindings, runtimeJs)
hbsValue = null
@@ -116,6 +124,17 @@
addBinding("", { forceJS: true })
}
+ const getHelperExample = (helper, js) => {
+ let example = helper.example || ""
+ if (js) {
+ example = convertToJS(example).split("\n")[0].split("= ")[1]
+ if (example === "null;") {
+ example = ""
+ }
+ }
+ return example || ""
+ }
+
onMount(() => {
valid = isValid(readableToRuntimeBinding(bindings, value))
})
@@ -151,18 +170,21 @@
{/if}
{/each}
- {#if filteredHelpers?.length && !usingJS}
+ {#if filteredHelpers?.length}
Helpers
{#each filteredHelpers as helper}
- - addHelper(helper)}>
+
- addHelper(helper, usingJS)}>
{helper.displayText}
{@html helper.description}
-
{helper.example || ""}
+
{getHelperExample(
+ helper,
+ usingJS
+ )}
{/each}
@@ -188,9 +210,11 @@
for more details.
{/if}
-
-
-
+ {#if $admin.isDev}
+
+
+
+ {/if}
{#if allowJS}
diff --git a/packages/builder/src/components/common/bindings/utils.js b/packages/builder/src/components/common/bindings/utils.js
index 42a3f11677..c7b40604ad 100644
--- a/packages/builder/src/components/common/bindings/utils.js
+++ b/packages/builder/src/components/common/bindings/utils.js
@@ -18,10 +18,14 @@ export function addHBSBinding(value, caretPos, binding) {
return value
}
-export function addJSBinding(value, caretPos, binding) {
+export function addJSBinding(value, caretPos, binding, { helper } = {}) {
binding = typeof binding === "string" ? binding : binding.path
value = value == null ? "" : value
- binding = `$("${binding}")`
+ if (!helper) {
+ binding = `$("${binding}")`
+ } else {
+ binding = `helper.${binding}()`
+ }
if (caretPos.start) {
value =
value.substring(0, caretPos.start) +
diff --git a/packages/string-templates/manifest.json b/packages/string-templates/manifest.json
index 748330add2..f8600121f1 100644
--- a/packages/string-templates/manifest.json
+++ b/packages/string-templates/manifest.json
@@ -74,7 +74,7 @@
"b"
],
"numArgs": 2,
- "example": "{{ product 10 5 }} -> 50",
+ "example": "{{ multiply 10 5 }} -> 50",
"description": "Return the product of a
times b
.
\n"
},
"plus": {
diff --git a/packages/string-templates/scripts/gen-collection-info.js b/packages/string-templates/scripts/gen-collection-info.js
index 29df10423f..bfc0ec79ac 100644
--- a/packages/string-templates/scripts/gen-collection-info.js
+++ b/packages/string-templates/scripts/gen-collection-info.js
@@ -108,6 +108,10 @@ function getCommentInfo(file, func) {
if (examples.length > 0) {
docs.example = examples.join(" ")
}
+ // hacky example fix
+ if (docs.example && docs.example.includes("product")) {
+ docs.example = docs.example.replace("product", "multiply")
+ }
docs.description = blocks[0].trim()
return docs
}
@@ -166,7 +170,7 @@ function run() {
// convert all markdown to HTML
for (let collection of Object.values(outputJSON)) {
for (let helper of Object.values(collection)) {
- helper.description = marked(helper.description)
+ helper.description = marked.parse(helper.description)
}
}
fs.writeFileSync(FILENAME, JSON.stringify(outputJSON, null, 2))
diff --git a/packages/string-templates/src/conversion/index.js b/packages/string-templates/src/conversion/index.js
index 51b760b8c5..bbe0c33942 100644
--- a/packages/string-templates/src/conversion/index.js
+++ b/packages/string-templates/src/conversion/index.js
@@ -22,7 +22,29 @@ function getLayers(fullBlock) {
}
function getVariable(variableName) {
- return isNaN(parseFloat(variableName)) ? `$("${variableName}")` : variableName
+ if (!variableName || typeof variableName !== "string") {
+ return variableName
+ }
+ // it is an array
+ const arrayOrObject = [",", "{", ":"]
+ let contains = false
+ arrayOrObject.forEach(char => {
+ if (variableName.includes(char)) {
+ contains = true
+ }
+ })
+ if (variableName.startsWith("[") && contains) {
+ return variableName
+ }
+ // it is just a number
+ if (!isNaN(parseFloat(variableName))) {
+ return variableName
+ }
+ if (variableName.startsWith("'") || variableName.startsWith('"')) {
+ return variableName
+ }
+ // extract variable
+ return `$("${variableName}")`
}
function buildList(parts, value) {
@@ -41,17 +63,34 @@ function buildList(parts, value) {
function splitBySpace(layer) {
const parts = []
let started = null,
+ endChar = null,
last = 0
+ function add(str) {
+ const startsWith = ["]"]
+ while (startsWith.indexOf(str.substring(0, 1)) !== -1) {
+ str = str.substring(1, str.length)
+ }
+ if (str.length > 0) {
+ parts.push(str.trim())
+ }
+ }
+ const continuationChars = ["[", "'", '"']
for (let index = 0; index < layer.length; index++) {
const char = layer[index]
- if (char === "[" && started == null) {
+ if (continuationChars.indexOf(char) !== -1 && started == null) {
started = index
- } else if (char === "]" && started != null && layer[index + 1] !== ".") {
- parts.push(layer.substring(started, index + 1).trim())
+ endChar = char === "[" ? "]" : char
+ } else if (
+ char === endChar &&
+ started != null &&
+ layer[index + 1] !== "."
+ ) {
+ add(layer.substring(started, index + 1))
started = null
- last = index
- } else if (started == null && char === " " && last !== index - 1) {
- parts.push(layer.substring(last, index).trim())
+ endChar = null
+ last = index + 1
+ } else if (started == null && char === " ") {
+ add(layer.substring(last, index))
last = index
}
}
@@ -59,7 +98,7 @@ function splitBySpace(layer) {
(!layer.startsWith("[") || parts.length === 0) &&
last !== layer.length - 1
) {
- parts.push(layer.substring(last, layer.length).trim())
+ add(layer.substring(last, layer.length))
}
return parts
}
diff --git a/packages/string-templates/test/hbsToJs.spec.js b/packages/string-templates/test/hbsToJs.spec.js
index aca2e931fc..63bd80db81 100644
--- a/packages/string-templates/test/hbsToJs.spec.js
+++ b/packages/string-templates/test/hbsToJs.spec.js
@@ -41,11 +41,43 @@ describe("Test that the string processing works correctly", () => {
])
})
- it("Should handle many square brackets in helpers", () => {
+ it("should handle many square brackets in helpers", () => {
const response = convertToJS("Hello {{ avg [user].[_id] [user].[_rev] }}")
checkLines(response, [
"const var1 = helpers.avg($(\"[user].[_id]\"), $(\"[user].[_rev]\"));",
- "return `Hello ${var1}`;"
+ "return `Hello ${var1}`;",
+ ])
+ })
+
+ it("should handle one of the examples (after)", () => {
+ const response = convertToJS("{{ after [1, 2, 3] 1}}")
+ checkLines(response, [
+ "const var1 = helpers.after([1, 2, 3], 1);",
+ "return `${var1}`;",
+ ])
+ })
+
+ it("should handle one of the examples (equalsLength)", () => {
+ const response = convertToJS("{{equalsLength '[1,2,3]' 3}}")
+ checkLines(response, [
+ "const var1 = helpers.equalsLength('[1,2,3]', 3);",
+ "return `${var1}`;"
+ ])
+ })
+
+ it("should handle one of the examples (pluck)", () => {
+ const response = convertToJS("{{pluck [{ 'name': 'Bob' }] 'name' }}")
+ checkLines(response, [
+ "const var1 = helpers.pluck([{ 'name': 'Bob' }], 'name');",
+ "return `${var1}`;",
+ ])
+ })
+
+ it("should handle sorting an array", () => {
+ const response = convertToJS("{{ sort ['b', 'a', 'c'] }}")
+ checkLines(response, [
+ "const var1 = helpers.sort(['b', 'a', 'c']);",
+ "return `${var1}`;",
])
})
From 6e8ddc1cabbf82ecf74d1b9c2180eefc896eebfd Mon Sep 17 00:00:00 2001
From: Mel O'Hagan
Date: Fri, 29 Jul 2022 14:41:41 +0100
Subject: [PATCH 034/300] Add Is in filter for options type
---
packages/frontend-core/src/utils/lucene.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/frontend-core/src/utils/lucene.js b/packages/frontend-core/src/utils/lucene.js
index 72ccdc9fea..f0df19608a 100644
--- a/packages/frontend-core/src/utils/lucene.js
+++ b/packages/frontend-core/src/utils/lucene.js
@@ -30,7 +30,7 @@ export const getValidOperatorsForType = type => {
} else if (type === "number") {
return numOps
} else if (type === "options") {
- return [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty]
+ return [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]
} else if (type === "array") {
return [Op.Contains, Op.NotContains, Op.Empty, Op.NotEmpty, Op.ContainsAny]
} else if (type === "boolean") {
From d41f813efb616c6e9ab9cccfff56471379edfb3f Mon Sep 17 00:00:00 2001
From: Mel O'Hagan
Date: Fri, 29 Jul 2022 16:09:53 +0100
Subject: [PATCH 035/300] Add multiselect for options is in
---
packages/bbui/src/Form/Multiselect.svelte | 2 +-
.../design/settings/controls/FilterEditor/FilterDrawer.svelte | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/bbui/src/Form/Multiselect.svelte b/packages/bbui/src/Form/Multiselect.svelte
index 7bcf22aa06..67e6f61054 100644
--- a/packages/bbui/src/Form/Multiselect.svelte
+++ b/packages/bbui/src/Form/Multiselect.svelte
@@ -27,7 +27,7 @@
{error}
{disabled}
{readonly}
- {value}
+ value={Array.isArray(value) ? value : [value]}
{options}
{placeholder}
{sort}
diff --git a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
index d99c0f43b8..4eab5d4f4b 100644
--- a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
+++ b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
@@ -140,7 +140,7 @@
/>
{:else if ["string", "longform", "number", "formula"].includes(filter.type)}
- {:else if filter.type === "array"}
+ {:else if filter.type === "array" || (filter.type === "options" && filter.operator === "oneOf")}
Date: Mon, 1 Aug 2022 17:40:35 +0100
Subject: [PATCH 036/300] Fix for #6737 - making it so that if a column is
deleted externally tables can be re-fetched and this will be fixed.
---
packages/server/src/integrations/utils.ts | 2 +-
packages/server/yarn.lock | 35 +++++++++++++----------
packages/worker/yarn.lock | 35 +++++++++++++----------
3 files changed, 41 insertions(+), 31 deletions(-)
diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index 7e4efad84f..e662d83d52 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -225,7 +225,7 @@ function shouldCopySpecialColumn(
FieldTypes.FORMULA,
]
if (column && !fetchedColumn) {
- return true
+ return false
}
const fetchedIsNumber =
!fetchedColumn || fetchedColumn.type === FieldTypes.NUMBER
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 38ee626c11..f8ad9f58e1 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.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.25.tgz#2ae3de9f2e49c8431de23bd1ce8f8040ab46b7d1"
- integrity sha512-t95qEYuxLcl/kzZJ90/D9imuG63IpTPY1f2Wrex6JtvgBYh+jvFh1/t6XDPv0NuSWVd5/OILzX6322pq2ak5GQ==
+"@budibase/backend-core@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.31.tgz#914283af0928ced36303ad4919e52314a8f68022"
+ integrity sha512-Uo2CxX87u8Lq5MyYOVAXw/wmawUAAUnWkJ648RR1v8CikjOpOixjIiIwb8fXOr1No2SwD4HjY/V/xZGXCgxilQ==
dependencies:
- "@budibase/types" "^1.1.25"
+ "@budibase/types" "^1.1.31"
"@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.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.25.tgz#a9fd58b6bd80b9bf523f4e21a32e537b26bb3c92"
- integrity sha512-4QvlMW6nqaXIYzpU9iQH54LPFGxdjiQUZGoRfPSdNoj1tKB57iQe0Gz39PopGyzOfVdytAlpJdD22Wfdb378jQ==
+"@budibase/pro@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.31.tgz#cf2dc86643c52cb5655ffcc0f6a0f18125b032fd"
+ integrity sha512-Pvjd9DgEArFMe275GTC6q1sPuh/SNp9YPD0ckLkLsuNo3jp8f+FXjj5596dFbOxf7r2+Hg/v+f8tQFeslx1RFQ==
dependencies:
- "@budibase/backend-core" "1.1.25"
- "@budibase/types" "1.1.25"
+ "@budibase/backend-core" "1.1.31"
+ "@budibase/types" "1.1.31"
node-fetch "^2.6.1"
"@budibase/standard-components@^0.9.139":
@@ -1204,10 +1204,15 @@
svelte-apexcharts "^1.0.2"
svelte-flatpickr "^3.1.0"
-"@budibase/types@1.1.25", "@budibase/types@^1.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.25.tgz#4d52ac31368de37500a2ae8f8dc02a662d58d49a"
- integrity sha512-K74BqAZiM+4URVvGPXhAVE3r+lLQoQ/LOFY30fAvAOv6WMJsw5r7NpF4m1l7bevPxZ6+ku1q/RnoI9aRGqdLlg==
+"@budibase/types@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.31.tgz#1bc323261627bdb2db06868a8666877cdd8d2e86"
+ integrity sha512-Nhv9xO24gWbCyBaLbndmh/uVliPIKGMDiQq/o2mub6gvFa8cMHmHZQ+j34qMxfVaMD3bSLQy5rPJptLxTs2XQg==
+
+"@budibase/types@^1.1.31":
+ version "1.1.32"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.32.tgz#b03acb9f287457c6ac51afbbf31da9f6e74ae70b"
+ integrity sha512-/e21ZtIkI/ks16RKQjMtfFUL5P3YQdSJBtqaCPlEiBQkIilFku+lc3GFB5rlvlBYqlzkJuq+ZQFII2oNFyJdYw==
"@bull-board/api@3.7.0":
version "3.7.0"
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 54ea03d3b0..28af6fb948 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.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.25.tgz#2ae3de9f2e49c8431de23bd1ce8f8040ab46b7d1"
- integrity sha512-t95qEYuxLcl/kzZJ90/D9imuG63IpTPY1f2Wrex6JtvgBYh+jvFh1/t6XDPv0NuSWVd5/OILzX6322pq2ak5GQ==
+"@budibase/backend-core@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.31.tgz#914283af0928ced36303ad4919e52314a8f68022"
+ integrity sha512-Uo2CxX87u8Lq5MyYOVAXw/wmawUAAUnWkJ648RR1v8CikjOpOixjIiIwb8fXOr1No2SwD4HjY/V/xZGXCgxilQ==
dependencies:
- "@budibase/types" "^1.1.25"
+ "@budibase/types" "^1.1.31"
"@techpass/passport-openidconnect" "0.3.2"
aws-sdk "2.1030.0"
bcrypt "5.0.1"
@@ -324,19 +324,24 @@
uuid "8.3.2"
zlib "1.0.5"
-"@budibase/pro@1.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.25.tgz#a9fd58b6bd80b9bf523f4e21a32e537b26bb3c92"
- integrity sha512-4QvlMW6nqaXIYzpU9iQH54LPFGxdjiQUZGoRfPSdNoj1tKB57iQe0Gz39PopGyzOfVdytAlpJdD22Wfdb378jQ==
+"@budibase/pro@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.31.tgz#cf2dc86643c52cb5655ffcc0f6a0f18125b032fd"
+ integrity sha512-Pvjd9DgEArFMe275GTC6q1sPuh/SNp9YPD0ckLkLsuNo3jp8f+FXjj5596dFbOxf7r2+Hg/v+f8tQFeslx1RFQ==
dependencies:
- "@budibase/backend-core" "1.1.25"
- "@budibase/types" "1.1.25"
+ "@budibase/backend-core" "1.1.31"
+ "@budibase/types" "1.1.31"
node-fetch "^2.6.1"
-"@budibase/types@1.1.25", "@budibase/types@^1.1.25":
- version "1.1.25"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.25.tgz#4d52ac31368de37500a2ae8f8dc02a662d58d49a"
- integrity sha512-K74BqAZiM+4URVvGPXhAVE3r+lLQoQ/LOFY30fAvAOv6WMJsw5r7NpF4m1l7bevPxZ6+ku1q/RnoI9aRGqdLlg==
+"@budibase/types@1.1.31":
+ version "1.1.31"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.31.tgz#1bc323261627bdb2db06868a8666877cdd8d2e86"
+ integrity sha512-Nhv9xO24gWbCyBaLbndmh/uVliPIKGMDiQq/o2mub6gvFa8cMHmHZQ+j34qMxfVaMD3bSLQy5rPJptLxTs2XQg==
+
+"@budibase/types@^1.1.31":
+ version "1.1.32"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.32.tgz#b03acb9f287457c6ac51afbbf31da9f6e74ae70b"
+ integrity sha512-/e21ZtIkI/ks16RKQjMtfFUL5P3YQdSJBtqaCPlEiBQkIilFku+lc3GFB5rlvlBYqlzkJuq+ZQFII2oNFyJdYw==
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"
From de3ceeb119d65b375b0c3e4d47477112776109e7 Mon Sep 17 00:00:00 2001
From: mike12345567
Date: Mon, 1 Aug 2022 18:56:59 +0100
Subject: [PATCH 037/300] Adding mechanism to allow displaying an error on data
retrieval for tables.
---
.../backend/DataTable/DataTable.svelte | 15 ++++++-
packages/frontend-core/src/fetch/DataFetch.js | 20 +++++++---
.../frontend-core/src/fetch/TableFetch.js | 1 +
.../src/api/controllers/row/external.js | 40 ++++++++++++-------
packages/server/src/integrations/utils.ts | 1 +
5 files changed, 56 insertions(+), 21 deletions(-)
diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte
index 1f461ebad3..37742626cd 100644
--- a/packages/builder/src/components/backend/DataTable/DataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte
@@ -14,7 +14,13 @@
import Table from "./Table.svelte"
import { TableNames } from "constants"
import CreateEditRow from "./modals/CreateEditRow.svelte"
- import { Pagination, Heading, Body, Layout } from "@budibase/bbui"
+ import {
+ Pagination,
+ Heading,
+ Body,
+ Layout,
+ notifications,
+ } from "@budibase/bbui"
import { fetchData } from "@budibase/frontend-core"
import { API } from "api"
@@ -29,6 +35,13 @@
$: fetch = createFetch(id)
$: hasCols = checkHasCols(schema)
$: hasRows = !!$fetch.rows?.length
+ $: showError($fetch.error)
+
+ const showError = error => {
+ if (error) {
+ notifications.error(error?.message || "Unable to fetch data.")
+ }
+ }
const enrichSchema = schema => {
let tempSchema = { ...schema }
diff --git a/packages/frontend-core/src/fetch/DataFetch.js b/packages/frontend-core/src/fetch/DataFetch.js
index ecd5313af5..338e6e0405 100644
--- a/packages/frontend-core/src/fetch/DataFetch.js
+++ b/packages/frontend-core/src/fetch/DataFetch.js
@@ -170,6 +170,7 @@ export default class DataFetch {
rows: page.rows,
info: page.info,
cursors: paginate && page.hasNextPage ? [null, page.cursor] : [null],
+ error: page.error,
}))
}
@@ -182,7 +183,7 @@ export default class DataFetch {
const features = get(this.featureStore)
// Get the actual data
- let { rows, info, hasNextPage, cursor } = await this.getData()
+ let { rows, info, hasNextPage, cursor, error } = await this.getData()
// If we don't support searching, do a client search
if (!features.supportsSearch) {
@@ -204,6 +205,7 @@ export default class DataFetch {
info,
hasNextPage,
cursor,
+ error,
}
}
@@ -345,8 +347,14 @@ export default class DataFetch {
return
}
this.store.update($store => ({ ...$store, loading: true }))
- const { rows, info } = await this.getPage()
- this.store.update($store => ({ ...$store, rows, info, loading: false }))
+ const { rows, info, error } = await this.getPage()
+ this.store.update($store => ({
+ ...$store,
+ rows,
+ info,
+ loading: false,
+ error,
+ }))
}
/**
@@ -386,7 +394,7 @@ export default class DataFetch {
cursor: nextCursor,
pageNumber: $store.pageNumber + 1,
}))
- const { rows, info, hasNextPage, cursor } = await this.getPage()
+ const { rows, info, hasNextPage, cursor, error } = await this.getPage()
// Update state
this.store.update($store => {
@@ -400,6 +408,7 @@ export default class DataFetch {
info,
cursors,
loading: false,
+ error,
}
})
}
@@ -421,7 +430,7 @@ export default class DataFetch {
cursor: prevCursor,
pageNumber: $store.pageNumber - 1,
}))
- const { rows, info } = await this.getPage()
+ const { rows, info, error } = await this.getPage()
// Update state
this.store.update($store => {
@@ -430,6 +439,7 @@ export default class DataFetch {
rows,
info,
loading: false,
+ error,
}
})
}
diff --git a/packages/frontend-core/src/fetch/TableFetch.js b/packages/frontend-core/src/fetch/TableFetch.js
index cf0e124020..a13b1bd186 100644
--- a/packages/frontend-core/src/fetch/TableFetch.js
+++ b/packages/frontend-core/src/fetch/TableFetch.js
@@ -37,6 +37,7 @@ export default class TableFetch extends DataFetch {
return {
rows: [],
hasNextPage: false,
+ error,
}
}
}
diff --git a/packages/server/src/api/controllers/row/external.js b/packages/server/src/api/controllers/row/external.js
index b1c322b8b6..c9f6aa2f78 100644
--- a/packages/server/src/api/controllers/row/external.js
+++ b/packages/server/src/api/controllers/row/external.js
@@ -128,25 +128,35 @@ exports.search = async ctx => {
[params.sort]: direction,
}
}
- const rows = await handleRequest(DataSourceOperation.READ, tableId, {
- filters: query,
- sort,
- paginate: paginateObj,
- })
- let hasNextPage = false
- if (paginate && rows.length === limit) {
- const nextRows = await handleRequest(DataSourceOperation.READ, tableId, {
+ try {
+ const rows = await handleRequest(DataSourceOperation.READ, tableId, {
filters: query,
sort,
- paginate: {
- limit: 1,
- page: bookmark * limit + 1,
- },
+ paginate: paginateObj,
})
- hasNextPage = nextRows.length > 0
+ let hasNextPage = false
+ if (paginate && rows.length === limit) {
+ const nextRows = await handleRequest(DataSourceOperation.READ, tableId, {
+ filters: query,
+ sort,
+ paginate: {
+ limit: 1,
+ page: bookmark * limit + 1,
+ },
+ })
+ hasNextPage = nextRows.length > 0
+ }
+ // need wrapper object for bookmarks etc when paginating
+ return { rows, hasNextPage, bookmark: bookmark + 1 }
+ } catch (err) {
+ if (err.message && err.message.includes("does not exist")) {
+ throw new Error(
+ `Table updated externally, please re-fetch - ${err.message}`
+ )
+ } else {
+ throw err
+ }
}
- // need wrapper object for bookmarks etc when paginating
- return { rows, hasNextPage, bookmark: bookmark + 1 }
}
exports.validate = async () => {
diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index e662d83d52..a0f2b764bc 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -224,6 +224,7 @@ function shouldCopySpecialColumn(
FieldTypes.ARRAY,
FieldTypes.FORMULA,
]
+ // column has been deleted, remove
if (column && !fetchedColumn) {
return false
}
From 09127df617d79f24358b13169e84f239e9b262c4 Mon Sep 17 00:00:00 2001
From: Rory Powell
Date: Tue, 2 Aug 2022 09:39:30 +0100
Subject: [PATCH 038/300] Add updatedAt and createdAt as optional to all joi
middleware
---
packages/backend-core/package.json | 1 +
.../src/middleware/joi-validator.js | 8 +
packages/backend-core/yarn.lock | 40 +
packages/cli/yarn.lock | 1074 ++++++++++++++++-
packages/server/package.json | 2 +-
packages/server/yarn.lock | 28 -
.../worker/src/middleware/joi-validator.js | 8 +
7 files changed, 1113 insertions(+), 48 deletions(-)
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index f9b8cdcd0b..8041889f05 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -27,6 +27,7 @@
"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",
diff --git a/packages/backend-core/src/middleware/joi-validator.js b/packages/backend-core/src/middleware/joi-validator.js
index 1686b0e727..748ccebd89 100644
--- a/packages/backend-core/src/middleware/joi-validator.js
+++ b/packages/backend-core/src/middleware/joi-validator.js
@@ -1,3 +1,5 @@
+const Joi = require("joi")
+
function validate(schema, property) {
// Return a Koa middleware function
return (ctx, next) => {
@@ -10,6 +12,12 @@ function validate(schema, property) {
} else if (ctx.request[property] != null) {
params = ctx.request[property]
}
+
+ schema = schema.append({
+ createdAt: Joi.any().optional(),
+ updatedAt: Joi.any().optional(),
+ })
+
const { error } = schema.validate(params)
if (error) {
ctx.throw(400, `Invalid ${property} - ${error.message}`)
diff --git a/packages/backend-core/yarn.lock b/packages/backend-core/yarn.lock
index e1f38a798f..9f71691f44 100644
--- a/packages/backend-core/yarn.lock
+++ b/packages/backend-core/yarn.lock
@@ -291,6 +291,18 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@hapi/hoek@^9.0.0":
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/topo@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -539,6 +551,23 @@
koa "^2.13.4"
node-mocks-http "^1.5.8"
+"@sideway/address@^4.1.3":
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
+ integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c"
+ integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -3193,6 +3222,17 @@ jmespath@0.15.0:
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==
+joi@17.6.0:
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
+ integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+ "@hapi/topo" "^5.0.0"
+ "@sideway/address" "^4.1.3"
+ "@sideway/formula" "^3.0.0"
+ "@sideway/pinpoint" "^2.0.0"
+
join-component@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5"
diff --git a/packages/cli/yarn.lock b/packages/cli/yarn.lock
index 86d4d40e78..19e76101ad 100644
--- a/packages/cli/yarn.lock
+++ b/packages/cli/yarn.lock
@@ -48,6 +48,44 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
+"@budibase/backend-core@1.1.32-alpha.6":
+ version "1.1.32-alpha.6"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.32-alpha.6.tgz#e9dc1a1989a2a6952f5ce002fcdfef66625f3de8"
+ integrity sha512-8oT6veeSmymuJfnu1jAkDAWD4fLj5W0KxNq6GlC+eMWWDZloDF4fMWDpuYTFBeinq1z1GeSFXc9Ak6u+1Z7LtQ==
+ dependencies:
+ "@budibase/types" "1.1.32-alpha.6"
+ "@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"
+ jsonwebtoken "8.5.1"
+ koa-passport "4.1.4"
+ lodash "4.17.21"
+ lodash.isarguments "3.1.0"
+ node-fetch "2.6.7"
+ passport-google-auth "1.0.2"
+ passport-google-oauth "2.0.0"
+ passport-jwt "4.0.0"
+ passport-local "1.0.0"
+ passport-oauth2-refresh "^2.1.0"
+ posthog-node "1.3.0"
+ pouchdb "7.3.0"
+ pouchdb-find "7.2.2"
+ pouchdb-replication-stream "1.2.9"
+ redlock "4.2.0"
+ sanitize-s3-objectkey "0.0.1"
+ semver "7.3.7"
+ tar-fs "2.1.1"
+ uuid "8.3.2"
+ zlib "1.0.5"
+
+"@budibase/types@1.1.32-alpha.6":
+ version "1.1.32-alpha.6"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.32-alpha.6.tgz#95d8d73c7ed6ebc22ff26a44365127a478e19409"
+ integrity sha512-AKKxrzVqGtcSzZZ2fP6i2Vgv6ICN9NEEE1dmzRk9AImZS+XKQ9VgVpdE+4gHgFK7L0gBYAsiaoEpCbbrI/+NoQ==
+
"@eslint/eslintrc@^0.4.3":
version "0.4.3"
resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz"
@@ -77,6 +115,21 @@
resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@mapbox/node-pre-gyp@^1.0.0":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz#09a8781a3a036151cdebbe8719d6f8b25d4058bc"
+ integrity sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==
+ dependencies:
+ detect-libc "^2.0.0"
+ https-proxy-agent "^5.0.0"
+ make-dir "^3.1.0"
+ node-fetch "^2.6.7"
+ nopt "^5.0.0"
+ npmlog "^5.0.1"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ tar "^6.1.11"
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
@@ -98,6 +151,22 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@techpass/passport-openidconnect@0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@techpass/passport-openidconnect/-/passport-openidconnect-0.3.2.tgz#f8fd5d97256286665dbf26dac92431f977ab1e63"
+ integrity sha512-fnCtEiexXSHA029B//hJcCJlLJrT3lhpNCyA0rnz58Qttz0BLGCVv6yMT8HmOnGThH6vcDOVwdgKM3kbCQtEhw==
+ dependencies:
+ base64url "^3.0.1"
+ oauth "^0.9.15"
+ passport-strategy "^1.0.0"
+ request "^2.88.0"
+ webfinger "^0.4.2"
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
abort-controller@3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
@@ -144,7 +213,7 @@ agent-base@6:
dependencies:
debug "4"
-ajv@^6.10.0, ajv@^6.12.4:
+ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -205,6 +274,19 @@ aproba@^1.0.3:
resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+"aproba@^1.0.3 || ^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+ integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+are-we-there-yet@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
+ integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^3.6.0"
+
are-we-there-yet@~1.1.2:
version "1.1.7"
resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz"
@@ -250,16 +332,65 @@ array-uniq@1.0.2:
resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz"
integrity sha1-X8w3OSB3VyPP1k1lxkvvU7+eum0=
+asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+
astral-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+async@~2.1.4:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
+ integrity sha512-+g/Ncjbx0JSq2Mk03WQkyKvNh5q9Qvyo/RIqIqnmC5feJY70PNl2ESwZU2BhAB+AZPkHNzzyC2Dq2AS5VnTKhQ==
+ dependencies:
+ lodash "^4.14.0"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+aws-sdk@2.1030.0:
+ version "2.1030.0"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1030.0.tgz#24a856af3d2b8b37c14a8f59974993661c66fd82"
+ integrity sha512-to0STOb8DsSGuSsUb/WCbg/UFnMGfIYavnJH5ZlRCHzvCFjTyR+vfE8ku+qIZvfFM4+5MNTQC/Oxfun2X/TuyA==
+ dependencies:
+ buffer "4.9.2"
+ events "1.1.1"
+ ieee754 "1.1.13"
+ jmespath "0.15.0"
+ querystring "0.2.0"
+ sax "1.2.1"
+ url "0.10.3"
+ uuid "3.3.2"
+ xml2js "0.4.19"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
+
+aws4@^1.8.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
axios-retry@^3.1.9:
version "3.2.4"
resolved "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.4.tgz"
@@ -275,6 +406,13 @@ axios@0.21.2:
dependencies:
follow-redirects "^1.14.0"
+axios@0.24.0:
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
+ integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
+ dependencies:
+ follow-redirects "^1.14.4"
+
axios@^0.21.1:
version "0.21.4"
resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz"
@@ -287,11 +425,31 @@ balanced-match@^1.0.0:
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@^1.3.1:
+base64-js@^1.0.2, base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+base64url@3.x.x, base64url@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
+ integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bcrypt@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.0.1.tgz#f1a2c20f208e2ccdceea4433df0c8b2c54ecdf71"
+ integrity sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==
+ dependencies:
+ "@mapbox/node-pre-gyp" "^1.0.0"
+ node-addon-api "^3.1.0"
+
bl@^4.0.3:
version "4.1.0"
resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
@@ -301,6 +459,11 @@ bl@^4.0.3:
inherits "^2.0.4"
readable-stream "^3.4.0"
+bluebird@^3.7.2:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
@@ -316,11 +479,30 @@ braces@^3.0.1:
dependencies:
fill-range "^7.0.1"
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
+
+buffer-from@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+
buffer-from@1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+buffer@4.9.2:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
buffer@^5.5.0, buffer@^5.6.0:
version "5.7.1"
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
@@ -334,6 +516,11 @@ callsites@^3.0.0:
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+
chalk@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
@@ -412,6 +599,11 @@ clone-buffer@1.0.0:
resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz"
integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==
+cluster-key-slot@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d"
+ integrity sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
@@ -441,6 +633,18 @@ color-name@~1.1.4:
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-support@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
command-line-args@^5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e"
@@ -476,7 +680,7 @@ concat-map@0.0.1:
resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
@@ -494,6 +698,11 @@ copyfiles@^2.4.1:
untildify "^4.0.0"
yargs "^16.1.0"
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
+
core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
@@ -518,6 +727,13 @@ current-module-paths@^1.1.0:
resolved "https://registry.yarnpkg.com/current-module-paths/-/current-module-paths-1.1.0.tgz#5d5bf214281d80aea264e642f028e672098238f6"
integrity sha512-HGhLUszcgprjKmzvQoCQda8iEWsQn3sWVzPdttyJVR5cjfVDYcoyozQA5D1YXgab9v84SPMpSuD+YrPX6i1IMQ==
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+ dependencies:
+ assert-plus "^1.0.0"
+
debug@4, debug@^4.0.1, debug@^4.1.1:
version "4.3.2"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
@@ -525,6 +741,13 @@ debug@4, debug@^4.0.1, debug@^4.1.1:
dependencies:
ms "2.1.2"
+debug@^4.3.1:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
decompress-response@^4.2.0:
version "4.2.1"
resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz"
@@ -550,16 +773,31 @@ deferred-leveldown@~5.3.0:
abstract-leveldown "~6.2.1"
inherits "^2.0.3"
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+denque@^1.1.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
+ integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
+
detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+detect-libc@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
+ integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
@@ -589,6 +827,28 @@ double-ended-queue@2.1.0-0:
resolved "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz"
integrity sha512-+BNfZ+deCo8hMNpDqDnvT+c0XpJ5cUa6mqYq89bho2Ifze4URTqRkcwR399hWoTrTkbZ/XJYDgP6rc7pRgffEQ==
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ecdsa-sig-formatter@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+emitter-listener@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8"
+ integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==
+ dependencies:
+ shimmer "^1.2.0"
+
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
@@ -778,11 +1038,21 @@ event-target-shim@^5.0.0:
resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+events@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==
+
expand-template@^2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz"
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
+extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
external-editor@^3.0.3:
version "3.1.0"
resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
@@ -792,6 +1062,16 @@ external-editor@^3.0.3:
iconv-lite "^0.4.24"
tmp "^0.0.33"
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
@@ -830,6 +1110,13 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fetch-cookie@0.10.1:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-0.10.1.tgz#5ea88f3d36950543c87997c27ae2aeafb4b5c4d4"
+ integrity sha512-beB+VEd4cNeVG1PY+ee74+PkuCQnik78pgLi5Ah/7qdUfov8IctU0vLUbBT8/10Ma5GMBeI4wtxhGrEfKNYs2g==
+ dependencies:
+ tough-cookie "^2.3.3 || ^3.0.1 || ^4.0.0"
+
fetch-cookie@0.11.0:
version "0.11.0"
resolved "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.11.0.tgz"
@@ -886,11 +1173,25 @@ flatted@^3.1.0:
resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz"
integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
-follow-redirects@^1.14.0:
+follow-redirects@^1.14.0, follow-redirects@^1.14.4:
version "1.15.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
from2@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz"
@@ -936,6 +1237,21 @@ functional-red-black-tree@^1.0.1:
resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+gauge@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
+ integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
+ dependencies:
+ aproba "^1.0.3 || ^2.0.0"
+ color-support "^1.1.2"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.1"
+ object-assign "^4.1.1"
+ signal-exit "^3.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ wide-align "^1.1.2"
+
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"
@@ -955,6 +1271,13 @@ get-caller-file@^2.0.5:
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
+ dependencies:
+ assert-plus "^1.0.0"
+
github-from-package@0.0.0:
version "0.0.0"
resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz"
@@ -1017,11 +1340,60 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+google-auth-library@~0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.10.0.tgz#6e15babee85fd1dd14d8d128a295b6838d52136e"
+ integrity sha512-KM54Y9GhdAzfXUHmWEoYmaOykSLuMG7W4HvVLYqyogxOyE6px8oSS8W13ngqW0oDGZ915GFW3V6OM6+qcdvPOA==
+ dependencies:
+ gtoken "^1.2.1"
+ jws "^3.1.4"
+ lodash.noop "^3.0.1"
+ request "^2.74.0"
+
+google-p12-pem@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177"
+ integrity sha512-puhMlJ2+E/rgvxWaqgN/nC7x623OAE8MR9vBUqxF0inCE7HoVfCHvTeQ9+BR+rj9KM0fIg6XV6tmbt7XHHssoQ==
+ dependencies:
+ node-forge "^0.7.1"
+
+googleapis@^16.0.0:
+ version "16.1.0"
+ resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-16.1.0.tgz#0f19f2d70572d918881a0f626e3b1a2fa8629576"
+ integrity sha512-5czmF7xkIlJKc1+/+5tltrI1skoR3HKtkDOld9rk+DOucTpZRjOhCoJzoSjxB3M8rP2tEb1VIr1TPyzR3V2PUQ==
+ dependencies:
+ async "~2.1.4"
+ google-auth-library "~0.10.0"
+ string-template "~1.0.0"
+
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.8"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz"
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+gtoken@^1.2.1:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8"
+ integrity sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w==
+ dependencies:
+ google-p12-pem "^0.1.0"
+ jws "^3.0.0"
+ mime "^1.4.1"
+ request "^2.72.0"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
@@ -1032,7 +1404,7 @@ has-flag@^4.0.0:
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-unicode@^2.0.0:
+has-unicode@^2.0.0, has-unicode@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
@@ -1044,6 +1416,15 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
https-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz"
@@ -1059,7 +1440,12 @@ iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-ieee754@^1.1.13:
+ieee754@1.1.13:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
+ integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
+
+ieee754@^1.1.13, ieee754@^1.1.4:
version "1.2.1"
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -1147,6 +1533,23 @@ into-stream@^6.0.0:
from2 "^2.3.0"
p-is-promise "^3.0.0"
+ioredis@4.28.0:
+ version "4.28.0"
+ resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.28.0.tgz#5a2be3f37ff2075e2332f280eaeb02ab4d9ff0d3"
+ integrity sha512-I+zkeeWp3XFgPT2CtJKxvaF5FjGBGt4yGYljRjQecdQKteThuAsKqffeF1lgHVlYnuNeozRbPOCDNZ7tDWPeig==
+ dependencies:
+ cluster-key-slot "^1.1.0"
+ debug "^4.3.1"
+ denque "^1.1.0"
+ lodash.defaults "^4.2.0"
+ lodash.flatten "^4.4.0"
+ lodash.isarguments "^3.1.0"
+ p-map "^2.1.0"
+ redis-commands "1.7.0"
+ redis-errors "^1.2.0"
+ redis-parser "^3.0.0"
+ standard-as-callback "^2.1.0"
+
is-buffer@~1.1.6:
version "1.1.6"
resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
@@ -1193,12 +1596,17 @@ is-retry-allowed@^2.2.0:
resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz"
integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
-isarray@~1.0.0:
+isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
@@ -1208,6 +1616,16 @@ isexe@^2.0.0:
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+
+jmespath@0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
+ integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==
+
join-component@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz"
@@ -1226,6 +1644,11 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
@@ -1236,12 +1659,17 @@ json-schema-traverse@^1.0.0:
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+json-schema@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-json-stringify-safe@^5.0.1:
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
@@ -1255,6 +1683,56 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
+jsonwebtoken@8.5.1, jsonwebtoken@^8.2.0:
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
+ integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^5.6.0"
+
+jsprim@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
+ integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.4.0"
+ verror "1.10.0"
+
+jwa@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+ integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jws@^3.0.0, jws@^3.1.4, jws@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+ integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+ dependencies:
+ jwa "^1.4.1"
+ safe-buffer "^5.0.1"
+
+koa-passport@4.1.4:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/koa-passport/-/koa-passport-4.1.4.tgz#5f1665c1c2a37ace79af9f970b770885ca30ccfa"
+ integrity sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg==
+ dependencies:
+ passport "^0.4.0"
+
level-codec@9.0.2, level-codec@^9.0.0:
version "9.0.2"
resolved "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz"
@@ -1379,11 +1857,66 @@ lodash.camelcase@^4.3.0:
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
+lodash.defaults@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+ integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
+
+lodash.flatten@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+ integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==
+
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+ integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==
+
+lodash.isarguments@3.1.0, lodash.isarguments@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+ integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
+
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+ integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
+
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+ integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+ integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==
+
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+lodash.noop@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c"
+ integrity sha512-TmYdmu/pebrdTIBDK/FDx9Bmfzs9x0sZG6QIJuMDTqEPfeciLcN13ij+cOd0i9vwJfBtbG9UQ+C7MkXgYxrIJg==
+
+lodash.once@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==
+
lodash.pick@^4.0.0:
version "4.4.0"
resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz"
@@ -1394,7 +1927,7 @@ lodash.truncate@^4.4.2:
resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz"
integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
-lodash@^4.17.21:
+lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -1416,6 +1949,13 @@ ltgt@2.2.1, ltgt@^2.1.2:
resolved "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz"
integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==
+make-dir@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
md5@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz"
@@ -1438,6 +1978,23 @@ micromatch@^4.0.4:
braces "^3.0.1"
picomatch "^2.2.3"
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@^1.4.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
@@ -1497,7 +2054,7 @@ ms@2.1.2:
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@^2.1.3:
+ms@^2.1.1, ms@^2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -1547,13 +2104,28 @@ node-abi@^2.21.0:
dependencies:
semver "^5.4.1"
-node-fetch@2, node-fetch@2.6.7, node-fetch@^2.6.6:
+node-addon-api@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
+ integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+
+node-fetch@2, node-fetch@2.6.7, node-fetch@^2.6.6, node-fetch@^2.6.7:
version "2.6.7"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
dependencies:
whatwg-url "^5.0.0"
+node-fetch@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
+ integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+
+node-forge@^0.7.1:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac"
+ integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==
+
node-gyp-build@~4.1.0:
version "4.1.1"
resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz"
@@ -1567,6 +2139,13 @@ noms@0.0.0:
inherits "^2.0.1"
readable-stream "~1.0.31"
+nopt@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
+ integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+ dependencies:
+ abbrev "1"
+
npmlog@^4.0.1:
version "4.1.2"
resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz"
@@ -1577,12 +2156,32 @@ npmlog@^4.0.1:
gauge "~2.7.3"
set-blocking "~2.0.0"
+npmlog@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
+ integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
+ dependencies:
+ are-we-there-yet "^2.0.0"
+ console-control-strings "^1.1.0"
+ gauge "^3.0.0"
+ set-blocking "^2.0.0"
+
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-object-assign@^4.1.0:
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+oauth@0.9.x, oauth@^0.9.15:
+ version "0.9.15"
+ resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
+ integrity sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==
+
+object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -1635,6 +2234,11 @@ p-is-promise@^3.0.0:
resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz"
integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==
+p-map@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
+ integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
@@ -1642,6 +2246,89 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
+passport-google-auth@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/passport-google-auth/-/passport-google-auth-1.0.2.tgz#8b300b5aa442ef433de1d832ed3112877d0b2938"
+ integrity sha512-cfAqna6jZLyMEwUdd4PIwAh2mQKQVEDAaRIaom1pG6h4x4Gwjllf/Jflt3TkR1Sen5Rkvr3l7kSXCWE1EKkh8g==
+ dependencies:
+ googleapis "^16.0.0"
+ passport-strategy "1.x"
+
+passport-google-oauth1@1.x.x:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz#af74a803df51ec646f66a44d82282be6f108e0cc"
+ integrity sha512-qpCEhuflJgYrdg5zZIpAq/K3gTqa1CtHjbubsEsidIdpBPLkEVq6tB1I8kBNcH89RdSiYbnKpCBXAZXX/dtx1Q==
+ dependencies:
+ passport-oauth1 "1.x.x"
+
+passport-google-oauth20@2.x.x:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz#0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef"
+ integrity sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ==
+ dependencies:
+ passport-oauth2 "1.x.x"
+
+passport-google-oauth@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/passport-google-oauth/-/passport-google-oauth-2.0.0.tgz#f6eb4bc96dd6c16ec0ecfdf4e05ec48ca54d4dae"
+ integrity sha512-JKxZpBx6wBQXX1/a1s7VmdBgwOugohH+IxCy84aPTZNq/iIPX6u7Mqov1zY7MKRz3niFPol0KJz8zPLBoHKtYA==
+ dependencies:
+ passport-google-oauth1 "1.x.x"
+ passport-google-oauth20 "2.x.x"
+
+passport-jwt@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/passport-jwt/-/passport-jwt-4.0.0.tgz#7f0be7ba942e28b9f5d22c2ebbb8ce96ef7cf065"
+ integrity sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==
+ dependencies:
+ jsonwebtoken "^8.2.0"
+ passport-strategy "^1.0.0"
+
+passport-local@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee"
+ integrity sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==
+ dependencies:
+ passport-strategy "1.x.x"
+
+passport-oauth1@1.x.x:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz#5229d431781bf5b265bec86ce9a9cce58a756cf9"
+ integrity sha512-Sv2YWodC6jN12M/OXwmR4BIXeeIHjjbwYTQw4kS6tHK4zYzSEpxBgSJJnknBjICA5cj0ju3FSnG1XmHgIhYnLg==
+ dependencies:
+ oauth "0.9.x"
+ passport-strategy "1.x.x"
+ utils-merge "1.x.x"
+
+passport-oauth2-refresh@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/passport-oauth2-refresh/-/passport-oauth2-refresh-2.1.0.tgz#c31cd133826383f5539d16ad8ab4f35ca73ce4a4"
+ integrity sha512-4ML7ooCESCqiTgdDBzNUFTBcPR8zQq9iM6eppEUGMMvLdsjqRL93jKwWm4Az3OJcI+Q2eIVyI8sVRcPFvxcF/A==
+
+passport-oauth2@1.x.x:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.1.tgz#c5aee8f849ce8bd436c7f81d904a3cd1666f181b"
+ integrity sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==
+ dependencies:
+ base64url "3.x.x"
+ oauth "0.9.x"
+ passport-strategy "1.x.x"
+ uid2 "0.0.x"
+ utils-merge "1.x.x"
+
+passport-strategy@1.x, passport-strategy@1.x.x, passport-strategy@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4"
+ integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==
+
+passport@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz#941446a21cb92fc688d97a0861c38ce9f738f270"
+ integrity sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==
+ dependencies:
+ passport-strategy "1.x.x"
+ pause "0.0.1"
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
@@ -1662,6 +2349,16 @@ path-type@^4.0.0:
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+pause@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
+ integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
picomatch@^2.2.3:
version "2.3.0"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz"
@@ -1715,6 +2412,20 @@ posthog-node@1.0.7:
remove-trailing-slash "^0.1.1"
uuid "^8.3.2"
+posthog-node@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/posthog-node/-/posthog-node-1.3.0.tgz#804ed2f213a2f05253f798bf9569d55a9cad94f7"
+ integrity sha512-2+VhqiY/rKIqKIXyvemBFHbeijHE25sP7eKltnqcFqAssUE6+sX6vusN9A4luzToOqHQkUZexiCKxvuGagh7JA==
+ dependencies:
+ axios "0.24.0"
+ axios-retry "^3.1.9"
+ component-type "^1.2.1"
+ join-component "^1.1.0"
+ md5 "^2.3.0"
+ ms "^2.1.3"
+ remove-trailing-slash "^0.1.1"
+ uuid "^8.3.2"
+
pouch-stream@^0.4.0:
version "0.4.1"
resolved "https://registry.npmjs.org/pouch-stream/-/pouch-stream-0.4.1.tgz"
@@ -1723,6 +2434,84 @@ pouch-stream@^0.4.0:
inherits "^2.0.1"
readable-stream "^1.0.27-1"
+pouchdb-abstract-mapreduce@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.2.2.tgz#dd1b10a83f8d24361dce9aaaab054614b39f766f"
+ integrity sha512-7HWN/2yV2JkwMnGnlp84lGvFtnm0Q55NiBUdbBcaT810+clCGKvhssBCrXnmwShD1SXTwT83aszsgiSfW+SnBA==
+ dependencies:
+ pouchdb-binary-utils "7.2.2"
+ pouchdb-collate "7.2.2"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-fetch "7.2.2"
+ pouchdb-mapreduce-utils "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-binary-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.2.2.tgz#0690b348052c543b1e67f032f47092ca82bcb10e"
+ integrity sha512-shacxlmyHbUrNfE6FGYpfyAJx7Q0m91lDdEAaPoKZM3SzAmbtB1i+OaDNtYFztXjJl16yeudkDb3xOeokVL3Qw==
+ dependencies:
+ buffer-from "1.1.1"
+
+pouchdb-collate@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-collate/-/pouchdb-collate-7.2.2.tgz#fc261f5ef837c437e3445fb0abc3f125d982c37c"
+ integrity sha512-/SMY9GGasslknivWlCVwXMRMnQ8myKHs4WryQ5535nq1Wj/ehpqWloMwxEQGvZE1Sda3LOm7/5HwLTcB8Our+w==
+
+pouchdb-collections@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.2.2.tgz#aeed77f33322429e3f59d59ea233b48ff0e68572"
+ integrity sha512-6O9zyAYlp3UdtfneiMYuOCWdUCQNo2bgdjvNsMSacQX+3g8WvIoFQCYJjZZCpTttQGb+MHeRMr8m2U95lhJTew==
+
+pouchdb-errors@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.2.2.tgz#80d811d65c766c9d20b755c6e6cc123f8c3c4792"
+ integrity sha512-6GQsiWc+7uPfgEHeavG+7wuzH3JZW29Dnrvz8eVbDFE50kVFxNDVm3EkYHskvo5isG7/IkOx7PV7RPTA3keG3g==
+ dependencies:
+ inherits "2.0.4"
+
+pouchdb-fetch@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-fetch/-/pouchdb-fetch-7.2.2.tgz#492791236d60c899d7e9973f9aca0d7b9cc02230"
+ integrity sha512-lUHmaG6U3zjdMkh8Vob9GvEiRGwJfXKE02aZfjiVQgew+9SLkuOxNw3y2q4d1B6mBd273y1k2Lm0IAziRNxQnA==
+ dependencies:
+ abort-controller "3.0.0"
+ fetch-cookie "0.10.1"
+ node-fetch "2.6.0"
+
+pouchdb-find@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-find/-/pouchdb-find-7.2.2.tgz#1227afdd761812d508fe0794b3e904518a721089"
+ integrity sha512-BmFeFVQ0kHmDehvJxNZl9OmIztCjPlZlVSdpijuFbk/Fi1EFPU1BAv3kLC+6DhZuOqU/BCoaUBY9sn66pPY2ag==
+ dependencies:
+ pouchdb-abstract-mapreduce "7.2.2"
+ pouchdb-collate "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-fetch "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-selector-core "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-mapreduce-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.2.2.tgz#13a46a3cc2a3f3b8e24861da26966904f2963146"
+ integrity sha512-rAllb73hIkU8rU2LJNbzlcj91KuulpwQu804/F6xF3fhZKC/4JQMClahk+N/+VATkpmLxp1zWmvmgdlwVU4HtQ==
+ dependencies:
+ argsarray "0.0.1"
+ inherits "2.0.4"
+ pouchdb-collections "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-md5@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.2.2.tgz#415401acc5a844112d765bd1fb4e5d9f38fb0838"
+ integrity sha512-c/RvLp2oSh8PLAWU5vFBnp6ejJABIdKqboZwRRUrWcfGDf+oyX8RgmJFlYlzMMOh4XQLUT1IoaDV8cwlsuryZw==
+ dependencies:
+ pouchdb-binary-utils "7.2.2"
+ spark-md5 "3.0.1"
+
pouchdb-promise@^6.0.4:
version "6.4.3"
resolved "https://registry.npmjs.org/pouchdb-promise/-/pouchdb-promise-6.4.3.tgz"
@@ -1743,6 +2532,28 @@ pouchdb-replication-stream@1.2.9:
pouchdb-promise "^6.0.4"
through2 "^2.0.0"
+pouchdb-selector-core@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.2.2.tgz#264d7436a8c8ac3801f39960e79875ef7f3879a0"
+ integrity sha512-XYKCNv9oiNmSXV5+CgR9pkEkTFqxQGWplnVhO3W9P154H08lU0ZoNH02+uf+NjZ2kjse7Q1fxV4r401LEcGMMg==
+ dependencies:
+ pouchdb-collate "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.2.2.tgz#c17c4788f1d052b0daf4ef8797bbc4aaa3945aa4"
+ integrity sha512-XmeM5ioB4KCfyB2MGZXu1Bb2xkElNwF1qG+zVFbQsKQij0zvepdOUfGuWvLRHxTOmt4muIuSOmWZObZa3NOgzQ==
+ dependencies:
+ argsarray "0.0.1"
+ clone-buffer "1.0.0"
+ immediate "3.3.0"
+ inherits "2.0.4"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-md5 "7.2.2"
+ uuid "8.1.0"
+
pouchdb@7.3.0:
version "7.3.0"
resolved "https://registry.yarnpkg.com/pouchdb/-/pouchdb-7.3.0.tgz#440fbef12dfd8f9002320802528665e883a3b7f8"
@@ -1818,6 +2629,11 @@ prr@~1.0.1:
resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
+psl@^1.1.28:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
+ integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+
psl@^1.1.33:
version "1.8.0"
resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"
@@ -1831,11 +2647,26 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==
+
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+qs@~6.5.2:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+ integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
@@ -1905,6 +2736,30 @@ readable-stream@~1.0.31:
isarray "0.0.1"
string_decoder "~0.10.x"
+redis-commands@1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.7.0.tgz#15a6fea2d58281e27b1cd1acfb4b293e278c3a89"
+ integrity sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==
+
+redis-errors@^1.0.0, redis-errors@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad"
+ integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==
+
+redis-parser@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4"
+ integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==
+ dependencies:
+ redis-errors "^1.0.0"
+
+redlock@4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/redlock/-/redlock-4.2.0.tgz#c26590768559afd5fff76aa1133c94b411ff4f5f"
+ integrity sha512-j+oQlG+dOwcetUt2WJWttu4CZVeRzUrcVcISFmEmfyuwCVSJ93rDT7YSgg7H7rnxwoRyk/jU46kycVka5tW7jA==
+ dependencies:
+ bluebird "^3.7.2"
+
reduce-flatten@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27"
@@ -1943,6 +2798,32 @@ renamer@^4.0.0:
stream-read-all "^3.0.1"
typical "^7.1.1"
+request@^2.72.0, request@^2.74.0, request@^2.88.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
@@ -2006,7 +2887,7 @@ rxjs@^6.6.6:
dependencies:
tslib "^1.9.0"
-safe-buffer@^5.0.1, safe-buffer@~5.2.0:
+safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -2016,16 +2897,43 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-"safer-buffer@>= 2.1.2 < 3":
+"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"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-semver@^5.4.1:
+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"
+ integrity sha512-ZTk7aqLxy4sD40GWcYWoLfbe05XLmkKvh6vGKe13ADlei24xlezcvjgKy1qRArlaIbIMYaqK7PCalvZtulZlaQ==
+
+sax@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
+ integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==
+
+sax@>=0.1.1, sax@>=0.6.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+semver@7.3.7:
+ version "7.3.7"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+ integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
+ dependencies:
+ lru-cache "^6.0.0"
+
+semver@^5.4.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+semver@^6.0.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
semver@^7.2.1, semver@^7.3.5:
version "7.3.5"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
@@ -2033,7 +2941,7 @@ semver@^7.2.1, semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
-set-blocking@~2.0.0:
+set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
@@ -2050,6 +2958,11 @@ shebang-regex@^3.0.0:
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+shimmer@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
+ integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
+
signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.5"
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz"
@@ -2088,6 +3001,11 @@ source-map@~0.6.1:
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+spark-md5@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d"
+ integrity sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==
+
spark-md5@3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz"
@@ -2105,6 +3023,31 @@ sprintf-js@~1.0.2:
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+sshpk@^1.7.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
+ integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+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"
+ integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==
+
+step@0.0.x:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2"
+ integrity sha512-qSSeQinUJk2w38vUFobjFoE307GqsozMC8VisOCkJLpklvKPT0ptPHwWOrENoag8rgLudvTkfP3bancwP93/Jw==
+
stream-meter@^1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz"
@@ -2117,6 +3060,11 @@ stream-read-all@^3.0.1:
resolved "https://registry.yarnpkg.com/stream-read-all/-/stream-read-all-3.0.1.tgz#60762ae45e61d93ba0978cda7f3913790052ad96"
integrity sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==
+string-template@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96"
+ integrity sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==
+
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
@@ -2218,7 +3166,7 @@ table@^6.0.9:
string-width "^4.2.3"
strip-ansi "^6.0.1"
-tar-fs@^2.0.0, tar-fs@^2.1.1:
+tar-fs@2.1.1, tar-fs@^2.0.0, tar-fs@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
@@ -2239,7 +3187,7 @@ tar-stream@^2.1.4:
inherits "^2.0.3"
readable-stream "^3.1.1"
-tar@6.1.11:
+tar@6.1.11, tar@^6.1.11:
version "6.1.11"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
@@ -2305,6 +3253,14 @@ to-regex-range@^5.0.1:
punycode "^2.1.1"
universalify "^0.1.2"
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
@@ -2322,6 +3278,11 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
@@ -2361,6 +3322,11 @@ typical@^7.1.1:
resolved "https://registry.yarnpkg.com/typical/-/typical-7.1.1.tgz#ba177ab7ab103b78534463ffa4c0c9754523ac1f"
integrity sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==
+uid2@0.0.x:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.4.tgz#033f3b1d5d32505f5ce5f888b9f3b667123c0a44"
+ integrity sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==
+
universalify@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
@@ -2383,26 +3349,71 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+url@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
+ integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+utils-merge@1.x.x:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uuid@3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+ integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+
+uuid@8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d"
+ integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==
+
uuid@8.3.2, uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
v8-compile-cache@^2.0.3:
version "2.3.0"
resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
vuvuzela@1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz"
integrity sha512-Tm7jR1xTzBbPW+6y1tknKiEhz04Wf/1iZkcTJjSFcpNko43+dFW6+OOeQe9taJIug3NdfUAjFKgUSyQrIKaDvQ==
+webfinger@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz#3477a6d97799461896039fcffc650b73468ee76d"
+ integrity sha512-PvvQ/k74HkC3q5G7bGu4VYeKDt3ePZMzT5qFPtEnOL8eyIU1/06OtDn9X5vlkQ23BlegA3eN89rDLiYUife3xQ==
+ dependencies:
+ step "0.0.x"
+ xml2js "0.1.x"
+
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
@@ -2423,7 +3434,7 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.0:
+wide-align@^1.1.0, wide-align@^1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
@@ -2464,6 +3475,26 @@ write-stream@~0.4.3:
dependencies:
readable-stream "~0.0.2"
+xml2js@0.1.x:
+ version "0.1.14"
+ resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c"
+ integrity sha512-pbdws4PPPNc1HPluSUKamY4GWMk592K7qwcj6BExbVOhhubub8+pMda/ql68b6L3luZs/OGjGSB5goV7SnmgnA==
+ dependencies:
+ sax ">=0.1.1"
+
+xml2js@0.4.19:
+ version "0.4.19"
+ resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
+ integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
+ dependencies:
+ sax ">=0.6.0"
+ xmlbuilder "~9.0.1"
+
+xmlbuilder@~9.0.1:
+ version "9.0.7"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+ integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==
+
xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
@@ -2496,3 +3527,8 @@ yargs@^16.1.0, yargs@^16.2.0:
string-width "^4.2.0"
y18n "^5.0.5"
yargs-parser "^20.2.2"
+
+zlib@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"
+ integrity sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==
diff --git a/packages/server/package.json b/packages/server/package.json
index 8ff18e1d24..99c9abe097 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -106,7 +106,7 @@
"google-auth-library": "7.12.0",
"google-spreadsheet": "3.2.0",
"jimp": "0.16.1",
- "joi": "17.2.1",
+ "joi": "17.6.0",
"js-yaml": "4.1.0",
"jsonschema": "1.4.0",
"knex": "0.95.15",
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index fa99a3e32b..5611a7c9a6 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1343,33 +1343,16 @@
protobufjs "^6.11.3"
yargs "^16.2.0"
-"@hapi/address@^4.1.0":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d"
- integrity sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
"@hapi/bourne@^2.0.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-2.1.0.tgz#66aff77094dc3080bd5df44ec63881f2676eb020"
integrity sha512-i1BpaNDVLJdRBEKeJWkVO6tYX6DMFBuwMhSuWqLsY4ufeTKGVuV5rBsUhxPayXqnnWHgXUAmWK16H/ykO5Wj4Q==
-"@hapi/formula@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-2.0.0.tgz#edade0619ed58c8e4f164f233cda70211e787128"
- integrity sha512-V87P8fv7PI0LH7LiVi8Lkf3x+KCO7pQozXRssAHNXXL9L1K+uyu4XypLXwxqVDKgyQai6qj3/KteNlrqDx4W5A==
-
"@hapi/hoek@^9.0.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
-"@hapi/pinpoint@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df"
- integrity sha512-vzXR5MY7n4XeIvLpfl3HtE3coZYO4raKXW766R6DZw/6aLqR26iuZ109K7a0NtF2Db0jxqh7xz2AxkUwpUFybw==
-
"@hapi/topo@^5.0.0":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
@@ -8653,17 +8636,6 @@ jmespath@0.16.0:
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076"
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
-joi@17.2.1:
- version "17.2.1"
- resolved "https://registry.yarnpkg.com/joi/-/joi-17.2.1.tgz#e5140fdf07e8fecf9bc977c2832d1bdb1e3f2a0a"
- integrity sha512-YT3/4Ln+5YRpacdmfEfrrKh50/kkgX3LgBltjqnlMPIYiZ4hxXZuVJcxmsvxsdeHg9soZfE3qXxHC2tMpCCBOA==
- dependencies:
- "@hapi/address" "^4.1.0"
- "@hapi/formula" "^2.0.0"
- "@hapi/hoek" "^9.0.0"
- "@hapi/pinpoint" "^2.0.0"
- "@hapi/topo" "^5.0.0"
-
joi@17.6.0:
version "17.6.0"
resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
diff --git a/packages/worker/src/middleware/joi-validator.js b/packages/worker/src/middleware/joi-validator.js
index 1686b0e727..748ccebd89 100644
--- a/packages/worker/src/middleware/joi-validator.js
+++ b/packages/worker/src/middleware/joi-validator.js
@@ -1,3 +1,5 @@
+const Joi = require("joi")
+
function validate(schema, property) {
// Return a Koa middleware function
return (ctx, next) => {
@@ -10,6 +12,12 @@ function validate(schema, property) {
} else if (ctx.request[property] != null) {
params = ctx.request[property]
}
+
+ schema = schema.append({
+ createdAt: Joi.any().optional(),
+ updatedAt: Joi.any().optional(),
+ })
+
const { error } = schema.validate(params)
if (error) {
ctx.throw(400, `Invalid ${property} - ${error.message}`)
From 6824e0201f17f955407e72aba479762b769f76e8 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 2 Aug 2022 08:45:09 +0000
Subject: [PATCH 039/300] v1.2.0
---
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 c8f2b409df..94870c3a8a 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "1.1.33-alpha.0",
+ "version": "1.2.0",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 9657702909..a57a5440f5 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
+ "@budibase/types": "^1.2.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 fdccebe2df..4fb9e7d077 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.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
+ "@budibase/string-templates": "^1.2.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 4e4089ebe5..a0b43a5390 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.0",
"license": "GPL-3.0",
"private": true,
"scripts": {
@@ -69,10 +69,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "1.1.33-alpha.0",
- "@budibase/client": "1.1.33-alpha.0",
- "@budibase/frontend-core": "1.1.33-alpha.0",
- "@budibase/string-templates": "1.1.33-alpha.0",
+ "@budibase/bbui": "^1.2.0",
+ "@budibase/client": "^1.2.0",
+ "@budibase/frontend-core": "^1.2.0",
+ "@budibase/string-templates": "^1.2.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 8cde5fe568..7460d1a21a 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.0",
"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 dfab542d39..702eb6267c 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
- "@budibase/frontend-core": "1.1.33-alpha.0",
- "@budibase/string-templates": "1.1.33-alpha.0",
+ "@budibase/bbui": "^1.2.0",
+ "@budibase/frontend-core": "^1.2.0",
+ "@budibase/string-templates": "^1.2.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 c1b2dd289e..1e0949a146 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
+ "@budibase/bbui": "^1.2.0",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}
diff --git a/packages/server/package.json b/packages/server/package.json
index 8e7b737fae..e93ec67e61 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
- "@budibase/client": "1.1.33-alpha.0",
+ "@budibase/backend-core": "^1.2.0",
+ "@budibase/client": "^1.2.0",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "1.1.33-alpha.0",
- "@budibase/types": "1.1.33-alpha.0",
+ "@budibase/string-templates": "^1.2.0",
+ "@budibase/types": "^1.2.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 20a095f088..57af93ad96 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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 b01891f7c7..8a5c6f805c 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/types",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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 a3eaaa5af5..1f1ccccfb8 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "1.1.33-alpha.0",
+ "version": "1.2.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.1.33-alpha.0",
+ "@budibase/backend-core": "^1.2.0",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "1.1.33-alpha.0",
- "@budibase/types": "1.1.33-alpha.0",
+ "@budibase/string-templates": "^1.2.0",
+ "@budibase/types": "^1.2.0",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",
From 24beed7eea0042ea3a58d1ed9a79441429ba734f Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 2 Aug 2022 09:33:49 +0000
Subject: [PATCH 040/300] v1.2.1
---
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 94870c3a8a..1dd128fc1e 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "1.2.0",
+ "version": "1.2.1",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index a57a5440f5..e82e3fb804 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
- "version": "1.2.0",
+ "version": "1.2.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.0",
+ "@budibase/types": "^1.2.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 4fb9e7d077..625d6fda82 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.0",
+ "version": "1.2.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.0",
+ "@budibase/string-templates": "^1.2.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 a0b43a5390..51a77a9a6a 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "GPL-3.0",
"private": true,
"scripts": {
@@ -69,10 +69,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "^1.2.0",
- "@budibase/client": "^1.2.0",
- "@budibase/frontend-core": "^1.2.0",
- "@budibase/string-templates": "^1.2.0",
+ "@budibase/bbui": "^1.2.1",
+ "@budibase/client": "^1.2.1",
+ "@budibase/frontend-core": "^1.2.1",
+ "@budibase/string-templates": "^1.2.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 7460d1a21a..7f98d10388 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "1.2.0",
+ "version": "1.2.1",
"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 702eb6267c..3ae86c70cf 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "1.2.0",
+ "version": "1.2.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.0",
- "@budibase/frontend-core": "^1.2.0",
- "@budibase/string-templates": "^1.2.0",
+ "@budibase/bbui": "^1.2.1",
+ "@budibase/frontend-core": "^1.2.1",
+ "@budibase/string-templates": "^1.2.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 1e0949a146..a09736993a 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
- "version": "1.2.0",
+ "version": "1.2.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.0",
+ "@budibase/bbui": "^1.2.1",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}
diff --git a/packages/server/package.json b/packages/server/package.json
index e93ec67e61..f5c8b7ab2b 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.0",
+ "version": "1.2.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.0",
- "@budibase/client": "^1.2.0",
+ "@budibase/backend-core": "^1.2.1",
+ "@budibase/client": "^1.2.1",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "^1.2.0",
- "@budibase/types": "^1.2.0",
+ "@budibase/string-templates": "^1.2.1",
+ "@budibase/types": "^1.2.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 57af93ad96..a7936d4bca 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "1.2.0",
+ "version": "1.2.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 8a5c6f805c..d33b1ea581 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/types",
- "version": "1.2.0",
+ "version": "1.2.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 1f1ccccfb8..585744865a 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.0",
+ "version": "1.2.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.0",
+ "@budibase/backend-core": "^1.2.1",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "^1.2.0",
- "@budibase/types": "^1.2.0",
+ "@budibase/string-templates": "^1.2.1",
+ "@budibase/types": "^1.2.1",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",
From 2a7a1bd85376888c1481f6b38d05c03919b9653d Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 2 Aug 2022 09:45:34 +0000
Subject: [PATCH 041/300] v1.2.2
---
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 1dd128fc1e..9681510920 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "1.2.1",
+ "version": "1.2.2",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index e82e3fb804..9eb4b984a0 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
- "version": "1.2.1",
+ "version": "1.2.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.1",
+ "@budibase/types": "^1.2.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 625d6fda82..3232a252cd 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.1",
+ "version": "1.2.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.1",
+ "@budibase/string-templates": "^1.2.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 51a77a9a6a..99953bebbd 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "1.2.1",
+ "version": "1.2.2",
"license": "GPL-3.0",
"private": true,
"scripts": {
@@ -69,10 +69,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "^1.2.1",
- "@budibase/client": "^1.2.1",
- "@budibase/frontend-core": "^1.2.1",
- "@budibase/string-templates": "^1.2.1",
+ "@budibase/bbui": "^1.2.2",
+ "@budibase/client": "^1.2.2",
+ "@budibase/frontend-core": "^1.2.2",
+ "@budibase/string-templates": "^1.2.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 7f98d10388..1e7698e07b 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "1.2.1",
+ "version": "1.2.2",
"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 3ae86c70cf..4a51f57d01 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "1.2.1",
+ "version": "1.2.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.1",
- "@budibase/frontend-core": "^1.2.1",
- "@budibase/string-templates": "^1.2.1",
+ "@budibase/bbui": "^1.2.2",
+ "@budibase/frontend-core": "^1.2.2",
+ "@budibase/string-templates": "^1.2.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 a09736993a..9267840173 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
- "version": "1.2.1",
+ "version": "1.2.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.1",
+ "@budibase/bbui": "^1.2.2",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}
diff --git a/packages/server/package.json b/packages/server/package.json
index f5c8b7ab2b..97e88cf19d 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.1",
+ "version": "1.2.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.1",
- "@budibase/client": "^1.2.1",
+ "@budibase/backend-core": "^1.2.2",
+ "@budibase/client": "^1.2.2",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "^1.2.1",
- "@budibase/types": "^1.2.1",
+ "@budibase/string-templates": "^1.2.2",
+ "@budibase/types": "^1.2.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 a7936d4bca..b7dc509c7b 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "1.2.1",
+ "version": "1.2.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 d33b1ea581..e3bd698774 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/types",
- "version": "1.2.1",
+ "version": "1.2.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 585744865a..357cf6b45b 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.1",
+ "version": "1.2.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.1",
+ "@budibase/backend-core": "^1.2.2",
"@budibase/pro": "1.1.33-alpha.0",
- "@budibase/string-templates": "^1.2.1",
- "@budibase/types": "^1.2.1",
+ "@budibase/string-templates": "^1.2.2",
+ "@budibase/types": "^1.2.2",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",
From 098132a85bdd5b15a4de569aa551ff0639db0c08 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 2 Aug 2022 09:48:31 +0000
Subject: [PATCH 042/300] Update pro version to 1.2.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 97e88cf19d..a49f09cf83 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.2",
"@budibase/client": "^1.2.2",
- "@budibase/pro": "1.1.33-alpha.0",
+ "@budibase/pro": "1.2.2",
"@budibase/string-templates": "^1.2.2",
"@budibase/types": "^1.2.2",
"@bull-board/api": "3.7.0",
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index d8633e0465..39468a0d12 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.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.0.tgz#8a502a038c3a86fa061bc53c9538deed0598b96c"
- integrity sha512-QSUX8sOHMip2XYbjAehhcFHpHucCOAQOR8sW20WDjofR/+DEHRuvkHXetgJvcl0CMPey8dmh98H+yeQio1kYcQ==
+"@budibase/backend-core@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.2.tgz#587a9157f46b4936df0af03294d6478c8315adf3"
+ integrity sha512-IqxjiL810uW/SIrBhlyqCN7HjrJlbGfiDwMys9uYpWbBdRU1Xv55WCZA04z/bg1FvGsg5x8qDZHnauRapwfQ2Q==
dependencies:
- "@budibase/types" "1.1.33-alpha.0"
+ "@budibase/types" "^1.2.2"
"@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.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.0.tgz#0ad6ab84a6e056bafa0ccd5a76310661ae8af216"
- integrity sha512-8FQOewCDHpe7AL2psQ/VMy4YkwacQYg1dMnK9GMDFL6MGkgV2bPxOMDyOYgAUaDpwhXh7P9KIszysRinW/T5Dg==
+"@budibase/pro@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.2.tgz#12f39bd6b1bf2233faeb3e6a0b8835cbc1a04593"
+ integrity sha512-HhgqbRvEh7X8ZE9JFkjr5cg1oo5wKbzycpumgj+e4O1HH4xT9DR5OYZIWWnLTJo8G4M//4pBo6YBDtoEPkxZOQ==
dependencies:
- "@budibase/backend-core" "1.1.33-alpha.0"
- "@budibase/types" "1.1.33-alpha.0"
+ "@budibase/backend-core" "1.2.2"
+ "@budibase/types" "1.2.2"
"@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.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.0.tgz#78f59d004bb3b201e04d9ad84583e64a98db40b9"
- integrity sha512-ZEjdylzTfsxeOhZtVNxm+4cViq8SlpN6Dg8b3HoFQntXaIdGuD9M1GKVMd+juYBbcbNdx0GDu+UsVgVZLrosxQ==
+"@budibase/types@1.2.2", "@budibase/types@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.2.tgz#a43a7856c07fbb9c3e96c08bc13305ea98ed2dc4"
+ integrity sha512-RhD+AeMP3sK+/RRsWHrYX0L8QPanEop2Aig7xGK0O2A7ENFqXJrLdxugsZCYK+fE2/SJrj+JO2SrJJGAGaozxQ==
"@bull-board/api@3.7.0":
version "3.7.0"
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 357cf6b45b..771f45d797 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.2",
- "@budibase/pro": "1.1.33-alpha.0",
+ "@budibase/pro": "1.2.2",
"@budibase/string-templates": "^1.2.2",
"@budibase/types": "^1.2.2",
"@koa/router": "8.0.8",
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 961a3d13bc..5637239107 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.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.0.tgz#8a502a038c3a86fa061bc53c9538deed0598b96c"
- integrity sha512-QSUX8sOHMip2XYbjAehhcFHpHucCOAQOR8sW20WDjofR/+DEHRuvkHXetgJvcl0CMPey8dmh98H+yeQio1kYcQ==
+"@budibase/backend-core@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.2.tgz#587a9157f46b4936df0af03294d6478c8315adf3"
+ integrity sha512-IqxjiL810uW/SIrBhlyqCN7HjrJlbGfiDwMys9uYpWbBdRU1Xv55WCZA04z/bg1FvGsg5x8qDZHnauRapwfQ2Q==
dependencies:
- "@budibase/types" "1.1.33-alpha.0"
+ "@budibase/types" "^1.2.2"
"@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.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.0.tgz#0ad6ab84a6e056bafa0ccd5a76310661ae8af216"
- integrity sha512-8FQOewCDHpe7AL2psQ/VMy4YkwacQYg1dMnK9GMDFL6MGkgV2bPxOMDyOYgAUaDpwhXh7P9KIszysRinW/T5Dg==
+"@budibase/pro@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.2.tgz#12f39bd6b1bf2233faeb3e6a0b8835cbc1a04593"
+ integrity sha512-HhgqbRvEh7X8ZE9JFkjr5cg1oo5wKbzycpumgj+e4O1HH4xT9DR5OYZIWWnLTJo8G4M//4pBo6YBDtoEPkxZOQ==
dependencies:
- "@budibase/backend-core" "1.1.33-alpha.0"
- "@budibase/types" "1.1.33-alpha.0"
+ "@budibase/backend-core" "1.2.2"
+ "@budibase/types" "1.2.2"
"@koa/router" "8.0.8"
joi "17.6.0"
node-fetch "^2.6.1"
-"@budibase/types@1.1.33-alpha.0":
- version "1.1.33-alpha.0"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.0.tgz#78f59d004bb3b201e04d9ad84583e64a98db40b9"
- integrity sha512-ZEjdylzTfsxeOhZtVNxm+4cViq8SlpN6Dg8b3HoFQntXaIdGuD9M1GKVMd+juYBbcbNdx0GDu+UsVgVZLrosxQ==
+"@budibase/types@1.2.2", "@budibase/types@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.2.tgz#a43a7856c07fbb9c3e96c08bc13305ea98ed2dc4"
+ integrity sha512-RhD+AeMP3sK+/RRsWHrYX0L8QPanEop2Aig7xGK0O2A7ENFqXJrLdxugsZCYK+fE2/SJrj+JO2SrJJGAGaozxQ==
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"
From 6102ace3a98032cd39f6b7abe4fafc54a62791fa Mon Sep 17 00:00:00 2001
From: Rory Powell
Date: Tue, 2 Aug 2022 10:52:09 +0100
Subject: [PATCH 043/300] Reduce event frequency
---
.../src/events/processors/PosthogProcessor.ts | 21 ++++++++++
.../processors/tests/PosthogProcessor.spec.ts | 40 +++++++++++++++++++
.../src/events/publishers/license.ts | 6 ---
.../tests/utilities/mocks/index.js | 2 +
.../tests/utilities/mocks/posthog.ts | 7 ++++
.../builder/src/analytics/PosthogClient.js | 10 ++++-
packages/builder/src/stores/portal/auth.js | 5 +++
packages/types/src/sdk/events/event.ts | 1 -
8 files changed, 84 insertions(+), 8 deletions(-)
create mode 100644 packages/backend-core/src/events/processors/tests/PosthogProcessor.spec.ts
create mode 100644 packages/backend-core/tests/utilities/mocks/posthog.ts
diff --git a/packages/backend-core/src/events/processors/PosthogProcessor.ts b/packages/backend-core/src/events/processors/PosthogProcessor.ts
index eb12db1dc4..9d68d3919a 100644
--- a/packages/backend-core/src/events/processors/PosthogProcessor.ts
+++ b/packages/backend-core/src/events/processors/PosthogProcessor.ts
@@ -5,6 +5,22 @@ import env from "../../environment"
import * as context from "../../context"
const pkg = require("../../../package.json")
+const EXCLUDED_EVENTS: Event[] = [
+ Event.USER_UPDATED,
+ Event.EMAIL_SMTP_UPDATED,
+ Event.AUTH_SSO_UPDATED,
+ Event.APP_UPDATED,
+ Event.ROLE_UPDATED,
+ Event.DATASOURCE_UPDATED,
+ Event.QUERY_UPDATED,
+ Event.TABLE_UPDATED,
+ Event.VIEW_UPDATED,
+ Event.VIEW_FILTER_UPDATED,
+ Event.VIEW_CALCULATION_UPDATED,
+ Event.AUTOMATION_TRIGGER_UPDATED,
+ Event.USER_GROUP_UPDATED,
+]
+
export default class PosthogProcessor implements EventProcessor {
posthog: PostHog
@@ -21,6 +37,11 @@ export default class PosthogProcessor implements EventProcessor {
properties: BaseEvent,
timestamp?: string | number
): Promise {
+ // don't send excluded events
+ if (EXCLUDED_EVENTS.includes(event)) {
+ return
+ }
+
properties.version = pkg.version
properties.service = env.SERVICE
properties.environment = identity.environment
diff --git a/packages/backend-core/src/events/processors/tests/PosthogProcessor.spec.ts b/packages/backend-core/src/events/processors/tests/PosthogProcessor.spec.ts
new file mode 100644
index 0000000000..4a6d55b272
--- /dev/null
+++ b/packages/backend-core/src/events/processors/tests/PosthogProcessor.spec.ts
@@ -0,0 +1,40 @@
+import PosthogProcessor from "../PosthogProcessor"
+import { Event, IdentityType, Hosting } from "@budibase/types"
+
+const newIdentity = () => {
+ return {
+ id: "test",
+ type: IdentityType.USER,
+ hosting: Hosting.SELF,
+ environment: "test",
+ }
+}
+
+describe("PosthogProcessor", () => {
+ beforeEach(() => {
+ jest.clearAllMocks()
+ })
+
+ describe("processEvent", () => {
+ it("processes event", () => {
+ const processor = new PosthogProcessor("test")
+
+ const identity = newIdentity()
+ const properties = {}
+
+ processor.processEvent(Event.APP_CREATED, identity, properties)
+
+ expect(processor.posthog.capture).toHaveBeenCalledTimes(1)
+ })
+
+ it("honours exclusions", () => {
+ const processor = new PosthogProcessor("test")
+
+ const identity = newIdentity()
+ const properties = {}
+
+ processor.processEvent(Event.AUTH_SSO_UPDATED, identity, properties)
+ expect(processor.posthog.capture).toHaveBeenCalledTimes(0)
+ })
+ })
+})
diff --git a/packages/backend-core/src/events/publishers/license.ts b/packages/backend-core/src/events/publishers/license.ts
index 44dafd84ce..1adc71652e 100644
--- a/packages/backend-core/src/events/publishers/license.ts
+++ b/packages/backend-core/src/events/publishers/license.ts
@@ -20,12 +20,6 @@ export async function downgraded(license: License) {
await publishEvent(Event.LICENSE_DOWNGRADED, properties)
}
-// TODO
-export async function updated(license: License) {
- const properties: LicenseUpdatedEvent = {}
- await publishEvent(Event.LICENSE_UPDATED, properties)
-}
-
// TODO
export async function activated(license: License) {
const properties: LicenseActivatedEvent = {}
diff --git a/packages/backend-core/tests/utilities/mocks/index.js b/packages/backend-core/tests/utilities/mocks/index.js
index 3dd5c854c0..6aa1c4a54f 100644
--- a/packages/backend-core/tests/utilities/mocks/index.js
+++ b/packages/backend-core/tests/utilities/mocks/index.js
@@ -1,7 +1,9 @@
+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/posthog.ts b/packages/backend-core/tests/utilities/mocks/posthog.ts
new file mode 100644
index 0000000000..e9cc653ccc
--- /dev/null
+++ b/packages/backend-core/tests/utilities/mocks/posthog.ts
@@ -0,0 +1,7 @@
+jest.mock("posthog-node", () => {
+ return jest.fn().mockImplementation(() => {
+ return {
+ capture: jest.fn(),
+ }
+ })
+})
diff --git a/packages/builder/src/analytics/PosthogClient.js b/packages/builder/src/analytics/PosthogClient.js
index 0b9f052906..c1e596358f 100644
--- a/packages/builder/src/analytics/PosthogClient.js
+++ b/packages/builder/src/analytics/PosthogClient.js
@@ -1,5 +1,7 @@
import posthog from "posthog-js"
import { Events } from "./constants"
+import { get } from "svelte/store"
+import { admin } from "../stores/portal"
export default class PosthogClient {
constructor(token) {
@@ -9,9 +11,15 @@ export default class PosthogClient {
init() {
if (!this.token) return
+ // enable page views in cloud only
+ let capturePageViews = false
+ if (get(admin).cloud) {
+ capturePageViews = true
+ }
+
posthog.init(this.token, {
autocapture: false,
- capture_pageview: true,
+ capture_pageview: capturePageViews,
})
posthog.set_config({ persistence: "cookie" })
diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js
index d6f4fc140f..7075b40d51 100644
--- a/packages/builder/src/stores/portal/auth.js
+++ b/packages/builder/src/stores/portal/auth.js
@@ -131,6 +131,11 @@ export function createAuthStore() {
await setOrganisation(tenantId)
},
getSelf: async () => {
+ // for analytics, we need to make sure the environment has been loaded
+ // before setting the user
+ if (!get(admin).loaded) {
+ await admin.init()
+ }
// We need to catch this locally as we never want this to fail, even
// though normally we never want to swallow API errors at the store level.
// We're either logged in or we aren't.
diff --git a/packages/types/src/sdk/events/event.ts b/packages/types/src/sdk/events/event.ts
index f0e023df51..d7086370ec 100644
--- a/packages/types/src/sdk/events/event.ts
+++ b/packages/types/src/sdk/events/event.ts
@@ -135,7 +135,6 @@ export enum Event {
// LICENSE
LICENSE_UPGRADED = "license:upgraded",
LICENSE_DOWNGRADED = "license:downgraded",
- LICENSE_UPDATED = "license:updated",
LICENSE_ACTIVATED = "license:activated",
// ACCOUNT
From 31af7b9c69621a5cee8e571bb79ead6211ed2676 Mon Sep 17 00:00:00 2001
From: Dean
Date: Tue, 2 Aug 2022 11:16:35 +0100
Subject: [PATCH 044/300] Ensure the row key is unique even when the rows are
sorted.
---
.../src/components/common/AppLockModal.svelte | 116 +++++++++---------
.../src/components/start/AppRow.svelte | 5 +-
.../pages/builder/portal/apps/index.svelte | 9 +-
3 files changed, 71 insertions(+), 59 deletions(-)
diff --git a/packages/builder/src/components/common/AppLockModal.svelte b/packages/builder/src/components/common/AppLockModal.svelte
index 5ca35f05db..cf8f17dbe9 100644
--- a/packages/builder/src/components/common/AppLockModal.svelte
+++ b/packages/builder/src/components/common/AppLockModal.svelte
@@ -6,6 +6,8 @@
Modal,
notifications,
ProgressCircle,
+ Layout,
+ Body,
} from "@budibase/bbui"
import { auth, apps } from "stores/portal"
import { processStringSync } from "@budibase/string-templates"
@@ -29,6 +31,7 @@
lockedBy && lockedByYou ? "Locked by you" : `Locked by ${lockIdentifer}`
const getExpiryDuration = app => {
+ console.log("Testing")
if (!app?.lockedBy?.lockedAt) {
return -1
}
@@ -72,62 +75,65 @@
{/if}
-
-
-
- Apps are locked to prevent work from being lost from overlapping changes
- between your team.
-
-
- {#if lockedByYou && getExpiryDuration(app) > 0}
-
- {processStringSync(
- "This lock will expire in {{ duration time 'millisecond' }} from now.",
- {
- time: getExpiryDuration(app),
- }
- )}
-
- {/if}
-
-
-
- {#if lockedByYou}
-
+
+
+
+
+
+ Apps are locked to prevent work from being lost from overlapping
+ changes between your team.
+
+ {#if lockedByYou && getExpiryDuration(app) > 0}
+
+ {processStringSync(
+ "This lock will expire in {{ duration time 'millisecond' }} from now. This lock will expire in This lock will expire in ",
+ {
+ time: getExpiryDuration(app),
+ }
+ )}
+
{/if}
-
-
-
-
+
+
+
+ {#if lockedByYou}
+
+ {/if}
+
+
+
+
+
+
From b838a66954200678a149d5fdf40a811a35c6143c Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 16:41:15 +0100
Subject: [PATCH 063/300] Update styles in user details page and user list page
---
.../portal/manage/users/[userId].svelte | 22 ++--
.../_components/RoleTableRenderer.svelte | 18 +--
.../builder/portal/manage/users/index.svelte | 117 +++++++-----------
3 files changed, 62 insertions(+), 95 deletions(-)
diff --git a/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte b/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte
index df228f8fbc..74a1629357 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte
@@ -216,15 +216,13 @@
{#if loaded}
-
-
-
-
$goto("./")} icon="ArrowLeft">
- Back
-
-
-
-
+
+
+
$goto("./")} icon="ArrowLeft">
+ Back
+
+
+
@@ -253,8 +251,6 @@
{/if}
-
-
@@ -291,7 +287,7 @@
- User groups
+ User groups
Add or remove this user from user groups
@@ -337,7 +333,7 @@
- Apps
+ Apps
Manage apps that this user has been assigned to
diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/RoleTableRenderer.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/RoleTableRenderer.svelte
index 4f481d374c..0a2daf7580 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/_components/RoleTableRenderer.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/_components/RoleTableRenderer.svelte
@@ -3,14 +3,18 @@
import { Constants } from "@budibase/frontend-core"
export let row
- $: value =
- Constants.BbRoles.find(x => x.value === users.getUserRole(row))?.label ||
- "Not Available"
+
+ const TooltipMap = {
+ appUser: "Only has access to published apps",
+ developer: "Access to the app builder",
+ admin: "Full access",
+ }
+
+ $: role = Constants.BbRoles.find(x => x.value === users.getUserRole(row))
+ $: value = role?.label || "Not available"
+ $: tooltip = TooltipMap[role?.value] || ""
-
+
{value}
-
-
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 b6cac9ece3..b5b4881d14 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte
@@ -8,11 +8,9 @@
Layout,
Modal,
ModalContent,
- Icon,
+ Search,
notifications,
Pagination,
- Search,
- Label,
} from "@budibase/bbui"
import AddUserModal from "./_components/AddUserModal.svelte"
import { users, groups, auth } from "stores/portal"
@@ -30,21 +28,6 @@
import { Constants } from "@budibase/frontend-core"
import { get } from "svelte/store"
- const accessTypes = [
- {
- icon: "User",
- description: "App user - Only has access to published apps",
- },
- {
- icon: "Hammer",
- description: "Developer - Access to the app builder",
- },
- {
- icon: "Draw",
- description: "Admin - Full access",
- },
- ]
-
//let email
let enrichedUsers = []
let createUserModal,
@@ -236,19 +219,8 @@
Users
Add users and control who gets access to your published apps
-
-
- {#each accessTypes as type}
-
-
-
- {type.description}
-
-
- {/each}
-
-
+
-
-
-
-
-
-
+ Import users
+
+
+
+
{#if selectedRows.length > 0}
{/if}
-
-
$goto(`./${detail._id}`)}
- {schema}
- bind:selectedRows
- data={enrichedUsers}
- allowEditColumns={false}
- allowEditRows={false}
- allowSelectRows={true}
- showHeaderBorder={false}
- {customRenderers}
- />
-
-
+
+
+ $goto(`./${detail._id}`)}
+ {schema}
+ bind:selectedRows
+ data={enrichedUsers}
+ allowEditColumns={false}
+ allowEditRows={false}
+ allowSelectRows={true}
+ showHeaderBorder={false}
+ {customRenderers}
+ />
+
@@ -325,28 +301,19 @@
display: flex;
flex-direction: row;
justify-content: flex-end;
- margin-top: var(--spacing-xl);
}
- .field {
+ .controls {
display: flex;
- align-items: center;
flex-direction: row;
- grid-gap: var(--spacing-m);
- margin-left: auto;
+ justify-content: space-between;
+ align-items: center;
}
-
- .field > :global(*) + :global(*) {
- margin-left: var(--spacing-m);
- }
-
- .access-description {
+ .controls-right {
display: flex;
- margin-top: var(--spacing-xl);
- opacity: 0.8;
- }
-
- .access-text {
- margin-left: var(--spacing-m);
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: center;
+ gap: var(--spacing-xl);
}
From e9df049e017b9c50c0f9d2e32636fad137dbdae8 Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 16:44:37 +0100
Subject: [PATCH 064/300] Update delete rows button to be configurable
---
.../backend/DataTable/buttons/DeleteRowsButton.svelte | 7 +++++--
.../src/pages/builder/portal/manage/users/index.svelte | 7 ++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/packages/builder/src/components/backend/DataTable/buttons/DeleteRowsButton.svelte b/packages/builder/src/components/backend/DataTable/buttons/DeleteRowsButton.svelte
index 3d662ed556..e70a0aa042 100644
--- a/packages/builder/src/components/backend/DataTable/buttons/DeleteRowsButton.svelte
+++ b/packages/builder/src/components/backend/DataTable/buttons/DeleteRowsButton.svelte
@@ -5,6 +5,7 @@
export let selectedRows
export let deleteRows
+ export let item = "row"
const dispatch = createEventDispatcher()
let modal
@@ -14,12 +15,14 @@
modal?.hide()
dispatch("updaterows")
}
+
+ $: text = `${item}${selectedRows?.length === 1 ? "" : "s"}`
Are you sure you want to delete
{selectedRows.length}
- row{selectedRows.length > 1 ? "s" : ""}?
+ {text}?
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 b5b4881d14..e48ace9160 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte
@@ -240,7 +240,12 @@
{#if selectedRows.length > 0}
-
+
{/if}
From 4f84fb069bb2c3b9468b8d65ef12cbbfbc8d9f73 Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 16:46:00 +0100
Subject: [PATCH 065/300] Fix type in import users modal
---
.../portal/manage/users/_components/ImportUsersModal.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/ImportUsersModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/ImportUsersModal.svelte
index bc8a0d1f1f..522d4cb826 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/_components/ImportUsersModal.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/_components/ImportUsersModal.svelte
@@ -81,7 +81,7 @@
onConfirm={() => createUsersFromCsv({ userEmails, usersRole, userGroups })}
disabled={!userEmails.length || !validEmails(userEmails) || !usersRole}
>
- Import your users email addrresses from a CSV
+ Import your users email addresses from a CSV
From 82c75b43de90b5af54e530d7a2965e324172c5bb Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 2 Aug 2022 17:05:27 +0000
Subject: [PATCH 066/300] v1.1.33-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 | 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 b1b9369f4f..cc9bd6bd85 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-alpha.4",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 1ea4fec4c4..3a40b37d9c 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
+ "@budibase/types": "1.1.33-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 808f30dbea..08e79914bc 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.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
+ "@budibase/string-templates": "1.1.33-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 7c2f4ab3e4..d50d9c2287 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-alpha.4",
"license": "GPL-3.0",
"private": true,
"scripts": {
@@ -69,10 +69,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "1.1.33-alpha.3",
- "@budibase/client": "1.1.33-alpha.3",
- "@budibase/frontend-core": "1.1.33-alpha.3",
- "@budibase/string-templates": "1.1.33-alpha.3",
+ "@budibase/bbui": "1.1.33-alpha.4",
+ "@budibase/client": "1.1.33-alpha.4",
+ "@budibase/frontend-core": "1.1.33-alpha.4",
+ "@budibase/string-templates": "1.1.33-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 ee04c8eb31..390f89813e 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-alpha.4",
"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 af4d7bf806..0d9348a85a 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
- "@budibase/frontend-core": "1.1.33-alpha.3",
- "@budibase/string-templates": "1.1.33-alpha.3",
+ "@budibase/bbui": "1.1.33-alpha.4",
+ "@budibase/frontend-core": "1.1.33-alpha.4",
+ "@budibase/string-templates": "1.1.33-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 1d70c86cd7..e52cbd5c3a 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
+ "@budibase/bbui": "1.1.33-alpha.4",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}
diff --git a/packages/server/package.json b/packages/server/package.json
index 02ccbb875f..bd2075cf87 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
- "@budibase/client": "1.1.33-alpha.3",
+ "@budibase/backend-core": "1.1.33-alpha.4",
+ "@budibase/client": "1.1.33-alpha.4",
"@budibase/pro": "1.1.33-alpha.3",
- "@budibase/string-templates": "1.1.33-alpha.3",
- "@budibase/types": "1.1.33-alpha.3",
+ "@budibase/string-templates": "1.1.33-alpha.4",
+ "@budibase/types": "1.1.33-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 419a530d50..ce472cf6f5 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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 c3723be162..eaca5b3bbf 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/types",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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 974aead2d4..71135d167e 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "1.1.33-alpha.3",
+ "version": "1.1.33-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.1.33-alpha.3",
+ "@budibase/backend-core": "1.1.33-alpha.4",
"@budibase/pro": "1.1.33-alpha.3",
- "@budibase/string-templates": "1.1.33-alpha.3",
- "@budibase/types": "1.1.33-alpha.3",
+ "@budibase/string-templates": "1.1.33-alpha.4",
+ "@budibase/types": "1.1.33-alpha.4",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",
From 03ae7f8e255107c5f2eced84e13f159d75d9c0dc Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 2 Aug 2022 17:08:30 +0000
Subject: [PATCH 067/300] Update pro version to 1.1.33-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 bd2075cf87..0f07104af2 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.1.33-alpha.4",
"@budibase/client": "1.1.33-alpha.4",
- "@budibase/pro": "1.1.33-alpha.3",
+ "@budibase/pro": "1.1.33-alpha.4",
"@budibase/string-templates": "1.1.33-alpha.4",
"@budibase/types": "1.1.33-alpha.4",
"@bull-board/api": "3.7.0",
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 6b64c228f6..744803548c 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.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.3.tgz#3ae8b800a1b6c1beed834637b9050812bd1e00d7"
- integrity sha512-v63wVHvTdxnHaL7ZfrIxeK1EBDfTHBFqTBd/H5LPs5PN8Jx52Hsn48eyQHrveRbkRpvoAiAzCL+ukVx6S9g86g==
+"@budibase/backend-core@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.4.tgz#207ffe45d41535e59ccc21cca9892d1e41818a14"
+ integrity sha512-p8SZkODBF4+BhfIYWIkUtJhR04OjvkmkrVTSFWXv2NTkIbSpaJGTkx9Kao+1Dn4N3H4jU4OBdmScy+C8F5MeSw==
dependencies:
- "@budibase/types" "1.1.33-alpha.3"
+ "@budibase/types" "1.1.33-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.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.3.tgz#7670dc446f31fc2eb02a0b13897d8f8aac2234c7"
- integrity sha512-RhlG5RJw7krbcJfizZ/DiGoz1INareJ9xviJeFJx2PFZV7BH07CLNUs4IhW5jf2WOBLC0hJXBnVvM2A6MFENbA==
+"@budibase/pro@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.4.tgz#d25bc2ca73d11adfdc659e324b1e8de31c17657a"
+ integrity sha512-CQ3zVbom4ndzIfUznUSERQ4Bz6ZVuy4HbOYGKKkU/FjoWqrYRK1tqlhmfCNQy8P9rnKURCUf3PMoWVWSOAS24g==
dependencies:
- "@budibase/backend-core" "1.1.33-alpha.3"
- "@budibase/types" "1.1.33-alpha.3"
+ "@budibase/backend-core" "1.1.33-alpha.4"
+ "@budibase/types" "1.1.33-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.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.3.tgz#0e12b680f0fa1f8444075fc657440bc7e1ffc666"
- integrity sha512-hGmtMvuSwW/ydwUm+Mz5wxky8aoQi4laySJhMeWWyMsOcinYYhZIvRIv5hO3nkFbZDDb+8QxckZzfK2WTmmZVA==
+"@budibase/types@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.4.tgz#a8de79c385280389be8b2cc214185caddf5fe4d3"
+ integrity sha512-od/gbLgbJnHsVlCvBQkuJf3t/Y9VLUNRYPl3Y4IbNOylpj3rSOKVGF3jANQgkI+pOBt5ni3Xlhc7aOI3qAning==
"@bull-board/api@3.7.0":
version "3.7.0"
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 71135d167e..827d323c98 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -36,7 +36,7 @@
"license": "GPL-3.0",
"dependencies": {
"@budibase/backend-core": "1.1.33-alpha.4",
- "@budibase/pro": "1.1.33-alpha.3",
+ "@budibase/pro": "1.1.33-alpha.4",
"@budibase/string-templates": "1.1.33-alpha.4",
"@budibase/types": "1.1.33-alpha.4",
"@koa/router": "8.0.8",
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 2b6203fb04..8e682666fe 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.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.3.tgz#3ae8b800a1b6c1beed834637b9050812bd1e00d7"
- integrity sha512-v63wVHvTdxnHaL7ZfrIxeK1EBDfTHBFqTBd/H5LPs5PN8Jx52Hsn48eyQHrveRbkRpvoAiAzCL+ukVx6S9g86g==
+"@budibase/backend-core@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.1.33-alpha.4.tgz#207ffe45d41535e59ccc21cca9892d1e41818a14"
+ integrity sha512-p8SZkODBF4+BhfIYWIkUtJhR04OjvkmkrVTSFWXv2NTkIbSpaJGTkx9Kao+1Dn4N3H4jU4OBdmScy+C8F5MeSw==
dependencies:
- "@budibase/types" "1.1.33-alpha.3"
+ "@budibase/types" "1.1.33-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.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.3.tgz#7670dc446f31fc2eb02a0b13897d8f8aac2234c7"
- integrity sha512-RhlG5RJw7krbcJfizZ/DiGoz1INareJ9xviJeFJx2PFZV7BH07CLNUs4IhW5jf2WOBLC0hJXBnVvM2A6MFENbA==
+"@budibase/pro@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.1.33-alpha.4.tgz#d25bc2ca73d11adfdc659e324b1e8de31c17657a"
+ integrity sha512-CQ3zVbom4ndzIfUznUSERQ4Bz6ZVuy4HbOYGKKkU/FjoWqrYRK1tqlhmfCNQy8P9rnKURCUf3PMoWVWSOAS24g==
dependencies:
- "@budibase/backend-core" "1.1.33-alpha.3"
- "@budibase/types" "1.1.33-alpha.3"
+ "@budibase/backend-core" "1.1.33-alpha.4"
+ "@budibase/types" "1.1.33-alpha.4"
"@koa/router" "8.0.8"
joi "17.6.0"
node-fetch "^2.6.1"
-"@budibase/types@1.1.33-alpha.3":
- version "1.1.33-alpha.3"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.3.tgz#0e12b680f0fa1f8444075fc657440bc7e1ffc666"
- integrity sha512-hGmtMvuSwW/ydwUm+Mz5wxky8aoQi4laySJhMeWWyMsOcinYYhZIvRIv5hO3nkFbZDDb+8QxckZzfK2WTmmZVA==
+"@budibase/types@1.1.33-alpha.4":
+ version "1.1.33-alpha.4"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.1.33-alpha.4.tgz#a8de79c385280389be8b2cc214185caddf5fe4d3"
+ integrity sha512-od/gbLgbJnHsVlCvBQkuJf3t/Y9VLUNRYPl3Y4IbNOylpj3rSOKVGF3jANQgkI+pOBt5ni3Xlhc7aOI3qAning==
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"
From 129c9662266bc6b1b29cf61a9aa6a14fcf074b3f Mon Sep 17 00:00:00 2001
From: mike12345567
Date: Tue, 2 Aug 2022 18:34:58 +0100
Subject: [PATCH 068/300] Updating the filter system to allow adding multiple
filter properties of the same name at once, as well as enabling the use of
the allOr property from within the UI - resolves an old issue #2585.
---
.../controls/FilterEditor/FilterDrawer.svelte | 29 +++++++-
.../controls/FilterEditor/FilterEditor.svelte | 66 +++++++++++++++++--
packages/frontend-core/src/utils/lucene.js | 4 ++
.../src/api/controllers/row/internalSearch.js | 3 +
.../server/src/api/controllers/row/utils.js | 7 +-
packages/server/src/integrations/base/sql.ts | 8 ++-
.../server/src/integrations/base/utils.ts | 40 ++++++-----
.../server/src/integrations/queries/sql.ts | 1 -
8 files changed, 130 insertions(+), 28 deletions(-)
diff --git a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
index aa191ce0ea..1d9c3dea09 100644
--- a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
+++ b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterDrawer.svelte
@@ -9,19 +9,26 @@
Input,
Layout,
Select,
+ Toggle,
+ Label,
} from "@budibase/bbui"
import DrawerBindableInput from "components/common/bindings/DrawerBindableInput.svelte"
import ClientBindingPanel from "components/common/bindings/ClientBindingPanel.svelte"
import { generate } from "shortid"
import { LuceneUtils, Constants } from "@budibase/frontend-core"
import { getFields } from "helpers/searchFields"
+ import { createEventDispatcher } from "svelte"
+
+ const dispatch = createEventDispatcher()
export let schemaFields
export let filters = []
export let bindings = []
export let panel = ClientBindingPanel
export let allowBindings = true
+ export let allOr = false
+ $: dispatch("change", filters)
$: enrichedSchemaFields = getFields(schemaFields || [])
$: fieldOptions = enrichedSchemaFields.map(field => field.name) || []
$: valueTypeOptions = allowBindings ? ["Value", "Binding"] : ["Value"]
@@ -69,7 +76,7 @@
}
// if changed to an array, change default value to empty array
- const idx = filters.findIndex(x => x.field === field)
+ const idx = filters.findIndex(x => x.id === expression.id)
if (expression.type === "array") {
filters[idx].value = []
} else {
@@ -179,10 +186,16 @@
{/each}
{/if}
-
+
+
+ (allOr = event.detail)}
+ />
+
@@ -202,4 +215,16 @@
align-items: center;
grid-template-columns: 1fr 120px 120px 1fr auto auto;
}
+
+ .toggle {
+ display: flex;
+ align-items: center;
+ padding-right: var(--spacing-s);
+ }
+
+ .bottom {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
diff --git a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte
index 2cb35a9cf5..ea54afc0ee 100644
--- a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte
+++ b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte
@@ -8,21 +8,73 @@
import FilterDrawer from "./FilterDrawer.svelte"
import { currentAsset } from "builderStore"
+ const QUERY_START_REGEX = /\d[0-9]*:/g
const dispatch = createEventDispatcher()
export let value = []
export let componentInstance
export let bindings = []
- let drawer
- let tempValue = value || []
+ let drawer,
+ toSaveFilters = null,
+ allOr,
+ initialAllOr
+ $: initialFilters = correctFilters(value || [])
$: dataSource = getDatasourceForProvider($currentAsset, componentInstance)
$: schema = getSchemaForDatasource($currentAsset, dataSource)?.schema
$: schemaFields = Object.values(schema || {})
- const saveFilter = async () => {
- dispatch("change", tempValue)
+ function addNumbering(filters) {
+ let count = 1
+ for (let value of filters) {
+ if (value.field && value.field?.match(QUERY_START_REGEX) == null) {
+ value.field = `${count++}:${value.field}`
+ }
+ }
+ return filters
+ }
+
+ function correctFilters(filters) {
+ const corrected = []
+ for (let filter of filters) {
+ let field = filter.field
+ if (filter.operator === "allOr") {
+ initialAllOr = allOr = true
+ continue
+ }
+ if (
+ typeof filter.field === "string" &&
+ filter.field.match(QUERY_START_REGEX) != null
+ ) {
+ const parts = field.split(":")
+ const number = parts[0]
+ // it's the new format, remove number
+ if (!isNaN(parseInt(number))) {
+ parts.shift()
+ field = parts.join(":")
+ }
+ }
+ corrected.push({
+ ...filter,
+ field,
+ })
+ }
+ return corrected
+ }
+
+ async function saveFilter() {
+ if (!toSaveFilters && allOr !== initialAllOr) {
+ toSaveFilters = initialFilters
+ }
+ const filters = toSaveFilters?.filter(filter => filter.operator !== "allOr")
+ if (allOr && filters) {
+ filters.push({ operator: "allOr" })
+ }
+ // only save if anything was updated
+ if (filters) {
+ dispatch("change", addNumbering(filters))
+ }
notifications.success("Filters saved.")
drawer.hide()
}
@@ -33,8 +85,12 @@
{
+ toSaveFilters = event.detail
+ }}
/>
diff --git a/packages/frontend-core/src/utils/lucene.js b/packages/frontend-core/src/utils/lucene.js
index b6699628d1..780cb2da39 100644
--- a/packages/frontend-core/src/utils/lucene.js
+++ b/packages/frontend-core/src/utils/lucene.js
@@ -103,6 +103,10 @@ export const buildLuceneQuery = filter => {
const isHbs =
typeof value === "string" && value.match(HBS_REGEX)?.length > 0
// Parse all values into correct types
+ if (operator === "allOr") {
+ query.allOr = true
+ return
+ }
if (type === "datetime") {
// Ensure date value is a valid date and parse into correct format
if (!value) {
diff --git a/packages/server/src/api/controllers/row/internalSearch.js b/packages/server/src/api/controllers/row/internalSearch.js
index 8a04fc2bd0..ab084d9e0b 100644
--- a/packages/server/src/api/controllers/row/internalSearch.js
+++ b/packages/server/src/api/controllers/row/internalSearch.js
@@ -1,4 +1,5 @@
const { SearchIndexes } = require("../../../db/utils")
+const { removeKeyNumbering } = require("./utils")
const fetch = require("node-fetch")
const { getCouchInfo } = require("@budibase/backend-core/db")
const { getAppId } = require("@budibase/backend-core/context")
@@ -197,6 +198,8 @@ class QueryBuilder {
function build(structure, queryFn) {
for (let [key, value] of Object.entries(structure)) {
+ // check for new format - remove numbering if needed
+ key = removeKeyNumbering(key)
key = builder.preprocess(key.replace(/ /g, "_"), {
escape: true,
})
diff --git a/packages/server/src/api/controllers/row/utils.js b/packages/server/src/api/controllers/row/utils.js
index 5da7ca331e..da14020757 100644
--- a/packages/server/src/api/controllers/row/utils.js
+++ b/packages/server/src/api/controllers/row/utils.js
@@ -3,8 +3,11 @@ const { cloneDeep } = require("lodash/fp")
const { InternalTables } = require("../../../db/utils")
const userController = require("../user")
const { FieldTypes } = require("../../../constants")
-const { makeExternalQuery } = require("../../../integrations/base/utils")
const { getAppDB } = require("@budibase/backend-core/context")
+const {
+ makeExternalQuery,
+ removeKeyNumbering,
+} = require("../../../integrations/base/utils")
validateJs.extend(validateJs.validators.datetime, {
parse: function (value) {
@@ -16,6 +19,8 @@ validateJs.extend(validateJs.validators.datetime, {
},
})
+exports.removeKeyNumbering = removeKeyNumbering
+
exports.getDatasourceAndQuery = async json => {
const datasourceId = json.endpoint.datasourceId
const db = getAppDB()
diff --git a/packages/server/src/integrations/base/sql.ts b/packages/server/src/integrations/base/sql.ts
index 750564c6ff..a46ce7aea2 100644
--- a/packages/server/src/integrations/base/sql.ts
+++ b/packages/server/src/integrations/base/sql.ts
@@ -10,6 +10,7 @@ import {
import { isIsoDateString, SqlClients } from "../utils"
import SqlTableQueryBuilder from "./sqlTable"
import environment from "../../environment"
+import { removeKeyNumbering } from "./utils"
const envLimit = environment.SQL_MAX_ROWS
? parseInt(environment.SQL_MAX_ROWS)
@@ -133,12 +134,13 @@ class InternalBuilder {
fn: (key: string, value: any) => void
) {
for (let [key, value] of Object.entries(structure)) {
- const isRelationshipField = key.includes(".")
+ const updatedKey = removeKeyNumbering(key)
+ const isRelationshipField = updatedKey.includes(".")
if (!opts.relationship && !isRelationshipField) {
- fn(`${opts.tableName}.${key}`, value)
+ fn(`${opts.tableName}.${updatedKey}`, value)
}
if (opts.relationship && isRelationshipField) {
- fn(key, value)
+ fn(updatedKey, value)
}
}
}
diff --git a/packages/server/src/integrations/base/utils.ts b/packages/server/src/integrations/base/utils.ts
index 086912b920..0913d59b2a 100644
--- a/packages/server/src/integrations/base/utils.ts
+++ b/packages/server/src/integrations/base/utils.ts
@@ -1,22 +1,30 @@
import { QueryJson } from "../../definitions/datasource"
import { Datasource } from "../../definitions/common"
+const { integrations } = require("../index")
-module DatasourceUtils {
- const { integrations } = require("../index")
+const QUERY_START_REGEX = /\d[0-9]*:/g
- export async function makeExternalQuery(
- datasource: Datasource,
- json: QueryJson
- ) {
- const Integration = integrations[datasource.source]
- // query is the opinionated function
- if (Integration.prototype.query) {
- const integration = new Integration(datasource.config)
- return integration.query(json)
- } else {
- throw "Datasource does not support query."
- }
+export async function makeExternalQuery(
+ datasource: Datasource,
+ json: QueryJson
+) {
+ const Integration = integrations[datasource.source]
+ // query is the opinionated function
+ if (Integration.prototype.query) {
+ const integration = new Integration(datasource.config)
+ return integration.query(json)
+ } else {
+ throw "Datasource does not support query."
+ }
+}
+
+export function removeKeyNumbering(key: any): string {
+ if (typeof key === "string" && key.match(QUERY_START_REGEX) != null) {
+ const parts = key.split(":")
+ // remove the number
+ parts.shift()
+ return parts.join(":")
+ } else {
+ return key
}
-
- module.exports.makeExternalQuery = makeExternalQuery
}
diff --git a/packages/server/src/integrations/queries/sql.ts b/packages/server/src/integrations/queries/sql.ts
index 271a414d44..7fbcfea0a3 100644
--- a/packages/server/src/integrations/queries/sql.ts
+++ b/packages/server/src/integrations/queries/sql.ts
@@ -1,5 +1,4 @@
import { findHBSBlocks, processStringSync } from "@budibase/string-templates"
-import { Integration } from "../../definitions/datasource"
import { DatasourcePlus } from "../base/datasourcePlus"
const CONST_CHAR_REGEX = new RegExp("'[^']*'", "g")
From d79b95b710cecd93230d93bb15dbb6095a8c1462 Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 18:47:00 +0100
Subject: [PATCH 069/300] Update users page to be narrow and remove name column
---
packages/bbui/src/Table/Table.svelte | 13 -------------
.../pages/builder/portal/manage/_layout.svelte | 1 -
.../_components/GroupsTableRenderer.svelte | 17 +++++------------
.../builder/portal/manage/users/index.svelte | 9 ++++-----
4 files changed, 9 insertions(+), 31 deletions(-)
diff --git a/packages/bbui/src/Table/Table.svelte b/packages/bbui/src/Table/Table.svelte
index c929e02d86..01a2ca4835 100644
--- a/packages/bbui/src/Table/Table.svelte
+++ b/packages/bbui/src/Table/Table.svelte
@@ -503,12 +503,6 @@
.spectrum-Table-headCell--alignRight {
justify-content: flex-end;
}
- .spectrum-Table-headCell--divider {
- padding-right: var(--cell-padding);
- }
- .spectrum-Table-headCell--divider + .spectrum-Table-headCell {
- padding-left: var(--cell-padding);
- }
.spectrum-Table-headCell--edit {
position: sticky;
left: 0;
@@ -580,13 +574,6 @@
background-color: var(--table-bg);
z-index: auto;
}
- .spectrum-Table-cell--divider {
- padding-right: var(--cell-padding);
- }
- .spectrum-Table-cell--divider + .spectrum-Table-cell {
- padding-left: var(--cell-padding);
- }
-
.spectrum-Table-cell--edit {
position: sticky;
left: 0;
diff --git a/packages/builder/src/pages/builder/portal/manage/_layout.svelte b/packages/builder/src/pages/builder/portal/manage/_layout.svelte
index a63195a214..47d9aaf59e 100644
--- a/packages/builder/src/pages/builder/portal/manage/_layout.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/_layout.svelte
@@ -12,7 +12,6 @@
$: wide =
$page.path.includes("email/:template") ||
- ($page.path.includes("users") && !$page.path.includes(":userId")) ||
($page.path.includes("groups") && !$page.path.includes(":groupId"))
diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/GroupsTableRenderer.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/GroupsTableRenderer.svelte
index 772b5fe7b9..b334575669 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/_components/GroupsTableRenderer.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/_components/GroupsTableRenderer.svelte
@@ -1,5 +1,6 @@
@@ -7,17 +8,9 @@
- {#if value?.length === 0}
- 0
- {:else if value?.length === 1}
-
- {value[0]?.name}
-
- {:else}
-
- {parseInt(value?.length) || 0} groups
-
- {/if}
+
+ {value?.length || 0}
+
From c2bad6133d5afaceee0640338c48008f071c21a9 Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 19:43:01 +0100
Subject: [PATCH 073/300] Fix typo
---
.../portal/manage/users/_components/PasswordModal.svelte | 8 ++++----
1 file changed, 4 insertions(+), 4 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 01dac8c222..02501f2de0 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
@@ -49,10 +49,10 @@
cancelText="Cancel"
showCloseIcon={false}
>
- All your new users can be accessed through the autogenerated passwords.
- Make not of these passwords or download the csv
+
+ All your new users can be accessed through the autogenerated passwords. Take
+ note of these passwords or download the CSV file.
+
From 1f7784c6c00040a50164b61f5e5d687f3a00c25c Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 19:49:15 +0100
Subject: [PATCH 074/300] More improvements to user pages
---
.../users/_components/AddUserModal.svelte | 4 ++--
.../users/_components/ImportUsersModal.svelte | 17 ++++++++++-------
.../builder/portal/manage/users/index.svelte | 3 +++
3 files changed, 15 insertions(+), 9 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 44ec8085a6..184ff13eaf 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
@@ -72,8 +72,8 @@
createUsersFromCsv({ userEmails, usersRole, userGroups })}
disabled={!userEmails.length || !validEmails(userEmails) || !usersRole}
>
- Import your users email addresses from a CSV
+ Import your users email addresses from a CSV file
@@ -98,8 +98,8 @@
{#if hasGroupsLicense}
option.name}
getOptionValue={option => option._id}
@@ -122,14 +122,12 @@
label {
font-family: var(--font-sans);
- cursor: pointer;
font-weight: 600;
box-sizing: border-box;
overflow: hidden;
border-radius: var(--border-radius-s);
color: var(--ink);
padding: var(--spacing-m) var(--spacing-l);
- transition: all 0.2s ease 0s;
display: inline-flex;
text-rendering: optimizeLegibility;
min-width: auto;
@@ -141,10 +139,15 @@
align-items: center;
justify-content: center;
width: 100%;
- background-color: var(--grey-2);
- font-size: var(--font-size-xs);
+ background: var(--spectrum-global-color-gray-200);
+ font-size: 12px;
line-height: normal;
border: var(--border-transparent);
+ transition: background-color 130ms ease-out;
+ }
+ label:hover {
+ background: var(--spectrum-global-color-gray-300);
+ cursor: pointer;
}
input[type="file"] {
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 ebe020aade..745006aef5 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte
@@ -319,4 +319,7 @@
align-items: center;
gap: var(--spacing-xl);
}
+ .controls-right :global(.spectrum-Search) {
+ width: 200px;
+ }
From 96e239c66c4b457953ae502c8c4c976117ca2acd Mon Sep 17 00:00:00 2001
From: Andrew Kingston
Date: Tue, 2 Aug 2022 20:03:39 +0100
Subject: [PATCH 075/300] Prevent showing any mention of groups when groups are
not enabled both the platform and license level
---
.../pages/builder/portal/apps/index.svelte | 7 +-----
.../builder/portal/manage/groups/index.svelte | 21 +++++++----------
.../portal/manage/users/[userId].svelte | 10 ++------
.../users/_components/AddUserModal.svelte | 5 +---
.../users/_components/ImportUsersModal.svelte | 7 ++----
.../builder/portal/manage/users/index.svelte | 15 +++---------
.../overview/_components/AccessTab.svelte | 11 +++------
.../_components/AssignmentModal.svelte | 23 +++++++++++--------
packages/builder/src/stores/portal/auth.js | 8 +++++++
9 files changed, 41 insertions(+), 66 deletions(-)
diff --git a/packages/builder/src/pages/builder/portal/apps/index.svelte b/packages/builder/src/pages/builder/portal/apps/index.svelte
index 0d05e170e0..a089664d2e 100644
--- a/packages/builder/src/pages/builder/portal/apps/index.svelte
+++ b/packages/builder/src/pages/builder/portal/apps/index.svelte
@@ -27,7 +27,6 @@
import { AppStatus } from "constants"
import Logo from "assets/bb-space-man.svg"
import AccessFilter from "./_components/AcessFilter.svelte"
- import { Constants } from "@budibase/frontend-core"
let sortBy = "name"
let template
@@ -69,10 +68,6 @@
$: unlocked = lockedApps?.length === 0
$: automationErrors = getAutomationErrors(enrichedApps)
- $: hasGroupsLicense = $auth.user?.license.features.includes(
- Constants.Features.USER_GROUPS
- )
-
const enrichApps = (apps, user, sortBy) => {
const enrichedApps = apps.map(app => ({
...app,
@@ -360,7 +355,7 @@
{/if}
- {#if hasGroupsLicense && $groups.length}
+ {#if $auth.groupsEnabled && $groups.length}
{/if}