diff --git a/README.md b/README.md
index bc2e10e69e..f0fe339a02 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@
-
+
@@ -69,17 +69,10 @@ When other platforms chose the closed source route, we decided to go open source
- **Cloud hosting and self-hosting.** Users can self-host (see below), or host their apps with Budibase. Currently, our cloud hosting offering is limited to the free tier but we aim to change this in the future. For heavy usage, we advise users to self-host.
-
-## 🤖 Self-hosting
-
-
+
-Budibase wants to make sure anyone can use the tools we develop and we know a lot of people need to be able to host the apps they make on their own systems - that is why we've decided to try and make self hosting as easy as possible!
-
-Currently, you can host your apps using Docker. The documentation for self-hosting can be found [here](https://docs.budibase.com/self-hosting/introduction-to-self-hosting).
-
## ⌛ Status
- [x] Alpha: We are demoing Budibase to users and receiving feedback
@@ -95,10 +88,6 @@ Watch "releases" of this repo to get notified of major updates, and give the sta
If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/master/CONTRIBUTING.md#troubleshooting) to clear down your environment.
-## Roadmap
-
-Checkout our [Public Roadmap](https://github.com/Budibase/budibase/projects/10). If you would like to discuss some of the items on the roadmap, please feel to reach out on [Discord](https://discord.gg/rCYayfe), or via [Github discussions](https://github.com/Budibase/budibase/discussions)
-
## 🏁 Getting Started with Budibase
@@ -111,10 +100,17 @@ The Budibase builder runs in Electron, on Mac, PC and Linux. Follow the steps be
[Here is a guided tutorial](https://docs.budibase.com/tutorial/tutorial-signing-up) if you need extra help.
+
+## 🤖 Self-hosting
+
-
+
+Budibase wants to make sure anyone can use the tools we develop and we know a lot of people need to be able to host the apps they make on their own systems - that is why we've decided to try and make self hosting as easy as possible!
+
+Currently, you can host your apps using Docker. The documentation for self-hosting can be found [here](https://docs.budibase.com/self-hosting/introduction-to-self-hosting).
+
## 🎓 Learning Budibase
@@ -122,6 +118,12 @@ The Budibase [documentation lives here](https://docs.budibase.com).
You can also follow a quick tutorial on [how to build a CRM with Budibase](https://docs.budibase.com/tutorial/tutorial-introduction)
+
+## Roadmap
+
+Checkout our [Public Roadmap](https://github.com/Budibase/budibase/projects/10). If you would like to discuss some of the items on the roadmap, please feel to reach out on [Discord](https://discord.gg/rCYayfe), or via [Github discussions](https://github.com/Budibase/budibase/discussions)
+
+
## ❗ Code of Conduct
Budibase is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Budibase community to abide by our [**Code of Conduct**](https://github.com/Budibase/budibase/blob/master/.github/CODE_OF_CONDUCT.md). Please read it.
diff --git a/hosting/bootstrap.sh b/hosting/bootstrap.sh
new file mode 100755
index 0000000000..4e15481e64
--- /dev/null
+++ b/hosting/bootstrap.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+GITHUB_BASE_URL=https://raw.githubusercontent.com/Budibase/budibase/master/hosting
+
+if ! [ -x "$(command -v wget)" ]; then
+ echo 'Error: wget is not installed. Please install it for your operating system.' >&2
+ exit 1
+fi
+
+fetch_config_files() {
+ wget $GITHUB_BASE_URL/docker-compose.yaml
+ wget $GITHUB_BASE_URL/envoy.yaml
+ wget $GITHUB_BASE_URL/hosting.properties
+ wget $GITHUB_BASE_URL/start.sh
+}
+
+fetch_config_files
+
+# Start budibase
+docker-compose --env-file hosting.properties up -d
diff --git a/hosting/docker-compose.yaml b/hosting/docker-compose.yaml
index 5b7c266c1e..4d338cb221 100644
--- a/hosting/docker-compose.yaml
+++ b/hosting/docker-compose.yaml
@@ -2,6 +2,7 @@ version: "3"
services:
app-service:
+ restart: always
image: budibase/budibase-apps
ports:
- "${APP_PORT}:4002"
@@ -18,6 +19,7 @@ services:
- worker-service
worker-service:
+ restart: always
image: budibase/budibase-worker
ports:
- "${WORKER_PORT}:4003"
@@ -36,6 +38,7 @@ services:
- couch-init
minio-service:
+ restart: always
image: minio/minio
volumes:
- minio_data:/data
@@ -53,6 +56,7 @@ services:
retries: 3
proxy-service:
+ restart: always
image: envoyproxy/envoy:v1.16-latest
volumes:
- ./envoy.yaml:/etc/envoy/envoy.yaml
@@ -66,6 +70,7 @@ services:
- couchdb-service
couchdb-service:
+ restart: always
image: apache/couchdb:3.0
environment:
- COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}
diff --git a/packages/builder/package.json b/packages/builder/package.json
index a98da6e8d1..41b98750e9 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -63,7 +63,7 @@
}
},
"dependencies": {
- "@budibase/bbui": "^1.54.0",
+ "@budibase/bbui": "^1.54.1",
"@budibase/client": "^0.5.3",
"@budibase/colorpicker": "^1.0.1",
"@budibase/string-templates": "^0.5.3",
diff --git a/packages/builder/src/components/backend/DataTable/TableHeader/TableHeader.svelte b/packages/builder/src/components/backend/DataTable/TableHeader/TableHeader.svelte
index 9588b34dd7..f6ef036f40 100644
--- a/packages/builder/src/components/backend/DataTable/TableHeader/TableHeader.svelte
+++ b/packages/builder/src/components/backend/DataTable/TableHeader/TableHeader.svelte
@@ -103,6 +103,15 @@
opacity: 1;
}
+ .column-header-name {
+ white-space: normal !important;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ overflow: hidden;
+ }
+
.sort-icon {
position: relative;
top: 2px;
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte
index aa8954cb8d..2369f99e74 100644
--- a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte
+++ b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte
@@ -43,8 +43,8 @@
+ height="18"
+ width="18" />
@@ -61,3 +61,10 @@
{/each}
{/if}
+
+
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte
index 79bb951c01..f92224e39a 100644
--- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte
+++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte
@@ -7,10 +7,9 @@
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryParamsPopover.svelte b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryParamsPopover.svelte
new file mode 100644
index 0000000000..bc34d4d80c
--- /dev/null
+++ b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryParamsPopover.svelte
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Add Parameters
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/builder/src/components/common/Notification/NotificationDisplay.svelte b/packages/builder/src/components/common/Notification/NotificationDisplay.svelte
index 976059a5bf..3a7c03a716 100644
--- a/packages/builder/src/components/common/Notification/NotificationDisplay.svelte
+++ b/packages/builder/src/components/common/Notification/NotificationDisplay.svelte
@@ -1,6 +1,6 @@
-Define Actions
+Define Actions
Save
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyGroup.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyGroup.svelte
index d97ee7d18d..9d0bb4a40d 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyGroup.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyGroup.svelte
@@ -9,12 +9,17 @@
export let onStyleChanged = () => {}
export let open = false
+ $: style = componentInstance["_styles"][styleCategory] || {}
+ $: changed = properties.some(prop => hasPropChanged(style, prop))
+
const hasPropChanged = (style, prop) => {
return style[prop.key] != null && style[prop.key] !== ""
}
- $: style = componentInstance["_styles"][styleCategory] || {}
- $: changed = properties.some(prop => hasPropChanged(style, prop))
+ const getControlProps = props => {
+ const { label, key, control, ...otherProps } = props || {}
+ return otherProps || {}
+ }
@@ -28,7 +33,7 @@
key={prop.key}
value={style[prop.key]}
onChange={value => onStyleChanged(styleCategory, prop.key, value)}
- props={{ options: prop.options, placeholder: prop.placeholder }} />
+ props={getControlProps(prop)} />
{/each}
{/if}
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/TableViewSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/TableViewSelect.svelte
index bf88c8e9eb..4e5201a180 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/TableViewSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/TableViewSelect.svelte
@@ -78,9 +78,7 @@
const source = $backendUiStore.datasources.find(
ds => ds._id === query.datasourceId
).source
- return $backendUiStore.integrations[source].query[query.queryVerb][
- query.queryType
- ]
+ return $backendUiStore.integrations[source].query[query.queryVerb]
}
diff --git a/packages/builder/src/components/integration/QueryEditor.svelte b/packages/builder/src/components/integration/QueryEditor.svelte
index 22cddb5606..2b5965613e 100644
--- a/packages/builder/src/components/integration/QueryEditor.svelte
+++ b/packages/builder/src/components/integration/QueryEditor.svelte
@@ -155,8 +155,9 @@
}
:global(.CodeMirror) {
- height: auto !important;
- border-radius: var(--border-radius-m);
- font-family: var(--font-sans) !important;
+ height: 500px !important;
+ border-radius: var(--border-radius-s);
+ font-family: monospace !important;
+ line-height: 1.3;
}
diff --git a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte
index 83a03c72d1..d5f4b3bd8b 100644
--- a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte
+++ b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte
@@ -24,18 +24,18 @@
-Data
{#if schema.customisable}
- import { Button, Label, Input, Heading } from "@budibase/bbui"
+ import { Button, Input, Heading, Spacer } from "@budibase/bbui"
import BindableInput from "components/common/BindableInput.svelte"
import {
readableToRuntimeBinding,
@@ -31,19 +31,22 @@
Parameters
+
{#if !bindable}
-
- Add Parameter
-
+ Add Parameter
{/if}
diff --git a/packages/builder/src/components/integration/QueryViewer.svelte b/packages/builder/src/components/integration/QueryViewer.svelte
index 5ac3e550c1..da5f4e1a40 100644
--- a/packages/builder/src/components/integration/QueryViewer.svelte
+++ b/packages/builder/src/components/integration/QueryViewer.svelte
@@ -16,6 +16,7 @@
import { FIELDS } from "constants/backend"
import IntegrationQueryEditor from "components/integration/index.svelte"
import ExternalDataSourceTable from "components/backend/DataTable/ExternalDataSourceTable.svelte"
+ import EditQueryParamsPopover from "components/backend/DatasourceNavigator/popovers/EditQueryParamsPopover.svelte"
import { backendUiStore } from "builderStore"
const PREVIEW_HEADINGS = [
@@ -40,6 +41,7 @@
let tab = "JSON"
let parameters
let data = []
+ let popover
$: datasource = $backendUiStore.datasources.find(
ds => ds._id === query.datasourceId
@@ -61,7 +63,7 @@
$: config = $backendUiStore.integrations[datasourceType]?.query
$: docsLink = $backendUiStore.integrations[datasourceType]?.docs
- $: shouldShowQueryConfig = config && query.queryVerb && query.queryType
+ $: shouldShowQueryConfig = config && query.queryVerb
function newField() {
fields = [...fields, {}]
@@ -129,62 +131,44 @@
-
-
+
{#if shouldShowQueryConfig}
-
Query Name
-
-
-
-
-
+
+
- Save
+ Save Query
- Run
+ Run Query
@@ -196,10 +180,11 @@
{:else if tab === 'SCHEMA'}
{#each fields as field, idx}
+
-
-
- Select an option
+
+
+ Select a field type
Text
Number
Boolean
@@ -210,7 +195,8 @@
on:click={() => deleteField(idx)} />
{/each}
- Add Field
+
+ Add Field
{/if}
{/if}
@@ -220,11 +206,28 @@
{/if}
diff --git a/packages/builder/src/components/integration/index.svelte b/packages/builder/src/components/integration/index.svelte
index 1f0aa30c49..a4f59459c0 100644
--- a/packages/builder/src/components/integration/index.svelte
+++ b/packages/builder/src/components/integration/index.svelte
@@ -20,13 +20,6 @@
}
-{#if editable}
-
-
-{/if}
-
-Query
-
{#if schema}
{#key query._id}
@@ -38,7 +31,6 @@
readOnly={!editable}
value={query.fields.sql} />
{:else if schema.type === QueryTypes.JSON}
-
-
+
@@ -89,8 +89,8 @@
- Budibase is in Beta
+ href="https://github.com/Budibase/budibase/discussions/categories/ideas">
+ Request feature
diff --git a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte
index 11ad9d43ff..c2419dd9a6 100644
--- a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte
+++ b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte
@@ -21,9 +21,9 @@
query => query._id === $backendUiStore.selectedQueryId
) || {
datasourceId: $params.selectedDatasource,
- name: "New Query",
parameters: [],
fields: {},
+ queryVerb: "read",
}
@@ -35,8 +35,10 @@
diff --git a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/index.svelte b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/index.svelte
index 1c5696a552..5f78bc9ce8 100644
--- a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/index.svelte
+++ b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/index.svelte
@@ -1,6 +1,6 @@
{#if datasource}
- $goto('../new')}>
-
- Create Query
-
- {datasource.name}: Configuration
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {#each $backendUiStore.queries.filter(query => query.datasourceId === datasource._id) as query}
+
onClickQuery(query)}>
+
{query.name}
+
{query.queryVerb}
+
4000 records
+
→
+
+ {/each}
+
+
+
+
{/if}
diff --git a/packages/builder/yarn.lock b/packages/builder/yarn.lock
index ce6a5b6e63..85bbdab526 100644
--- a/packages/builder/yarn.lock
+++ b/packages/builder/yarn.lock
@@ -842,10 +842,10 @@
lodash "^4.17.19"
to-fast-properties "^2.0.0"
-"@budibase/bbui@^1.54.0":
- version "1.54.0"
- resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.54.0.tgz#60e6c0faa3d8f1781c503e74f8b8990f75ba2c40"
- integrity sha512-98koXkueqda6oQT6q0NPNvdL878ETRevtmmm34aSz9C6B4Oz68VVCsiFzRWuHvP/7wiNaAxMgY1nsEsCwP3LpQ==
+"@budibase/bbui@^1.54.1":
+ version "1.54.1"
+ resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.54.1.tgz#ad0439c0be6a4dc818cd9dacda00f053b0daa9d5"
+ integrity sha512-ZY2OP/tF+ReMSyzZIGZV6wpQ4eIEzYGxZV3n+C+oNjzK5u3rwWPCDEVDlZgJSqJ61z+sEf2zuIyAh88lq9RTaA==
dependencies:
markdown-it "^12.0.2"
quill "^1.3.7"
diff --git a/packages/client/package.json b/packages/client/package.json
index 607cb55f71..18c5e9a78d 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -12,6 +12,7 @@
"@budibase/string-templates": "^0.5.3",
"deep-equal": "^2.0.1",
"regexparam": "^1.3.0",
+ "shortid": "^2.2.15",
"svelte-spa-router": "^3.0.5"
},
"devDependencies": {
diff --git a/packages/client/src/api/api.js b/packages/client/src/api/api.js
index 1e73baf602..5509221d5c 100644
--- a/packages/client/src/api/api.js
+++ b/packages/client/src/api/api.js
@@ -1,6 +1,7 @@
/**
* API cache for cached request responses.
*/
+import { notificationStore } from "../store/notification"
let cache = {}
/**
@@ -35,10 +36,12 @@ const makeApiCall = async ({ method, url, body, json = true }) => {
case 200:
return response.json()
case 404:
+ notificationStore.danger("Not found")
return handleError(`${url}: Not Found`)
case 400:
return handleError(`${url}: Bad Request`)
case 403:
+ notificationStore.danger("Forbidden")
return handleError(`${url}: Forbidden`)
default:
if (response.status >= 200 && response.status < 400) {
@@ -74,7 +77,7 @@ const makeCachedApiCall = async params => {
const requestApiCall = method => async params => {
const { url, cache = false } = params
const fixedUrl = `/${url}`.replace("//", "/")
- const enrichedParams = { ...params, method, fixedUrl }
+ const enrichedParams = { ...params, method, url: fixedUrl }
return await (cache ? makeCachedApiCall : makeApiCall)(enrichedParams)
}
diff --git a/packages/client/src/api/automations.js b/packages/client/src/api/automations.js
index c163ffee82..4dd5958568 100644
--- a/packages/client/src/api/automations.js
+++ b/packages/client/src/api/automations.js
@@ -1,10 +1,15 @@
+import { notificationStore } from "../store/notification"
import API from "./api"
/**
* Executes an automation. Must have "App Action" trigger.
*/
export const triggerAutomation = async (automationId, fields) => {
- return await API.post({
+ const res = await API.post({
url: `/api/automations/${automationId}/trigger`,
body: { fields },
})
+ res.error
+ ? notificationStore.danger("An error has occurred")
+ : notificationStore.success("Automation triggered")
+ return res
}
diff --git a/packages/client/src/api/queries.js b/packages/client/src/api/queries.js
index 1c2fb852e8..4e89921bb6 100644
--- a/packages/client/src/api/queries.js
+++ b/packages/client/src/api/queries.js
@@ -1,14 +1,18 @@
+import { notificationStore } from "../store/notification"
import API from "./api"
/**
* Executes a query against an external data connector.
*/
export const executeQuery = async ({ queryId, parameters }) => {
- const response = await API.post({
+ const res = await API.post({
url: `/api/queries/${queryId}`,
body: {
parameters,
},
})
- return response
+ if (res.error) {
+ notificationStore.danger("An error has occurred")
+ }
+ return res
}
diff --git a/packages/client/src/api/rows.js b/packages/client/src/api/rows.js
index 2df57be60d..3ebc191ff6 100644
--- a/packages/client/src/api/rows.js
+++ b/packages/client/src/api/rows.js
@@ -1,3 +1,4 @@
+import { notificationStore } from "../store/notification"
import API from "./api"
import { fetchTableDefinition } from "./tables"
@@ -15,42 +16,58 @@ export const fetchRow = async ({ tableId, rowId }) => {
* Creates a row in a table.
*/
export const saveRow = async row => {
- return await API.post({
+ const res = await API.post({
url: `/api/${row.tableId}/rows`,
body: row,
})
+ res.error
+ ? notificationStore.danger("An error has occurred")
+ : notificationStore.success("Row saved")
+ return res
}
/**
* Updates a row in a table.
*/
export const updateRow = async row => {
- return await API.patch({
+ const res = await API.patch({
url: `/api/${row.tableId}/rows/${row._id}`,
body: row,
})
+ res.error
+ ? notificationStore.danger("An error has occurred")
+ : notificationStore.success("Row updated")
+ return res
}
/**
* Deletes a row from a table.
*/
export const deleteRow = async ({ tableId, rowId, revId }) => {
- return await API.del({
+ const res = await API.del({
url: `/api/${tableId}/rows/${rowId}/${revId}`,
})
+ res.error
+ ? notificationStore.danger("An error has occurred")
+ : notificationStore.success("Row deleted")
+ return res
}
/**
* Deletes many rows from a table.
*/
export const deleteRows = async ({ tableId, rows }) => {
- return await API.post({
+ const res = await API.post({
url: `/api/${tableId}/rows`,
body: {
rows,
type: "delete",
},
})
+ res.error
+ ? notificationStore.danger("An error has occurred")
+ : notificationStore.success(`${rows.length} row(s) deleted`)
+ return res
}
/**
diff --git a/packages/client/src/components/ClientApp.svelte b/packages/client/src/components/ClientApp.svelte
index 222344420e..4af1f198d5 100644
--- a/packages/client/src/components/ClientApp.svelte
+++ b/packages/client/src/components/ClientApp.svelte
@@ -2,8 +2,9 @@
import { writable } from "svelte/store"
import { setContext, onMount } from "svelte"
import Component from "./Component.svelte"
+ import NotificationDisplay from './NotificationDisplay.svelte'
import SDK from "../sdk"
- import { createDataStore, initialise, screenStore } from "../store"
+ import { createDataStore, initialise, screenStore, notificationStore } from "../store"
// Provide contexts
setContext("sdk", SDK)
@@ -23,3 +24,4 @@
{#if loaded && $screenStore.activeLayout}
{/if}
+
\ No newline at end of file
diff --git a/packages/client/src/components/NotificationDisplay.svelte b/packages/client/src/components/NotificationDisplay.svelte
new file mode 100644
index 0000000000..f398b7f3bc
--- /dev/null
+++ b/packages/client/src/components/NotificationDisplay.svelte
@@ -0,0 +1,60 @@
+
+
+
+ {#each $notifications as notification (notification.id)}
+
+
{notification.message}
+ {#if notification.icon}
{/if}
+
+ {/each}
+
+
+
+
\ No newline at end of file
diff --git a/packages/client/src/sdk.js b/packages/client/src/sdk.js
index ba7a3d3a9e..b5efe1257c 100644
--- a/packages/client/src/sdk.js
+++ b/packages/client/src/sdk.js
@@ -1,5 +1,12 @@
import * as API from "./api"
-import { authStore, routeStore, screenStore, bindingStore } from "./store"
+import {
+ authStore,
+ notificationStore,
+ routeStore,
+ screenStore,
+ bindingStore,
+ builderStore,
+} from "./store"
import { styleable } from "./utils/styleable"
import { linkable } from "./utils/linkable"
import DataProvider from "./components/DataProvider.svelte"
@@ -7,8 +14,10 @@ import DataProvider from "./components/DataProvider.svelte"
export default {
API,
authStore,
+ notifications: notificationStore,
routeStore,
screenStore,
+ builderStore,
styleable,
linkable,
DataProvider,
diff --git a/packages/client/src/store/index.js b/packages/client/src/store/index.js
index 2a3edb6d01..ae1a477c8f 100644
--- a/packages/client/src/store/index.js
+++ b/packages/client/src/store/index.js
@@ -1,4 +1,5 @@
export { authStore } from "./auth"
+export { notificationStore } from "./notification"
export { routeStore } from "./routes"
export { screenStore } from "./screens"
export { builderStore } from "./builder"
diff --git a/packages/client/src/store/notification.js b/packages/client/src/store/notification.js
new file mode 100644
index 0000000000..8e8f465e07
--- /dev/null
+++ b/packages/client/src/store/notification.js
@@ -0,0 +1,42 @@
+import { writable, derived } from "svelte/store"
+import { generate } from "shortid"
+
+const NOTIFICATION_TIMEOUT = 3000
+
+const createNotificationStore = () => {
+ const _notifications = writable([])
+
+ const send = (message, type = "default") => {
+ _notifications.update(state => {
+ return [...state, { id: generate(), type, message }]
+ })
+ }
+
+ const notifications = derived(_notifications, ($_notifications, set) => {
+ set($_notifications)
+ if ($_notifications.length > 0) {
+ const timeout = setTimeout(() => {
+ _notifications.update(state => {
+ state.shift()
+ return state
+ })
+ set($_notifications)
+ }, NOTIFICATION_TIMEOUT)
+ return () => {
+ clearTimeout(timeout)
+ }
+ }
+ })
+ const { subscribe } = notifications
+
+ return {
+ subscribe,
+ send,
+ danger: msg => send(msg, "danger"),
+ warning: msg => send(msg, "warning"),
+ info: msg => send(msg, "info"),
+ success: msg => send(msg, "success"),
+ }
+}
+
+export const notificationStore = createNotificationStore()
diff --git a/packages/client/yarn.lock b/packages/client/yarn.lock
index 9ea75db3b1..1a17d999c3 100644
--- a/packages/client/yarn.lock
+++ b/packages/client/yarn.lock
@@ -1362,6 +1362,11 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
+nanoid@^2.1.0:
+ version "2.1.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+ integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
nwsapi@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
@@ -1803,6 +1808,13 @@ sha.js@^2.4.0, sha.js@^2.4.8:
inherits "^2.0.1"
safe-buffer "^5.0.1"
+shortid@^2.2.15:
+ version "2.2.16"
+ resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608"
+ integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==
+ dependencies:
+ nanoid "^2.1.0"
+
side-channel@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
diff --git a/packages/server/src/api/routes/query.js b/packages/server/src/api/routes/query.js
index 62ddc83ac0..ae5e6bc317 100644
--- a/packages/server/src/api/routes/query.js
+++ b/packages/server/src/api/routes/query.js
@@ -31,7 +31,6 @@ function generateQueryValidation() {
default: Joi.string()
})),
queryVerb: Joi.string().allow(...Object.values(QueryVerb)).required(),
- queryType: Joi.string().required(),
schema: Joi.object({}).required().unknown(true)
}))
}
diff --git a/packages/server/src/api/routes/tests/datasource.spec.js b/packages/server/src/api/routes/tests/datasource.spec.js
index b699710143..768d54fbcd 100644
--- a/packages/server/src/api/routes/tests/datasource.spec.js
+++ b/packages/server/src/api/routes/tests/datasource.spec.js
@@ -26,7 +26,6 @@ const TEST_QUERY = {
fields:{},
schema:{},
queryVerb:"read",
- queryType:"Table",
}
describe("/datasources", () => {
diff --git a/packages/server/src/api/routes/tests/query.spec.js b/packages/server/src/api/routes/tests/query.spec.js
index f8c31e48e6..3262845ca3 100644
--- a/packages/server/src/api/routes/tests/query.spec.js
+++ b/packages/server/src/api/routes/tests/query.spec.js
@@ -26,7 +26,6 @@ const TEST_QUERY = {
fields:{},
schema:{},
queryVerb:"read",
- queryType:"Table",
}
describe("/queries", () => {
diff --git a/packages/server/src/integrations/airtable.js b/packages/server/src/integrations/airtable.js
index cd72c5e3e2..088f642d51 100644
--- a/packages/server/src/integrations/airtable.js
+++ b/packages/server/src/integrations/airtable.js
@@ -17,48 +17,40 @@ const SCHEMA = {
},
query: {
create: {
- "Airtable Record": {
- type: QUERY_TYPES.FIELDS,
- customisable: true,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ customisable: true,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
read: {
- Table: {
- type: QUERY_TYPES.FIELDS,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- view: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
+ },
+ view: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
update: {
- Fields: {
- type: QUERY_TYPES.FIELDS,
- customisable: true,
- fields: {
- id: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ customisable: true,
+ fields: {
+ id: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
delete: {
- "Airtable Ids": {
- type: FIELD_TYPES.JSON,
- },
+ type: FIELD_TYPES.JSON,
},
},
}
diff --git a/packages/server/src/integrations/couchdb.js b/packages/server/src/integrations/couchdb.js
index bf2a009027..6fcfe27784 100644
--- a/packages/server/src/integrations/couchdb.js
+++ b/packages/server/src/integrations/couchdb.js
@@ -16,28 +16,20 @@ const SCHEMA = {
},
query: {
create: {
- "CouchDB DSL": {
- type: QUERY_TYPES.JSON,
- },
+ type: QUERY_TYPES.JSON,
},
read: {
- "CouchDB DSL": {
- type: QUERY_TYPES.JSON,
- },
+ type: QUERY_TYPES.JSON,
},
update: {
- "CouchDB Document": {
- type: QUERY_TYPES.JSON,
- },
+ type: QUERY_TYPES.JSON,
},
delete: {
- "Document ID": {
- type: QUERY_TYPES.FIELDS,
- fields: {
- id: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ id: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
diff --git a/packages/server/src/integrations/dynamodb.js b/packages/server/src/integrations/dynamodb.js
index 026d791b1f..c2b19e70e8 100644
--- a/packages/server/src/integrations/dynamodb.js
+++ b/packages/server/src/integrations/dynamodb.js
@@ -20,56 +20,48 @@ const SCHEMA = {
},
query: {
create: {
- DynamoConfig: {
- type: QUERY_TYPES.FIELDS,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- customisable: true,
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
+ customisable: true,
},
},
read: {
- DynamoConfig: {
- type: QUERY_TYPES.FIELDS,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- index: {
- type: FIELD_TYPES.STRING,
- },
- customisable: true,
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
+ index: {
+ type: FIELD_TYPES.STRING,
+ },
+ customisable: true,
},
},
update: {
- DynamoConfig: {
- type: QUERY_TYPES.FIELDS,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- customisable: true,
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
+ customisable: true,
},
},
delete: {
- "Dynamo Partition Key": {
- type: QUERY_TYPES.FIELDS,
- fields: {
- table: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- key: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ table: {
+ type: FIELD_TYPES.STRING,
+ required: true,
+ },
+ key: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
diff --git a/packages/server/src/integrations/elasticsearch.js b/packages/server/src/integrations/elasticsearch.js
index e8637f7c32..eba82a8924 100644
--- a/packages/server/src/integrations/elasticsearch.js
+++ b/packages/server/src/integrations/elasticsearch.js
@@ -13,57 +13,49 @@ const SCHEMA = {
},
query: {
create: {
- "ES Query DSL": {
- type: QUERY_TYPES.FIELDS,
- customisable: true,
- fields: {
- index: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ customisable: true,
+ fields: {
+ index: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
read: {
- "ES Query DSL": {
- type: QUERY_TYPES.FIELDS,
- customisable: true,
- fields: {
- index: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ customisable: true,
+ fields: {
+ index: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
update: {
- "ES Query DSL": {
- type: QUERY_TYPES.FIELDS,
- customisable: true,
- fields: {
- id: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- index: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ customisable: true,
+ fields: {
+ id: {
+ type: FIELD_TYPES.STRING,
+ required: true,
+ },
+ index: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
delete: {
- "Document ID": {
- type: QUERY_TYPES.FIELDS,
- fields: {
- index: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
- id: {
- type: FIELD_TYPES.STRING,
- required: true,
- },
+ type: QUERY_TYPES.FIELDS,
+ fields: {
+ index: {
+ type: FIELD_TYPES.STRING,
+ required: true,
+ },
+ id: {
+ type: FIELD_TYPES.STRING,
+ required: true,
},
},
},
diff --git a/packages/server/src/integrations/microsoftSqlServer.js b/packages/server/src/integrations/microsoftSqlServer.js
index 7431465065..b7713cf15b 100644
--- a/packages/server/src/integrations/microsoftSqlServer.js
+++ b/packages/server/src/integrations/microsoftSqlServer.js
@@ -24,14 +24,10 @@ const SCHEMA = {
},
query: {
create: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
read: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
},
}
diff --git a/packages/server/src/integrations/mongodb.js b/packages/server/src/integrations/mongodb.js
index 96457d5c2f..944d315b05 100644
--- a/packages/server/src/integrations/mongodb.js
+++ b/packages/server/src/integrations/mongodb.js
@@ -20,14 +20,10 @@ const SCHEMA = {
},
query: {
create: {
- JSON: {
- type: QUERY_TYPES.JSON,
- },
+ type: QUERY_TYPES.JSON,
},
read: {
- JSON: {
- type: QUERY_TYPES.JSON,
- },
+ type: QUERY_TYPES.JSON,
},
},
}
diff --git a/packages/server/src/integrations/postgres.js b/packages/server/src/integrations/postgres.js
index f295066a78..6f3e5ed2d7 100644
--- a/packages/server/src/integrations/postgres.js
+++ b/packages/server/src/integrations/postgres.js
@@ -31,24 +31,16 @@ const SCHEMA = {
},
query: {
create: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
read: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
update: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
delete: {
- SQL: {
- type: "sql",
- },
+ type: "sql",
},
},
}
diff --git a/packages/server/src/integrations/s3.js b/packages/server/src/integrations/s3.js
index 30a204a175..d17906d891 100644
--- a/packages/server/src/integrations/s3.js
+++ b/packages/server/src/integrations/s3.js
@@ -19,13 +19,11 @@ const SCHEMA = {
},
query: {
read: {
- Bucket: {
- type: "fields",
- fields: {
- bucket: {
- type: "string",
- required: true,
- },
+ type: "fields",
+ fields: {
+ bucket: {
+ type: "string",
+ required: true,
},
},
},
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 8236a5e668..2bacb8b6cf 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -238,6 +238,17 @@
regexparam "^1.3.0"
svelte-spa-router "^3.0.5"
+"@budibase/string-templates@^0.5.3":
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-0.5.3.tgz#749afa7cfa43455b730540c9b792d8f13f6b444d"
+ integrity sha512-kYmQO31bi8y7A2NLqlunpGnqNMxYwC9XI312vXezljR0TxJk2RDHQ0Q9tOJ536ac5V7aRkkCmS5/GznGeb0k+Q==
+ dependencies:
+ handlebars "^4.7.6"
+ handlebars-helpers "^0.10.0"
+ handlebars-utils "^1.0.6"
+ helper-date "^1.0.1"
+ lodash "^4.17.20"
+
"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@@ -1183,6 +1194,130 @@ ansi-align@^3.0.0:
dependencies:
string-width "^3.0.0"
+ansi-bgblack@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz#a68ba5007887701b6aafbe3fa0dadfdfa8ee3ca2"
+ integrity sha1-poulAHiHcBtqr74/oNrf36juPKI=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgblue@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz#67bdc04edc9b9b5278969da196dea3d75c8c3613"
+ integrity sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgcyan@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz#58489425600bde9f5507068dd969ebfdb50fe768"
+ integrity sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bggreen@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz#4e3191248529943f4321e96bf131d1c13816af49"
+ integrity sha1-TjGRJIUplD9DIelr8THRwTgWr0k=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgmagenta@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz#9b28432c076eaa999418672a3efbe19391c2c7a1"
+ integrity sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgred@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgred/-/ansi-bgred-0.1.1.tgz#a76f92838382ba43290a6c1778424f984d6f1041"
+ integrity sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgwhite@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz#6504651377a58a6ececd0331994e480258e11ba8"
+ integrity sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bgyellow@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz#c3fe2eb08cd476648029e6874d15a0b38f61d44f"
+ integrity sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-black@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-black/-/ansi-black-0.1.1.tgz#f6185e889360b2545a1ec50c0bf063fc43032453"
+ integrity sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-blue@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-blue/-/ansi-blue-0.1.1.tgz#15b804990e92fc9ca8c5476ce8f699777c21edbf"
+ integrity sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-bold@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-bold/-/ansi-bold-0.1.1.tgz#3e63950af5acc2ae2e670e6f67deb115d1a5f505"
+ integrity sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-colors@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-0.2.0.tgz#72c31de2a0d9a2ccd0cac30cc9823eeb2f6434b5"
+ integrity sha1-csMd4qDZoszQysMMyYI+6y9kNLU=
+ dependencies:
+ ansi-bgblack "^0.1.1"
+ ansi-bgblue "^0.1.1"
+ ansi-bgcyan "^0.1.1"
+ ansi-bggreen "^0.1.1"
+ ansi-bgmagenta "^0.1.1"
+ ansi-bgred "^0.1.1"
+ ansi-bgwhite "^0.1.1"
+ ansi-bgyellow "^0.1.1"
+ ansi-black "^0.1.1"
+ ansi-blue "^0.1.1"
+ ansi-bold "^0.1.1"
+ ansi-cyan "^0.1.1"
+ ansi-dim "^0.1.1"
+ ansi-gray "^0.1.1"
+ ansi-green "^0.1.1"
+ ansi-grey "^0.1.1"
+ ansi-hidden "^0.1.1"
+ ansi-inverse "^0.1.1"
+ ansi-italic "^0.1.1"
+ ansi-magenta "^0.1.1"
+ ansi-red "^0.1.1"
+ ansi-reset "^0.1.1"
+ ansi-strikethrough "^0.1.1"
+ ansi-underline "^0.1.1"
+ ansi-white "^0.1.1"
+ ansi-yellow "^0.1.1"
+ lazy-cache "^2.0.1"
+
+ansi-cyan@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
+ integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-dim@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-dim/-/ansi-dim-0.1.1.tgz#40de4c603aa8086d8e7a86b8ff998d5c36eefd6c"
+ integrity sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=
+ dependencies:
+ ansi-wrap "0.1.0"
+
ansi-escapes@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
@@ -1195,6 +1330,62 @@ ansi-escapes@^4.2.1:
dependencies:
type-fest "^0.11.0"
+ansi-gray@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
+ integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-green@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-green/-/ansi-green-0.1.1.tgz#8a5d9a979e458d57c40e33580b37390b8e10d0f7"
+ integrity sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-grey@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-grey/-/ansi-grey-0.1.1.tgz#59d98b6ac2ba19f8a51798e9853fba78339a33c1"
+ integrity sha1-WdmLasK6GfilF5jphT+6eDOaM8E=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-hidden@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-hidden/-/ansi-hidden-0.1.1.tgz#ed6a4c498d2bb7cbb289dbf2a8d1dcc8567fae0f"
+ integrity sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-inverse@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-inverse/-/ansi-inverse-0.1.1.tgz#b6af45826fe826bfb528a6c79885794355ccd269"
+ integrity sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-italic@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-italic/-/ansi-italic-0.1.1.tgz#104743463f625c142a036739cf85eda688986f23"
+ integrity sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-magenta@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-magenta/-/ansi-magenta-0.1.1.tgz#063b5ba16fb3f23e1cfda2b07c0a89de11e430ae"
+ integrity sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-red@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
+ integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=
+ dependencies:
+ ansi-wrap "0.1.0"
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -1215,6 +1406,20 @@ ansi-regex@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ansi-reset@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-reset/-/ansi-reset-0.1.1.tgz#e7e71292c3c7ddcd4d62ef4a6c7c05980911c3b7"
+ integrity sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-strikethrough@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz#d84877140b2cff07d1c93ebce69904f68885e568"
+ integrity sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=
+ dependencies:
+ ansi-wrap "0.1.0"
+
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -1229,6 +1434,32 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
+ansi-underline@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-underline/-/ansi-underline-0.1.1.tgz#dfc920f4c97b5977ea162df8ffb988308aaa71a4"
+ integrity sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-white@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-white/-/ansi-white-0.1.1.tgz#9c77b7c193c5ee992e6011d36ec4c921b4578944"
+ integrity sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-wrap@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
+ integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
+
+ansi-yellow@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-yellow/-/ansi-yellow-0.1.1.tgz#cb9356f2f46c732f0e3199e6102955a77da83c1d"
+ integrity sha1-y5NW8vRscy8OMZnmEClVp32oPB0=
+ dependencies:
+ ansi-wrap "0.1.0"
+
any-base@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe"
@@ -1295,7 +1526,7 @@ archive-type@^4.0.0:
dependencies:
file-type "^4.2.0"
-argparse@^1.0.7:
+argparse@^1.0.10, argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@@ -1342,6 +1573,15 @@ array-filter@^1.0.0:
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
+array-sort@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-0.1.4.tgz#662855eaeb671b4188df4451b2f24a0753992b23"
+ integrity sha512-BNcM+RXxndPxiZ2rd76k6nyQLRZr2/B/sdi8pQ+Joafr5AH279L40dfokSUTp8O+AaqYjXWhblBWa2st2nc4fQ==
+ dependencies:
+ default-compare "^1.0.0"
+ get-value "^2.0.6"
+ kind-of "^5.0.2"
+
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
@@ -1419,6 +1659,13 @@ atomic-sleep@^1.0.0:
resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==
+autolinker@~0.28.0:
+ version "0.28.1"
+ resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47"
+ integrity sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=
+ dependencies:
+ gulp-header "^1.7.1"
+
available-typed-arrays@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5"
@@ -1818,13 +2065,13 @@ cacheable-request@^6.0.0:
normalize-url "^4.1.0"
responselike "^1.0.2"
-call-bind@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
- integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
- get-intrinsic "^1.0.0"
+ get-intrinsic "^1.0.2"
callsites@^3.0.0:
version "3.1.0"
@@ -2081,6 +2328,13 @@ concat-stream@^1.6.2:
readable-stream "^2.2.2"
typedarray "^0.0.6"
+concat-with-sourcemaps@*:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e"
+ integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==
+ dependencies:
+ source-map "^0.6.1"
+
config-chain@^1.1.11:
version "1.1.12"
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
@@ -2160,6 +2414,16 @@ crc@^3.4.4:
dependencies:
buffer "^5.1.0"
+create-frame@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/create-frame/-/create-frame-1.0.0.tgz#8b95f2691e3249b6080443e33d0bad9f8f6975aa"
+ integrity sha1-i5XyaR4ySbYIBEPjPQutn49pdao=
+ dependencies:
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ isobject "^3.0.0"
+ lazy-cache "^2.0.2"
+
cross-spawn@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
@@ -2226,6 +2490,13 @@ date-utils@*:
resolved "https://registry.yarnpkg.com/date-utils/-/date-utils-1.2.21.tgz#61fb16cdc1274b3c9acaaffe9fc69df8720a2b64"
integrity sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=
+date.js@^0.3.1:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/date.js/-/date.js-0.3.3.tgz#ef1e92332f507a638795dbb985e951882e50bbda"
+ integrity sha512-HgigOS3h3k6HnW011nAb43c5xx5rBXk8P2v/WIT9Zv4koIaVXiH2BURguI78VVp+5Qc076T7OR378JViCnZtBw==
+ dependencies:
+ debug "~3.1.0"
+
dateformat@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
@@ -2377,6 +2648,13 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+default-compare@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f"
+ integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==
+ dependencies:
+ kind-of "^5.0.2"
+
default-shell@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc"
@@ -2724,6 +3002,11 @@ ensure-error@^2.0.0:
resolved "https://registry.yarnpkg.com/ensure-error/-/ensure-error-2.1.0.tgz#f11fbe383c0cf4a54850ac77acceb7bc06e0f99d"
integrity sha512-+BMSJHw9gxiJAAp2ZR1E0TNcL09dD3lOvkl7WVm4+Y6xnes/pMetP/TzCHiDduh8ihNDjbGfuYxl7l4PA1xZ8A==
+ent@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
+ integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
+
env-paths@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
@@ -2743,6 +3026,11 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
+error-symbol@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/error-symbol/-/error-symbol-0.1.0.tgz#0a4dae37d600d15a29ba453d8ef920f1844333f6"
+ integrity sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y=
+
es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
version "1.17.7"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
@@ -2760,7 +3048,7 @@ es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
string.prototype.trimend "^1.0.1"
string.prototype.trimstart "^1.0.1"
-es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1:
+es-abstract@^1.18.0-next.0:
version "1.18.0-next.1"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
@@ -2778,6 +3066,26 @@ es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1:
string.prototype.trimend "^1.0.1"
string.prototype.trimstart "^1.0.1"
+es-abstract@^1.18.0-next.1:
+ version "1.18.0-next.2"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2"
+ integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==
+ dependencies:
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.2"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.1"
+ object-inspect "^1.9.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.3"
+ string.prototype.trimstart "^1.0.3"
+
es-get-iterator@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.1.tgz#b93ddd867af16d5118e00881396533c1c6647ad9"
@@ -3161,6 +3469,13 @@ falafel@^1.0.1:
isarray "0.0.1"
object-keys "^1.0.6"
+"falsey@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/falsey/-/falsey-0.3.2.tgz#b21c90c5c34660fc192bf909575db95b6880d597"
+ integrity sha512-lxEuefF5MBIVDmE6XeqCdM4BWk1+vYmGZtkbKZ/VFcg6uBBw6fXNEbWmxCjDdQlFc9hy450nkiWwM3VAW6G1qg==
+ dependencies:
+ kind-of "^5.0.2"
+
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -3349,11 +3664,18 @@ follow-redirects@1.5.10:
dependencies:
debug "=3.1.0"
-for-in@^1.0.2:
+for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+for-own@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
+ integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
+ dependencies:
+ for-in "^1.0.1"
+
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
@@ -3412,6 +3734,11 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+fs-exists-sync@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
+ integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=
+
fs-extra@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -3469,7 +3796,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.0, get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
+get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49"
integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==
@@ -3478,6 +3805,14 @@ get-intrinsic@^1.0.0, get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
has "^1.0.3"
has-symbols "^1.0.1"
+get-object@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c"
+ integrity sha1-2S/31RkMZFMM2gVD2sY6PUf+jAw=
+ dependencies:
+ is-number "^2.0.2"
+ isobject "^0.2.0"
+
get-stream@3.0.0, get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
@@ -3662,6 +3997,77 @@ growly@^1.3.0:
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
+gulp-header@^1.7.1:
+ version "1.8.12"
+ resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84"
+ integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==
+ dependencies:
+ concat-with-sourcemaps "*"
+ lodash.template "^4.4.0"
+ through2 "^2.0.0"
+
+handlebars-helper-create-frame@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/handlebars-helper-create-frame/-/handlebars-helper-create-frame-0.1.0.tgz#8aa51d10aeb6408fcc6605d40d77356288487a03"
+ integrity sha1-iqUdEK62QI/MZgXUDXc1YohIegM=
+ dependencies:
+ create-frame "^1.0.0"
+ isobject "^3.0.0"
+
+handlebars-helpers@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/handlebars-helpers/-/handlebars-helpers-0.10.0.tgz#663d49e718928eafbead1473419ed7bc24bcd45a"
+ integrity sha512-QiyhQz58u/DbuV41VnfpE0nhy6YCH4vB514ajysV8SoKmP+DxU+pR+fahVyNECHj+jiwEN2VrvxD/34/yHaLUg==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-sort "^0.1.4"
+ create-frame "^1.0.0"
+ define-property "^1.0.0"
+ "falsey" "^0.3.2"
+ for-in "^1.0.2"
+ for-own "^1.0.0"
+ get-object "^0.2.0"
+ get-value "^2.0.6"
+ handlebars "^4.0.11"
+ handlebars-helper-create-frame "^0.1.0"
+ handlebars-utils "^1.0.6"
+ has-value "^1.0.0"
+ helper-date "^1.0.1"
+ helper-markdown "^1.0.0"
+ helper-md "^0.2.2"
+ html-tag "^2.0.0"
+ is-even "^1.0.0"
+ is-glob "^4.0.0"
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ lazy-cache "^2.0.2"
+ logging-helpers "^1.0.0"
+ micromatch "^3.1.4"
+ relative "^3.0.2"
+ striptags "^3.1.0"
+ to-gfm-code-block "^0.1.1"
+ year "^0.2.1"
+
+handlebars-utils@^1.0.2, handlebars-utils@^1.0.4, handlebars-utils@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9"
+ integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw==
+ dependencies:
+ kind-of "^6.0.0"
+ typeof-article "^0.1.1"
+
+handlebars@^4.0.11, handlebars@^4.7.6:
+ version "4.7.6"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e"
+ integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.0"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
@@ -3745,6 +4151,39 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
+helper-date@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/helper-date/-/helper-date-1.0.1.tgz#12fedea3ad8e44a7ca4c4efb0ff4104a5120cffb"
+ integrity sha512-wU3VOwwTJvGr/w5rZr3cprPHO+hIhlblTJHD6aFBrKLuNbf4lAmkawd2iK3c6NbJEvY7HAmDpqjOFSI5/+Ey2w==
+ dependencies:
+ date.js "^0.3.1"
+ handlebars-utils "^1.0.4"
+ moment "^2.18.1"
+
+helper-markdown@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/helper-markdown/-/helper-markdown-1.0.0.tgz#ee7e9fc554675007d37eb90f7853b13ce74f3e10"
+ integrity sha512-AnDqMS4ejkQK0MXze7pA9TM3pu01ZY+XXsES6gEE0RmCGk5/NIfvTn0NmItfyDOjRAzyo9z6X7YHbHX4PzIvOA==
+ dependencies:
+ handlebars-utils "^1.0.2"
+ highlight.js "^9.12.0"
+ remarkable "^1.7.1"
+
+helper-md@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f"
+ integrity sha1-wfWdflW7riM2L9ig6XFgeuxp1B8=
+ dependencies:
+ ent "^2.2.0"
+ extend-shallow "^2.0.1"
+ fs-exists-sync "^0.1.0"
+ remarkable "^1.6.2"
+
+highlight.js@^9.12.0:
+ version "9.18.5"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825"
+ integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==
+
hosted-git-info@^2.1.4:
version "2.8.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
@@ -3774,6 +4213,14 @@ html-escaper@^2.0.0:
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+html-tag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed"
+ integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g==
+ dependencies:
+ is-self-closing "^1.0.1"
+ kind-of "^6.0.0"
+
http-assert@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"
@@ -3931,6 +4378,11 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
+info-symbol@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/info-symbol/-/info-symbol-0.1.0.tgz#27841d72867ddb4242cd612d79c10633881c6a78"
+ integrity sha1-J4QdcoZ920JCzWEtecEGM4gcang=
+
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
@@ -4097,6 +4549,13 @@ is-docker@^2.0.0:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
+is-even@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06"
+ integrity sha1-drUFX7rY0pSoa2qUkBXhyXtxfAY=
+ dependencies:
+ is-odd "^0.1.2"
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -4169,6 +4628,11 @@ is-negative-zero@^2.0.0:
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=
+is-negative-zero@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
+ integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
+
is-npm@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
@@ -4179,6 +4643,13 @@ is-number-object@^1.0.4:
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+is-number@^2.0.2:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ dependencies:
+ kind-of "^3.0.2"
+
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
@@ -4186,6 +4657,11 @@ is-number@^3.0.0:
dependencies:
kind-of "^3.0.2"
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
@@ -4201,6 +4677,13 @@ is-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
+is-odd@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7"
+ integrity sha1-vFc7XONx7yqtbm9JeZtyvvE5eKc=
+ dependencies:
+ is-number "^3.0.0"
+
is-path-inside@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
@@ -4230,6 +4713,13 @@ is-retry-allowed@^1.1.0:
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
+is-self-closing@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4"
+ integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg==
+ dependencies:
+ self-closing-tags "^1.0.1"
+
is-set@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
@@ -4339,6 +4829,11 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+isobject@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e"
+ integrity sha1-o0MhkvObkQtfAsyYlIeDbscKqF4=
+
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -5017,7 +5512,7 @@ keyv@^3.0.0:
dependencies:
json-buffer "3.0.0"
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
@@ -5031,7 +5526,7 @@ kind-of@^4.0.0:
dependencies:
is-buffer "^1.1.5"
-kind-of@^5.0.0:
+kind-of@^5.0.0, kind-of@^5.0.2:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
@@ -5161,6 +5656,13 @@ latest-version@^5.0.0:
dependencies:
package-json "^6.3.0"
+lazy-cache@^2.0.1, lazy-cache@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
+ integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=
+ dependencies:
+ set-getter "^0.1.0"
+
lazy-val@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65"
@@ -5339,6 +5841,11 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+lodash._reinterpolate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -5409,6 +5916,21 @@ lodash.sortby@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+lodash.template@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+
lodash.without@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac"
@@ -5419,11 +5941,40 @@ lodash.xor@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6"
integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY=
-lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.3:
+lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+log-ok@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/log-ok/-/log-ok-0.1.1.tgz#bea3dd36acd0b8a7240d78736b5b97c65444a334"
+ integrity sha1-vqPdNqzQuKckDXhza1uXxlREozQ=
+ dependencies:
+ ansi-green "^0.1.1"
+ success-symbol "^0.1.0"
+
+log-utils@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/log-utils/-/log-utils-0.2.1.tgz#a4c217a0dd9a50515d9b920206091ab3d4e031cf"
+ integrity sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=
+ dependencies:
+ ansi-colors "^0.2.0"
+ error-symbol "^0.1.0"
+ info-symbol "^0.1.0"
+ log-ok "^0.1.1"
+ success-symbol "^0.1.0"
+ time-stamp "^1.0.1"
+ warning-symbol "^0.1.0"
+
+logging-helpers@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/logging-helpers/-/logging-helpers-1.0.0.tgz#b5a37b32ad53eb0137c58c7898a47b175ddb7c36"
+ integrity sha512-qyIh2goLt1sOgQQrrIWuwkRjUx4NUcEqEGAcYqD8VOnOC6ItwkrVE8/tA4smGpjzyp4Svhc6RodDp9IO5ghpyA==
+ dependencies:
+ isobject "^3.0.0"
+ log-utils "^0.2.1"
+
loose-envify@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -5646,6 +6197,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4:
dependencies:
minimist "^1.2.5"
+moment@^2.18.1:
+ version "2.29.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
+ integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+
mongodb@^3.6.3:
version "3.6.3"
resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.3.tgz#eddaed0cc3598474d7a15f0f2a5b04848489fd05"
@@ -5684,9 +6240,9 @@ mssql@^6.2.3:
tedious "^6.6.2"
mustache@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.0.1.tgz#d99beb031701ad433338e7ea65e0489416c854a2"
- integrity sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA==
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.1.0.tgz#8c1b042238a982d2eb2d30efc6c14296ae3f699d"
+ integrity sha512-0FsgP/WVq4mKyjolIyX+Z9Bd+3WS8GOwoUTyKXT5cTYMGeauNTi2HPCwERqseC1IHAy0Z7MDZnJBfjabd4O8GQ==
mute-stream@0.0.8:
version "0.0.8"
@@ -6883,12 +7439,12 @@ regex-not@^1.0.0, regex-not@^1.0.2:
safe-regex "^1.1.0"
regexp.prototype.flags@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
- integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
+ integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
dependencies:
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
regexparam@1.3.0, regexparam@^1.3.0:
version "1.3.0"
@@ -6914,6 +7470,21 @@ registry-url@^5.0.0:
dependencies:
rc "^1.2.8"
+relative@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f"
+ integrity sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8=
+ dependencies:
+ isobject "^2.0.0"
+
+remarkable@^1.6.2, remarkable@^1.7.1:
+ version "1.7.4"
+ resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00"
+ integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==
+ dependencies:
+ argparse "^1.0.10"
+ autolinker "~0.28.0"
+
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -7177,6 +7748,11 @@ seek-bzip@^1.0.5:
dependencies:
commander "^2.8.1"
+self-closing-tags@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d"
+ integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==
+
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -7221,6 +7797,13 @@ set-blocking@^2.0.0:
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+set-getter@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
+ integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=
+ dependencies:
+ to-object-path "^0.3.0"
+
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
@@ -7575,6 +8158,14 @@ string.prototype.trimend@^1.0.1:
define-properties "^1.1.3"
es-abstract "^1.17.5"
+string.prototype.trimend@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b"
+ integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+
string.prototype.trimstart@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
@@ -7583,6 +8174,14 @@ string.prototype.trimstart@^1.0.1:
define-properties "^1.1.3"
es-abstract "^1.17.5"
+string.prototype.trimstart@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa"
+ integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@@ -7671,6 +8270,11 @@ strip-outer@^1.0.0:
dependencies:
escape-string-regexp "^1.0.2"
+striptags@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.1.1.tgz#c8c3e7fdd6fb4bb3a32a3b752e5b5e3e38093ebd"
+ integrity sha1-yMPn/db7S7OjKjt1LltePjgJPr0=
+
sublevel-pouchdb@7.2.2:
version "7.2.2"
resolved "https://registry.yarnpkg.com/sublevel-pouchdb/-/sublevel-pouchdb-7.2.2.tgz#49e46cd37883bf7ff5006d7c5b9bcc7bcc1f422f"
@@ -7681,6 +8285,11 @@ sublevel-pouchdb@7.2.2:
ltgt "2.2.1"
readable-stream "1.1.14"
+success-symbol@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/success-symbol/-/success-symbol-0.1.0.tgz#24022e486f3bf1cdca094283b769c472d3b72897"
+ integrity sha1-JAIuSG878c3KCUKDt2nEctO3KJc=
+
sumchecker@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
@@ -7878,6 +8487,11 @@ through@^2.3.6, through@^2.3.8, through@~2.3.4:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+time-stamp@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
+ integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=
+
timed-out@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
@@ -7920,6 +8534,11 @@ to-fast-properties@^2.0.0:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+to-gfm-code-block@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82"
+ integrity sha1-JdBFpfrlUxielje1kJANpzLYqoI=
+
to-json-schema@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f"
@@ -8093,6 +8712,13 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+typeof-article@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af"
+ integrity sha1-nwfnM8P7tkb/qeYcCN66zUYOBq8=
+ dependencies:
+ kind-of "^3.1.0"
+
uglify-js@^3.1.4:
version "3.11.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf"
@@ -8321,6 +8947,11 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.x"
+warning-symbol@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/warning-symbol/-/warning-symbol-0.1.0.tgz#bb31dd11b7a0f9d67ab2ed95f457b65825bbad21"
+ integrity sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE=
+
webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -8625,6 +9256,11 @@ yauzl@^2.10.0, yauzl@^2.4.2:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
+year@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0"
+ integrity sha1-QIOuUgoxiyPshgN/MADLiSvfm7A=
+
ylru@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"
diff --git a/packages/standard-components/src/List.svelte b/packages/standard-components/src/List.svelte
index 7d5955904b..9ee59a79b7 100644
--- a/packages/standard-components/src/List.svelte
+++ b/packages/standard-components/src/List.svelte
@@ -2,12 +2,13 @@
import { getContext } from "svelte"
import { isEmpty } from "lodash/fp"
- const { API, styleable, DataProvider } = getContext("sdk")
+ const { API, styleable, DataProvider, builderStore } = getContext("sdk")
const component = getContext("component")
export let datasource = []
let rows = []
+ let loaded = false
$: fetchData(datasource)
@@ -15,21 +16,22 @@
if (!isEmpty(datasource)) {
rows = await API.fetchDatasource(datasource)
}
+ loaded = true
}
{#if rows.length > 0}
- {#each rows as row}
-
- {#if $component.children === 0}
- Add some components too.
- {:else}
+ {#if $component.children === 0 && $builderStore.inBuilder}
+ Add some components too
+ {:else}
+ {#each rows as row}
+
- {/if}
-
- {/each}
- {:else}
+
+ {/each}
+ {/if}
+ {:else if loaded && $builderStore.inBuilder}
Feed me some data
{/if}