Merge branch 'develop' into pr/1720

This commit is contained in:
Machiel 2024-04-18 10:58:26 +02:00
commit 5a7a0f3608
1886 changed files with 26148 additions and 24481 deletions

11
.changeset/config.json Normal file
View File

@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["@lowdefy/*", "lowdefy"]],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}

View File

@ -0,0 +1,5 @@
---
'@lowdefy/actions-core': minor
---
Add the SetFocus action that sets focus on a specified HTML element

View File

@ -0,0 +1,5 @@
---
'@lowdefy/engine': patch
---
Add a property called responseTime to the request object to measure response times of requests.

View File

@ -0,0 +1,5 @@
---
'@lowdefy/blocks-antd': patch
---
Bug fix for Pagination block intial pageSize value

View File

@ -0,0 +1,5 @@
---
'@lowdefy/blocks-antd': patch
---
Fix Pagination block skip state value. The skip value is now calculated from current and pageSize values if block value is changed using SetState.

View File

@ -1,30 +1,48 @@
name: Release
on:
release:
types:
- published
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
build_and_publish:
release:
name: Release
runs-on: ubuntu-latest
environment: publish
if: github.repository == 'lowdefy/lowdefy'
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: https://registry.npmjs.org/
- name: pnpm install
run: pnpm install --frozen-lockfile
- name: pnpm build
run: pnpm build
# --no-verify-access to use automation tokens https://github.com/lerna/lerna/issues/2788
# --ignore-scripts to avoid scripts that could read npm token
# --yes to autoconfirm in ci
# --pre-dist-tag do not tag prereleases as latest
- name: publish to npm
run: pnpm lerna:publish --ignore-scripts --yes --no-verify-access
# run: pnpm lerna:publish --ignore-scripts --yes --no-verify-access --pre-dist-tag rc
node-version: 18.x
- name: Enable pnpm
run: corepack enable
- name: Install Dependencies
run: pnpm i --frozen-lockfile
- name: Creating .npmrc
run: |
cat << EOF > "$HOME/.npmrc"
//registry.npmjs.org/:_authToken=$NPM_TOKEN
EOF
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
version: pnpm release:version
publish: pnpm release:publish
createGithubReleases: false
commit: 'chore: Publish new release'
title: 'Publish new release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

17
.gitignore vendored
View File

