From 24a46acdb6991dc582f3765497b8cc6868de7eb9 Mon Sep 17 00:00:00 2001
From: Christoph Pirkl <4711730+kaklakariada@users.noreply.github.com>
Date: Fri, 24 May 2024 14:13:19 +0200
Subject: [PATCH] Add integration tests using the retail_mini schema (#157)
---
.github/workflows/broken_links_checker.yml | 2 +
.github/workflows/ci-build.yml | 7 +-
.project-keeper.yml | 2 +-
.vscode/settings.json | 31 +-
dependencies.md | 105 ++--
doc/changes/changelog.md | 1 +
doc/changes/changes_1.5.6.md | 31 +
extension/package-lock.json | 583 ++++++------------
extension/package.json | 6 +-
pk_generated_parent.pom | 6 +-
pom.xml | 24 +-
...=> row-level-security-lua-1.5.6-1.rockspec | 2 +-
src/main/lua/exasol/rls/RlsAdapter.lua | 2 +-
src/test/java/com/exasol/RetailSchemaIT.java | 57 ++
.../java/com/exasol/RlsTestConstants.java | 2 +-
src/test/resources/retail_mini.sql | 59 ++
tools/assemble_sql_scripts.sh | 4 +-
17 files changed, 455 insertions(+), 469 deletions(-)
create mode 100644 doc/changes/changes_1.5.6.md
rename row-level-security-lua-1.5.5-1.rockspec => row-level-security-lua-1.5.6-1.rockspec (99%)
create mode 100644 src/test/java/com/exasol/RetailSchemaIT.java
create mode 100644 src/test/resources/retail_mini.sql
diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml
index d7a38b4..39612b7 100644
--- a/.github/workflows/broken_links_checker.yml
+++ b/.github/workflows/broken_links_checker.yml
@@ -13,6 +13,8 @@ on:
jobs:
linkChecker:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
defaults:
run:
shell: "bash"
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index a9cf978..fac6d18 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -15,8 +15,7 @@ jobs:
shell: bash
}
permissions: {
- contents: read,
- checks: write
+ contents: read
}
concurrency: {
group: '${{ github.workflow }}-${{ github.ref }}-${{ matrix.exasol_db_version }}',
@@ -26,12 +25,12 @@ jobs:
fail-fast: false
matrix:
exasol_db_version: [
- 8.26.0,
+ 8.27.0,
7.1.26
]
env: {
- DEFAULT_EXASOL_DB_VERSION: 8.26.0
+ DEFAULT_EXASOL_DB_VERSION: 8.27.0
}
steps:
- name: Free Disk Space
diff --git a/.project-keeper.yml b/.project-keeper.yml
index a7ed604..0ba42d7 100644
--- a/.project-keeper.yml
+++ b/.project-keeper.yml
@@ -16,7 +16,7 @@ build:
runnerOs: ubuntu-22.04
freeDiskSpace: true
exasolDbVersions:
- - 8.26.0
+ - 8.27.0
- 7.1.26
workflows:
- name: ci-build.yml
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 0d9aa1e..c9b9d13 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,17 +1,18 @@
{
- "editor.formatOnSave": true,
- "editor.codeActionsOnSave": {
- "source.organizeImports": "explicit",
- "source.generate.finalModifiers": "explicit",
- "source.fixAll": "explicit"
- },
- "java.codeGeneration.useBlocks": true,
- "java.saveActions.organizeImports": true,
- "java.sources.organizeImports.starThreshold": 3,
- "java.sources.organizeImports.staticStarThreshold": 3,
- "java.test.config": {
- "vmArgs": [
- "-Djava.util.logging.config.file=src/test/resources/logging.properties"
- ]
- }
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.organizeImports": "explicit",
+ "source.generate.finalModifiers": "explicit",
+ "source.fixAll": "explicit"
+ },
+ "java.codeGeneration.useBlocks": true,
+ "java.saveActions.organizeImports": true,
+ "java.sources.organizeImports.starThreshold": 3,
+ "java.sources.organizeImports.staticStarThreshold": 3,
+ "java.test.config": {
+ "vmArgs": [
+ "-Djava.util.logging.config.file=src/test/resources/logging.properties",
+ "-Dcom.exasol.dockerdb.image=8.27.0"
+ ]
+ }
}
diff --git a/dependencies.md b/dependencies.md
index d9a18df..0728c80 100644
--- a/dependencies.md
+++ b/dependencies.md
@@ -18,31 +18,32 @@
| [Test Database Builder for Java][14] | [MIT License][15] |
| [Maven Project Version Getter][16] | [MIT License][17] |
| [Extension integration tests library][18] | [MIT License][19] |
+| [exasol-test-setup-abstraction-java][20] | [MIT License][21] |
### Plugin Dependencies
| Dependency | License |
| ------------------------------------------------------- | -------------------------------------------------------------- |
-| [SonarQube Scanner for Maven][20] | [GNU LGPL 3][21] |
-| [Apache Maven Toolchains Plugin][22] | [Apache License, Version 2.0][23] |
-| [Project Keeper Maven plugin][24] | [The MIT License][25] |
-| [Apache Maven Compiler Plugin][26] | [Apache-2.0][23] |
-| [Apache Maven Enforcer Plugin][27] | [Apache-2.0][23] |
-| [Maven Flatten Plugin][28] | [Apache Software Licenese][23] |
-| [org.sonatype.ossindex.maven:ossindex-maven-plugin][29] | [ASL2][30] |
-| [Maven Surefire Plugin][31] | [Apache-2.0][23] |
-| [Versions Maven Plugin][32] | [Apache License, Version 2.0][23] |
-| [duplicate-finder-maven-plugin Maven Mojo][33] | [Apache License 2.0][34] |
-| [Maven Failsafe Plugin][35] | [Apache-2.0][23] |
-| [JaCoCo :: Maven Plugin][36] | [EPL-2.0][37] |
-| [Exec Maven Plugin][38] | [Apache License 2][23] |
-| [OpenFastTrace Maven Plugin][39] | [GNU General Public License v3.0][40] |
-| [Build Helper Maven Plugin][41] | [The MIT License][42] |
-| [error-code-crawler-maven-plugin][43] | [MIT License][44] |
-| [Reproducible Build Maven Plugin][45] | [Apache 2.0][30] |
-| [Apache Maven JAR Plugin][46] | [Apache License, Version 2.0][23] |
-| [Maven PlantUML plugin][47] | [Apache License
- Version 2.0, January 2004][48] |
+| [SonarQube Scanner for Maven][22] | [GNU LGPL 3][23] |
+| [Apache Maven Toolchains Plugin][24] | [Apache-2.0][25] |
+| [Project Keeper Maven plugin][26] | [The MIT License][27] |
+| [Apache Maven Compiler Plugin][28] | [Apache-2.0][25] |
+| [Apache Maven Enforcer Plugin][29] | [Apache-2.0][25] |
+| [Maven Flatten Plugin][30] | [Apache Software Licenese][25] |
+| [org.sonatype.ossindex.maven:ossindex-maven-plugin][31] | [ASL2][32] |
+| [Maven Surefire Plugin][33] | [Apache-2.0][25] |
+| [Versions Maven Plugin][34] | [Apache License, Version 2.0][25] |
+| [duplicate-finder-maven-plugin Maven Mojo][35] | [Apache License 2.0][36] |
+| [Maven Failsafe Plugin][37] | [Apache-2.0][25] |
+| [JaCoCo :: Maven Plugin][38] | [EPL-2.0][39] |
+| [Exec Maven Plugin][40] | [Apache License 2][25] |
+| [OpenFastTrace Maven Plugin][41] | [GNU General Public License v3.0][42] |
+| [Build Helper Maven Plugin][43] | [The MIT License][44] |
+| [error-code-crawler-maven-plugin][45] | [MIT License][46] |
+| [Reproducible Build Maven Plugin][47] | [Apache 2.0][32] |
+| [Apache Maven JAR Plugin][48] | [Apache License, Version 2.0][25] |
+| [Maven PlantUML plugin][49] | [Apache License
+ Version 2.0, January 2004][50] |
## Extension
@@ -50,7 +51,7 @@
| Dependency | License |
| ----------------------------------------- | ------- |
-| [@exasol/extension-manager-interface][49] | MIT |
+| [@exasol/extension-manager-interface][51] | MIT |
[0]: http://www.exasol.com/
[1]: https://repo1.maven.org/maven2/com/exasol/exasol-jdbc/24.1.0/exasol-jdbc-24.1.0-license.txt
@@ -72,33 +73,35 @@
[17]: https://github.com/exasol/maven-project-version-getter/blob/main/LICENSE
[18]: https://github.com/exasol/extension-manager/
[19]: https://github.com/exasol/extension-manager/blob/main/LICENSE
-[20]: http://sonarsource.github.io/sonar-scanner-maven/
-[21]: http://www.gnu.org/licenses/lgpl.txt
-[22]: https://maven.apache.org/plugins/maven-toolchains-plugin/
-[23]: https://www.apache.org/licenses/LICENSE-2.0.txt
-[24]: https://github.com/exasol/project-keeper/
-[25]: https://github.com/exasol/project-keeper/blob/main/LICENSE
-[26]: https://maven.apache.org/plugins/maven-compiler-plugin/
-[27]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
-[28]: https://www.mojohaus.org/flatten-maven-plugin/
-[29]: https://sonatype.github.io/ossindex-maven/maven-plugin/
-[30]: http://www.apache.org/licenses/LICENSE-2.0.txt
-[31]: https://maven.apache.org/surefire/maven-surefire-plugin/
-[32]: https://www.mojohaus.org/versions/versions-maven-plugin/
-[33]: https://basepom.github.io/duplicate-finder-maven-plugin
-[34]: http://www.apache.org/licenses/LICENSE-2.0.html
-[35]: https://maven.apache.org/surefire/maven-failsafe-plugin/
-[36]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
-[37]: https://www.eclipse.org/legal/epl-2.0/
-[38]: https://www.mojohaus.org/exec-maven-plugin
-[39]: https://github.com/itsallcode/openfasttrace-maven-plugin
-[40]: https://www.gnu.org/licenses/gpl-3.0.html
-[41]: https://www.mojohaus.org/build-helper-maven-plugin/
-[42]: https://spdx.org/licenses/MIT.txt
-[43]: https://github.com/exasol/error-code-crawler-maven-plugin/
-[44]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE
-[45]: http://zlika.github.io/reproducible-build-maven-plugin
-[46]: https://maven.apache.org/plugins/maven-jar-plugin/
-[47]: https://github.com/Huluvu424242/plantuml-maven-plugin
-[48]: https://www.apache.org/licenses/LICENSE-2.0
-[49]: https://registry.npmjs.org/@exasol/extension-manager-interface/-/extension-manager-interface-0.4.2.tgz
+[20]: https://github.com/exasol/exasol-test-setup-abstraction-java/
+[21]: https://github.com/exasol/exasol-test-setup-abstraction-java/blob/main/LICENSE
+[22]: http://sonarsource.github.io/sonar-scanner-maven/
+[23]: http://www.gnu.org/licenses/lgpl.txt
+[24]: https://maven.apache.org/plugins/maven-toolchains-plugin/
+[25]: https://www.apache.org/licenses/LICENSE-2.0.txt
+[26]: https://github.com/exasol/project-keeper/
+[27]: https://github.com/exasol/project-keeper/blob/main/LICENSE
+[28]: https://maven.apache.org/plugins/maven-compiler-plugin/
+[29]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
+[30]: https://www.mojohaus.org/flatten-maven-plugin/
+[31]: https://sonatype.github.io/ossindex-maven/maven-plugin/
+[32]: http://www.apache.org/licenses/LICENSE-2.0.txt
+[33]: https://maven.apache.org/surefire/maven-surefire-plugin/
+[34]: https://www.mojohaus.org/versions/versions-maven-plugin/
+[35]: https://basepom.github.io/duplicate-finder-maven-plugin
+[36]: http://www.apache.org/licenses/LICENSE-2.0.html
+[37]: https://maven.apache.org/surefire/maven-failsafe-plugin/
+[38]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
+[39]: https://www.eclipse.org/legal/epl-2.0/
+[40]: https://www.mojohaus.org/exec-maven-plugin
+[41]: https://github.com/itsallcode/openfasttrace-maven-plugin
+[42]: https://www.gnu.org/licenses/gpl-3.0.html
+[43]: https://www.mojohaus.org/build-helper-maven-plugin/
+[44]: https://spdx.org/licenses/MIT.txt
+[45]: https://github.com/exasol/error-code-crawler-maven-plugin/
+[46]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE
+[47]: http://zlika.github.io/reproducible-build-maven-plugin
+[48]: https://maven.apache.org/plugins/maven-jar-plugin/
+[49]: https://github.com/Huluvu424242/plantuml-maven-plugin
+[50]: https://www.apache.org/licenses/LICENSE-2.0
+[51]: https://registry.npmjs.org/@exasol/extension-manager-interface/-/extension-manager-interface-0.4.2.tgz
diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md
index 31f722b..0403d97 100644
--- a/doc/changes/changelog.md
+++ b/doc/changes/changelog.md
@@ -1,5 +1,6 @@
# Changes
+* [1.5.6](changes_1.5.6.md)
* [1.5.5](changes_1.5.5.md)
* [1.5.4](changes_1.5.4.md)
* [1.5.3](changes_1.5.3.md)
diff --git a/doc/changes/changes_1.5.6.md b/doc/changes/changes_1.5.6.md
new file mode 100644
index 0000000..817a2ae
--- /dev/null
+++ b/doc/changes/changes_1.5.6.md
@@ -0,0 +1,31 @@
+# Row Level Security lua 1.5.6, released 2024-??-??
+
+Code name:
+
+## Summary
+
+## Features
+
+* ISSUE_NUMBER: description
+
+## Dependency Updates
+
+### Exasol Row Level Security (Lua)
+
+#### Test Dependency Updates
+
+* Added `com.exasol:exasol-test-setup-abstraction-java:2.1.4`
+* Updated `org.testcontainers:junit-jupiter:1.19.7` to `1.19.8`
+
+#### Plugin Dependency Updates
+
+* Updated `com.exasol:project-keeper-maven-plugin:4.3.0` to `4.3.1`
+* Updated `org.apache.maven.plugins:maven-toolchains-plugin:3.1.0` to `3.2.0`
+
+### Extension
+
+#### Development Dependency Updates
+
+* Updated `ts-jest:^29.1.2` to `^29.1.3`
+* Updated `typescript-eslint:^7.8.0` to `^7.10.0`
+* Updated `esbuild:^0.20.2` to `^0.21.3`
diff --git a/extension/package-lock.json b/extension/package-lock.json
index 4d2908e..8779186 100644
--- a/extension/package-lock.json
+++ b/extension/package-lock.json
@@ -13,13 +13,13 @@
},
"devDependencies": {
"@types/jest": "^29.5.12",
- "esbuild": "^0.20.2",
+ "esbuild": "^0.21.3",
"eslint": "^8.57.0",
"jest": "29.7.0",
- "ts-jest": "^29.1.2",
+ "ts-jest": "^29.1.3",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
- "typescript-eslint": "^7.8.0"
+ "typescript-eslint": "^7.10.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -619,9 +619,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
- "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.3.tgz",
+ "integrity": "sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==",
"cpu": [
"ppc64"
],
@@ -635,9 +635,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
- "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.3.tgz",
+ "integrity": "sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==",
"cpu": [
"arm"
],
@@ -651,9 +651,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
- "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.3.tgz",
+ "integrity": "sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==",
"cpu": [
"arm64"
],
@@ -667,9 +667,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
- "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.3.tgz",
+ "integrity": "sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==",
"cpu": [
"x64"
],
@@ -683,9 +683,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
- "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.3.tgz",
+ "integrity": "sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==",
"cpu": [
"arm64"
],
@@ -699,9 +699,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
- "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.3.tgz",
+ "integrity": "sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==",
"cpu": [
"x64"
],
@@ -715,9 +715,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
- "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.3.tgz",
+ "integrity": "sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==",
"cpu": [
"arm64"
],
@@ -731,9 +731,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
- "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.3.tgz",
+ "integrity": "sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==",
"cpu": [
"x64"
],
@@ -747,9 +747,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
- "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.3.tgz",
+ "integrity": "sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==",
"cpu": [
"arm"
],
@@ -763,9 +763,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
- "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.3.tgz",
+ "integrity": "sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==",
"cpu": [
"arm64"
],
@@ -779,9 +779,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
- "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.3.tgz",
+ "integrity": "sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==",
"cpu": [
"ia32"
],
@@ -795,9 +795,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
- "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.3.tgz",
+ "integrity": "sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==",
"cpu": [
"loong64"
],
@@ -811,9 +811,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
- "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.3.tgz",
+ "integrity": "sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==",
"cpu": [
"mips64el"
],
@@ -827,9 +827,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
- "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.3.tgz",
+ "integrity": "sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==",
"cpu": [
"ppc64"
],
@@ -843,9 +843,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
- "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.3.tgz",
+ "integrity": "sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==",
"cpu": [
"riscv64"
],
@@ -859,9 +859,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
- "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.3.tgz",
+ "integrity": "sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==",
"cpu": [
"s390x"
],
@@ -875,9 +875,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
- "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.3.tgz",
+ "integrity": "sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==",
"cpu": [
"x64"
],
@@ -891,9 +891,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
- "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.3.tgz",
+ "integrity": "sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==",
"cpu": [
"x64"
],
@@ -907,9 +907,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
- "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.3.tgz",
+ "integrity": "sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==",
"cpu": [
"x64"
],
@@ -923,9 +923,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
- "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.3.tgz",
+ "integrity": "sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==",
"cpu": [
"x64"
],
@@ -939,9 +939,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
- "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.3.tgz",
+ "integrity": "sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==",
"cpu": [
"arm64"
],
@@ -955,9 +955,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
- "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.3.tgz",
+ "integrity": "sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==",
"cpu": [
"ia32"
],
@@ -971,9 +971,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
- "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.3.tgz",
+ "integrity": "sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==",
"cpu": [
"x64"
],
@@ -1630,9 +1630,9 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
- "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
+ "version": "7.20.6",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
+ "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
"dev": true,
"dependencies": {
"@babel/types": "^7.20.7"
@@ -1681,27 +1681,15 @@
"pretty-format": "^29.0.0"
}
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
- },
"node_modules/@types/node": {
- "version": "20.12.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.10.tgz",
- "integrity": "sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==",
+ "version": "20.12.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
+ "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
- "node_modules/@types/semver": {
- "version": "7.5.8",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
- "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
- "dev": true
- },
"node_modules/@types/stack-utils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
@@ -1724,21 +1712,19 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz",
- "integrity": "sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz",
+ "integrity": "sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/type-utils": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4",
+ "@typescript-eslint/scope-manager": "7.10.0",
+ "@typescript-eslint/type-utils": "7.10.0",
+ "@typescript-eslint/utils": "7.10.0",
+ "@typescript-eslint/visitor-keys": "7.10.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
- "semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
@@ -1758,49 +1744,16 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/@typescript-eslint/parser": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.8.0.tgz",
- "integrity": "sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz",
+ "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
+ "@typescript-eslint/scope-manager": "7.10.0",
+ "@typescript-eslint/types": "7.10.0",
+ "@typescript-eslint/typescript-estree": "7.10.0",
+ "@typescript-eslint/visitor-keys": "7.10.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1820,13 +1773,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz",
- "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz",
+ "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0"
+ "@typescript-eslint/types": "7.10.0",
+ "@typescript-eslint/visitor-keys": "7.10.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -1837,13 +1790,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz",
- "integrity": "sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz",
+ "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
+ "@typescript-eslint/typescript-estree": "7.10.0",
+ "@typescript-eslint/utils": "7.10.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -1864,9 +1817,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz",
- "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz",
+ "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==",
"dev": true,
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -1877,13 +1830,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz",
- "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz",
+ "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
+ "@typescript-eslint/types": "7.10.0",
+ "@typescript-eslint/visitor-keys": "7.10.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -1913,18 +1866,6 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -1941,13 +1882,10 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -1955,25 +1893,16 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/@typescript-eslint/utils": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz",
- "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz",
+ "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.15",
- "@types/semver": "^7.5.8",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "semver": "^7.6.0"
+ "@typescript-eslint/scope-manager": "7.10.0",
+ "@typescript-eslint/types": "7.10.0",
+ "@typescript-eslint/typescript-estree": "7.10.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -1986,46 +1915,13 @@
"eslint": "^8.56.0"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz",
- "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz",
+ "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/types": "7.10.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -2297,12 +2193,12 @@
}
},
"node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -2386,9 +2282,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001616",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz",
- "integrity": "sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==",
+ "version": "1.0.30001621",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz",
+ "integrity": "sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==",
"dev": true,
"funding": [
{
@@ -2650,9 +2546,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.757",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.757.tgz",
- "integrity": "sha512-jftDaCknYSSt/+KKeXzH3LX5E2CvRLm75P3Hj+J/dv3CL0qUYcOt13d5FN1NiL5IJbbhzHrb3BomeG2tkSlZmw==",
+ "version": "1.4.779",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.779.tgz",
+ "integrity": "sha512-oaTiIcszNfySXVJzKcjxd2YjPxziAd+GmXyb2HbidCeFo6Z88ygOT7EimlrEQhM2U08VhSrbKhLOXP0kKUCZ6g==",
"dev": true
},
"node_modules/emittery": {
@@ -2683,9 +2579,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
- "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.3.tgz",
+ "integrity": "sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -2695,29 +2591,29 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.20.2",
- "@esbuild/android-arm": "0.20.2",
- "@esbuild/android-arm64": "0.20.2",
- "@esbuild/android-x64": "0.20.2",
- "@esbuild/darwin-arm64": "0.20.2",
- "@esbuild/darwin-x64": "0.20.2",
- "@esbuild/freebsd-arm64": "0.20.2",
- "@esbuild/freebsd-x64": "0.20.2",
- "@esbuild/linux-arm": "0.20.2",
- "@esbuild/linux-arm64": "0.20.2",
- "@esbuild/linux-ia32": "0.20.2",
- "@esbuild/linux-loong64": "0.20.2",
- "@esbuild/linux-mips64el": "0.20.2",
- "@esbuild/linux-ppc64": "0.20.2",
- "@esbuild/linux-riscv64": "0.20.2",
- "@esbuild/linux-s390x": "0.20.2",
- "@esbuild/linux-x64": "0.20.2",
- "@esbuild/netbsd-x64": "0.20.2",
- "@esbuild/openbsd-x64": "0.20.2",
- "@esbuild/sunos-x64": "0.20.2",
- "@esbuild/win32-arm64": "0.20.2",
- "@esbuild/win32-ia32": "0.20.2",
- "@esbuild/win32-x64": "0.20.2"
+ "@esbuild/aix-ppc64": "0.21.3",
+ "@esbuild/android-arm": "0.21.3",
+ "@esbuild/android-arm64": "0.21.3",
+ "@esbuild/android-x64": "0.21.3",
+ "@esbuild/darwin-arm64": "0.21.3",
+ "@esbuild/darwin-x64": "0.21.3",
+ "@esbuild/freebsd-arm64": "0.21.3",
+ "@esbuild/freebsd-x64": "0.21.3",
+ "@esbuild/linux-arm": "0.21.3",
+ "@esbuild/linux-arm64": "0.21.3",
+ "@esbuild/linux-ia32": "0.21.3",
+ "@esbuild/linux-loong64": "0.21.3",
+ "@esbuild/linux-mips64el": "0.21.3",
+ "@esbuild/linux-ppc64": "0.21.3",
+ "@esbuild/linux-riscv64": "0.21.3",
+ "@esbuild/linux-s390x": "0.21.3",
+ "@esbuild/linux-x64": "0.21.3",
+ "@esbuild/netbsd-x64": "0.21.3",
+ "@esbuild/openbsd-x64": "0.21.3",
+ "@esbuild/sunos-x64": "0.21.3",
+ "@esbuild/win32-arm64": "0.21.3",
+ "@esbuild/win32-ia32": "0.21.3",
+ "@esbuild/win32-x64": "0.21.3"
}
},
"node_modules/escalade": {
@@ -3021,9 +2917,9 @@
}
},
"node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -3308,6 +3204,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"dev": true,
"dependencies": {
"once": "^1.3.0",
@@ -3438,26 +3335,11 @@
"node": ">=10"
}
},
- "node_modules/istanbul-lib-instrument/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -3465,12 +3347,6 @@
"node": ">=10"
}
},
- "node_modules/istanbul-lib-instrument/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/istanbul-lib-report": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
@@ -3972,26 +3848,11 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/jest-snapshot/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/jest-snapshot/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -3999,12 +3860,6 @@
"node": ">=10"
}
},
- "node_modules/jest-snapshot/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/jest-util": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
@@ -4263,26 +4118,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/make-dir/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -4290,12 +4130,6 @@
"node": ">=10"
}
},
- "node_modules/make-dir/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/make-error": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
@@ -4327,12 +4161,12 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
"dev": true,
"dependencies": {
- "braces": "^3.0.2",
+ "braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
@@ -4558,9 +4392,9 @@
}
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
"dev": true
},
"node_modules/picomatch": {
@@ -5110,9 +4944,9 @@
}
},
"node_modules/ts-jest": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
- "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
+ "version": "29.1.3",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.3.tgz",
+ "integrity": "sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==",
"dev": true,
"dependencies": {
"bs-logger": "0.x",
@@ -5128,10 +4962,11 @@
"ts-jest": "cli.js"
},
"engines": {
- "node": "^16.10.0 || ^18.0.0 || >=20.0.0"
+ "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
},
"peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8",
+ "@jest/transform": "^29.0.0",
"@jest/types": "^29.0.0",
"babel-jest": "^29.0.0",
"jest": "^29.0.0",
@@ -5141,6 +4976,9 @@
"@babel/core": {
"optional": true
},
+ "@jest/transform": {
+ "optional": true
+ },
"@jest/types": {
"optional": true
},
@@ -5152,26 +4990,11 @@
}
}
},
- "node_modules/ts-jest/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/ts-jest/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -5179,12 +5002,6 @@
"node": ">=10"
}
},
- "node_modules/ts-jest/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/ts-node": {
"version": "10.9.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
@@ -5275,14 +5092,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.8.0.tgz",
- "integrity": "sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.10.0.tgz",
+ "integrity": "sha512-thO8nyqptXdfWHQrMJJiJyftpW8aLmwRNs11xA8pSrXneoclFPstQZqXvDWuH1WNL4CHffqHvYUeCHTit6yfhQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "7.8.0",
- "@typescript-eslint/parser": "7.8.0",
- "@typescript-eslint/utils": "7.8.0"
+ "@typescript-eslint/eslint-plugin": "7.10.0",
+ "@typescript-eslint/parser": "7.10.0",
+ "@typescript-eslint/utils": "7.10.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -5307,9 +5124,9 @@
"dev": true
},
"node_modules/update-browserslist-db": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz",
- "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==",
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+ "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
"dev": true,
"funding": [
{
@@ -5327,7 +5144,7 @@
],
"dependencies": {
"escalade": "^3.1.2",
- "picocolors": "^1.0.0"
+ "picocolors": "^1.0.1"
},
"bin": {
"update-browserslist-db": "cli.js"
diff --git a/extension/package.json b/extension/package.json
index e4f011f..0b52bac 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -19,12 +19,12 @@
},
"devDependencies": {
"@types/jest": "^29.5.12",
- "esbuild": "^0.20.2",
+ "esbuild": "^0.21.3",
"eslint": "^8.57.0",
"jest": "29.7.0",
- "ts-jest": "^29.1.2",
+ "ts-jest": "^29.1.3",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
- "typescript-eslint": "^7.8.0"
+ "typescript-eslint": "^7.10.0"
}
}
diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom
index 25c9ac6..4b71cd6 100644
--- a/pk_generated_parent.pom
+++ b/pk_generated_parent.pom
@@ -3,7 +3,7 @@
4.0.0
com.exasol
row-level-security-lua-generated-parent
- 1.5.5
+ 1.5.6
pom
UTF-8
@@ -44,7 +44,7 @@
org.apache.maven.plugins
maven-toolchains-plugin
- 3.1.0
+ 3.2.0
@@ -265,7 +265,7 @@
com.exasol
error-code-crawler-maven-plugin
- 2.0.2
+ 2.0.3
verify
diff --git a/pom.xml b/pom.xml
index 119b0cd..2017adc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
row-level-security-lua
- 1.5.5
+ 1.5.6
Exasol Row Level Security (Lua)
This projects provides a plug-in to the Exasol database that adds per-row access control.
https://github.com/exasol/row-level-security-lua/
@@ -31,7 +31,7 @@
org.testcontainers
junit-jupiter
- 1.19.7
+ 1.19.8
test
@@ -82,13 +82,29 @@
0.5.11
test
+
+
+ com.exasol
+ exasol-test-setup-abstraction-java
+ 2.1.4
+ test
+
+
+
+ xerces
+ xercesImpl
+
+
+
com.exasol
project-keeper-maven-plugin
- 4.3.0
+ 4.3.1
@@ -340,7 +356,7 @@
row-level-security-lua-generated-parent
com.exasol
- 1.5.5
+ 1.5.6
pk_generated_parent.pom
diff --git a/row-level-security-lua-1.5.5-1.rockspec b/row-level-security-lua-1.5.6-1.rockspec
similarity index 99%
rename from row-level-security-lua-1.5.5-1.rockspec
rename to row-level-security-lua-1.5.6-1.rockspec
index b0c58d7..78fc883 100644
--- a/row-level-security-lua-1.5.5-1.rockspec
+++ b/row-level-security-lua-1.5.6-1.rockspec
@@ -1,6 +1,6 @@
rockspec_format = "3.0"
-local tag = "1.5.5"
+local tag = "1.5.6"
local project = "row-level-security-lua"
local src = "src/main/lua"
diff --git a/src/main/lua/exasol/rls/RlsAdapter.lua b/src/main/lua/exasol/rls/RlsAdapter.lua
index 59ad8ab..eddfd98 100644
--- a/src/main/lua/exasol/rls/RlsAdapter.lua
+++ b/src/main/lua/exasol/rls/RlsAdapter.lua
@@ -6,7 +6,7 @@ RlsAdapter.__index = RlsAdapter
local AbstractVirtualSchemaAdapter = require(
"exasol.vscl.AbstractVirtualSchemaAdapter")
setmetatable(RlsAdapter, {__index = AbstractVirtualSchemaAdapter})
-local VERSION = "1.5.5"
+local VERSION = "1.5.6"
local adapter_capabilities = require("exasol.rls.adapter_capabilities")
local QueryRewriter = require("exasol.rls.RlsQueryRewriter")
diff --git a/src/test/java/com/exasol/RetailSchemaIT.java b/src/test/java/com/exasol/RetailSchemaIT.java
new file mode 100644
index 0000000..6a35176
--- /dev/null
+++ b/src/test/java/com/exasol/RetailSchemaIT.java
@@ -0,0 +1,57 @@
+package com.exasol;
+
+import static com.exasol.matcher.ResultSetStructureMatcher.table;
+import static java.util.stream.Collectors.toList;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.jupiter.api.Test;
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+import com.exasol.dbbuilder.dialects.User;
+import com.exasol.dbbuilder.dialects.exasol.ExasolSchema;
+import com.exasol.dbbuilder.dialects.exasol.VirtualSchema;
+
+@Testcontainers
+class RetailSchemaIT extends AbstractLuaVirtualSchemaIT {
+
+ @Test
+ void testRetailSchema() throws IOException, SQLException {
+ final ExasolSchema sourceSchema = createRetailSchema();
+ final VirtualSchema virtualSchema = createVirtualSchema(sourceSchema);
+ final User user = createUserWithVirtualSchemaAccess("RETAIL_USER", virtualSchema);
+ final List allTables = List.of("ARTICLE", "CITIES", "MARKETS", "SALES", "SALES_POSITIONS", "DIM_DATE");
+ for (final String table : allTables) {
+ assertRlsQueryWithUser("SELECT count(*) FROM " + virtualSchema.getName() + "." + table, user,
+ table().row(0L).matches());
+ }
+ }
+
+ private ExasolSchema createRetailSchema() throws IOException, SQLException {
+ final ExasolSchema schema = factory.createSchema("RETAIL_MINI");
+ try (Statement statement = connection.createStatement()) {
+ statement.execute("OPEN SCHEMA " + schema.getName());
+ executeSqlScript(Path.of("src/test/resources/retail_mini.sql"), statement);
+ statement.execute("COMMIT");
+ }
+ return schema;
+ }
+
+ private void executeSqlScript(final Path path, final Statement stmt) throws IOException {
+ final List sqlStatements = Arrays.stream(Files.readString(path).split(";")).collect(toList());
+ for (final String sqlStatement : sqlStatements) {
+ try {
+ stmt.execute(sqlStatement);
+ } catch (final SQLException exception) {
+ throw new IllegalStateException(
+ "Failed to execute SQL statement '" + sqlStatement + "': " + exception.getMessage(), exception);
+ }
+ }
+ }
+}
diff --git a/src/test/java/com/exasol/RlsTestConstants.java b/src/test/java/com/exasol/RlsTestConstants.java
index d514789..797e90a 100644
--- a/src/test/java/com/exasol/RlsTestConstants.java
+++ b/src/test/java/com/exasol/RlsTestConstants.java
@@ -12,7 +12,7 @@ public final class RlsTestConstants {
public static final String ROLE_MASK_TYPE = "DECIMAL(20,0)";
public static final String IDENTIFIER_TYPE = "VARCHAR(128)";
public static final int PUBLIC_ROLE_BIT_INDEX = 63;
- public static final String DOCKER_DB = "exasol/docker-db:8.23.1";
+ public static final String DOCKER_DB = "exasol/docker-db:8.27.0";
private RlsTestConstants() {
// prevent instantiation
diff --git a/src/test/resources/retail_mini.sql b/src/test/resources/retail_mini.sql
new file mode 100644
index 0000000..5f772bf
--- /dev/null
+++ b/src/test/resources/retail_mini.sql
@@ -0,0 +1,59 @@
+CREATE TABLE CITIES (
+ CITY_ID DECIMAL(9, 0),
+ COUNTRY_CODE VARCHAR(2) UTF8,
+ ZIP_CODE VARCHAR(20) UTF8,
+ CITY_NAME VARCHAR(200) UTF8,
+ DISTRICT VARCHAR(50) UTF8,
+ AREA VARCHAR(50) UTF8,
+ AREA_SHORT VARCHAR(50) UTF8,
+ LAT DECIMAL(9, 6),
+ LON DECIMAL(9, 6)
+);
+CREATE TABLE ARTICLE (
+ ARTICLE_ID DECIMAL(9, 0),
+ DESCRIPTION VARCHAR(100) UTF8,
+ EAN DECIMAL(18, 0),
+ BASE_SALES_PRICE DECIMAL(9, 2),
+ PURCHASE_PRICE DECIMAL(9, 2),
+ PRODUCT_GROUP DECIMAL(9, 0),
+ PRODUCT_CLASS DECIMAL(9, 0),
+ QUANTITY_UNIT VARCHAR(100) UTF8,
+ TMP_OLD_NR DECIMAL(9, 0),
+ PRODUCT_GROUP_DESC VARCHAR(100) UTF8,
+ DISTRIBUTION_COST DECIMAL(9, 2)
+);
+CREATE TABLE MARKETS (
+ MARKET_ID DECIMAL(9, 0),
+ LONGITUDE DECIMAL(9, 6),
+ LATITUDE DECIMAL(9, 6),
+ POSTAL_CODE CHAR(5) UTF8,
+ CITY VARCHAR(50) UTF8,
+ AREA VARCHAR(50) UTF8,
+ CITY_ID DECIMAL(9, 0),
+ POPULATION DECIMAL(18, 0)
+);
+CREATE TABLE SALES (
+ SALES_ID DECIMAL(18, 0),
+ SALES_DATE DATE,
+ SALES_TIMESTAMP TIMESTAMP,
+ PRICE DECIMAL(9, 2),
+ MONEY_GIVEN DECIMAL(9, 2),
+ RETURNED_CHANGE DECIMAL(9, 2),
+ LOYALTY_ID DECIMAL(18, 0),
+ MARKET_ID DECIMAL(9, 0),
+ TERMINAL_ID DECIMAL(9, 0),
+ EMPLOYEE_ID DECIMAL(9, 0),
+ TERMINAL_DAILY_SALES_NR DECIMAL(9, 0),
+ DISTRIBUTE BY SALES_ID
+);
+CREATE TABLE SALES_POSITIONS (
+ SALES_ID DECIMAL(18, 0),
+ POSITION_ID DECIMAL(9, 0),
+ ARTICLE_ID DECIMAL(9, 0),
+ AMOUNT DECIMAL(9, 0),
+ PRICE DECIMAL(9, 2),
+ VOUCHER_ID DECIMAL(9, 0),
+ CANCELED BOOLEAN,
+ DISTRIBUTE BY SALES_ID
+);
+CREATE TABLE DIM_DATE (SALES_DATE DATE);
diff --git a/tools/assemble_sql_scripts.sh b/tools/assemble_sql_scripts.sh
index ea9b2ae..76c5cc1 100755
--- a/tools/assemble_sql_scripts.sh
+++ b/tools/assemble_sql_scripts.sh
@@ -32,7 +32,7 @@ else
append ""
else
echo "SQL script to be added to bundle not found: $script"
- exit -1;
+ exit 1;
fi
done
-fi
\ No newline at end of file
+fi