@ -9,12 +9,14 @@
.turbo
packages/server/build/**
packages/server-dev/build/**
packages/servers/*/build/**
packages/servers/*/public/**
packages/servers/*/package.original.json
!packages/docs/lowdefy.yaml
!packages/docs/howto/**/lowdefy.yaml
!packages/website/lowdefy.yaml
packages/cli/server/**
.DS_Store
@ -29,15 +31,8 @@ packages/utils/node-utils/test/copyDirectory/**
packages/utils/node-utils/test/copyFile/**
app/**
packages/server-dev/plugins/**
packages/server/plugins/**
packages/server-dev/public/**
packages/server/public/**
packages/server/package.original.json
packages/server-dev/package.original.json
packages/docs/public/sitemap.xml
packages/website/public/sitemap.xml
lerna-debug.log

View File

@ -1,3 +0,0 @@
path_classifiers:
generated:
- .pnp.cjs

View File

@ -3,6 +3,80 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 4.0.1
### Patch Changes
- Fix build issue on release.
# [4.0.0](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.15...v4.0.0) (2024-01-16)
We're excited to announce Lowdefy V4, a full-stack web framework that simplifies building web applications, internal tools, admin panels, BI dashboards, and CRUD apps using YAML or JSON configuration files.
In this update, Lowdefy developers now enjoy faster app performance and improved functionality with custom code plugins.
## New Features in Lowdefy V4
1. **Next.js build**: Lowdefy apps have been converted to run on top of the [Next.js](https://nextjs.org/) framework.
2. **All of Auth.js**: App authentication are now implemented by configuring any [Auth.js](https://authjs.dev/) supported providers, adapters and callbacks and events, all of which can be customized.
3. **Plugin extensibility**: Apps can now be extended with any [**npm**](https://www.npmjs.com/) or [**pnpm workspace**](https://pnpm.io/workspaces) plugins.
4. **Flexible Styling**: Change any of Ant Design's [more than 900 style variables](https://github.com/ant-design/ant-design/blob/4.x-stable/components/style/themes/default.less).
5. **Better, Faster Rendering**: Reduced page loading times, better loading state management including easy configuration of loading skeletons where needed.
See our [blog post](https://lowdefy.com/lowdefy-v4-launch) for more details.
See our [migration guide](https://docs.lowdefy.com/v3-to-v4) to guidance on converting V3 apps to V4.
## Pricing and Licensing Changes
Starting with Lowdefy **V4**, we are introducing a [capped usage based pricing](https://lowdefy.com/pricing) to Lowdefy apps that include authentication.
Given the new pricing model we have changed how we license Lowdefy, for more information see [the licenses page](https://docs.lowdefy.com/licenses) in the Lowdefy docs.
## Changes Compared to v4.0.0-rc.15
### Major Changes
- 5cfe04a68: Upgrade change-case dependency to 5.4.0. This is a breaking change and effects the `_change_case` operator. Changes to the `_change_case` operator:
- Options splitRegex and stripRegexp are no longer supported.
- paramCase has been renamed to kebabCase
- headerCase has been renamed to trainCase
- The following options have been added:
- locale
- mergeAmbiguousCharacters
- prefixCharacters
- split
- suffixCharacters
### Minor Changes
- Add cover content area to Card block. ([c8a75a9](https://github.com/lowdefy/lowdefy/commit/c8a75a9155c994cc96658933ca4d0b6a5b1afc74))
- Add git sha to build artifacts. ([c0c0a51](https://github.com/lowdefy/lowdefy/commit/c0c0a512d4586852b32d0fcce2d413848ccbadde))
- Optimise server apiWrapper. ([7c48608](https://github.com/lowdefy/lowdefy/commit/7c48608b700694c66b94289ff9c3aa323c0e20e2))
- Support Phosphor icon set. ([82009c6](https://github.com/lowdefy/lowdefy/commit/82009c653d42ce0639b4de786a4adbffb150eb2b))
### Patch Changes
- 66e3c1bfe: Improve property validation errors in MongoDBCollection connection.
- a8673449b: Update dependency mongodb to v6.3.0.
- Add error boundary to servers. ([c3f2c4f](https://github.com/lowdefy/lowdefy/commit/c3f2c4fc2fc7dbd981752b2d1792c141bb221d02))
- Cleanup unused buildoutput. ([75db8b1](https://github.com/lowdefy/lowdefy/commit/75db8b1d380ed82df3bbe6226fa1f299639a470f))
- Fix sign out event user definition ([3821bfd](https://github.com/lowdefy/lowdefy/commit/3821bfdd7c7b4f8db9258bb849aeb5c607effd22))
- Fix warning validation not showing. ([7289dcc](https://github.com/lowdefy/lowdefy/commit/7289dcc9e2bd49ee942ba969aab5a924b8900c7b))
- User defined validation messages should over required message. ([f40c135](https://github.com/lowdefy/lowdefy/commit/f40c1353b396333fc3ba9bc4bcbbdf8958906953))
# [4.0.0-rc.15](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.14...v4.0.0-rc.15) (2023-12-05)
### Bug Fixes
- **blocks-antd:** Check if option exists before checking tag. ([a72688d](https://github.com/lowdefy/lowdefy/commit/a72688d687674e309f103244eacba9613938293a))
### Features
- Add cover content area to Card block. ([c8a75a9](https://github.com/lowdefy/lowdefy/commit/c8a75a9155c994cc96658933ca4d0b6a5b1afc74))
- Support Phosphor icon set. ([82009c6](https://github.com/lowdefy/lowdefy/commit/82009c653d42ce0639b4de786a4adbffb150eb2b))
# [4.0.0-rc.14](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.12...v4.0.0-rc.14) (2023-11-17)
### Bug Fixes

202
LICENSE
View File

@ -1,201 +1,11 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Portions of this software are licensed as follows:
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
The following packages are licensed under the Business Source License 1.1 (BUSL-1.1) as well as the Lowdefy Commercial License:
1. Definitions.
- @lowdefy/server-enterprise (/packages/servers/server-enterprise)
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
All other packages are licensed under the Apache-2.0 license.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
All relevant licenses are located in the licenses directory.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
All third party components incorporated into the software are licensed under the original license provided by the owner of the applicable component.

View File

@ -14,7 +14,7 @@
# Lowdefy 🫶 The Config Webstack for Business Apps
Lowdefy is an open-source web framework that enables you to:
Lowdefy is a source available web framework that enables you to:
- 🎨 Build web UIs and connect to databases and APIs.
- 🔌 Extend app functionality with npm plugins.
@ -42,10 +42,6 @@ Make API calls and read and write to your databases with minimal config. Build w
- Secure secrets for passwords and API keys.
- Build custom connections with any npm modules.
### 🔓 Open-Source Framework with No Lock-In
Lowdefy is an open-source framework built on top of Next.js. Lowdefy allows you to build future-proof apps, host them anywhere, and avoid vendor lock-in.
## 🔧 Extend Everything with NPM Plugins
> Lowdefy's [Blocks](https://docs.lowdefy.com/blocks), [Requests](https://docs.lowdefy.com/connections-and-requests), [Operators](https://docs.lowdefy.com/operators), [Actions](https://docs.lowdefy.com/events-and-actions), Auth Providers, and Adapters can all be extended with plugins, making it the most flexible config web stack.
@ -133,7 +129,3 @@ If you discover a vulnerability, please follow the guide in [SECURITY.md](https:
### 🤝 Code of Conduct
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to follow the [Contributor Covenant](https://www.contributor-covenant.org) code of conduct. See [CODE_OF_CONDUCT.md](https://github.com/lowdefy/lowdefy/blob/main/CODE_OF_CONDUCT.md) for more.
### ⚖️ Licence
[Apache-2.0](https://github.com/lowdefy/lowdefy/blob/main/LICENSE)

View File

@ -1,21 +0,0 @@
{
"version": "4.0.0-rc.14",
"packages": [
"src/packages/*",
"src/packages/blocks/*",
"src/packages/connections/*",
"src/packages/plugins/**",
"src/packages/utils/*"
],
"npmClient": "pnpm",
"useWorkspaces": true,
"changelogPreset": "angular",
"command": {
"version": {
"conventionalCommits": true,
"createRelease": "github",
"exact": true,
"message": "chore: release version"
}
}
}

201
licenses/Apache-2.0.txt Normal file
View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

65
licenses/BUSL-1.1.txt Normal file
View File

@ -0,0 +1,65 @@
License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved.
“Business Source License” is a trademark of MariaDB Corporation Ab.
Parameters
Licensor: Lowdefy, Inc.
Licensed Work: Lowdefy 4.0.0. The Licensed Work is (c) 2024 Lowdefy, Inc.
Additional Use Grant: None
Change Date: 2028-01-16
Change License: Apache-2.0
Notice
The Business Source License (this document, or the “License”) is not an Open
Source license. However, the Licensed Work will eventually be made available
under an Open Source License, as stated in this License.
For more information on the use of the Business Source License generally,
please visit the Adopting and Developing Business Source License FAQ at
https://mariadb.com/bsl-faq-adopting.
-----------------------------------------------------------------------------
Business Source License 1.1
Terms
The Licensor hereby grants you the right to copy, modify, create derivative
works, redistribute, and make non-production use of the Licensed Work. The
Licensor may make an Additional Use Grant, above, permitting limited production use.
Effective on the Change Date, or the fourth anniversary of the first publicly
available distribution of a specific version of the Licensed Work under this
License, whichever comes first, the Licensor hereby grants you rights under
the terms of the Change License, and the rights granted in the paragraph
above terminate.
If your use of the Licensed Work does not comply with the requirements
currently in effect as described in this License, you must purchase a
commercial license from the Licensor, its affiliated entities, or authorized
resellers, or you must refrain from using the Licensed Work.
All copies of the original and modified Licensed Work, and derivative works
of the Licensed Work, are subject to this License. This License applies
separately for each version of the Licensed Work and the Change Date may vary
for each version of the Licensed Work released by Licensor.
You must conspicuously display this License on each original or modified copy
of the Licensed Work. If you receive the Licensed Work in original or
modified form from a third party, the terms and conditions set forth in this
License apply to your use of that work.
Any use of the Licensed Work in violation of this License will automatically
terminate your rights under this License for the current and all other
versions of the Licensed Work.
This License does not grant you any right in any trademark or logo of
Licensor or its affiliates (provided that you may use a trademark or logo of
Licensor as expressly required by this License).
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
TITLE.

View File

@ -0,0 +1,433 @@
Lowdefy Commercial License Agreement
Please read this Lowdefy Commercial License Agreement (the "Agreement")
carefully before using Lowdefy (as defined below), which is offered by
Lowdefy, Inc. or its affiliated Legal Entities ("Lowdefy, Inc").
By downloading Lowdefy or using it in any manner, or mutually executing or
accepting one or more orders with Lowdefy, Inc which reference this agreement
(each, an “order form”), You agree that You have read and agree to be bound by
the terms of this Agreement. If You are accessing Lowdefy on behalf of a Legal
Entity, You represent and warrant that You have the authority to agree to these
terms on its behalf and the right to bind that Legal Entity to this Agreement.
Use of Lowdefy is expressly conditioned upon Your assent to all the terms of
this Agreement, to the exclusion of all other terms.
Please note that Lowdefy, Inc may modify the terms and conditions of this
Agreement in accordance with Section 15.
1. Definitions. In addition to other terms defined elsewhere in this Agreement,
the terms below have the following meanings.
(a) "Lowdefy" shall mean the Lowdefy application development platform
(in both Object and Source form) and related documentation,
including both Community Edition and Commercial Edition, as defined
below.
(b) "Lowdefy Community Edition" shall mean any Lowdefy code in Object or Source
form licensed under the Apache License Version 2.0, as indicated at
https://github.com/lowdefy/lowdefy/LICENSE
(c) "Lowdefy Commercial Edition" shall mean the additional features made
available by Lowdefy, Inc, the use of which is subject to additional terms set
out below.
(d) "Contribution" shall mean any work of authorship, including the original
version of the Work and any modifications or additions to that Work or
Derivative Works thereof, that is intentionally submitted to Lowdefy, Inc for
inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this
definition, "submitted" means any form of electronic, verbal, or written
communication sent to Lowdefy, Inc or its representatives, including but not
limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of,
Lowdefy, Inc for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise designated in
writing by the copyright owner as "Not a Contribution."
(e) "Contributor" shall mean any copyright owner or individual or Legal Entity
authorized by the copyright owner, other than Lowdefy, Inc, from whom
Lowdefy, Inc receives a Contribution that Lowdefy, Inc subsequently
incorporates within the Work.
(f) "Derivative Works" shall mean any work, whether in Source or Object form,
that is based on (or derived from) the Work, such as a translation, abridgement,
condensation, or any other recasting, transformation, or adaptation for which
the editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes of this
License, Derivative Works shall not include works that remain separable from, or
merely link (or bind by name) to the interfaces of, the Work and Derivative
Works thereof.
(g) "Legal Entity" shall mean the union of the acting entity and all other
entities that control, are controlled by, or are under common control with that
entity. For the purposes of this definition, "control" means (i) the power,
direct or indirect, to cause the direction or management of such entity, whether
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of
the outstanding shares, or (iii) beneficial ownership of such entity.
(h) "License" shall mean the terms and conditions for use, reproduction, and
distribution of a Work as defined by this Agreement.
(i) "Licensor" shall mean Lowdefy, Inc or a Contributor, as applicable.
(j) "Object" form shall mean any form resulting from mechanical transformation
or translation of a Source form, including but not limited to compiled object
code, generated documentation, and conversions to other media types.
(k) "Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.
(l) "Third Party Works" shall mean Works, including Contributions, and other
technology owned by a person or Legal Entity other than Lowdefy, Inc, as
indicated by a copyright notice that is included in or attached to such Works or
technology.
(m) "Work" shall mean the work of authorship, whether in Source or Object form,
made available under a License, as indicated by a copyright notice that is
included in or attached to the work.
(n) "You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
(o) "Order Form" means a Lowdefy Order Form that has been signed and executed
by both You and Lowdefy that incorporates these Terms.
2. Licenses.
(a) License to Lowdefy Community Edition. The Lowdefy Community Edition is
licensed to You pursuant to the Apache License Version 2.0. For clarity, the
terms of this Agreement, other than the relevant definitions in Section 1 and
this Section 2(a) do not apply to Lowdefy Community Edition.
(b) License to Lowdefy Commercial Edition.
(i) Grant of Copyright License: Subject to the terms of this Agreement, Licensor
hereby grants to You a worldwide, non-exclusive, non-transferable limited
license to reproduce, prepare Commercial Derivative Works (as defined below) of,
publicly display, publicly perform, sublicense, and distribute Lowdefy
Commercial Edition for Your business purposes, for so long as You are not in
violation of this Section 2(b) and are current on all payments required by
Section 4 below.
(ii) Grant of Patent License: Subject to the terms of this Agreement, Licensor
hereby grants to You a worldwide, non-exclusive, non-transferable limited patent
license to make, have made, use, offer to sell, sell, import, and otherwise
transfer Lowdefy Commercial Edition, where such license applies only to those
patent claims licensable by Licensor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s) with the Work
to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit)
alleging that the Work or a Contribution incorporated within the Work
constitutes direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate as of the date
such litigation is filed.
(iii) License to Third Party Works: From time to time Lowdefy, Inc may use, or
provide You access to, Third Party Works in connection with Lowdefy Commercial
Edition. You acknowledge and agree that in addition to this Agreement, Your use
of Third Party Works is subject to all other terms and conditions set forth in
the License provided with or contained in such Third Party Works. Some Third
Party Works may be licensed to You solely for use with Lowdefy Commercial
Edition under the terms of a third party License, or as otherwise notified by
Lowdefy, Inc, and not under the terms of this Agreement. You agree that the
owners and third party licensors of Third Party Works are intended third party
beneficiaries to this Agreement.
3. Support. From time to time, in its sole discretion, Lowdefy, Inc may offer
professional services or support for Lowdefy, which may now or in the future
be subject to additional fees.
4. Fees for Lowdefy Commercial Edition or Lowdefy Support.
(a) Fees. The License to Lowdefy Commercial Edition is conditioned upon Your
entering into a signed written agreement with Lowdefy, Inc for its use (a
"Paid License") and timely paying Lowdefy, Inc for such Paid License. Fees are
due and payable as set forth in an applicable Order Form. Lowdefy, Inc will
invoice You as set forth in the Order Form. All Fees under this Agreement are
payable within thirty (30) days from the date of Lowdefy, Incs invoice.
Payment shall be made without any right of set-off or deduction. All payments
made pursuant to this Agreement shall be made in the currency specified on the
Order Form and are nonrefundable. All payments will be made in accordance with
payment terms in the Order Form. Any professional services or support for
Lowdefy may also be subject to Your payment of fees, which will be specified
by Lowdefy, Inc when you sign up to receive such professional services or
support. Lowdefy, Inc reserves the right to change the fees at any time with
prior written notice; for recurring fees, any such adjustments will take effect
as of the next pay period.
(b) Overdue Payments and Taxes. Overdue payments are subject to a service charge
equal to the lesser of 1.5% per month or the maximum legal interest rate allowed
by law, and You shall pay all Lowdefy Inc.s reasonable costs of collection,
including court costs and attorneys fees. Fees are stated and payable in U.S.
dollars and are exclusive of all sales, use, value added and similar taxes,
duties, withholdings and other governmental assessments (but excluding taxes
based on Lowdefy, Inc income) that may be levied on the transactions
contemplated by this Agreement in any jurisdiction, all of which are Your
responsibility unless you have provided Lowdefy, Inc with a valid tax-exempt
certificate.
(c) Usage Information. You acknowledge and agree that Lowdefy may be configured
to collect and send to Lowdefy, Inc usage data and telemetry regarding Your use
of Lowdefy (“Usage Data”), and Lowdefy, Inc will be free to use Usage Data
(i) to verify Your use of Lowdefy and payment of applicable Fees and (ii) to
improve and enhance Lowdefy and for other development, diagnostic and
corrective purposes in connection with Lowdefy and other Lowdefy, Inc
offerings. In the event that Lowdefy is not configured to automatically provide
Usage Data to Lowdefy Inc, You agree that You shall provide applicable Usage
Data via email or other electronic means on a monthly basis or as otherwise
requested by Lowdefy using tools or instructions provided by Lowdefy. If an
inspection or audit uncovers additional usage by You for which fees are owed
under this Agreement, then You shall pay for such additional usage at
Lowdefy, Incs then-current rates.
5. Trial License. If You have signed up for a trial or evaluation of Lowdefy
Commercial Edition, Your License to Lowdefy Commercial Edition is granted
without charge for the trial or evaluation period specified when You signed up,
or if no term was specified, for thirty (30) calendar days, provided that Your
License is granted solely for purposes of Your internal evaluation of Lowdefy
Commercial Edition during the trial or evaluation period (a "Trial License").
You may not use Lowdefy Commercial Edition under a Trial License more than once
in any twelve (12) month period. Lowdefy, Inc may revoke a Trial License at any
time and for any reason. Sections 3, 4, 9 and 11 of this Agreement do not apply
to Trial Licenses.
6. Redistribution. You may reproduce and distribute copies of the Work or
Derivative Works thereof in any medium, with or without modifications, and in
Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of
this License; and
(b) You must cause any modified files to carry prominent notices stating that
You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and attribution notices from the
Source form of the Work, excluding those notices that do not pertain to any part
of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then
any Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
(e) Commercial Derivative Works: Derivative Works of Lowdefy Commercial Edition
("Commercial Derivative Works") may be made, reproduced and distributed in any
medium, with or without modifications, in Source or Object form, provided that
each Commercial Derivative Work will be considered to include a License to
Lowdefy Commercial Edition and thus will be subject to the payment of fees to
Lowdefy, Inc by any user of the Commercial Derivative Work.
7. Submission of Contributions. Unless You explicitly state otherwise, any
Contribution intentionally submitted for inclusion in Lowdefy by You to
Lowdefy, Inc shall be under the terms and conditions of
https://cla-assistant.io/lowdefy/lowdefy (which is based off of the Apache
License), without any additional terms or conditions, payments of royalties or
otherwise to Your benefit. Notwithstanding the above, nothing herein shall
supersede or modify the terms of any separate license agreement You may have
executed with Lowdefy, Inc regarding such Contributions.
8. Trademarks. This License does not grant permission to use the trade names,
trademarks, service marks, or product names of Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
9. Limited Warranty.
(a) Warranties. Lowdefy, Inc warrants to You that: (i) Lowdefy Commercial
Edition will materially perform in accordance with the applicable documentation
for ninety (90) days after initial delivery to You; and (ii) any professional
services performed by Lowdefy, Inc under this Agreement will be performed in a
workmanlike manner, in accordance with general industry standards.
(b) Exclusions. Lowdefy, Incs warranties in this Section 9 do not extend to
problems that result from: (i) Your failure to implement updates issued by
Lowdefy, Inc during the warranty period; (ii) any alterations or additions
(including Commercial Derivative Works and Contributions) to Lowdefy not
performed by or at the direction of Lowdefy, Inc; (iii) failures that are not
reproducible by Lowdefy, Inc; (iv) operation of Lowdefy in violation of this
Agreement or not in accordance with its documentation; (v) failures caused by
software, hardware or products not licensed or provided by Lowdefy, Inc
hereunder; or (vi) Third Party Works.
(c) Remedies. In the event of a breach of a warranty under this Section 9,
Lowdefy, Inc will, at its discretion and cost, either repair, replace or
re-perform the applicable Works or services or refund a portion of fees
previously paid to Lowdefy, Inc that are associated with the defective Works
or services. This is Your exclusive remedy, and Lowdefy, Incs sole liability,
arising in connection with the limited warranties herein.
10. Disclaimer of Warranty. Except as set out in Section 9, unless required by
applicable law, Licensor provides the Work (and each Contributor provides its
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied, arising out of course of dealing, course of
performance, or usage in trade, including, without limitation, any warranties or
conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, CORRECTNESS,
RELIABILITY, or FITNESS FOR A PARTICULAR PURPOSE, all of which are hereby
disclaimed. You are solely responsible for determining the appropriateness of
using or redistributing Works and assume any risks associated with Your exercise
of permissions under the applicable License for such Works.
11. Limited Indemnity.
(a) Indemnity. Lowdefy, Inc will defend, indemnify and hold You harmless
against any third party claims, liabilities or expenses incurred (including
reasonable attorneys fees), as well as amounts finally awarded in a settlement
or a non-appealable judgement by a court ("Losses"), to the extent arising from
any claim or allegation by a third party that Lowdefy, Inc infringes
or misappropriates a valid United States patent, copyright or trade secret right
of a third party; provided that You give Lowdefy, Inc: (i) prompt written
notice of any such claim or allegation; (ii) sole control of the defense and
settlement thereof; and (iii) reasonable cooperation and assistance in such
defense or settlement. If any Work within Lowdefy becomes or, in
Lowdefy, Incs opinion, is likely to become, the subject of an injunction,
Lowdefy, Inc may, at its option, (A) procure for You the right to continue
using such Work, (B) replace or modify such Work so that it becomes
non-infringing without substantially compromising its functionality, or, if (A)
and (B) are not commercially practicable, then (C) terminate Your license to the
allegedly infringing Work and refund to You a prorated portion of the prepaid
and unearned fees for such infringing Work. The foregoing states the entire
liability of Lowdefy, Inc with respect to infringement of patents, copyrights,
trade secrets or other intellectual property rights.
(b) Exclusions. The foregoing obligations shall not apply to: (i) Works modified
by any party other than Lowdefy, Inc (including Commercial Derivative Works
and Contributions), if the alleged infringement relates to such modification,
(ii) Works combined or bundled with any products, processes or materials not
provided by Lowdefy, Inc where the alleged infringement relates to such
combination, (iii) use of a version of Lowdefy other than the version that was
current at the time of such use, as long as a non-infringing version had been
released, (iv) any Works created to Your specifications, (v) infringement or
misappropriation of any proprietary right in which You have an interest,
(vi) Third Party Works, or (vii) Your violation of any law or regulation or of
any third party rights, including infringement, libel, misappropriation, or
other violation of any third partys intellectual property or other legal
rights. You will defend, indemnify and hold Lowdefy, Inc harmless against any
Losses arising from any such claim or allegation, subject
to conditions reciprocal to those in Section 11(a).
12. Limitation of Liability. In no event and under no legal or equitable theory,
whether in tort (including negligence), contract, or otherwise, unless required
by applicable law (such as deliberate and grossly negligent acts), and
notwithstanding anything in this Agreement to the contrary, shall Licensor or
any Contributor be liable to You for (i) any amounts in excess, in the
aggregate, of the fees paid by You to Lowdefy, Inc under this Agreement in the
twelve (12) months preceding the date the first cause of liability arose, or
(ii) any indirect, special, incidental, punitive, exemplary, reliance, or
consequential damages of any character arising as a result of this Agreement or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, profits, data or data use, work stoppage, computer
failure or malfunction, cost of procurement of substitute goods, technology or
services, or any and all other commercial damages or losses), even if such
Licensor or Contributor has been advised of the possibility of such damages.
THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL
PURPOSE OF ANY LIMITED REMEDY.
13. Accepting Warranty or Additional Liability. While redistributing Works or
Derivative Works thereof, and without limiting your obligations under Section 6,
You may choose to offer, and charge a fee for, acceptance of support, warranty,
indemnity, or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only on Your own
behalf and on Your sole responsibility, not on behalf of any other Contributor,
and only if You agree to indemnify, defend, and hold Lowdefy, Inc and each
other Contributor harmless for any liability incurred by, or claims asserted
against, such Contributor by reason of your accepting any such warranty or
additional liability.
14. Your Ownership Rights. You shall retain all rights, title and interest in
and to applications created utilising Lowdefy and all Your data, content,
information and materials stored or processed by Lowdefy (“Your Data”). 
Nothing in this Agreement will confer on Lowdefy, Inc any right of ownership or
interest in any of Your Data, or the intellectual property rights therein.
15. Modification of this Agreement. Lowdefy, Inc may update the terms and
conditions of this Agreement from time to time with prior notice to You in
accordance with notice provisions in Section 16. The updated version of this
Agreement will be available at https://lowdefy.com/terms. Following such
notice, your continued use of Lowdefy on or after the date the updated version
of this Agreement is effective and binding, as indicated at the top of this
Agreement, constitutes your acceptance of the updated version of this
Agreement. If you do not agree to the updated version of this Agreement, you
must stop using the Lowdefy immediately, and if you are using a paid version of
Lowdefy, you may elect to receive a pro-rata refund of any prepaid fees
applicable to services not yet received. The updated version of this Agreement
supersedes all prior versions.
16. Notices. Unless otherwise agreed to by the parties, any notice,
authorisation, or consent required or permitted to be given or delivered under
this Agreement shall be in writing, in English and addressed and delivered to
Lowdefy, Inc at the address specified on the Lowdefy website or to You at the
address specified in the applicable Order Form. Notices shall be deemed to have
been received by a party and shall be effective: (i) on the fifth business day
after which such Notice is deposited prepaid in the local postal system;
(ii) on the day received if sent with a reputable, expedited overnight or
international courier or hand delivered or (iii) one business day after being
sent electronically with a confirmed delivery receipt. Either party may change
its address for receipt of Notice purposes upon issuance of Notice thereof in
accordance with this Section.
17. General.
(a) Relationship of Parties. You and Lowdefy, Inc are independent contractors,
and nothing herein shall be deemed to constitute either party as the agent or
representative of the other or both parties as joint venturers or partners for
any purpose.
(b) Export Control. You shall comply with the U.S. Foreign Corrupt Practices Act
and all applicable export laws, restrictions and regulations of the U.S.
Department of Commerce, and any other applicable U.S. and foreign authority.
(c) Assignment. This Agreement and the rights and obligations herein may not be
assigned or transferred, in whole or in part, by You without the prior written
consent of Lowdefy, Inc. Any assignment in violation of this provision is
void. This Agreement shall be binding upon, and inure to the benefit of, the
successors and permitted assigns of the parties.
(d) Governing Law. This Agreement shall be governed by and construed under the
laws of the State of Delaware and the United States without regard to conflicts
of laws provisions thereof, and without regard to the Uniform Computer
Information Transactions Act.
(e) Attorneys Fees. In any action or proceeding to enforce rights under this
Agreement, the prevailing party shall be entitled to recover its costs, expenses
and attorneys fees.
(f) Severability. If any provision of this Agreement is held to be invalid,
illegal or unenforceable in any respect, that provision shall be limited or
eliminated to the minimum extent necessary so that this Agreement otherwise
remains in full force and effect and enforceable.
(g) Publicity. Notwithstanding anything to the contrary in this Agreement
Lowdefy, Inc may reference You as a Lowdefy user in its marketing and
promotional materials, including but not limited to the Lowdefy website.
(h) No Waiver. The failure of either party to enforce its rights under this
Agreement at any time for any period shall not be construed as a waiver of such
rights.
(i) This Agreement together with all applicable Order Forms and the Support
Services comprises the entire agreement between the parties regarding the
subject matter hereof and supersedes and merges all prior proposals
understandings and all other agreements, oral and written, between the parties
relating to the subject matter of this Agreement. Lowdefy, Incs acceptance of
any document submitted by You to Lowdefy, Inc shall not be construed as an
acceptance of provisions which are in any way in conflict or inconsistent with,
or in addition to, this Agreement unless such terms are separately and
specifically accepted in writing by an authorized representative of Lowdefy.

View File

@ -1,6 +1,5 @@
{
"name": "@lowdefy/lowdefy",
"version": "4.0.0-rc.14",
"license": "Apache-2.0",
"private": true,
"description": "Lowdefy monorepo",
@ -23,54 +22,38 @@
"url": "https://github.com/lowdefy/lowdefy.git"
},
"scripts": {
"build:turbo": "turbo run build",
"build": "pnpm -r build",
"build:turbo": "turbo run build",
"clean": "pnpm -r clean",
"lerna:publish": "lerna publish from-git",
"lerna:version": "lerna version --no-git-tag-version",
"prettier": "prettier --config .prettierrc --write **/*.js",
"start": "pnpm app:server",
"test": "pnpm -r --filter='!@lowdefy/blocks-*' --filter='!@lowdefy/plugin-aws' test",
"update-packages": "pnpm up -i -r --latest",
"app:cli:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../../app --server-directory ../server",
"app:cli:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../../app --dev-directory ../server-dev",
"app:cli:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../../app --server-directory ../server",
"app:server-dev:next-dev": "pnpm -r --filter=lowdefy start build --config-directory ../../app --server-directory ../server-dev && pnpm -r --filter='@lowdefy/server-dev' next dev",
"app:server-dev": "pnpm -r --filter='@lowdefy/server-dev' start --config-directory ../../app",
"app:server:next-dev": "pnpm app:cli:build && pnpm -r --filter='@lowdefy/server' dev",
"app:server": "pnpm -r --filter='@lowdefy/server' build:lowdefy --config-directory ../../app && pnpm install && pnpm -r --filter='@lowdefy/server' build:next && pnpm -r --filter='@lowdefy/server' start",
"docs:cli:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../docs --server-directory ../server",
"docs:cli:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../docs --dev-directory ../server-dev --log-level=debug",
"docs:cli:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../docs --server-directory ../server",
"docs:server-dev": "pnpm -r --filter='@lowdefy/server-dev' start --config-directory ../docs",
"docs:server:next-dev": "pnpm docs:cli:build && pnpm install && pnpm -r --filter='@lowdefy/server' dev",
"docs:server": "pnpm -r --filter='@lowdefy/server' build:lowdefy --config-directory ../docs && pnpm install && pnpm -r --filter='@lowdefy/server' build:next && pnpm -r --filter='@lowdefy/server' start",
"env:cli:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --server-directory ../server",
"env:cli:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --dev-directory ../server-dev",
"env:cli:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --server-directory ../server",
"env:server-dev:next-dev": "pnpm -r --filter=lowdefy start build --server-directory ../server-dev && pnpm -r --filter='@lowdefy/server-dev' next dev",
"env:server-dev": "pnpm -r --filter='@lowdefy/server-dev' start",
"env:server:next-dev": "pnpm env:cli:build && pnpm install && pnpm -r --filter='@lowdefy/server' dev",
"env:server": "pnpm -r --filter='@lowdefy/server' build:lowdefy && pnpm install && pnpm -r --filter='@lowdefy/server' build:next && pnpm -r --filter='@lowdefy/server' start",
"web:cli:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../website --server-directory ../server",
"web:cli:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../website --dev-directory ../server-dev --log-level=debug",
"web:cli:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../website --server-directory ../server",
"web:server-dev": "pnpm -r --filter='@lowdefy/server-dev' start --config-directory ../website",
"web:server:next-dev": "pnpm website:cli:build && pnpm install && pnpm -r --filter='@lowdefy/server' dev",
"web:server": "pnpm -r --filter='@lowdefy/server' build:lowdefy --config-directory ../website && pnpm install && pnpm -r --filter='@lowdefy/server' build:next && pnpm -r --filter='@lowdefy/server' start"
"app:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../../app --server-directory ../servers/server-enterprise",
"app:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../../app --dev-directory ../servers/server-dev",
"app:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../../app --server-directory ../servers/server-enterprise",
"docs:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../docs --server-directory ../servers/server-enterprise",
"docs:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../docs --dev-directory ../servers/server-dev --log-level=debug",
"docs:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../docs --server-directory ../servers/server-enterprise",
"web:build": "pnpm build:turbo && pnpm -r --filter=lowdefy start build --config-directory ../website --server-directory ../servers/server-enterprise",
"web:dev": "pnpm build:turbo && pnpm -r --filter=lowdefy start dev --config-directory ../website --dev-directory ../servers/server-dev --log-level=debug",
"web:start": "pnpm build:turbo && pnpm -r --filter=lowdefy start start --config-directory ../website --server-directory ../servers/server-enterprise",
"start:server-community": "pnpm -r --filter='@lowdefy/server-community' start",
"start:server-enterprise": "pnpm -r --filter='@lowdefy/server-enterprise' start",
"release:version": "pnpm changeset version && pnpm install --no-frozen-lockfile",
"release:publish": "pnpm -r publish"
},
"devDependencies": {
"eslint": "8.50.0",
"@changesets/cli": "2.26.2",
"eslint": "8.54.0",
"eslint-config-prettier": "9.0.0",
"eslint-import-resolver-node": "0.3.9",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-prettier": "5.0.0",
"eslint-plugin-import": "2.29.0",
"eslint-plugin-jsx-a11y": "6.8.0",
"eslint-plugin-prettier": "5.0.1",
"eslint-plugin-react": "7.33.2",
"eslint-plugin-react-hooks": "4.6.0",
"lerna": "6.3.0",
"prettier": "3.0.3",
"turbo": "1.10.14"
"prettier": "3.1.0",
"turbo": "1.10.16"
},
"packageManager": "pnpm@8.8.0"
}

View File

@ -1,608 +1,404 @@
# Change Log
## 4.0.2
### Patch Changes
- @lowdefy/operators@4.0.2
- @lowdefy/operators-js@4.0.2
- @lowdefy/ajv@4.0.2
- @lowdefy/helpers@4.0.2
- @lowdefy/node-utils@4.0.2
- @lowdefy/nunjucks@4.0.2
## 4.0.1
### Patch Changes
- @lowdefy/operators@4.0.1
- @lowdefy/operators-js@4.0.1
- @lowdefy/ajv@4.0.1
- @lowdefy/helpers@4.0.1
- @lowdefy/node-utils@4.0.1
- @lowdefy/nunjucks@4.0.1
## 4.0.0
### Patch Changes
- Updated dependencies [84e479d11]
- @lowdefy/node-utils@4.0.0
- @lowdefy/operators@4.0.0
- @lowdefy/operators-js@4.0.0
- @lowdefy/ajv@4.0.0
- @lowdefy/helpers@4.0.0
- @lowdefy/nunjucks@4.0.0
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [4.0.0-rc.14](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.12...v4.0.0-rc.14) (2023-11-17)
# [4.0.0-rc.15](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.14...v4.0.0-rc.15) (2023-12-05)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.14](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.12...v4.0.0-rc.14) (2023-11-17)
### Features
* **api:** Add connectionId to request object. ([df16dbc](https://github.com/lowdefy/lowdefy/commit/df16dbca8545128cb51f78d173a2a96e47cbf729))
- **api:** Add connectionId to request object. ([df16dbc](https://github.com/lowdefy/lowdefy/commit/df16dbca8545128cb51f78d173a2a96e47cbf729))
# [4.0.0-rc.13](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.12...v4.0.0-rc.13) (2023-11-17)
### Features
* **api:** Add connectionId to request object. ([df16dbc](https://github.com/lowdefy/lowdefy/commit/df16dbca8545128cb51f78d173a2a96e47cbf729))
- **api:** Add connectionId to request object. ([df16dbc](https://github.com/lowdefy/lowdefy/commit/df16dbca8545128cb51f78d173a2a96e47cbf729))
# [4.0.0-rc.12](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.11...v4.0.0-rc.12) (2023-10-19)
### Bug Fixes
* Deepsource style fixes. ([e0804b8](https://github.com/lowdefy/lowdefy/commit/e0804b87999e6d812f2d2378770ed214d4264142))
* Deepsource style fixes. ([2086f5d](https://github.com/lowdefy/lowdefy/commit/2086f5d2e8e5665ec5fd16ce83e59119571f833d))
- Deepsource style fixes. ([e0804b8](https://github.com/lowdefy/lowdefy/commit/e0804b87999e6d812f2d2378770ed214d4264142))
- Deepsource style fixes. ([2086f5d](https://github.com/lowdefy/lowdefy/commit/2086f5d2e8e5665ec5fd16ce83e59119571f833d))
# [4.0.0-rc.11](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.10...v4.0.0-rc.11) (2023-10-06)
### Bug Fixes
* **deps:** Dependencies patch updates. ([adcd80a](https://github.com/lowdefy/lowdefy/commit/adcd80afe8c752e15c900b88eb4d9be8526c7bcd))
- **deps:** Dependencies patch updates. ([adcd80a](https://github.com/lowdefy/lowdefy/commit/adcd80afe8c752e15c900b88eb4d9be8526c7bcd))
# [4.0.0-rc.10](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.9...v4.0.0-rc.10) (2023-07-26)
### Bug Fixes
* **api:** Use lowdefy get,set helpers in auth user fields. ([40dded4](https://github.com/lowdefy/lowdefy/commit/40dded47a92cce829787244e1ce1dbd5fb6e478f))
* Logging cleanup. ([30a495c](https://github.com/lowdefy/lowdefy/commit/30a495c3e40fe566af306b54d7c8ece3c79de1b9))
- **api:** Use lowdefy get,set helpers in auth user fields. ([40dded4](https://github.com/lowdefy/lowdefy/commit/40dded47a92cce829787244e1ce1dbd5fb6e478f))
- Logging cleanup. ([30a495c](https://github.com/lowdefy/lowdefy/commit/30a495c3e40fe566af306b54d7c8ece3c79de1b9))
### Features
* Add logger to next auth options. ([b30412f](https://github.com/lowdefy/lowdefy/commit/b30412f7cda93be43226728340061465bf6597f4))
* **api:** Refactor next auth configuration for logging. ([5d04948](https://github.com/lowdefy/lowdefy/commit/5d04948cc34b7d95dfc781254e0d5acb346bd2be))
* Auth event logs WIP ([7601894](https://github.com/lowdefy/lowdefy/commit/760189432f271f682eb9f23abd960ff5d5b12873))
* Server logging polish and cleanup. ([fe46d23](https://github.com/lowdefy/lowdefy/commit/fe46d23408d3d24d15cc284faa74c2e0eb154f8b))
* **server:** Add info logs to request calls. ([0f90fdd](https://github.com/lowdefy/lowdefy/commit/0f90fdd9a3d0b18e57829447dfa0097e1a858006))
* **server:** Log server errors with pino. ([ed36f2f](https://github.com/lowdefy/lowdefy/commit/ed36f2f1aa1134ff4deb7da46f18463b8f70c173))
* Update dev server to work with logger. ([f036a62](https://github.com/lowdefy/lowdefy/commit/f036a623067bdcc225d37137511baacd4f317535))
- Add logger to next auth options. ([b30412f](https://github.com/lowdefy/lowdefy/commit/b30412f7cda93be43226728340061465bf6597f4))
- **api:** Refactor next auth configuration for logging. ([5d04948](https://github.com/lowdefy/lowdefy/commit/5d04948cc34b7d95dfc781254e0d5acb346bd2be))
- Auth event logs WIP ([7601894](https://github.com/lowdefy/lowdefy/commit/760189432f271f682eb9f23abd960ff5d5b12873))
- Server logging polish and cleanup. ([fe46d23](https://github.com/lowdefy/lowdefy/commit/fe46d23408d3d24d15cc284faa74c2e0eb154f8b))
- **server:** Add info logs to request calls. ([0f90fdd](https://github.com/lowdefy/lowdefy/commit/0f90fdd9a3d0b18e57829447dfa0097e1a858006))
- **server:** Log server errors with pino. ([ed36f2f](https://github.com/lowdefy/lowdefy/commit/ed36f2f1aa1134ff4deb7da46f18463b8f70c173))
- Update dev server to work with logger. ([f036a62](https://github.com/lowdefy/lowdefy/commit/f036a623067bdcc225d37137511baacd4f317535))
# [4.0.0-rc.9](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.8...v4.0.0-rc.9) (2023-05-31)
### Bug Fixes
* Update serializer util to not clash with _date operator ([b8cdcb3](https://github.com/lowdefy/lowdefy/commit/b8cdcb3e44a0b1157c111bc7679ac428138c6f97))
- Update serializer util to not clash with \_date operator ([b8cdcb3](https://github.com/lowdefy/lowdefy/commit/b8cdcb3e44a0b1157c111bc7679ac428138c6f97))
# [4.0.0-rc.8](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.7...v4.0.0-rc.8) (2023-05-19)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.7](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.6...v4.0.0-rc.7) (2023-03-24)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.6](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.5...v4.0.0-rc.6) (2023-03-20)
### Features
* Rename nodeParser to serverParser and buildParser. ([0b61e5e](https://github.com/lowdefy/lowdefy/commit/0b61e5e5710084cc19bba4eb6de95c3a53beb4b9))
- Rename nodeParser to serverParser and buildParser. ([0b61e5e](https://github.com/lowdefy/lowdefy/commit/0b61e5e5710084cc19bba4eb6de95c3a53beb4b9))
# [4.0.0-rc.5](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.4...v4.0.0-rc.5) (2023-02-24)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.4](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.3...v4.0.0-rc.4) (2023-02-21)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.3](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.2...v4.0.0-rc.3) (2023-02-21)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.2](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.1...v4.0.0-rc.2) (2023-02-17)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.1](https://github.com/lowdefy/lowdefy/compare/v4.0.0-rc.0...v4.0.0-rc.1) (2023-02-17)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-rc.0](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.37...v4.0.0-rc.0) (2023-01-05)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.37](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.36...v4.0.0-alpha.37) (2022-12-07)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.36](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.35...v4.0.0-alpha.36) (2022-10-14)
### Bug Fixes
* **api:** Fix readConfigFile tests. ([f2591f2](https://github.com/lowdefy/lowdefy/commit/f2591f29775d3b669fb553ebb9dd9a7e75faa002))
* Cache API file reads across all requests. ([2b90efb](https://github.com/lowdefy/lowdefy/commit/2b90efb041cf43e5344c5f2f5a8630ae06c8aad6))
- **api:** Fix readConfigFile tests. ([f2591f2](https://github.com/lowdefy/lowdefy/commit/f2591f29775d3b669fb553ebb9dd9a7e75faa002))
- Cache API file reads across all requests. ([2b90efb](https://github.com/lowdefy/lowdefy/commit/2b90efb041cf43e5344c5f2f5a8630ae06c8aad6))
# [4.0.0-alpha.35](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.34...v4.0.0-alpha.35) (2022-10-05)
### Bug Fixes
* **api:** Fix "too many files open" error in api. ([b2d0b63](https://github.com/lowdefy/lowdefy/commit/b2d0b63cceac0b2b3dc870a8b435c6f187ff7a5a))
- **api:** Fix "too many files open" error in api. ([b2d0b63](https://github.com/lowdefy/lowdefy/commit/b2d0b63cceac0b2b3dc870a8b435c6f187ff7a5a))
# [4.0.0-alpha.34](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.33...v4.0.0-alpha.34) (2022-09-30)
### Features
* **api:** Pass blockId, requestId, pageId and parsed payload to requests. ([edc25ef](https://github.com/lowdefy/lowdefy/commit/edc25efc3cbb0d61ddfdf7ac13275a66321a2a8a))
- **api:** Pass blockId, requestId, pageId and parsed payload to requests. ([edc25ef](https://github.com/lowdefy/lowdefy/commit/edc25efc3cbb0d61ddfdf7ac13275a66321a2a8a))
# [4.0.0-alpha.33](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.32...v4.0.0-alpha.33) (2022-09-22)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.32](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.31...v4.0.0-alpha.32) (2022-09-22)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.31](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.30...v4.0.0-alpha.31) (2022-09-21)
### Features
* **api:** Map nextAuthConfig.pages. ([0798d39](https://github.com/lowdefy/lowdefy/commit/0798d393c65bd22ece769be7d56d456d07b3b74b))
- **api:** Map nextAuthConfig.pages. ([0798d39](https://github.com/lowdefy/lowdefy/commit/0798d393c65bd22ece769be7d56d456d07b3b74b))
# [4.0.0-alpha.30](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.29...v4.0.0-alpha.30) (2022-09-17)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.29](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.28...v4.0.0-alpha.29) (2022-09-13)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.28](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.27...v4.0.0-alpha.28) (2022-09-12)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.27](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.26...v4.0.0-alpha.27) (2022-09-08)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.26](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.25...v4.0.0-alpha.26) (2022-08-25)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.25](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.24...v4.0.0-alpha.25) (2022-08-23)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.24](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.23...v4.0.0-alpha.24) (2022-08-19)
### Bug Fixes
* Fix addUserFieldsToSession when using auth adapter. ([850ee69](https://github.com/lowdefy/lowdefy/commit/850ee69e1ab2245b9abb1af4eeb1636286a6af64))
- Fix addUserFieldsToSession when using auth adapter. ([850ee69](https://github.com/lowdefy/lowdefy/commit/850ee69e1ab2245b9abb1af4eeb1636286a6af64))
### Features
* Add support for Next-Auth adapters. ([337dbf4](https://github.com/lowdefy/lowdefy/commit/337dbf46278ee8306b603a13357c14130cd6c3e9))
- Add support for Next-Auth adapters. ([337dbf4](https://github.com/lowdefy/lowdefy/commit/337dbf46278ee8306b603a13357c14130cd6c3e9))
# [4.0.0-alpha.23](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.22...v4.0.0-alpha.23) (2022-08-03)
### Bug Fixes
* Fix addUserFieldsToSession when using auth adapter. ([850ee69](https://github.com/lowdefy/lowdefy/commit/850ee69e1ab2245b9abb1af4eeb1636286a6af64))
- Fix addUserFieldsToSession when using auth adapter. ([850ee69](https://github.com/lowdefy/lowdefy/commit/850ee69e1ab2245b9abb1af4eeb1636286a6af64))
### Features
* Add support for Next-Auth adapters. ([337dbf4](https://github.com/lowdefy/lowdefy/commit/337dbf46278ee8306b603a13357c14130cd6c3e9))
- Add support for Next-Auth adapters. ([337dbf4](https://github.com/lowdefy/lowdefy/commit/337dbf46278ee8306b603a13357c14130cd6c3e9))
# [4.0.0-alpha.22](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.21...v4.0.0-alpha.22) (2022-07-12)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.21](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.20...v4.0.0-alpha.21) (2022-07-11)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.20](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.19...v4.0.0-alpha.20) (2022-07-09)
### Bug Fixes
* **api:** Should be passing profile, not provider. ([02f9fe0](https://github.com/lowdefy/lowdefy/commit/02f9fe0d5e284fc7ce802a7bd9617ca7cb58f5ba))
- **api:** Should be passing profile, not provider. ([02f9fe0](https://github.com/lowdefy/lowdefy/commit/02f9fe0d5e284fc7ce802a7bd9617ca7cb58f5ba))
### Features
* **api:** Add provider to linkAccountEvent. ([a90f10b](https://github.com/lowdefy/lowdefy/commit/a90f10b68d2a291dcb98883fdf54c53ecbbd3a71))
- **api:** Add provider to linkAccountEvent. ([a90f10b](https://github.com/lowdefy/lowdefy/commit/a90f10b68d2a291dcb98883fdf54c53ecbbd3a71))
# [4.0.0-alpha.19](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.18...v4.0.0-alpha.19) (2022-07-06)
### Features
* Add extra next-auth configuration properties. ([9781ba4](https://github.com/lowdefy/lowdefy/commit/9781ba46620eb0ddaa11d7d41eb0d8f518999784))
- Add extra next-auth configuration properties. ([9781ba4](https://github.com/lowdefy/lowdefy/commit/9781ba46620eb0ddaa11d7d41eb0d8f518999784))
# [4.0.0-alpha.18](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2022-06-27)
### Bug Fixes
* **build:** Evaluate build operators in lowdefy.yaml ([49ed3e1](https://github.com/lowdefy/lowdefy/commit/49ed3e14fd7453cd246324d1b791e902dc5a3c8f))
* Fix package.json fixes. ([17f54ac](https://github.com/lowdefy/lowdefy/commit/17f54aceafc749be7e513fdcad829cd3ad4673ac))
* Fix userFields implementation. ([c566541](https://github.com/lowdefy/lowdefy/commit/c566541538749c27cdda32381c7255e3e37ae32e))
* Remove userFields debug logs. ([8fad19f](https://github.com/lowdefy/lowdefy/commit/8fad19f28c4e4f39dc3135e0a3f1e2e2c8e4689c))
- **build:** Evaluate build operators in lowdefy.yaml ([49ed3e1](https://github.com/lowdefy/lowdefy/commit/49ed3e14fd7453cd246324d1b791e902dc5a3c8f))
- Fix package.json fixes. ([17f54ac](https://github.com/lowdefy/lowdefy/commit/17f54aceafc749be7e513fdcad829cd3ad4673ac))
- Fix userFields implementation. ([c566541](https://github.com/lowdefy/lowdefy/commit/c566541538749c27cdda32381c7255e3e37ae32e))
- Remove userFields debug logs. ([8fad19f](https://github.com/lowdefy/lowdefy/commit/8fad19f28c4e4f39dc3135e0a3f1e2e2c8e4689c))
### Features
* Add userFields feature to map auth provider data to usernobject. ([0ab688b](https://github.com/lowdefy/lowdefy/commit/0ab688b7f2c153cd904160a28c91c0581b6e1e07))
- Add userFields feature to map auth provider data to usernobject. ([0ab688b](https://github.com/lowdefy/lowdefy/commit/0ab688b7f2c153cd904160a28c91c0581b6e1e07))
# [4.0.0-alpha.16](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2022-06-20)
# [4.0.0-alpha.15](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2022-06-19)
# [4.0.0-alpha.17](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2022-06-24)
### Bug Fixes
* **build:** Evaluate build operators in lowdefy.yaml ([49ed3e1](https://github.com/lowdefy/lowdefy/commit/49ed3e14fd7453cd246324d1b791e902dc5a3c8f))
* Fix package.json fixes. ([17f54ac](https://github.com/lowdefy/lowdefy/commit/17f54aceafc749be7e513fdcad829cd3ad4673ac))
* Fix userFields implementation. ([c566541](https://github.com/lowdefy/lowdefy/commit/c566541538749c27cdda32381c7255e3e37ae32e))
* Remove userFields debug logs. ([8fad19f](https://github.com/lowdefy/lowdefy/commit/8fad19f28c4e4f39dc3135e0a3f1e2e2c8e4689c))
- **build:** Evaluate build operators in lowdefy.yaml ([49ed3e1](https://github.com/lowdefy/lowdefy/commit/49ed3e14fd7453cd246324d1b791e902dc5a3c8f))
- Fix package.json fixes. ([17f54ac](https://github.com/lowdefy/lowdefy/commit/17f54aceafc749be7e513fdcad829cd3ad4673ac))
- Fix userFields implementation. ([c566541](https://github.com/lowdefy/lowdefy/commit/c566541538749c27cdda32381c7255e3e37ae32e))
- Remove userFields debug logs. ([8fad19f](https://github.com/lowdefy/lowdefy/commit/8fad19f28c4e4f39dc3135e0a3f1e2e2c8e4689c))
### Features
* Add userFields feature to map auth provider data to usernobject. ([0ab688b](https://github.com/lowdefy/lowdefy/commit/0ab688b7f2c153cd904160a28c91c0581b6e1e07))
- Add userFields feature to map auth provider data to usernobject. ([0ab688b](https://github.com/lowdefy/lowdefy/commit/0ab688b7f2c153cd904160a28c91c0581b6e1e07))
# [4.0.0-alpha.16](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2022-06-20)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.15](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.13...v4.0.0-alpha.15) (2022-06-19)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.14](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2022-06-19)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.13](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2022-06-16)
### Bug Fixes
* Fix auth errors if auth is not configured. ([8a386a8](https://github.com/lowdefy/lowdefy/commit/8a386a867ca92f313b74f785477a48cd7c9a1679))
* Fix license typo. ([972acbb](https://github.com/lowdefy/lowdefy/commit/972acbb46b9b1113053797f82a41c5f9032dd8b0))
- Fix auth errors if auth is not configured. ([8a386a8](https://github.com/lowdefy/lowdefy/commit/8a386a867ca92f313b74f785477a48cd7c9a1679))
- Fix license typo. ([972acbb](https://github.com/lowdefy/lowdefy/commit/972acbb46b9b1113053797f82a41c5f9032dd8b0))
### Features
* Add openid connect standard claims to user object. ([7f099e1](https://github.com/lowdefy/lowdefy/commit/7f099e1d55cab7ba79214870f1bc23235b8fd09a))
* **engine:** Add payload and blockId to context.requests[requestId]. ([e29d88b](https://github.com/lowdefy/lowdefy/commit/e29d88b326338fdec22db325dcda31ee4f73cf51))
* Package updates. ([e024181](https://github.com/lowdefy/lowdefy/commit/e0241813d1276316f0f04897b664c43e24b11d23))
- Add openid connect standard claims to user object. ([7f099e1](https://github.com/lowdefy/lowdefy/commit/7f099e1d55cab7ba79214870f1bc23235b8fd09a))
- **engine:** Add payload and blockId to context.requests[requestId]. ([e29d88b](https://github.com/lowdefy/lowdefy/commit/e29d88b326338fdec22db325dcda31ee4f73cf51))
- Package updates. ([e024181](https://github.com/lowdefy/lowdefy/commit/e0241813d1276316f0f04897b664c43e24b11d23))
# [4.0.0-alpha.12](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2022-05-23)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.11](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2022-05-20)
### Bug Fixes
* Auth bug fixes. ([3fe249c](https://github.com/lowdefy/lowdefy/commit/3fe249c36e86fe943227f6df4f115d9386ab935b))
* Fix auth tests. ([c2a8fc7](https://github.com/lowdefy/lowdefy/commit/c2a8fc7206f6a0432a95f1c99749f861a1bf45f5))
- Auth bug fixes. ([3fe249c](https://github.com/lowdefy/lowdefy/commit/3fe249c36e86fe943227f6df4f115d9386ab935b))
- Fix auth tests. ([c2a8fc7](https://github.com/lowdefy/lowdefy/commit/c2a8fc7206f6a0432a95f1c99749f861a1bf45f5))
### Features
* Add support for auth callback plugins. ([a16e074](https://github.com/lowdefy/lowdefy/commit/a16e074ca801a5e9e05424fc09cb8c1e1da81cee))
* Add support for auth event plugins. ([35f28b8](https://github.com/lowdefy/lowdefy/commit/35f28b849d945d14616fc5269bdb980cceb9dee4))
* **api:** Add user to api context and user roles to authorization. ([133245e](https://github.com/lowdefy/lowdefy/commit/133245ea16b7c1aed85f67dacb503b879b027edd))
* Next auth login and logout working. ([d47f9e5](https://github.com/lowdefy/lowdefy/commit/d47f9e56cd6da7827499ef9cf248dfc64f8bd12b))
* Read auth secret from secrets object. ([f266fbf](https://github.com/lowdefy/lowdefy/commit/f266fbfa7cabbca8bcfa7e89fb06843db3bd88ce))
* Updates to auth configuration. ([8f7abf7](https://github.com/lowdefy/lowdefy/commit/8f7abf7fdb1cbe0dbaabe209787a128854680f7b))
* Use next-auth session to authenticate in api. ([462c0ac](https://github.com/lowdefy/lowdefy/commit/462c0ac0d05429514ecd2a2b11a6a21b8915b462))
- Add support for auth callback plugins. ([a16e074](https://github.com/lowdefy/lowdefy/commit/a16e074ca801a5e9e05424fc09cb8c1e1da81cee))
- Add support for auth event plugins. ([35f28b8](https://github.com/lowdefy/lowdefy/commit/35f28b849d945d14616fc5269bdb980cceb9dee4))
- **api:** Add user to api context and user roles to authorization. ([133245e](https://github.com/lowdefy/lowdefy/commit/133245ea16b7c1aed85f67dacb503b879b027edd))
- Next auth login and logout working. ([d47f9e5](https://github.com/lowdefy/lowdefy/commit/d47f9e56cd6da7827499ef9cf248dfc64f8bd12b))
- Read auth secret from secrets object. ([f266fbf](https://github.com/lowdefy/lowdefy/commit/f266fbfa7cabbca8bcfa7e89fb06843db3bd88ce))
- Updates to auth configuration. ([8f7abf7](https://github.com/lowdefy/lowdefy/commit/8f7abf7fdb1cbe0dbaabe209787a128854680f7b))
- Use next-auth session to authenticate in api. ([462c0ac](https://github.com/lowdefy/lowdefy/commit/462c0ac0d05429514ecd2a2b11a6a21b8915b462))
# [4.0.0-alpha.10](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2022-05-06)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.9](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2022-05-06)
### Features
* **api:** evaluteOperators is sync. ([40ba4df](https://github.com/lowdefy/lowdefy/commit/40ba4df14370a7a928ffc1487092b529211b2636))
- **api:** evaluteOperators is sync. ([40ba4df](https://github.com/lowdefy/lowdefy/commit/40ba4df14370a7a928ffc1487092b529211b2636))
# [4.0.0-alpha.8](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2022-03-16)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.7](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2022-02-21)
### Bug Fixes
* Add missing api and helpers tests. ([aa1d72c](https://github.com/lowdefy/lowdefy/commit/aa1d72c19122eb7d4343108ba6ad21c423dc2493))
* **api:** Fix callRequest tests. ([58655cb](https://github.com/lowdefy/lowdefy/commit/58655cba190a3a2371e301d2bf4779bd13651ad5))
* **api:** Fixes using jest with es modules. ([d69a4dc](https://github.com/lowdefy/lowdefy/commit/d69a4dca33d49c639b3c80d90eed4ffa6ef28950))
* **cli:** Fix jest es module mocks. ([78480e8](https://github.com/lowdefy/lowdefy/commit/78480e80022f79a0ab449a9a8d804e6213b676c4))
* Fix V4 tests. ([d082d0c](https://github.com/lowdefy/lowdefy/commit/d082d0c335eb4426acadbf30a08de64266d9f004))
* Strip auth prop from page config in api. ([693667d](https://github.com/lowdefy/lowdefy/commit/693667db5bece8081865e74dc2e4391b62f10f93))
- Add missing api and helpers tests. ([aa1d72c](https://github.com/lowdefy/lowdefy/commit/aa1d72c19122eb7d4343108ba6ad21c423dc2493))
- **api:** Fix callRequest tests. ([58655cb](https://github.com/lowdefy/lowdefy/commit/58655cba190a3a2371e301d2bf4779bd13651ad5))
- **api:** Fixes using jest with es modules. ([d69a4dc](https://github.com/lowdefy/lowdefy/commit/d69a4dca33d49c639b3c80d90eed4ffa6ef28950))
- **cli:** Fix jest es module mocks. ([78480e8](https://github.com/lowdefy/lowdefy/commit/78480e80022f79a0ab449a9a8d804e6213b676c4))
- Fix V4 tests. ([d082d0c](https://github.com/lowdefy/lowdefy/commit/d082d0c335eb4426acadbf30a08de64266d9f004))
- Strip auth prop from page config in api. ([693667d](https://github.com/lowdefy/lowdefy/commit/693667db5bece8081865e74dc2e4391b62f10f93))
# [4.0.0-alpha.6](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2022-01-20)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.5](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2021-11-27)
### Bug Fixes
* V4 fixes. ([088e210](https://github.com/lowdefy/lowdefy/commit/088e210620ffd8d7735cc785483845d082d5485d))
- V4 fixes. ([088e210](https://github.com/lowdefy/lowdefy/commit/088e210620ffd8d7735cc785483845d082d5485d))
### Features
* Import operator plugins in server. ([f913e9e](https://github.com/lowdefy/lowdefy/commit/f913e9e261777a0c7f4b0a79995ef18290186b2e))
- Import operator plugins in server. ([f913e9e](https://github.com/lowdefy/lowdefy/commit/f913e9e261777a0c7f4b0a79995ef18290186b2e))
# [4.0.0-alpha.4](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2021-11-25)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.3](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2021-11-25)
**Note:** Version bump only for package @lowdefy/api
# [4.0.0-alpha.2](https://github.com/lowdefy/lowdefy/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2021-11-25)
### Bug Fixes
* Fixes for CLI build. ([3e58d59](https://github.com/lowdefy/lowdefy/commit/3e58d599829e1393de52e94e6e1e82f6876231ec))
- Fixes for CLI build. ([3e58d59](https://github.com/lowdefy/lowdefy/commit/3e58d599829e1393de52e94e6e1e82f6876231ec))
# [4.0.0-alpha.1](https://github.com/lowdefy/lowdefy/compare/v3.23.1...v4.0.0-alpha.1) (2021-11-25)
### Bug Fixes
* **api:** add createContext test ([af14e7c](https://github.com/lowdefy/lowdefy/commit/af14e7c4470379df51588fbc3b63090d8c439959))
* **api:** Add request handler tests. ([b827137](https://github.com/lowdefy/lowdefy/commit/b8271376f1d20f2cc2d036aa50f69caa3b6b0c4a))
* **api:** Add tests ([db478c9](https://github.com/lowdefy/lowdefy/commit/db478c970ef2360e512ad5c9e7872440f238a4c3))
* **api:** Fix api context tests. ([8aa2642](https://github.com/lowdefy/lowdefy/commit/8aa264243706ea089377d11302e9d81fc02ef26b))
* **api:** Fix tests. ([7791951](https://github.com/lowdefy/lowdefy/commit/7791951a115704fcba4812ea7068979a44aca798))
* **api:** JSON web token tests and fixes. ([30f7267](https://github.com/lowdefy/lowdefy/commit/30f7267c3e2435647b1b5f0b4b48137d6c3357d6))
* Authorisation flows working. ([5b32ca8](https://github.com/lowdefy/lowdefy/commit/5b32ca86bae8a13fea477d4d7ef19a4c5ad4fdc8))
* Clean up server configuration. ([dea25de](https://github.com/lowdefy/lowdefy/commit/dea25dec2303f19937253a0d9c699b56b28fb82b))
* **deps:** Update dependency openid-client to v4.9.1. ([5b28ee4](https://github.com/lowdefy/lowdefy/commit/5b28ee46833d283661e0492f92632531ee3fc14d))
* ES module and next server fixes. ([83bca45](https://github.com/lowdefy/lowdefy/commit/83bca458e4ba5a5d2f62a23f603b69672bc0418b))
* Fix tests ([80c00f4](https://github.com/lowdefy/lowdefy/commit/80c00f4403067493351347ca91cb953586bb97da))
* Next server fixes ([d5ab3d9](https://github.com/lowdefy/lowdefy/commit/d5ab3d92f24b09a59e6c20e31a8b01dce9d1056f))
* Remove auth dependencies from api ([a1f72e1](https://github.com/lowdefy/lowdefy/commit/a1f72e1087f1cec4f2313b96ec727457c5e97e6d))
* Replace all front end testing with @testing-library/react, jest and other updates. ([22ec295](https://github.com/lowdefy/lowdefy/commit/22ec2954047853096aabcddba7a2c509342f95f2))
- **api:** add createContext test ([af14e7c](https://github.com/lowdefy/lowdefy/commit/af14e7c4470379df51588fbc3b63090d8c439959))
- **api:** Add request handler tests. ([b827137](https://github.com/lowdefy/lowdefy/commit/b8271376f1d20f2cc2d036aa50f69caa3b6b0c4a))
- **api:** Add tests ([db478c9](https://github.com/lowdefy/lowdefy/commit/db478c970ef2360e512ad5c9e7872440f238a4c3))
- **api:** Fix api context tests. ([8aa2642](https://github.com/lowdefy/lowdefy/commit/8aa264243706ea089377d11302e9d81fc02ef26b))
- **api:** Fix tests. ([7791951](https://github.com/lowdefy/lowdefy/commit/7791951a115704fcba4812ea7068979a44aca798))
- **api:** JSON web token tests and fixes. ([30f7267](https://github.com/lowdefy/lowdefy/commit/30f7267c3e2435647b1b5f0b4b48137d6c3357d6))
- Authorisation flows working. ([5b32ca8](https://github.com/lowdefy/lowdefy/commit/5b32ca86bae8a13fea477d4d7ef19a4c5ad4fdc8))
- Clean up server configuration. ([dea25de](https://github.com/lowdefy/lowdefy/commit/dea25dec2303f19937253a0d9c699b56b28fb82b))
- **deps:** Update dependency openid-client to v4.9.1. ([5b28ee4](https://github.com/lowdefy/lowdefy/commit/5b28ee46833d283661e0492f92632531ee3fc14d))
- ES module and next server fixes. ([83bca45](https://github.com/lowdefy/lowdefy/commit/83bca458e4ba5a5d2f62a23f603b69672bc0418b))
- Fix tests ([80c00f4](https://github.com/lowdefy/lowdefy/commit/80c00f4403067493351347ca91cb953586bb97da))
- Next server fixes ([d5ab3d9](https://github.com/lowdefy/lowdefy/commit/d5ab3d92f24b09a59e6c20e31a8b01dce9d1056f))
- Remove auth dependencies from api ([a1f72e1](https://github.com/lowdefy/lowdefy/commit/a1f72e1087f1cec4f2313b96ec727457c5e97e6d))
- Replace all front end testing with @testing-library/react, jest and other updates. ([22ec295](https://github.com/lowdefy/lowdefy/commit/22ec2954047853096aabcddba7a2c509342f95f2))
### Features
* Add authentication flows ([15e1be9](https://github.com/lowdefy/lowdefy/commit/15e1be90d063ca4e0b315ed8be1641897b694d5c))
* Add requests support to @lowdefy/api package ([86533ee](https://github.com/lowdefy/lowdefy/commit/86533ee6a9f93a71c0e66b89924ff737d7e1d47b))
* Add requests to client and server. ([320c4a1](https://github.com/lowdefy/lowdefy/commit/320c4a10a14b14488f13bb3b98bb100c7e6227af))
* **api:** Add api tests and fixes. ([457890b](https://github.com/lowdefy/lowdefy/commit/457890bea65b103e82ee758d96109cc3e5198c54))
* **api:** Add authorization functions. ([a039f41](https://github.com/lowdefy/lowdefy/commit/a039f41526352d11889414f679221da5b185821f))
* **api:** Api package tests and fixes. ([1f4b2f2](https://github.com/lowdefy/lowdefy/commit/1f4b2f29de3489641db5f80e833ecd6682a5a6e0))
* **api:** Init package @lowdefy/api ([cbe7569](https://github.com/lowdefy/lowdefy/commit/cbe75694f1f348e3e89ac38b45ca075f8ece0241))
* Build html files for each page, and serve from api ([3f53d8b](https://github.com/lowdefy/lowdefy/commit/3f53d8b20f89b2179ffe18a510e8d5415de2be39))
* Fixes fro requests in next server ([e341d8d](https://github.com/lowdefy/lowdefy/commit/e341d8ded222902ce07ea1ea1d18940ac000c4da))
* Init @lowdefy/client package ([909cef7](https://github.com/lowdefy/lowdefy/commit/909cef766d8e48634b6cc0a048f71bd82565cbf4))
* Mount home page on the home route if configured. ([ff23ea8](https://github.com/lowdefy/lowdefy/commit/ff23ea82cf8399ff012ca07a58520cda1b5853ac))
* Next server rendering blocks ([e625e07](https://github.com/lowdefy/lowdefy/commit/e625e07a29b5ae3f09f74c629f35fe52ce73dace))
* Remove @lowdefy/renderer package ([c584778](https://github.com/lowdefy/lowdefy/commit/c58477852d36f101dd38a0e48143b4a483273ee2))
* Render Lowdefy blocks in client package. ([c24bcf1](https://github.com/lowdefy/lowdefy/commit/c24bcf193123bf1b09b886160df4dafd9298d750))
* Requests working on next server ([8d6abe2](https://github.com/lowdefy/lowdefy/commit/8d6abe27f967be6c11d1f4c29e8af73c4734dd68))
* Restructure plugin files. ([f651ed7](https://github.com/lowdefy/lowdefy/commit/f651ed7639181fb0a3db91706cb1c13950bfe654))
* Root config and link working on next server. ([cf2562b](https://github.com/lowdefy/lowdefy/commit/cf2562b088075290ddf3c354624c3c5c6d89ecf9))
* **server:** Add auth routes to server. ([4a97f4c](https://github.com/lowdefy/lowdefy/commit/4a97f4c3be64fbb0cc5e8625bb35cf34217e0e89))
* **server:** Convert server to fastify. ([0d2c1c3](https://github.com/lowdefy/lowdefy/commit/0d2c1c34d969fab5049fb501f027bea60bce54ed))
* Use logger in request api call. ([83b885b](https://github.com/lowdefy/lowdefy/commit/83b885bc415e6e3bc7e67db6efc5f04f6f70db6e))
- Add authentication flows ([15e1be9](https://github.com/lowdefy/lowdefy/commit/15e1be90d063ca4e0b315ed8be1641897b694d5c))
- Add requests support to @lowdefy/api package ([86533ee](https://github.com/lowdefy/lowdefy/commit/86533ee6a9f93a71c0e66b89924ff737d7e1d47b))
- Add requests to client and server. ([320c4a1](https://github.com/lowdefy/lowdefy/commit/320c4a10a14b14488f13bb3b98bb100c7e6227af))
- **api:** Add api tests and fixes. ([457890b](https://github.com/lowdefy/lowdefy/commit/457890bea65b103e82ee758d96109cc3e5198c54))
- **api:** Add authorization functions. ([a039f41](https://github.com/lowdefy/lowdefy/commit/a039f41526352d11889414f679221da5b185821f))
- **api:** Api package tests and fixes. ([1f4b2f2](https://github.com/lowdefy/lowdefy/commit/1f4b2f29de3489641db5f80e833ecd6682a5a6e0))
- **api:** Init package @lowdefy/api ([cbe7569](https://github.com/lowdefy/lowdefy/commit/cbe75694f1f348e3e89ac38b45ca075f8ece0241))
- Build html files for each page, and serve from api ([3f53d8b](https://github.com/lowdefy/lowdefy/commit/3f53d8b20f89b2179ffe18a510e8d5415de2be39))
- Fixes fro requests in next server ([e341d8d](https://github.com/lowdefy/lowdefy/commit/e341d8ded222902ce07ea1ea1d18940ac000c4da))
- Init @lowdefy/client package ([909cef7](https://github.com/lowdefy/lowdefy/commit/909cef766d8e48634b6cc0a048f71bd82565cbf4))
- Mount home page on the home route if configured. ([ff23ea8](https://github.com/lowdefy/lowdefy/commit/ff23ea82cf8399ff012ca07a58520cda1b5853ac))
- Next server rendering blocks ([e625e07](https://github.com/lowdefy/lowdefy/commit/e625e07a29b5ae3f09f74c629f35fe52ce73dace))
- Remove @lowdefy/renderer package ([c584778](https://github.com/lowdefy/lowdefy/commit/c58477852d36f101dd38a0e48143b4a483273ee2))
- Render Lowdefy blocks in client package. ([c24bcf1](https://github.com/lowdefy/lowdefy/commit/c24bcf193123bf1b09b886160df4dafd9298d750))
- Requests working on next server ([8d6abe2](https://github.com/lowdefy/lowdefy/commit/8d6abe27f967be6c11d1f4c29e8af73c4734dd68))
- Restructure plugin files. ([f651ed7](https://github.com/lowdefy/lowdefy/commit/f651ed7639181fb0a3db91706cb1c13950bfe654))
- Root config and link working on next server. ([cf2562b](https://github.com/lowdefy/lowdefy/commit/cf2562b088075290ddf3c354624c3c5c6d89ecf9))
- **server:** Add auth routes to server. ([4a97f4c](https://github.com/lowdefy/lowdefy/commit/4a97f4c3be64fbb0cc5e8625bb35cf34217e0e89))
- **server:** Convert server to fastify. ([0d2c1c3](https://github.com/lowdefy/lowdefy/commit/0d2c1c34d969fab5049fb501f027bea60bce54ed))
- Use logger in request api call. ([83b885b](https://github.com/lowdefy/lowdefy/commit/83b885bc415e6e3bc7e67db6efc5f04f6f70db6e))

201
packages/api/LICENSE Normal file
View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,6 +1,6 @@
{
"name": "@lowdefy/api",
"version": "4.0.0-rc.14",
"version": "4.0.2",
"license": "Apache-2.0",
"description": "",
"homepage": "https://lowdefy.com",
@ -40,17 +40,17 @@
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
},
"dependencies": {
"@lowdefy/ajv": "4.0.0-rc.14",
"@lowdefy/helpers": "4.0.0-rc.14",
"@lowdefy/node-utils": "4.0.0-rc.14",
"@lowdefy/nunjucks": "4.0.0-rc.14",
"@lowdefy/operators": "4.0.0-rc.14",
"@lowdefy/operators-js": "4.0.0-rc.14"
"@lowdefy/ajv": "4.0.2",
"@lowdefy/helpers": "4.0.2",
"@lowdefy/node-utils": "4.0.2",
"@lowdefy/nunjucks": "4.0.2",
"@lowdefy/operators": "4.0.2",
"@lowdefy/operators-js": "4.0.2"
},
"devDependencies": {
"@jest/globals": "28.1.3",
"@swc/cli": "0.1.62",
"@swc/core": "1.3.92",
"@swc/cli": "0.1.63",
"@swc/core": "1.3.99",
"@swc/jest": "0.2.29",
"jest": "28.1.3"
},

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -21,12 +21,12 @@ import createSignInCallback from './createSignInCallback.js';
function createCallbacks({ authConfig, logger, plugins }) {
const callbacks = {
session: createSessionCallback({ authConfig, plugins }),
session: createSessionCallback({ authConfig, logger, plugins }),
};
const jwt = createJWTCallback({ authConfig, logger, plugins });
if (jwt) callbacks.jwt = jwt;
const redirect = createRedirectCallback({ authConfig, plugins });
const redirect = createRedirectCallback({ authConfig, logger, plugins });
if (redirect) callbacks.redirect = redirect;
const signIn = createSignInCallback({ authConfig, plugins });

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -27,6 +27,7 @@ function createJWTCallback({ authConfig, logger, plugins }) {
async function jwtCallback({ token, user, account, profile, isNewUser }) {
if (profile) {
const {
id,
sub,
name,
given_name,
@ -49,6 +50,7 @@ function createJWTCallback({ authConfig, logger, plugins }) {
updated_at,
} = profile;
token = {
id,
sub,
name,
given_name,

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -16,6 +16,12 @@
import createCallbackPlugins from './createCallbackPlugins.js';
function defaultRedirect({ url, baseUrl }) {
if (url.startsWith('/')) return `${baseUrl}${url}`;
else if (new URL(url).origin === baseUrl) return url;
return baseUrl;
}
function createRedirectCallback({ authConfig, plugins }) {
const redirectCallbackPlugins = createCallbackPlugins({
authConfig,
@ -23,7 +29,7 @@ function createRedirectCallback({ authConfig, plugins }) {
type: 'redirect',
});
if (redirectCallbackPlugins.length === 0) return undefined;
if (redirectCallbackPlugins.length === 0) return defaultRedirect;
if (redirectCallbackPlugins.length !== 1) {
throw new Error('More than one auth redirect callbacks are configured. Only one is allowed.');

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -14,6 +14,8 @@
limitations under the License.
*/
import crypto from 'crypto';
import addUserFieldsToSession from './addUserFieldsToSession.js';
import createCallbackPlugins from './createCallbackPlugins.js';
@ -25,8 +27,12 @@ function createSessionCallback({ authConfig, plugins }) {
});
async function sessionCallback({ session, token, user }) {
const identifier = user
? user.id ?? user.sub ?? user.email
: token.id ?? token.sub ?? token.email;
if (token) {
const {
id,
sub,
name,
given_name,
@ -49,6 +55,7 @@ function createSessionCallback({ authConfig, plugins }) {
updated_at,
} = token;
session.user = {
id,
sub,
name,
given_name,
@ -87,6 +94,13 @@ function createSessionCallback({ authConfig, plugins }) {
});
}
// TODO: Should this be session.hashed_id or session.user.hashed_id
// Only session.user will be available using the _user operator
session.hashed_id = crypto
.createHash('sha256')
.update(identifier ?? '')
.digest('base64');
return session;
}
return sessionCallback;

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -24,7 +24,7 @@ function createSignOutEvent({ authConfig, logger, plugins }) {
});
async function signOutEvent({ session, token }) {
const user = token?.user ?? session?.user;
const user = session?.user ?? token;
logger.info({
event: 'auth_sign_out',
user: {

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -45,16 +45,17 @@ function getNextAuthConfig({ authJson, logger, plugins, secrets }) {
throw new Error(operatorErrors[0]);
}
nextAuthConfig.adapter = createAdapter({ authConfig, plugins });
nextAuthConfig.adapter = createAdapter({ authConfig, logger, plugins });
nextAuthConfig.callbacks = createCallbacks({ authConfig, logger, plugins });
nextAuthConfig.events = createEvents({ authConfig, logger, plugins });
nextAuthConfig.logger = createLogger({ logger });
nextAuthConfig.providers = createProviders({ authConfig, plugins });
nextAuthConfig.providers = createProviders({ authConfig, logger, plugins });
nextAuthConfig.debug = authConfig.debug ?? logger?.isLevelEnabled('debug') === true;
nextAuthConfig.pages = authConfig.authPages;
nextAuthConfig.session = authConfig.session;
nextAuthConfig.theme = authConfig.theme;
nextAuthConfig.cookies = authConfig?.advanced?.cookies;
nextAuthConfig.originalRedirectCallback = nextAuthConfig.callbacks.redirect;
initialized = true;
return nextAuthConfig;
}

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

File diff suppressed because it is too large Load Diff

201
packages/build/LICENSE Normal file
View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,6 +1,6 @@
{
"name": "@lowdefy/build",
"version": "4.0.0-rc.14",
"version": "4.0.2",
"license": "Apache-2.0",
"description": "",
"homepage": "https://lowdefy.com",
@ -51,52 +51,52 @@
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
},
"dependencies": {
"@lowdefy/ajv": "4.0.0-rc.14",
"@lowdefy/blocks-basic": "4.0.0-rc.14",
"@lowdefy/blocks-loaders": "4.0.0-rc.14",
"@lowdefy/helpers": "4.0.0-rc.14",
"@lowdefy/node-utils": "4.0.0-rc.14",
"@lowdefy/nunjucks": "4.0.0-rc.14",
"@lowdefy/operators": "4.0.0-rc.14",
"@lowdefy/operators-js": "4.0.0-rc.14",
"@lowdefy/ajv": "4.0.2",
"@lowdefy/blocks-basic": "4.0.2",
"@lowdefy/blocks-loaders": "4.0.2",
"@lowdefy/helpers": "4.0.2",
"@lowdefy/node-utils": "4.0.2",
"@lowdefy/nunjucks": "4.0.2",
"@lowdefy/operators": "4.0.2",
"@lowdefy/operators-js": "4.0.2",
"ajv": "8.12.0",
"json5": "2.2.3",
"yaml": "2.3.2",
"yaml": "2.3.4",
"yargs": "17.7.2"
},
"devDependencies": {
"@jest/globals": "28.1.3",
"@lowdefy/actions-core": "4.0.0-rc.14",
"@lowdefy/actions-pdf-make": "4.0.0-rc.14",
"@lowdefy/blocks-aggrid": "4.0.0-rc.14",
"@lowdefy/blocks-algolia": "4.0.0-rc.14",
"@lowdefy/blocks-antd": "4.0.0-rc.14",
"@lowdefy/blocks-color-selectors": "4.0.0-rc.14",
"@lowdefy/blocks-echarts": "4.0.0-rc.14",
"@lowdefy/blocks-google-maps": "4.0.0-rc.14",
"@lowdefy/blocks-markdown": "4.0.0-rc.14",
"@lowdefy/blocks-qr": "4.0.0-rc.14",
"@lowdefy/connection-axios-http": "4.0.0-rc.14",
"@lowdefy/connection-elasticsearch": "4.0.0-rc.14",
"@lowdefy/connection-google-sheets": "4.0.0-rc.14",
"@lowdefy/connection-knex": "4.0.0-rc.14",
"@lowdefy/connection-mongodb": "4.0.0-rc.14",
"@lowdefy/connection-redis": "4.0.0-rc.14",
"@lowdefy/connection-sendgrid": "4.0.0-rc.14",
"@lowdefy/connection-stripe": "4.0.0-rc.14",
"@lowdefy/operators-change-case": "4.0.0-rc.14",
"@lowdefy/operators-diff": "4.0.0-rc.14",
"@lowdefy/operators-moment": "4.0.0-rc.14",
"@lowdefy/operators-mql": "4.0.0-rc.14",
"@lowdefy/operators-nunjucks": "4.0.0-rc.14",
"@lowdefy/operators-uuid": "4.0.0-rc.14",
"@lowdefy/operators-yaml": "4.0.0-rc.14",
"@lowdefy/plugin-auth0": "4.0.0-rc.14",
"@lowdefy/plugin-aws": "4.0.0-rc.14",
"@lowdefy/plugin-csv": "4.0.0-rc.14",
"@lowdefy/plugin-next-auth": "4.0.0-rc.14",
"@swc/cli": "0.1.62",
"@swc/core": "1.3.92",
"@lowdefy/actions-core": "4.0.2",
"@lowdefy/actions-pdf-make": "4.0.2",
"@lowdefy/blocks-aggrid": "4.0.2",
"@lowdefy/blocks-algolia": "4.0.2",
"@lowdefy/blocks-antd": "4.0.2",
"@lowdefy/blocks-color-selectors": "4.0.2",
"@lowdefy/blocks-echarts": "4.0.2",
"@lowdefy/blocks-google-maps": "4.0.2",
"@lowdefy/blocks-markdown": "4.0.2",
"@lowdefy/blocks-qr": "4.0.2",
"@lowdefy/connection-axios-http": "4.0.2",
"@lowdefy/connection-elasticsearch": "4.0.2",
"@lowdefy/connection-google-sheets": "4.0.2",
"@lowdefy/connection-knex": "4.0.2",
"@lowdefy/connection-mongodb": "4.0.2",
"@lowdefy/connection-redis": "4.0.2",
"@lowdefy/connection-sendgrid": "4.0.2",
"@lowdefy/connection-stripe": "4.0.2",
"@lowdefy/operators-change-case": "4.0.2",
"@lowdefy/operators-diff": "4.0.2",
"@lowdefy/operators-moment": "4.0.2",
"@lowdefy/operators-mql": "4.0.2",
"@lowdefy/operators-nunjucks": "4.0.2",
"@lowdefy/operators-uuid": "4.0.2",
"@lowdefy/operators-yaml": "4.0.2",
"@lowdefy/plugin-auth0": "4.0.2",
"@lowdefy/plugin-aws": "4.0.2",
"@lowdefy/plugin-csv": "4.0.2",
"@lowdefy/plugin-next-auth": "4.0.2",
"@swc/cli": "0.1.63",
"@swc/core": "1.3.99",
"@swc/jest": "0.2.29",
"jest": "28.1.3"
},

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -33,7 +33,6 @@ export default {
type: 'Button',
properties: {
title: 'Go to home page',
type: 'Link',
},
events: {
onClick: [

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -55,17 +55,16 @@ test('addDefaultPages, no pages array', () => {
onClick: [
{
id: 'home',
type: 'Link',
params: {
home: true,
},
type: 'Link',
},
],
},
id: 'home',
properties: {
title: 'Go to home page',
type: 'Link',
},
type: 'Button',
},
@ -101,17 +100,16 @@ test('addDefaultPages, empty pages array', () => {
onClick: [
{
id: 'home',
type: 'Link',
params: {
home: true,
},
type: 'Link',
},
],
},
id: 'home',
properties: {
title: 'Go to home page',
type: 'Link',
},
type: 'Button',
},
@ -151,17 +149,16 @@ test('addDefaultPages, pages without 404 page', () => {
onClick: [
{
id: 'home',
type: 'Link',
params: {
home: true,
},
type: 'Link',
},
],
},
id: 'home',
properties: {
title: 'Go to home page',
type: 'Link',
},
type: 'Button',
},

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* eslint-disable no-param-reassign */
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -16,9 +16,10 @@
limitations under the License.
*/
import { execSync } from 'child_process';
import { type } from '@lowdefy/helpers';
function validateApp({ components }) {
function buildApp({ components }) {
if (type.isNone(components.app)) {
components.app = {};
}
@ -34,7 +35,12 @@ function validateApp({ components }) {
if (type.isNone(components.app.html.appendHead)) {
components.app.html.appendHead = '';
}
try {
components.app.git_sha = execSync('git rev-parse HEAD').toString().trim();
} catch (_) {
//pass
}
return components;
}
export default validateApp;
export default buildApp;

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -14,73 +14,88 @@
limitations under the License.
*/
import validateApp from './validateApp.js';
import { execSync } from 'child_process';
import buildApp from './buildApp.js';
import testContext from '../test/testContext.js';
const context = testContext();
test('validateApp no app defined', () => {
let git_sha;
try {
git_sha = execSync('git rev-parse HEAD').toString().trim();
} catch (_) {
//pass
}
test('buildApp no app defined', () => {
const components = {};
const result = validateApp({ components, context });
const result = buildApp({ components, context });
expect(result).toEqual({
app: {
html: {
appendBody: '',
appendHead: '',
},
git_sha,
},
});
});
test('validateApp empty app object', () => {
test('buildApp empty app object', () => {
const components = { app: {} };
const result = validateApp({ components, context });
const result = buildApp({ components, context });
expect(result).toEqual({
app: {
html: {
appendBody: '',
appendHead: '',
},
git_sha,
},
});
});
test('validateApp empty html', () => {
test('buildApp empty html', () => {
const components = { app: { html: {} } };
const result = validateApp({ components, context });
const result = buildApp({ components, context });
expect(result).toEqual({
app: {
html: {
appendBody: '',
appendHead: '',
},
git_sha,
},
});
});
test('validateApp appendHead and appendHead', () => {
test('buildApp appendHead and appendHead', () => {
const components = {
app: {
html: {
appendBody: 'body',
appendHead: 'head',
},
git_sha,
},
};
const result = validateApp({ components, context });
const result = buildApp({ components, context });
expect(result).toEqual({
app: {
html: {
appendBody: 'body',
appendHead: 'head',
},
git_sha,
},
});
});
test('validateApp app not an object', () => {
test('buildApp app not an object', () => {
const components = {
app: 'app',
};
expect(() => validateApp({ components, context })).toThrow('lowdefy.app is not an object.');
expect(() => buildApp({ components, context })).toThrow('lowdefy.app is not an object.');
});

View File

@ -1,7 +1,7 @@
/* eslint-disable no-param-reassign */
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -21,9 +21,26 @@ import buildAuthPlugins from './buildAuthPlugins.js';
import buildPageAuth from './buildPageAuth.js';
import validateAuthConfig from './validateAuthConfig.js';
let warningLogged = false;
function buildAuth({ components, context }) {
const configured = !type.isNone(components.auth);
if (configured && !context.entitlements.includes('AUTH')) {
if (!warningLogged) {
context.logger.warn(`
Authentication configured without a license key.
Paid features can not be used in production
without a valid license.
See https://docs.lowdefy.com/licenses. ┃
`);
warningLogged = true;
}
}
validateAuthConfig({ components });
components.auth.configured = configured;
buildPageAuth({ components });

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* eslint-disable no-param-reassign */
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* eslint-disable no-param-reassign */
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* eslint-disable no-param-reassign */
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -33,6 +33,7 @@ const iconPackages = {
'react-icons/io5': /"(Io[A-Z0-9]\w*)"/gm,
'react-icons/lu': /"(Lu[A-Z0-9]\w*)"/gm,
'react-icons/md': /"(Md[A-Z0-9]\w*)"/gm,
'react-icons/pi': /"(Pi[A-Z0-9]\w*)"/gm,
'react-icons/ri': /"(Ri[A-Z0-9]\w*)"/gm,
'react-icons/rx': /"(Rx[A-Z0-9]\w*)"/gm,
'react-icons/si': /"(Si[A-Z0-9]\w*)"/gm,

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2020-2023 Lowdefy, Inc
Copyright 2020-2024 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

Some files were not shown because too many files have changed in this diff Show More