From e3f04bcbb02eeecd920b403c059e0780b507950c Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Sun, 8 Oct 2023 18:28:34 +0200 Subject: [PATCH 0001/1440] 23.2.2 version bump --- server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.resources.drivers.base/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF | 2 +- .../bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.security/META-INF/MANIFEST.MF | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF index 18cf875097..f762b5a198 100644 --- a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Model Bundle-SymbolicName: io.cloudbeaver.model;singleton:=true Bundle-Version: 1.0.38.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF index c7e9b59cd4..7847ffbc81 100644 --- a/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Community Product Bundle-SymbolicName: io.cloudbeaver.product.ce;singleton:=true Bundle-Version: 23.2.2.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.resources.drivers.base/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.resources.drivers.base/META-INF/MANIFEST.MF index 709d9344d9..af69da8c47 100644 --- a/server/bundles/io.cloudbeaver.resources.drivers.base/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.resources.drivers.base/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Base JDBC drivers Bundle-SymbolicName: io.cloudbeaver.resources.drivers.base;singleton:=true Bundle-Version: 1.0.83.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-Vendor: DBeaver Corp Bundle-ActivationPolicy: lazy Automatic-Module-Name: io.cloudbeaver.resources.drivers.base diff --git a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF index 2acb2838ed..3dbed2a56a 100644 --- a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Server Bundle-SymbolicName: io.cloudbeaver.server;singleton:=true Bundle-Version: 23.2.2.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-Activator: io.cloudbeaver.server.CBPlatformActivator diff --git a/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF index 6cdf1834b2..915e0dd9e7 100644 --- a/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Service - Administration Bundle-SymbolicName: io.cloudbeaver.service.admin;singleton:=true Bundle-Version: 1.0.82.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF index 69fa39153b..f2b6e3b140 100644 --- a/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Service - Authentication Bundle-SymbolicName: io.cloudbeaver.service.auth;singleton:=true Bundle-Version: 1.0.82.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF index bd43ec731d..c605afe507 100644 --- a/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Service - Data Transfer Bundle-SymbolicName: io.cloudbeaver.service.data.transfer;singleton:=true Bundle-Version: 1.0.83.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF index 9bcd574271..bf2f7e1a43 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Service - Metadata Bundle-SymbolicName: io.cloudbeaver.service.metadata;singleton:=true Bundle-Version: 1.0.86.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF index eaa40f9131..d35fc72577 100644 --- a/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: DBeaver Corp Bundle-Name: Cloudbeaver Web Service - Resource manager Bundle-SymbolicName: io.cloudbeaver.service.rm;singleton:=true Bundle-Version: 1.0.35.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF index 9577a40f07..9141cdee64 100644 --- a/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Vendor: Cloudbeaver Web Service - Security Bundle-Vendor: DBeaver Corp Bundle-SymbolicName: io.cloudbeaver.service.security;singleton:=true Bundle-Version: 1.0.38.qualifier -Bundle-Release-Date: 20230209 +Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . From 226762c5f91de767cbdfd160a0102dd5fdcbc984 Mon Sep 17 00:00:00 2001 From: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com> Date: Mon, 9 Oct 2023 14:19:42 +0200 Subject: [PATCH 0002/1440] CB_2322 chore: update README --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 79a6ab72a4..b82b3ae99c 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,11 @@ You can see live demo of CloudBeaver here: https://demo.cloudbeaver.io ## Changelog +### CloudBeaver 23.2.2 - 2023-10-09 + +- The 'Save credentials' checkbox has been removed from a template creating form as credentials are not stored in templates; +- Different bug fixes and enhancements have been made. + ### CloudBeaver 23.2.1 - 2023-09-25 - The Output tab has been implemented, which includes warnings, info and notices generated by the database when executing user queries; From 01bcf9479d2ae3005cecd26508b0fb9ec9e04f69 Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 9 Oct 2023 15:25:07 +0200 Subject: [PATCH 0003/1440] fix: resolve npm dependencies (#2050) * fix: resolve npm dependencies * fix: types * chore: add manual frontend cache actin running * fix: github workflows * fix: types * fix: types * fix: types --- .github/workflows/frontend-cache.yml | 7 +- .github/workflows/frontend.yml | 2 +- deploy/build.bat | 2 +- deploy/build.sh | 2 +- webapp/package.json | 23 +- .../packages/core-administration/package.json | 32 +- .../core-administration/tsconfig.json | 24 + webapp/packages/core-app/package.json | 24 +- webapp/packages/core-app/src/Body.tsx | 4 +- webapp/packages/core-app/tsconfig.json | 6 +- .../packages/core-authentication/package.json | 32 +- .../resolvers/mockGetActiveUser.ts | 2 +- .../core-authentication/tsconfig.json | 30 + webapp/packages/core-blocks/package.json | 44 +- .../core-blocks/src/ErrorBoundary.tsx | 2 +- .../src/FormControls/InputField.tsx | 15 +- .../src/FormControls/InputFiles.tsx | 2 +- .../core-blocks/src/Menu/MenuItem.tsx | 2 +- .../core-blocks/src/Menu/MenuItemCheckbox.tsx | 2 +- .../core-blocks/src/Menu/MenuItemElement.tsx | 2 +- .../core-blocks/src/Menu/MenuItemRadio.tsx | 2 +- .../src/Menu/ReakitProxyComponent.ts | 9 +- webapp/packages/core-blocks/tsconfig.json | 27 + webapp/packages/core-bootstrap/package.json | 21 +- .../core-browser-cookies/package.json | 19 +- .../core-browser-settings/package.json | 21 +- .../core-browser-settings/tsconfig.json | 3 + webapp/packages/core-browser/package.json | 28 +- .../bin/typescript-resolve-references.js | 3 + .../core-cli/bin/validate-dependencies.js | 215 ++-- .../packages/core-cli/configs/jest.config.js | 2 + webapp/packages/core-cli/package.json | 10 +- webapp/packages/core-connections/package.json | 19 +- .../packages/core-data-context/package.json | 19 +- webapp/packages/core-di/package.json | 24 +- .../app-init/TestBootstrap.ts | 0 .../app-init/TestService.ts | 0 .../app-init/app-init.test.ts | 0 .../{tests => __tests__}/app-init/manifest.ts | 0 webapp/packages/core-dialogs/package.json | 19 +- webapp/packages/core-events/package.json | 24 +- webapp/packages/core-events/tsconfig.json | 12 + webapp/packages/core-executor/package.json | 24 +- webapp/packages/core-extensions/package.json | 8 +- .../packages/core-localization/package.json | 27 +- .../packages/core-localization/tsconfig.json | 21 + .../core-navigation-tree/package.json | 37 +- .../core-navigation-tree/tsconfig.json | 45 + .../packages/core-notifications/package.json | 23 +- webapp/packages/core-plugin/package.json | 8 +- webapp/packages/core-product/package.json | 8 +- webapp/packages/core-projects/package.json | 15 +- .../core-resource-manager/package.json | 15 +- webapp/packages/core-resource/package.json | 20 +- webapp/packages/core-root/package.json | 21 +- webapp/packages/core-root/tsconfig.json | 3 + webapp/packages/core-routing/package.json | 20 +- webapp/packages/core-sdk/package.json | 31 +- webapp/packages/core-settings/package.json | 15 +- webapp/packages/core-theming/package.json | 47 +- .../core-theming/src/styles/_mixins.scss | 34 +- .../core-theming/src/styles/_theme-dark.scss | 4 +- .../core-theming/src/styles/_theme-light.scss | 4 +- .../src/styles/theme-dark.module.scss | 2 +- .../src/styles/theme-light.module.scss | 2 +- webapp/packages/core-theming/tsconfig.json | 24 + webapp/packages/core-ui/package.json | 28 +- webapp/packages/core-utils/package.json | 26 +- .../packages/core-version-update/package.json | 16 +- webapp/packages/core-version/package.json | 17 +- webapp/packages/core-version/src/index.ts | 1 + .../src/useAppVersion.tsx | 3 +- webapp/packages/core-view/package.json | 22 +- .../plugin-administration/package.json | 25 +- .../plugin-administration/tsconfig.json | 12 +- .../package.json | 25 +- .../tsconfig.json | 12 +- .../plugin-authentication/package.json | 25 +- .../plugin-authentication/tsconfig.json | 12 +- webapp/packages/plugin-browser/package.json | 15 +- .../packages/plugin-codemirror6/package.json | 37 +- .../src/ReactCodemirrorPanel.tsx | 7 +- .../src/theme/dark.module.scss | 10 +- .../src/theme/light.module.scss | 8 +- .../packages/plugin-codemirror6/tsconfig.json | 3 + .../plugin-connection-custom/package.json | 24 +- .../plugin-connection-custom/tsconfig.json | 6 +- .../plugin-connection-search/package.json | 22 +- .../plugin-connection-search/tsconfig.json | 6 +- .../plugin-connection-template/package.json | 23 +- .../plugin-connection-template/tsconfig.json | 6 +- .../package.json | 23 +- .../tsconfig.json | 6 +- .../packages/plugin-connections/package.json | 29 +- .../packages/plugin-connections/tsconfig.json | 24 +- webapp/packages/plugin-d3js/package.json | 14 +- .../packages/plugin-data-export/package.json | 56 +- .../packages/plugin-data-export/tsconfig.json | 84 +- .../plugin-data-spreadsheet-new/package.json | 61 +- .../src/styles/themes/dark.module.scss | 2 +- .../src/styles/themes/light.module.scss | 2 +- .../plugin-data-spreadsheet-new/tsconfig.json | 84 +- .../package.json | 25 +- .../tsconfig.json | 12 +- .../packages/plugin-data-viewer/package.json | 57 +- .../packages/plugin-data-viewer/tsconfig.json | 87 +- .../package.json | 25 +- .../tsconfig.json | 12 +- .../packages/plugin-ddl-viewer/package.json | 30 +- .../packages/plugin-ddl-viewer/tsconfig.json | 30 +- webapp/packages/plugin-devtools/package.json | 24 +- webapp/packages/plugin-devtools/tsconfig.json | 12 +- .../packages/plugin-gis-viewer/package.json | 30 +- .../packages/plugin-gis-viewer/tsconfig.json | 6 +- webapp/packages/plugin-help/package.json | 25 +- webapp/packages/plugin-help/tsconfig.json | 18 +- .../packages/plugin-localization/package.json | 19 +- .../plugin-localization/tsconfig.json | 6 +- .../packages/plugin-log-viewer/package.json | 44 +- .../packages/plugin-log-viewer/tsconfig.json | 48 +- .../plugin-navigation-tabs/package.json | 20 +- .../package.json | 26 +- .../plugin-navigation-tree-rm/package.json | 32 +- .../plugin-navigation-tree-rm/tsconfig.json | 18 +- .../plugin-navigation-tree/package.json | 51 +- .../plugin-navigation-tree/tsconfig.json | 69 +- .../plugin-object-viewer/package.json | 29 +- .../Table/styles/base.scss | 2 - .../Table/styles/themes/dark.module.scss | 2 +- .../Table/styles/themes/light.module.scss | 2 +- .../plugin-object-viewer/tsconfig.json | 21 +- webapp/packages/plugin-product/package.json | 25 +- .../plugin-product/src/ProductInfoDialog.tsx | 2 +- webapp/packages/plugin-product/tsconfig.json | 12 +- webapp/packages/plugin-projects/package.json | 22 +- .../plugin-react-data-grid/package.json | 8 +- .../react-data-grid-dist/package.json | 16 +- .../package.json | 22 +- .../tsconfig.json | 6 +- .../package.json | 28 +- .../tsconfig.json | 24 +- .../plugin-resource-manager/package.json | 31 +- .../plugin-resource-manager/tsconfig.json | 24 + webapp/packages/plugin-root/package.json | 20 +- .../plugin-session-expiration/package.json | 22 +- .../plugin-session-expiration/tsconfig.json | 6 +- .../package.json | 15 +- .../plugin-settings-menu/package.json | 21 +- .../plugin-settings-menu/tsconfig.json | 6 +- .../plugin-settings-panel/package.json | 23 +- .../plugin-settings-panel/tsconfig.json | 6 +- .../package.json | 30 +- .../tsconfig.json | 36 +- .../package.json | 29 +- .../tsconfig.json | 24 +- .../plugin-sql-editor-new/package.json | 19 +- .../plugin-sql-editor-new/tsconfig.json | 12 +- .../plugin-sql-editor-screen/package.json | 25 +- .../plugin-sql-editor-screen/tsconfig.json | 12 +- .../packages/plugin-sql-editor/package.json | 58 +- .../packages/plugin-sql-editor/tsconfig.json | 90 +- .../plugin-sql-generator/package.json | 34 +- .../plugin-sql-generator/tsconfig.json | 24 +- webapp/packages/plugin-sso/package.json | 8 +- webapp/packages/plugin-theme/package.json | 19 +- webapp/packages/plugin-theme/tsconfig.json | 6 +- .../packages/plugin-tools-panel/package.json | 22 +- .../packages/plugin-tools-panel/tsconfig.json | 6 +- .../package.json | 19 +- .../tsconfig.json | 6 +- .../packages/plugin-top-app-bar/package.json | 22 +- .../plugin-top-app-bar/src/TopNavBar/Logo.tsx | 2 +- .../packages/plugin-top-app-bar/tsconfig.json | 6 +- .../package.json | 19 +- .../tsconfig.json | 6 +- .../packages/plugin-user-profile/package.json | 25 +- .../plugin-user-profile/tsconfig.json | 12 +- .../package.json | 25 +- webapp/packages/plugin-version/package.json | 18 +- webapp/packages/plugin-version/src/index.ts | 2 - webapp/packages/plugin-version/tsconfig.json | 3 - webapp/packages/product-default/package.json | 28 +- webapp/packages/product-default/tsconfig.json | 36 +- webapp/packages/tests-runner/package.json | 23 +- .../packages/tests-runner/src/renderInApp.tsx | 12 +- webapp/readme.md | 10 +- webapp/yarn.lock | 932 +++++++++--------- yarn.lock | 4 + 188 files changed, 2834 insertions(+), 1921 deletions(-) rename webapp/packages/core-di/src/{tests => __tests__}/app-init/TestBootstrap.ts (100%) rename webapp/packages/core-di/src/{tests => __tests__}/app-init/TestService.ts (100%) rename webapp/packages/core-di/src/{tests => __tests__}/app-init/app-init.test.ts (100%) rename webapp/packages/core-di/src/{tests => __tests__}/app-init/manifest.ts (100%) rename webapp/packages/{plugin-version => core-version}/src/useAppVersion.tsx (87%) create mode 100644 yarn.lock diff --git a/.github/workflows/frontend-cache.yml b/.github/workflows/frontend-cache.yml index ef8d0f1fd9..2adf52545a 100644 --- a/.github/workflows/frontend-cache.yml +++ b/.github/workflows/frontend-cache.yml @@ -6,6 +6,9 @@ on: paths: - "webapp/**" + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + jobs: build_and_test: runs-on: ubuntu-latest @@ -64,10 +67,10 @@ jobs: uses: borales/actions-yarn@v4 with: dir: webapp/packages/product-default - cmd: build + cmd: build # build tyescript source code - name: test uses: borales/actions-yarn@v4 with: dir: webapp - cmd: lerna run test + cmd: lerna run test # build packages that have test script diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 9886e09429..9273521a9e 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -71,7 +71,7 @@ jobs: uses: borales/actions-yarn@v4 with: dir: webapp/packages/product-default - cmd: build + cmd: bundle - name: test uses: borales/actions-yarn@v4 diff --git a/deploy/build.bat b/deploy/build.bat index f31127aa77..28204e7a72 100644 --- a/deploy/build.bat +++ b/deploy/build.bat @@ -57,7 +57,7 @@ cd ..\cloudbeaver\webapp call yarn call yarn lerna bootstrap -call yarn lerna run build --no-bail --stream --scope=@cloudbeaver/product-default &::-- -- --env source-map +call yarn lerna run bundle --no-bail --stream --scope=@cloudbeaver/product-default &::-- -- --env source-map cd ..\deploy diff --git a/deploy/build.sh b/deploy/build.sh index c259dda7a2..dd44cf046c 100755 --- a/deploy/build.sh +++ b/deploy/build.sh @@ -57,7 +57,7 @@ cd ../cloudbeaver/webapp yarn yarn lerna run bootstrap -yarn lerna run build --no-bail --stream --scope=@cloudbeaver/product-default #-- -- --env source-map +yarn lerna run bundle --no-bail --stream --scope=@cloudbeaver/product-default #-- -- --env source-map if [[ "$?" -ne 0 ]] ; then echo 'Application build failed'; exit $rc fi diff --git a/webapp/package.json b/webapp/package.json index 62d3eea0c5..fe865398b6 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -12,31 +12,30 @@ }, "scripts": { "prebuild": "lerna run gql:gen --stream --parallel", - "pretest": "lerna run gql:gen --stream --parallel && yarn lerna run test --scope @cloudbeaver/tests-runner", - "clean-dist": "rimraf --glob lib/*" + "pretest": "lerna run gql:gen --stream --parallel && yarn lerna run test --scope @cloudbeaver/tests-runner" }, "devDependencies": { - "@testing-library/dom": "^9.3.1", + "@testing-library/dom": "^9.3.3", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", - "@types/jest": "^29.5.4", - "@types/react": "~18.0.28", - "@types/react-dom": "~18.2.7", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "@types/react-dom": "^18.2.11", "concurrently": "^8.2.1", "lerna": "5.5.4", - "mobx": "~6.8.0", - "mobx-react-lite": "~4.0.3", - "msw": "^1.3.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "msw": "^1.3.2", "path-browserify": "~1.0.1", "prettier": "^2.8.8", - "react": "~18.2.0", - "react-dom": "~18.2.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", "reakit": "~1.3.11", "reflect-metadata": "~0.1.13", "reshadow": "^0.0.1", "rimraf": "~5.0.1", - "typescript": "5.2.2", + "typescript": "^5.2.2", "typescript-plugin-css-modules": "^5.0.1" }, "dependencies": {}, diff --git a/webapp/packages/core-administration/package.json b/webapp/packages/core-administration/package.json index 7ca5df9fb5..32f87193d2 100644 --- a/webapp/packages/core-administration/package.json +++ b/webapp/packages/core-administration/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-authentication": "~0.1.0", @@ -32,16 +31,23 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "^6.x.x" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-administration/tsconfig.json b/webapp/packages/core-administration/tsconfig.json index 705722ef4a..f426de9229 100644 --- a/webapp/packages/core-administration/tsconfig.json +++ b/webapp/packages/core-administration/tsconfig.json @@ -48,6 +48,30 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-app/package.json b/webapp/packages/core-app/package.json index f75bcbdfe2..141c9d1d58 100644 --- a/webapp/packages/core-app/package.json +++ b/webapp/packages/core-app/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-version": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", @@ -29,14 +28,15 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-ui": "~0.1.0" + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-version": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "peerDependencies": { - "react": "~18.x.x", - "react-dom": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/core-app/src/Body.tsx b/webapp/packages/core-app/src/Body.tsx index 3e611d406c..bf74491a03 100644 --- a/webapp/packages/core-app/src/Body.tsx +++ b/webapp/packages/core-app/src/Body.tsx @@ -8,7 +8,7 @@ import { observer } from 'mobx-react-lite'; import { useLayoutEffect, useRef } from 'react'; -import { DialogsPortal, Loader, s, useResource, useS, useStyles } from '@cloudbeaver/core-blocks'; +import { DialogsPortal, Loader, s, useResource, useS } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { Notifications } from '@cloudbeaver/core-notifications'; import { ProjectInfoResource } from '@cloudbeaver/core-projects'; @@ -17,7 +17,7 @@ import { SessionPermissionsResource } from '@cloudbeaver/core-root'; import { ScreenService } from '@cloudbeaver/core-routing'; import { ThemeService } from '@cloudbeaver/core-theming'; import { DNDProvider } from '@cloudbeaver/core-ui'; -import { useAppVersion } from '@cloudbeaver/plugin-version'; +import { useAppVersion } from '@cloudbeaver/core-version'; import style from './Body.m.css'; diff --git a/webapp/packages/core-app/tsconfig.json b/webapp/packages/core-app/tsconfig.json index 383d8aafda..5b0ec4ac55 100644 --- a/webapp/packages/core-app/tsconfig.json +++ b/webapp/packages/core-app/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-version/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -44,6 +41,9 @@ }, { "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-version/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/core-authentication/package.json b/webapp/packages/core-authentication/package.json index 3075b47896..25668c0991 100644 --- a/webapp/packages/core-authentication/package.json +++ b/webapp/packages/core-authentication/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-data-context": "~0.1.0", @@ -30,14 +29,25 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "msw": "~1.x.x", - "@testing-library/jest-dom": "^6.x.x" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "msw": "~1.x.x", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-authentication/src/__custom_mocks__/resolvers/mockGetActiveUser.ts b/webapp/packages/core-authentication/src/__custom_mocks__/resolvers/mockGetActiveUser.ts index 04b2afa69e..a0f95ea609 100644 --- a/webapp/packages/core-authentication/src/__custom_mocks__/resolvers/mockGetActiveUser.ts +++ b/webapp/packages/core-authentication/src/__custom_mocks__/resolvers/mockGetActiveUser.ts @@ -13,7 +13,7 @@ export function mockGetActiveUser( req: GraphQLRequest, res: ResponseComposition, ctx: GraphQLContext, -) { +): ReturnType> { return res( ctx.data({ user: null as unknown as undefined, diff --git a/webapp/packages/core-authentication/tsconfig.json b/webapp/packages/core-authentication/tsconfig.json index 7c0b7f69d1..22b6f52556 100644 --- a/webapp/packages/core-authentication/tsconfig.json +++ b/webapp/packages/core-authentication/tsconfig.json @@ -47,6 +47,36 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-blocks/package.json b/webapp/packages/core-blocks/package.json index a06b67d354..335b8202f2 100644 --- a/webapp/packages/core-blocks/package.json +++ b/webapp/packages/core-blocks/package.json @@ -3,7 +3,6 @@ "sideEffects": [ "src/**/*.css", "src/**/*.scss", - "public/**", "public/**/*" ], "version": "0.1.0", @@ -11,16 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "go-split": "^3.4.1", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-dialogs": "~0.1.0", @@ -31,18 +28,33 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "reshadow": "~0.x.x", + "@cloudbeaver/core-utils": "~0.1.0", + "go-split": "^3.4.1", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reakit": "~1.x.x", - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "@testing-library/jest-dom": "~6.x.x", - "@testing-library/react": "~13.x.x" + "reakit-utils": "^0.15.2", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@testing-library/react": "^14.0.0", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "react": "^18.2.0", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/core-blocks/src/ErrorBoundary.tsx b/webapp/packages/core-blocks/src/ErrorBoundary.tsx index 95e042db91..89d9976e25 100644 --- a/webapp/packages/core-blocks/src/ErrorBoundary.tsx +++ b/webapp/packages/core-blocks/src/ErrorBoundary.tsx @@ -67,7 +67,7 @@ export class ErrorBoundary extends React.Component | null { const { root, inline, icon, children, className, onClose } = this.props; for (const errorData of this.state.exceptions) { diff --git a/webapp/packages/core-blocks/src/FormControls/InputField.tsx b/webapp/packages/core-blocks/src/FormControls/InputField.tsx index 7952890f72..af0112c3af 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField.tsx @@ -21,7 +21,6 @@ import { useTranslate } from '../localization/useTranslate'; import { s } from '../s'; import { useCombinedHandler } from '../useCombinedHandler'; import { useCombinedRef } from '../useCombinedRef'; -import { useMergeRefs } from '../useMergeRefs'; import { useS } from '../useS'; import { useStateDelay } from '../useStateDelay'; import { useStyles } from '../useStyles'; @@ -70,8 +69,8 @@ interface InputFieldType { (props: ObjectProps): React.ReactElement | null; } -export const InputField: InputFieldType = observer( - forwardRef(function InputField( +export const InputField: InputFieldType = observer, HTMLInputElement>( + forwardRef(function InputField( { name, style, @@ -94,7 +93,7 @@ export const InputField: InputFieldType = observer( onCustomCopy, icon, ...rest - }: ControlledProps | ObjectProps, + }, ref, ) { const inputRef = useRef(null); @@ -202,7 +201,11 @@ export const InputField: InputFieldType = observer( )} - {icon &&
{icon}
} + {icon && ( +
+ {icon} +
+ )} {(description || passwordType) && (
@@ -212,4 +215,4 @@ export const InputField: InputFieldType = observer(
, ); }), -); +) as InputFieldType; diff --git a/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx b/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx index dc9bd10f60..2bd1d6d252 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx @@ -219,4 +219,4 @@ export const InputFiles: InputFilesType = observer( , ); }), -); +) as InputFilesType; diff --git a/webapp/packages/core-blocks/src/Menu/MenuItem.tsx b/webapp/packages/core-blocks/src/Menu/MenuItem.tsx index c7fcfa0678..4f348d4d1a 100644 --- a/webapp/packages/core-blocks/src/Menu/MenuItem.tsx +++ b/webapp/packages/core-blocks/src/Menu/MenuItem.tsx @@ -48,4 +48,4 @@ export const MenuItem: ReakitProxyComponent<'button', MenuItemOptions> = observe ); }, -); +) as ReakitProxyComponent<'button', MenuItemOptions>; diff --git a/webapp/packages/core-blocks/src/Menu/MenuItemCheckbox.tsx b/webapp/packages/core-blocks/src/Menu/MenuItemCheckbox.tsx index 74cdd57dd1..864bd5a0b4 100644 --- a/webapp/packages/core-blocks/src/Menu/MenuItemCheckbox.tsx +++ b/webapp/packages/core-blocks/src/Menu/MenuItemCheckbox.tsx @@ -31,4 +31,4 @@ export const MenuItemCheckbox: ReakitProxyComponent<'button', Options> = observe ); }, -); +) as ReakitProxyComponent<'button', Options>; diff --git a/webapp/packages/core-blocks/src/Menu/MenuItemElement.tsx b/webapp/packages/core-blocks/src/Menu/MenuItemElement.tsx index 2f9ca942e8..01d6ecf8a9 100644 --- a/webapp/packages/core-blocks/src/Menu/MenuItemElement.tsx +++ b/webapp/packages/core-blocks/src/Menu/MenuItemElement.tsx @@ -22,7 +22,7 @@ interface IMenuItemElementProps { displayLabel?: boolean; tooltip?: string; binding?: string; - icon?: string | React.ReactNode; + icon?: React.ReactNode; menu?: boolean; loading?: boolean; panelAvailable?: boolean; diff --git a/webapp/packages/core-blocks/src/Menu/MenuItemRadio.tsx b/webapp/packages/core-blocks/src/Menu/MenuItemRadio.tsx index 4109d6af2e..60b6f44c6a 100644 --- a/webapp/packages/core-blocks/src/Menu/MenuItemRadio.tsx +++ b/webapp/packages/core-blocks/src/Menu/MenuItemRadio.tsx @@ -31,4 +31,4 @@ export const MenuItemRadio: ReakitProxyComponent<'button', Options> = observer ); }, -); +) as ReakitProxyComponent<'button', Options>; diff --git a/webapp/packages/core-blocks/src/Menu/ReakitProxyComponent.ts b/webapp/packages/core-blocks/src/Menu/ReakitProxyComponent.ts index 6f5c507b9f..a86e47fbfd 100644 --- a/webapp/packages/core-blocks/src/Menu/ReakitProxyComponent.ts +++ b/webapp/packages/core-blocks/src/Menu/ReakitProxyComponent.ts @@ -5,12 +5,9 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ -import type { ReactElement } from 'react'; import type { As, PropsWithAs } from 'reakit-utils/types'; -export type ReakitProxyPropsWithAs = Omit, 'children'> & { - children?: React.ReactNode; -}; +export type ReakitProxyPropsWithAs = PropsWithAs; export type ReakitProxyComponentOptions = ReakitProxyPropsWithAs; @@ -20,6 +17,6 @@ export type ReakitProxyComponent = { as: TT; }, context?: any, - ): ReactElement | null; - (props: ReakitProxyPropsWithAs, context?: any): ReactElement | null; + ): React.ReactElement | null; + (props: ReakitProxyPropsWithAs, context?: any): React.ReactElement | null; }; diff --git a/webapp/packages/core-blocks/tsconfig.json b/webapp/packages/core-blocks/tsconfig.json index 09c7aa0139..b6105ed36c 100644 --- a/webapp/packages/core-blocks/tsconfig.json +++ b/webapp/packages/core-blocks/tsconfig.json @@ -39,6 +39,33 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-bootstrap/package.json b/webapp/packages/core-bootstrap/package.json index 2e2a80cdf8..52920e895a 100644 --- a/webapp/packages/core-bootstrap/package.json +++ b/webapp/packages/core-bootstrap/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-administration": "~0.1.0", @@ -44,14 +44,15 @@ "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-version": "~0.1.0", "@cloudbeaver/core-version-update": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "react-dom": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "mobx": "^6.10.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-browser-cookies/package.json b/webapp/packages/core-browser-cookies/package.json index 34b4b288b0..506dbe5303 100644 --- a/webapp/packages/core-browser-cookies/package.json +++ b/webapp/packages/core-browser-cookies/package.json @@ -10,24 +10,19 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-browser-settings": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0" }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "react-dom": "~18.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-browser-settings/package.json b/webapp/packages/core-browser-settings/package.json index 57f0d2d1fa..4370f1252b 100644 --- a/webapp/packages/core-browser-settings/package.json +++ b/webapp/packages/core-browser-settings/package.json @@ -10,26 +10,23 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-plugin": "~0.1.0" }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "react-dom": "~18.x.x" - }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-browser-settings/tsconfig.json b/webapp/packages/core-browser-settings/tsconfig.json index 5ff2cb899a..754e7abe54 100644 --- a/webapp/packages/core-browser-settings/tsconfig.json +++ b/webapp/packages/core-browser-settings/tsconfig.json @@ -17,6 +17,9 @@ { "path": "../core-plugin/tsconfig.json" }, + { + "path": "../core-root/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-browser/package.json b/webapp/packages/core-browser/package.json index 0de2aa4c56..b52032dbbf 100644 --- a/webapp/packages/core-browser/package.json +++ b/webapp/packages/core-browser/package.json @@ -10,30 +10,24 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-di": "~0.1.0", + "@cloudbeaver/core-executor": "~0.1.0", + "@cloudbeaver/core-utils": "~0.1.0", "dexie": "^3.2.4", "workbox-core": "~7.x.x", "workbox-precaching": "~7.x.x", - "workbox-routing": "~7.x.x", - "workbox-window": "~7.x.x", - "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-executor": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "react-dom": "~18.x.x" + "workbox-window": "~7.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-cli/bin/typescript-resolve-references.js b/webapp/packages/core-cli/bin/typescript-resolve-references.js index 18d44c19a7..0109b70b19 100755 --- a/webapp/packages/core-cli/bin/typescript-resolve-references.js +++ b/webapp/packages/core-cli/bin/typescript-resolve-references.js @@ -26,6 +26,9 @@ typescriptConfig.references = []; // typescriptRootConfig.references = typescriptRootConfig.references || []; for (const dependency of dependencies) { + if (!dependency.startsWith('@cloudbeaver')) { + continue; + } const dependencyPath = resolve(require.resolve(join(dependency, 'src', 'index.ts'), { paths: nodeModules }), '../../tsconfig.json'); typescriptConfig.references.push({ path: upath.relative(currentDir, dependencyPath), diff --git a/webapp/packages/core-cli/bin/validate-dependencies.js b/webapp/packages/core-cli/bin/validate-dependencies.js index 13c17bad23..7ff47d951e 100755 --- a/webapp/packages/core-cli/bin/validate-dependencies.js +++ b/webapp/packages/core-cli/bin/validate-dependencies.js @@ -4,142 +4,157 @@ 'use strict'; process.title = 'core-filter-deps'; +const glob = require('glob'); const fs = require('fs'); const path = require('path'); // Resolve current root -const root = path.resolve('.'); +const currentPackageRoot = path.resolve('.'); // Replace with the correct path to the `package.json` file -const packageJsonPath = path.join(root, 'package.json'); +const currentPackagePath = path.join(currentPackageRoot, 'package.json'); // Replace with the correct path to the `src` directory -const srcDir = path.join(root, 'src'); +const currentPackageSrcPath = path.join(currentPackageRoot, 'src'); // Read the contents of the `package.json` file -const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); - -// Keep track of the dependencies that were found in the .ts files -const cloudbeaverDependencies = new Set(); -const cloudbeaverDevDependencies = new Set(); - -// A helper function that recursively processes a directory and its subdirectories -function processDirectory(directory) { - // Iterate over all files in the directory - fs.readdirSync(directory).forEach(file => { - // Check if the file is a directory - const filePath = path.join(directory, file); - const fileStat = fs.statSync(filePath); - - if (fileStat.isDirectory()) { - // If it is, recursively process the subdirectory - processDirectory(filePath); +const currentPackage = JSON.parse(fs.readFileSync(currentPackagePath, 'utf8')); + +// Keep track of the dependencies that were found in the source files +const dependencies = new Set(); +const devDependencies = new Set(); + +const sourceFilesIterator = glob.globIterateSync('**/*.{ts,tsx,scss,css}', { cwd: currentPackageSrcPath }); +const importRegex = /(import|export) ((type |)([\w,\s]*?)(\{[\w\s\n,]*?\}|) from |)['"]((@[\w-]*\/[\w-]*)|([^\\.].*?))(\/.*)*['"]/g; +const testFileRegex = /((__custom_mocks__|__tests__).*|\.test)\.tsx?$/i; +const tsFileRegex = /\.ts$/i; +const tsxFileRegex = /\.tsx$/i; +const styleFileRegex = /\.s?css$/i; +const cssModuleFileRegex = /\.(m|module)\.s?css$/i; + +for (const file of sourceFilesIterator) { + const isCSSModuleFileRegex = cssModuleFileRegex.test(file); + const isTSFileRegex = tsFileRegex.test(file); + const isStyleFileRegex = styleFileRegex.test(file); + const isTSXFileRegex = tsxFileRegex.test(file); + const isTestFile = testFileRegex.test(file); + + if (isTSFileRegex) { + devDependencies.add('typescript'); + } + + if (isCSSModuleFileRegex) { + devDependencies.add('typescript-plugin-css-modules'); + } + + if (isTestFile) { + devDependencies.add('@types/jest'); + } + + if (isTSXFileRegex) { + if (isTestFile) { + devDependencies.add('react'); } else { - // Otherwise, check if the file is a .ts/.tsx file - const extensions = /(? { - const dep = match.split('/')[1].replace(/['"]/g, ''); - const fullDep = `@cloudbeaver/${dep}`; - - cloudbeaverDependencies.add(fullDep); - }); - } - } else if (/\.test.tsx?$/i.test(file)) { - //@cloudbeaver/tests-runner - // Read the contents of the file - const fileContent = fs.readFileSync(filePath, 'utf8'); - const regex = /import\s+(type\s+|)(\{[^}]*\}|\w+)\s+from\s+['"]@cloudbeaver\/tests-runner(\/[^'"]*)?['"]/g; - const matches = fileContent.match(regex); - if (matches?.length) { - cloudbeaverDevDependencies.add('@cloudbeaver/tests-runner'); - } - } + dependencies.add('react'); + } + devDependencies.add('@types/react'); + } + + const fileContent = fs.readFileSync(path.join(currentPackageSrcPath, file), 'utf8'); + const matches = fileContent.matchAll(importRegex); + for (const match of matches) { + const dep = match[6]; + + if (isStyleFileRegex || isTestFile) { + devDependencies.add(dep); + continue; } - }); -} -// Start processing the `src` directory -processDirectory(srcDir); + dependencies.add(dep); + } +} -packageJson.sideEffects = packageJson.sideEffects || []; +currentPackage.sideEffects = currentPackage.sideEffects || []; const sideEffects = ['src/**/*.css', 'src/**/*.scss', 'public/**/*']; for (const sideEffect of sideEffects) { - if (!packageJson.sideEffects.includes(sideEffect)) { - packageJson.sideEffects.push(sideEffect); + if (!currentPackage.sideEffects.includes(sideEffect)) { + currentPackage.sideEffects.push(sideEffect); } } -packageJson.peerDependencies = packageJson.peerDependencies || {}; +const newDependencies = [...dependencies].sort(sortDependencies); -const isProduct = /^@cloudbeaver\/product-.+$/.test(packageJson.name) || true; +logUnmetAndExtraDependencies('dependencies', newDependencies, currentPackage.dependencies); -const dependenciesToRemove = isProduct ? packageJson.peerDependencies : packageJson.dependencies; -const dependenciesToAdd = isProduct ? packageJson.dependencies : packageJson.peerDependencies; +currentPackage.dependencies = newDependencies.reduce( + (acc, dep) => ({ + ...acc, + [dep]: getVersion(dep, acc?.[dep]), + }), + currentPackage.dependencies, +); -for (const dep in dependenciesToRemove) { - if (dep.includes('@cloudbeaver')) { - delete dependenciesToRemove[dep]; - } -} +const newDevDependencies = [...devDependencies].sort(sortDependencies); -// Iterate over the dependencies in the `package.json` file -for (const dep in dependenciesToAdd) { - // If a dependency was not found in any of the .ts/.tsx files, delete it from the `package.json` file - // Make sure we are deleting only internal dependencies - if (dep.includes('@cloudbeaver') && !cloudbeaverDependencies.has(dep)) { - delete dependenciesToAdd[dep]; - } -} +logUnmetAndExtraDependencies('dev dependencies', newDevDependencies, currentPackage.devDependencies); -// Plugins first, core packages after -const sortedDependencies = [...cloudbeaverDependencies.values()].sort((a, b) => { - const aPlugin = a.includes('plugin-'); - const bPlugin = b.includes('plugin-'); +currentPackage.devDependencies = [...devDependencies].sort(sortDependencies).reduce( + (acc, dep) => ({ + ...acc, + [dep]: getVersion(dep, acc?.[dep]), + }), + currentPackage.devDependencies, +); + +// Write the updated `package.json` +fs.writeFileSync(currentPackagePath, JSON.stringify(currentPackage, null, 2) + '\n', 'utf8'); - if (aPlugin && bPlugin) { - return a.localeCompare(b); +function getVersion(dependency, current) { + if (dependency.startsWith('@cloudbeaver')) { + return '~0.1.0'; } - if (aPlugin && !bPlugin) { - return -1; + if (current) { + return current; } - if (!aPlugin && bPlugin) { - return 1; + try { + if (fs.existsSync(path.join(require.resolve(dependency), 'package.json')) === false) { + console.error(`Dependency ${dependency} not found`); + return '*'; + } + } catch { + try { + if (fs.existsSync(path.join('@types', require.resolve(dependency), 'package.json')) === false) { + console.error(`Dependency ${dependency} not found`); + return '*'; + } else { + return '^' + require(path.join('@types', require.resolve(dependency), 'package.json')).version; + } + } catch { + console.error(`Dependency ${dependency} not found`); + return '*'; + } } - return a.localeCompare(b); -}); + return '^' + require(path.join(dependency, 'package.json')).version; +} -// Add the dependencies that were found in the .ts/.tsx files to the `package.json` file -sortedDependencies.forEach(dep => { - if (!dependenciesToAdd[dep]) { - dependenciesToAdd[dep] = '~0.1.0'; - } -}); +function sortDependencies(a, b) { + return a.localeCompare(b); +} -packageJson.devDependencies = packageJson.devDependencies || {}; -const devDependencies = packageJson.devDependencies; +function logUnmetAndExtraDependencies(key, newDependencies, current) { + const unmetDependencies = newDependencies.filter(dep => !current?.[dep]); + const extraDependencies = Object.keys(current || {}).filter(dep => !newDependencies.includes(dep)); -const sortedDevDependencies = [...cloudbeaverDevDependencies.values()].sort((a, b) => a.localeCompare(b)); + if (unmetDependencies.length > 0) { + console.warn(`Unmet ${key} found:`, unmetDependencies); + } -for (const dep of sortedDevDependencies) { - if (!devDependencies[dep]) { - devDependencies[dep] = '~0.1.0'; + if (extraDependencies.length > 0) { + console.warn(`Extra ${key} found:`, extraDependencies); } } - -// Write the updated `package.json` -fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf8'); diff --git a/webapp/packages/core-cli/configs/jest.config.js b/webapp/packages/core-cli/configs/jest.config.js index bb5d6b1f4a..d59490086f 100644 --- a/webapp/packages/core-cli/configs/jest.config.js +++ b/webapp/packages/core-cli/configs/jest.config.js @@ -5,6 +5,8 @@ const path = require('path'); module.exports = { testEnvironment: 'jsdom', rootDir: path.resolve('./dist'), + moduleFileExtensions: ['js', 'jsx', 'json'], + testMatch: ['**/?(*.)+(spec|test).js?(x)'], transformIgnorePatterns: [ '\\.pnp\\.[^\\/]+$', 'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)', diff --git a/webapp/packages/core-cli/package.json b/webapp/packages/core-cli/package.json index 0f603968a8..1ecf7e89c4 100644 --- a/webapp/packages/core-cli/package.json +++ b/webapp/packages/core-cli/package.json @@ -30,11 +30,9 @@ "dependencies": { "@babel/cli": "~7.22.15", "@babel/core": "~7.22.15", - "@babel/plugin-proposal-class-properties": "~7.18.6", "@babel/plugin-proposal-decorators": "~7.22.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.7", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-transform-optional-chaining": "^7.21.0", "@babel/plugin-transform-runtime": "~7.22.15", "@babel/preset-env": "~7.22.15", "@babel/preset-react": "~7.22.15", @@ -72,12 +70,12 @@ }, "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@types/jest": "~29.5.4", + "@types/jest": "^29.5.5", "@types/madge": "^5.0.0", "allure-commandline": "^2.22.1", "babel-jest": "~29.6.4", - "crypto": "^1.0.1", "fake-indexeddb": "^4.0.2", + "glob": "^10.3.10", "http-proxy": "^1.18.1", "jest": "~29.6.4", "jest-allure": "^0.1.3", diff --git a/webapp/packages/core-connections/package.json b/webapp/packages/core-connections/package.json index c941a28b79..3c9065781e 100644 --- a/webapp/packages/core-connections/package.json +++ b/webapp/packages/core-connections/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-authentication": "~0.1.0", @@ -32,13 +32,12 @@ "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "react": "^18.2.0" }, - "peerDependencies": { - "react": "~18.x.x", - "react-dom": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-data-context/package.json b/webapp/packages/core-data-context/package.json index 8afe9b2835..459655ca21 100644 --- a/webapp/packages/core-data-context/package.json +++ b/webapp/packages/core-data-context/package.json @@ -10,21 +10,20 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "react": "^18.2.0" }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-di/package.json b/webapp/packages/core-di/package.json index cd098cf320..442b6bdb35 100644 --- a/webapp/packages/core-di/package.json +++ b/webapp/packages/core-di/package.json @@ -10,22 +10,22 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "inversify": "~6.0.1", - "@cloudbeaver/core-executor": "~0.1.0" + "@cloudbeaver/core-executor": "~0.1.0", + "inversify": "^6.0.1", + "react": "^18.2.0" }, - "peerDependencies": { - "react": "~18.x.x", - "@testing-library/jest-dom": "~6.x.x", - "@testing-library/react": "~13.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "@types/jest": "^29.5.5" + } } diff --git a/webapp/packages/core-di/src/tests/app-init/TestBootstrap.ts b/webapp/packages/core-di/src/__tests__/app-init/TestBootstrap.ts similarity index 100% rename from webapp/packages/core-di/src/tests/app-init/TestBootstrap.ts rename to webapp/packages/core-di/src/__tests__/app-init/TestBootstrap.ts diff --git a/webapp/packages/core-di/src/tests/app-init/TestService.ts b/webapp/packages/core-di/src/__tests__/app-init/TestService.ts similarity index 100% rename from webapp/packages/core-di/src/tests/app-init/TestService.ts rename to webapp/packages/core-di/src/__tests__/app-init/TestService.ts diff --git a/webapp/packages/core-di/src/tests/app-init/app-init.test.ts b/webapp/packages/core-di/src/__tests__/app-init/app-init.test.ts similarity index 100% rename from webapp/packages/core-di/src/tests/app-init/app-init.test.ts rename to webapp/packages/core-di/src/__tests__/app-init/app-init.test.ts diff --git a/webapp/packages/core-di/src/tests/app-init/manifest.ts b/webapp/packages/core-di/src/__tests__/app-init/manifest.ts similarity index 100% rename from webapp/packages/core-di/src/tests/app-init/manifest.ts rename to webapp/packages/core-di/src/__tests__/app-init/manifest.ts diff --git a/webapp/packages/core-dialogs/package.json b/webapp/packages/core-dialogs/package.json index d9dad3e26a..c94f4cf87a 100644 --- a/webapp/packages/core-dialogs/package.json +++ b/webapp/packages/core-dialogs/package.json @@ -10,23 +10,20 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, - "peerDependencies": { - "reakit": "~1.x.x", - "react": "~18.x.x", - "mobx": "~6.x.x", - "reshadow": "~0.x.x", - "mobx-react-lite": "~3.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-events/package.json b/webapp/packages/core-events/package.json index 3cac14bfec..2934b46730 100644 --- a/webapp/packages/core-events/package.json +++ b/webapp/packages/core-events/package.json @@ -10,26 +10,30 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", "@cloudbeaver/core-plugin": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-events/tsconfig.json b/webapp/packages/core-events/tsconfig.json index 8aa000cb5f..8400f58de2 100644 --- a/webapp/packages/core-events/tsconfig.json +++ b/webapp/packages/core-events/tsconfig.json @@ -21,6 +21,18 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-executor/package.json b/webapp/packages/core-executor/package.json index 0b61916c91..33f40c2092 100644 --- a/webapp/packages/core-executor/package.json +++ b/webapp/packages/core-executor/package.json @@ -9,25 +9,19 @@ "description": "", "license": "Apache-2.0", "main": "dist/index.js", - "files": [ - "lib", - "src", - "public", - ".gitignore", - "package.json" - ], "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, - "dependencies": {}, - "peerDependencies": { - "mobx": "~6.x.x" + "dependencies": { + "mobx": "^6.10.2" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-extensions/package.json b/webapp/packages/core-extensions/package.json index cbec51365b..a20848f2a1 100644 --- a/webapp/packages/core-extensions/package.json +++ b/webapp/packages/core-extensions/package.json @@ -10,13 +10,15 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": {}, "peerDependencies": {}, - "devDependencies": {} + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-localization/package.json b/webapp/packages/core-localization/package.json index 31c86da0c4..8e61a2c9a0 100644 --- a/webapp/packages/core-localization/package.json +++ b/webapp/packages/core-localization/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", @@ -25,13 +24,21 @@ "@cloudbeaver/core-plugin": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-settings": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-settings": "~0.1.0", + "mobx": "^6.10.2" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-localization/tsconfig.json b/webapp/packages/core-localization/tsconfig.json index 3a34232e64..9f5afed210 100644 --- a/webapp/packages/core-localization/tsconfig.json +++ b/webapp/packages/core-localization/tsconfig.json @@ -27,6 +27,27 @@ { "path": "../core-settings/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-navigation-tree/package.json b/webapp/packages/core-navigation-tree/package.json index 5deee1bc88..85b54438bc 100644 --- a/webapp/packages/core-navigation-tree/package.json +++ b/webapp/packages/core-navigation-tree/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-app": "~0.1.0", @@ -31,15 +30,29 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-navigation-tree/tsconfig.json b/webapp/packages/core-navigation-tree/tsconfig.json index 088bf1d8df..a43479013e 100644 --- a/webapp/packages/core-navigation-tree/tsconfig.json +++ b/webapp/packages/core-navigation-tree/tsconfig.json @@ -45,6 +45,51 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-notifications/package.json b/webapp/packages/core-notifications/package.json index 9d538eb197..ebbaf32c30 100644 --- a/webapp/packages/core-notifications/package.json +++ b/webapp/packages/core-notifications/package.json @@ -10,25 +10,26 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-dialogs": "~0.1.0", - "@cloudbeaver/core-events": "~0.1.0" - }, - "peerDependencies": { - "reshadow": "~0.x.x", - "react": "~18.x.x", - "react-dom": "~18.x.x", + "@cloudbeaver/core-events": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reakit": "~1.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x" + "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-plugin/package.json b/webapp/packages/core-plugin/package.json index 70a60b7a7c..8bc6034832 100644 --- a/webapp/packages/core-plugin/package.json +++ b/webapp/packages/core-plugin/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", @@ -22,5 +22,7 @@ "@cloudbeaver/core-settings": "~0.1.0" }, "peerDependencies": {}, - "devDependencies": {} + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-product/package.json b/webapp/packages/core-product/package.json index 26111e413e..6fe1a47671 100644 --- a/webapp/packages/core-product/package.json +++ b/webapp/packages/core-product/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", @@ -23,5 +23,7 @@ "@cloudbeaver/core-utils": "~0.1.0" }, "peerDependencies": {}, - "devDependencies": {} + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-projects/package.json b/webapp/packages/core-projects/package.json index 66ee9d2d96..89cf8f3925 100644 --- a/webapp/packages/core-projects/package.json +++ b/webapp/packages/core-projects/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-authentication": "~0.1.0", @@ -26,10 +26,11 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, - "peerDependencies": { - "mobx": "~6.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-resource-manager/package.json b/webapp/packages/core-resource-manager/package.json index d0ccf7b69f..e2dce26857 100644 --- a/webapp/packages/core-resource-manager/package.json +++ b/webapp/packages/core-resource-manager/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-administration": "~0.1.0", @@ -26,10 +26,11 @@ "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, - "peerDependencies": { - "mobx": "~6.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-resource/package.json b/webapp/packages/core-resource/package.json index 952d98bbf3..cfdb512c4a 100644 --- a/webapp/packages/core-resource/package.json +++ b/webapp/packages/core-resource/package.json @@ -10,21 +10,23 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, - "devDependencies": {}, - "peerDependencies": { - "mobx": "~6.x.x" - } + "devDependencies": { + "@types/jest": "^29.5.5", + "mobx": "^6.10.2", + "typescript": "^5.2.2" + }, + "peerDependencies": {} } diff --git a/webapp/packages/core-root/package.json b/webapp/packages/core-root/package.json index 726b55b8dd..93bfb237b3 100644 --- a/webapp/packages/core-root/package.json +++ b/webapp/packages/core-root/package.json @@ -10,24 +10,27 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "rxjs": "7.8.1", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "rxjs": "^7.8.1" }, - "peerDependencies": { - "mobx": "~6.x.x", - "msw": "~1.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@cloudbeaver/core-sdk": "~0.1.0", + "@types/jest": "^29.5.5", + "msw": "~1.x.x", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-root/tsconfig.json b/webapp/packages/core-root/tsconfig.json index 219db9dec5..f15a07e87d 100644 --- a/webapp/packages/core-root/tsconfig.json +++ b/webapp/packages/core-root/tsconfig.json @@ -28,6 +28,9 @@ }, { "path": "../core-utils/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/core-routing/package.json b/webapp/packages/core-routing/package.json index 59f07ba7f2..ae5aed6653 100644 --- a/webapp/packages/core-routing/package.json +++ b/webapp/packages/core-routing/package.json @@ -10,22 +10,22 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "router5": "~8.0.1", - "router5-plugin-browser": "~8.0.1", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "router5": "^8.0.1", + "router5-plugin-browser": "^8.0.1" }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-sdk/package.json b/webapp/packages/core-sdk/package.json index a8f8b319ee..3872b6df76 100644 --- a/webapp/packages/core-sdk/package.json +++ b/webapp/packages/core-sdk/package.json @@ -10,25 +10,22 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "prebuild": "rimraf node_modules", - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", - "pregql:gen": "rimraf node_modules", - "gql:gen": "graphql-codegen", - "pregql:gen:dev": "rimraf node_modules", - "gql:gen:dev": "graphql-codegen --watch", + "clean": "rimraf node_modules", + "build": "yarn run gql:gen && tsc -b", + "gql:gen": "yarn run clean && graphql-codegen", + "gql:gen:dev": "yarn run clean && graphql-codegen --watch", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "axios": "~1.5.0", - "graphql": "~16.x.x", - "graphql-request": "~6.1.0", "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "axios": "^1.5.0", + "graphql-request": "^6.1.0", + "mobx": "^6.10.2" }, "devDependencies": { "@graphql-codegen/add": "~5.0.0", @@ -38,9 +35,9 @@ "@graphql-codegen/typescript-graphql-files-modules": "~2.2.1", "@graphql-codegen/typescript-graphql-request": "~5.0.0", "@graphql-codegen/typescript-operations": "~4.0.1", - "@parcel/watcher": "~2.3.0" + "@parcel/watcher": "~2.3.0", + "graphql": "^16.8.1", + "typescript": "^5.2.2" }, - "peerDependencies": { - "mobx": "~6.x.x" - } + "peerDependencies": {} } diff --git a/webapp/packages/core-settings/package.json b/webapp/packages/core-settings/package.json index c94f6e29ce..9295e74238 100644 --- a/webapp/packages/core-settings/package.json +++ b/webapp/packages/core-settings/package.json @@ -10,20 +10,21 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-browser": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2" }, - "peerDependencies": { - "mobx": "~6.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-theming/package.json b/webapp/packages/core-theming/package.json index ac07b6357f..e956329d35 100644 --- a/webapp/packages/core-theming/package.json +++ b/webapp/packages/core-theming/package.json @@ -10,15 +10,34 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-di": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-executor": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "mobx": "^6.10.2" + }, + "peerDependencies": {}, + "devDependencies": { + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", "@fontsource/roboto": "^5.0.8", "@material/button": "~4.0.0", "@material/checkbox": "~4.0.0", @@ -29,21 +48,9 @@ "@material/switch": "~4.0.0", "@material/theme": "~4.0.0", "@material/typography": "~4.0.0", - "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-events": "~0.1.0", - "@cloudbeaver/core-executor": "~0.1.0", - "@cloudbeaver/core-localization": "~0.1.0", - "@cloudbeaver/core-plugin": "~0.1.0", - "@cloudbeaver/core-root": "~0.1.0", - "@cloudbeaver/core-settings": "~0.1.0" - }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/core-theming/src/styles/_mixins.scss b/webapp/packages/core-theming/src/styles/_mixins.scss index 54b6c32eac..d49753e402 100644 --- a/webapp/packages/core-theming/src/styles/_mixins.scss +++ b/webapp/packages/core-theming/src/styles/_mixins.scss @@ -9,20 +9,20 @@ @import '@material/theme/mixins'; @import '@material/ripple/mixins'; @import '@material/button/mixins'; -@import "@material/elevation/mixins"; -@import "@material/typography/mixins"; -@import 'variables'; -@import 'theme'; -@import 'color-scheme'; -@import "layout-grid"; -@import 'branding'; -@import 'theme-ripple'; -@import 'ripple'; -@import 'color'; -@import 'button'; -@import 'radio'; -@import 'switch'; -@import 'checkbox'; -@import 'placeholder'; -@import 'form-controls'; -@import 'link'; +@import '@material/elevation/mixins'; +@import '@material/typography/mixins'; +@import './variables'; +@import './theme'; +@import './color-scheme'; +@import './layout-grid'; +@import './branding'; +@import './theme-ripple'; +@import './ripple'; +@import './color'; +@import './button'; +@import './radio'; +@import './switch'; +@import './checkbox'; +@import './placeholder'; +@import './form-controls'; +@import './link'; diff --git a/webapp/packages/core-theming/src/styles/_theme-dark.scss b/webapp/packages/core-theming/src/styles/_theme-dark.scss index 483809d8c2..24408f0c17 100644 --- a/webapp/packages/core-theming/src/styles/_theme-dark.scss +++ b/webapp/packages/core-theming/src/styles/_theme-dark.scss @@ -75,6 +75,6 @@ $mdc-ripple-light-ink-opacities: ( activated: 0.1, ) !default; -$theme-name: "dark"; +$theme-name: 'dark'; -@import "mixins"; +@import './mixins'; diff --git a/webapp/packages/core-theming/src/styles/_theme-light.scss b/webapp/packages/core-theming/src/styles/_theme-light.scss index a2a39615c2..cbbdb22334 100644 --- a/webapp/packages/core-theming/src/styles/_theme-light.scss +++ b/webapp/packages/core-theming/src/styles/_theme-light.scss @@ -58,6 +58,6 @@ $mdc-theme-text-colors: ( ), ); -$theme-name: "light"; +$theme-name: 'light'; -@import "mixins"; +@import './mixins'; diff --git a/webapp/packages/core-theming/src/styles/theme-dark.module.scss b/webapp/packages/core-theming/src/styles/theme-dark.module.scss index 5a3604571c..cc48f757dc 100644 --- a/webapp/packages/core-theming/src/styles/theme-dark.module.scss +++ b/webapp/packages/core-theming/src/styles/theme-dark.module.scss @@ -6,7 +6,7 @@ * you may not use this file except in compliance with the License. */ -@import 'theme-dark'; +@import './theme-dark'; @include theme-matcher; @include layout-grid; diff --git a/webapp/packages/core-theming/src/styles/theme-light.module.scss b/webapp/packages/core-theming/src/styles/theme-light.module.scss index dd99c2d0af..45ed326918 100644 --- a/webapp/packages/core-theming/src/styles/theme-light.module.scss +++ b/webapp/packages/core-theming/src/styles/theme-light.module.scss @@ -6,7 +6,7 @@ * you may not use this file except in compliance with the License. */ -@import 'theme-light'; +@import './theme-light'; @include theme-matcher; @include layout-grid; diff --git a/webapp/packages/core-theming/tsconfig.json b/webapp/packages/core-theming/tsconfig.json index a3f873f00a..b810a03bc1 100644 --- a/webapp/packages/core-theming/tsconfig.json +++ b/webapp/packages/core-theming/tsconfig.json @@ -27,6 +27,30 @@ { "path": "../core-settings/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/core-ui/package.json b/webapp/packages/core-ui/package.json index 0ddd2d9d25..f6c87c38c8 100644 --- a/webapp/packages/core-ui/package.json +++ b/webapp/packages/core-ui/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "react-dnd": "~16.0.1", - "react-dnd-html5-backend": "~16.0.1", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -30,13 +28,19 @@ "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" + "@cloudbeaver/core-view": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-dnd": "^16.0.1", + "react-dnd-html5-backend": "^16.0.1", + "reakit": "~1.x.x", + "reshadow": "~0.x.x" }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "reakit": "~1.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/core-utils/package.json b/webapp/packages/core-utils/package.json index d670dcb44e..739af559e8 100644 --- a/webapp/packages/core-utils/package.json +++ b/webapp/packages/core-utils/package.json @@ -10,28 +10,28 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@timohausmann/quadtree-ts": "~2.0.0-beta.1", - "clsx": "~2.0.0", - "fast-deep-equal": "~3.1.3", - "md5": "~2.3.0", + "@timohausmann/quadtree-ts": "^2.0.0-beta.1", + "clsx": "^2.0.0", + "fast-deep-equal": "^3.1.3", + "md5": "^2.3.0", + "mobx": "^6.10.2", "underscore": "^1.13.6", - "uuid": "~9.0.0" - }, - "peerDependencies": { - "mobx": "~6.x.x" + "uuid": "^9.0.1" }, + "peerDependencies": {}, "devDependencies": { "@types/md5": "~2.3.2", "@types/uuid": "~9.0.3", - "@types/underscore": "^1.11.9" + "@types/underscore": "^1.11.9", + "typescript": "^5.2.2", + "@types/jest": "^29.5.5" } } diff --git a/webapp/packages/core-version-update/package.json b/webapp/packages/core-version-update/package.json index b9330cf722..de3afe2454 100644 --- a/webapp/packages/core-version-update/package.json +++ b/webapp/packages/core-version-update/package.json @@ -10,22 +10,22 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "semver": "~7.5.4", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", - "@cloudbeaver/core-version": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x" + "@cloudbeaver/core-version": "~0.1.0", + "mobx": "^6.10.2", + "semver": "^7.5.4" }, + "peerDependencies": {}, "devDependencies": { - "@types/semver": "~7.5.1" + "@types/semver": "~7.5.1", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/core-version/package.json b/webapp/packages/core-version/package.json index 7f6c1f49e8..7ff4ea84af 100644 --- a/webapp/packages/core-version/package.json +++ b/webapp/packages/core-version/package.json @@ -10,21 +10,24 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "react": "^18.2.0" }, - "peerDependencies": { - "mobx": "~6.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/core-version/src/index.ts b/webapp/packages/core-version/src/index.ts index 8633dc16d8..e52df73284 100644 --- a/webapp/packages/core-version/src/index.ts +++ b/webapp/packages/core-version/src/index.ts @@ -2,3 +2,4 @@ export { manifest as coreVersionManifest } from './manifest'; export * from './VersionResource'; export * from './VersionService'; +export * from './useAppVersion'; diff --git a/webapp/packages/plugin-version/src/useAppVersion.tsx b/webapp/packages/core-version/src/useAppVersion.tsx similarity index 87% rename from webapp/packages/plugin-version/src/useAppVersion.tsx rename to webapp/packages/core-version/src/useAppVersion.tsx index 0c5f9375fd..31059b6ef9 100644 --- a/webapp/packages/plugin-version/src/useAppVersion.tsx +++ b/webapp/packages/core-version/src/useAppVersion.tsx @@ -6,7 +6,8 @@ * you may not use this file except in compliance with the License. */ import { useService } from '@cloudbeaver/core-di'; -import { VersionService } from '@cloudbeaver/core-version'; + +import { VersionService } from './VersionService'; export function useAppVersion(short = false) { const versionService = useService(VersionService); diff --git a/webapp/packages/core-view/package.json b/webapp/packages/core-view/package.json index 85469eb8b4..63dc85a7f6 100644 --- a/webapp/packages/core-view/package.json +++ b/webapp/packages/core-view/package.json @@ -10,27 +10,29 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "react-hotkeys-hook": "~4.4.1", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-extensions": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-hotkeys-hook": "^4.4.1", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-administration/package.json b/webapp/packages/plugin-administration/package.json index 32035218e1..7b157114b1 100644 --- a/webapp/packages/plugin-administration/package.json +++ b/webapp/packages/plugin-administration/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-administration": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -33,13 +31,18 @@ "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-administration/tsconfig.json b/webapp/packages/plugin-administration/tsconfig.json index 58fb094fb5..13cd7659b8 100644 --- a/webapp/packages/plugin-administration/tsconfig.json +++ b/webapp/packages/plugin-administration/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-administration/tsconfig.json" }, @@ -56,6 +50,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-authentication-administration/package.json b/webapp/packages/plugin-authentication-administration/package.json index 813ac13f25..f306ecbc54 100644 --- a/webapp/packages/plugin-authentication-administration/package.json +++ b/webapp/packages/plugin-authentication-administration/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-administration": "~0.1.0", - "@cloudbeaver/plugin-authentication": "~0.1.0", "@cloudbeaver/core-administration": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -35,13 +33,18 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-administration": "~0.1.0", + "@cloudbeaver/plugin-authentication": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-authentication-administration/tsconfig.json b/webapp/packages/plugin-authentication-administration/tsconfig.json index 79c5991084..e2b442d62d 100644 --- a/webapp/packages/plugin-authentication-administration/tsconfig.json +++ b/webapp/packages/plugin-authentication-administration/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-administration/tsconfig.json" - }, - { - "path": "../plugin-authentication/tsconfig.json" - }, { "path": "../core-administration/tsconfig.json" }, @@ -62,6 +56,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-administration/tsconfig.json" + }, + { + "path": "../plugin-authentication/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-authentication/package.json b/webapp/packages/plugin-authentication/package.json index a68484d5ea..49ba773ac3 100644 --- a/webapp/packages/plugin-authentication/package.json +++ b/webapp/packages/plugin-authentication/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-administration": "~0.1.0", - "@cloudbeaver/plugin-settings-menu": "~0.1.0", "@cloudbeaver/core-administration": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -33,13 +31,18 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-administration": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-authentication/tsconfig.json b/webapp/packages/plugin-authentication/tsconfig.json index a9b692c1ca..3ce20f9f2f 100644 --- a/webapp/packages/plugin-authentication/tsconfig.json +++ b/webapp/packages/plugin-authentication/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-administration/tsconfig.json" - }, - { - "path": "../plugin-settings-menu/tsconfig.json" - }, { "path": "../core-administration/tsconfig.json" }, @@ -56,6 +50,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-administration/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-browser/package.json b/webapp/packages/plugin-browser/package.json index 4e398a6681..16dad6c3bd 100644 --- a/webapp/packages/plugin-browser/package.json +++ b/webapp/packages/plugin-browser/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-blocks": "~0.1.0", @@ -23,11 +23,8 @@ "@cloudbeaver/core-events": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-codemirror6/package.json b/webapp/packages/plugin-codemirror6/package.json index 04ad3cfe9a..119c4edb69 100644 --- a/webapp/packages/plugin-codemirror6/package.json +++ b/webapp/packages/plugin-codemirror6/package.json @@ -10,36 +10,39 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-blocks": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-utils": "~0.1.0", + "@codemirror/autocomplete": "6.9.0", + "@codemirror/commands": "6.2.5", "@codemirror/lang-html": "6.4.6", "@codemirror/lang-javascript": "6.2.1", "@codemirror/lang-json": "6.0.1", "@codemirror/lang-sql": "6.5.4", "@codemirror/lang-xml": "6.0.2", + "@codemirror/language": "6.9.0", "@codemirror/merge": "6.1.2", - "@codemirror/commands": "6.2.5", - "@codemirror/autocomplete": "6.9.0", "@codemirror/search": "6.5.2", - "@codemirror/language": "6.9.0", "@codemirror/state": "6.2.1", "@codemirror/view": "6.18.0", - "@cloudbeaver/core-blocks": "~0.1.0", - "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "react-dom": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@lezer/highlight": "^1.1.6", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@cloudbeaver/core-theming": "~0.1.0", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-codemirror6/src/ReactCodemirrorPanel.tsx b/webapp/packages/plugin-codemirror6/src/ReactCodemirrorPanel.tsx index 7698fe031c..e8ecf9e09b 100644 --- a/webapp/packages/plugin-codemirror6/src/ReactCodemirrorPanel.tsx +++ b/webapp/packages/plugin-codemirror6/src/ReactCodemirrorPanel.tsx @@ -7,6 +7,7 @@ */ import { Compartment, StateEffect } from '@codemirror/state'; import { showPanel } from '@codemirror/view'; +import { observer } from 'mobx-react-lite'; import { useContext, useLayoutEffect, useMemo } from 'react'; import { createPortal } from 'react-dom'; @@ -18,7 +19,7 @@ interface Props extends React.PropsWithChildren { top?: boolean; } -export const ReactCodemirrorPanel: React.FC = function ReactCodemirrorPanel({ className, children, incomingView, top }) { +export const ReactCodemirrorPanel: React.FC = observer(function ReactCodemirrorPanel({ className, children, incomingView, top }) { const dom = useMemo(() => document.createElement('div'), []); const compartment = useMemo(() => new Compartment(), []); const context = useContext(ReactCodemirrorContext); @@ -52,5 +53,5 @@ export const ReactCodemirrorPanel: React.FC = function ReactCodemirrorPan return undefined; }, [className]); - return createPortal(children, dom); -}; + return createPortal(children, dom) as any; +}); diff --git a/webapp/packages/plugin-codemirror6/src/theme/dark.module.scss b/webapp/packages/plugin-codemirror6/src/theme/dark.module.scss index 921d84044e..70389fa534 100644 --- a/webapp/packages/plugin-codemirror6/src/theme/dark.module.scss +++ b/webapp/packages/plugin-codemirror6/src/theme/dark.module.scss @@ -6,10 +6,10 @@ * you may not use this file except in compliance with the License. */ -@import "@cloudbeaver/core-theming/src/styles/theme-dark"; -@import "base-code-editor"; -@import "base-code-editor-autocompletion"; -@import "base-code-editor-tooltip"; +@import '@cloudbeaver/core-theming/src/styles/theme-dark'; +@import './base-code-editor'; +@import './base-code-editor-autocompletion'; +@import './base-code-editor-tooltip'; $meta: #ff1717; $keyword: rgb(115, 158, 202); @@ -25,7 +25,7 @@ $comment: rgb(102, 151, 104); $string: rgb(202, 197, 128); $string-2: #f50; $qualifier: #555; -$builtin:#ab87ff; +$builtin: #ab87ff; $bracket: #cc7; $tag: #170; $attribute: #00c; diff --git a/webapp/packages/plugin-codemirror6/src/theme/light.module.scss b/webapp/packages/plugin-codemirror6/src/theme/light.module.scss index 4d28833c25..a92ad0a180 100644 --- a/webapp/packages/plugin-codemirror6/src/theme/light.module.scss +++ b/webapp/packages/plugin-codemirror6/src/theme/light.module.scss @@ -6,10 +6,10 @@ * you may not use this file except in compliance with the License. */ -@import "@cloudbeaver/core-theming/src/styles/theme-light"; -@import "base-code-editor"; -@import "base-code-editor-autocompletion"; -@import "base-code-editor-tooltip"; +@import '@cloudbeaver/core-theming/src/styles/theme-light'; +@import './base-code-editor'; +@import './base-code-editor-autocompletion'; +@import './base-code-editor-tooltip'; $meta: #ff1717; $keyword: #07a; diff --git a/webapp/packages/plugin-codemirror6/tsconfig.json b/webapp/packages/plugin-codemirror6/tsconfig.json index 4d3b05aaf0..7cf415d57c 100644 --- a/webapp/packages/plugin-codemirror6/tsconfig.json +++ b/webapp/packages/plugin-codemirror6/tsconfig.json @@ -14,6 +14,9 @@ }, { "path": "../core-utils/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-connection-custom/package.json b/webapp/packages/plugin-connection-custom/package.json index b94d953188..95aa30c71c 100644 --- a/webapp/packages/plugin-connection-custom/package.json +++ b/webapp/packages/plugin-connection-custom/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-connections": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -28,13 +27,16 @@ "@cloudbeaver/core-projects": "~0.1.0", "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-connections": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-connection-custom/tsconfig.json b/webapp/packages/plugin-connection-custom/tsconfig.json index 730780b131..d97ec04fab 100644 --- a/webapp/packages/plugin-connection-custom/tsconfig.json +++ b/webapp/packages/plugin-connection-custom/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-connections/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -41,6 +38,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-connections/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-connection-search/package.json b/webapp/packages/plugin-connection-search/package.json index d811f1d3ce..64d6c58a43 100644 --- a/webapp/packages/plugin-connection-search/package.json +++ b/webapp/packages/plugin-connection-search/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-connections": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -32,13 +31,16 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-connections": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-connection-search/tsconfig.json b/webapp/packages/plugin-connection-search/tsconfig.json index 8157be5962..64e73c95da 100644 --- a/webapp/packages/plugin-connection-search/tsconfig.json +++ b/webapp/packages/plugin-connection-search/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-connections/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -53,6 +50,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-connections/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-connection-template/package.json b/webapp/packages/plugin-connection-template/package.json index 03191c693a..d7619661fc 100644 --- a/webapp/packages/plugin-connection-template/package.json +++ b/webapp/packages/plugin-connection-template/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-connections": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -30,13 +29,17 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-connections": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-connection-template/tsconfig.json b/webapp/packages/plugin-connection-template/tsconfig.json index 3f906c8e1b..d48a53a4dc 100644 --- a/webapp/packages/plugin-connection-template/tsconfig.json +++ b/webapp/packages/plugin-connection-template/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-connections/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -47,6 +44,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-connections/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-connections-administration/package.json b/webapp/packages/plugin-connections-administration/package.json index da59c0c92d..3102a9eddc 100644 --- a/webapp/packages/plugin-connections-administration/package.json +++ b/webapp/packages/plugin-connections-administration/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-connections": "~0.1.0", "@cloudbeaver/core-administration": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -32,13 +31,17 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-utils": "~0.1.0", + "@cloudbeaver/plugin-connections": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-connections-administration/tsconfig.json b/webapp/packages/plugin-connections-administration/tsconfig.json index 8c61a5a177..d19a35ec4c 100644 --- a/webapp/packages/plugin-connections-administration/tsconfig.json +++ b/webapp/packages/plugin-connections-administration/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-connections/tsconfig.json" - }, { "path": "../core-administration/tsconfig.json" }, @@ -53,6 +50,9 @@ }, { "path": "../core-utils/tsconfig.json" + }, + { + "path": "../plugin-connections/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-connections/package.json b/webapp/packages/plugin-connections/package.json index d2384bc086..f02ffc62cf 100644 --- a/webapp/packages/plugin-connections/package.json +++ b/webapp/packages/plugin-connections/package.json @@ -10,17 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-authentication": "~0.1.0", - "@cloudbeaver/plugin-navigation-tree": "~0.1.0", - "@cloudbeaver/plugin-projects": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -39,13 +35,20 @@ "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-authentication": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-projects": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-connections/tsconfig.json b/webapp/packages/plugin-connections/tsconfig.json index d024b2519b..52180cf0eb 100644 --- a/webapp/packages/plugin-connections/tsconfig.json +++ b/webapp/packages/plugin-connections/tsconfig.json @@ -6,18 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-authentication/tsconfig.json" - }, - { - "path": "../plugin-navigation-tree/tsconfig.json" - }, - { - "path": "../plugin-projects/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -74,6 +62,18 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-authentication/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-projects/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-d3js/package.json b/webapp/packages/plugin-d3js/package.json index 10ad418fae..dde61ace5a 100644 --- a/webapp/packages/plugin-d3js/package.json +++ b/webapp/packages/plugin-d3js/package.json @@ -10,22 +10,22 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-di": "~0.1.0", "d3": "^7.8.5", - "d3-drag": "^3.0.0", - "@cloudbeaver/core-di": "~0.1.0" + "d3-drag": "^3.0.0" }, "devDependencies": { "@types/d3": "^7.4.0", - "@types/d3-drag": "^3.0.3" + "@types/d3-drag": "^3.0.3", + "typescript": "^5.2.2" }, "peerDependencies": {} } diff --git a/webapp/packages/plugin-data-export/package.json b/webapp/packages/plugin-data-export/package.json index 705478b9d4..6548bcc967 100644 --- a/webapp/packages/plugin-data-export/package.json +++ b/webapp/packages/plugin-data-export/package.json @@ -10,17 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-data-viewer": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -34,16 +31,45 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-administration": "~0.1.0", + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-connections": "~0.1.0", + "@cloudbeaver/core-dialogs": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-navigation-tree": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-object-viewer": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-data-export/tsconfig.json b/webapp/packages/plugin-data-export/tsconfig.json index 4c44c4f4c9..5ffdf1f288 100644 --- a/webapp/packages/plugin-data-export/tsconfig.json +++ b/webapp/packages/plugin-data-export/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-data-viewer/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -54,6 +48,84 @@ { "path": "../core-view/tsconfig.json" }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../core-administration/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-connections/tsconfig.json" + }, + { + "path": "../core-dialogs/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-navigation-tree/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-object-viewer/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-data-spreadsheet-new/package.json b/webapp/packages/plugin-data-spreadsheet-new/package.json index 81c0bc4084..a7e1519919 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/package.json +++ b/webapp/packages/plugin-data-spreadsheet-new/package.json @@ -10,19 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@popperjs/core": "~2.11.8", - "react-popper": "~2.3.0", - "@cloudbeaver/plugin-data-viewer": "~0.1.0", - "@cloudbeaver/plugin-react-data-grid": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -34,16 +29,48 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-utils": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-react-data-grid": "~0.1.0", + "@popperjs/core": "^2.11.8", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-popper": "^2.3.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-administration": "~0.1.0", + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-connections": "~0.1.0", + "@cloudbeaver/core-dialogs": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-navigation-tree": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-object-viewer": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/dark.module.scss b/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/dark.module.scss index 8eb55d2612..3b18ea8461 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/dark.module.scss +++ b/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/dark.module.scss @@ -7,7 +7,7 @@ */ @import '@cloudbeaver/core-theming/src/styles/theme-dark'; -@import 'base-react-grid'; +@import './base-react-grid'; :global .#{$theme-class} { @include base-react-grid; diff --git a/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/light.module.scss b/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/light.module.scss index 8131f082f8..ce2a9366e2 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/light.module.scss +++ b/webapp/packages/plugin-data-spreadsheet-new/src/styles/themes/light.module.scss @@ -7,7 +7,7 @@ */ @import '@cloudbeaver/core-theming/src/styles/theme-light'; -@import 'base-react-grid'; +@import './base-react-grid'; :global .#{$theme-class} { @include base-react-grid; diff --git a/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json b/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json index 04b4f33a00..2764c2ed85 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json +++ b/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-data-viewer/tsconfig.json" - }, - { - "path": "../plugin-react-data-grid/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -48,6 +42,84 @@ { "path": "../core-utils/tsconfig.json" }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-react-data-grid/tsconfig.json" + }, + { + "path": "../core-administration/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-connections/tsconfig.json" + }, + { + "path": "../core-dialogs/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-navigation-tree/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-object-viewer/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-data-viewer-result-set-grouping/package.json b/webapp/packages/plugin-data-viewer-result-set-grouping/package.json index e533f68fa4..bfcde9becf 100644 --- a/webapp/packages/plugin-data-viewer-result-set-grouping/package.json +++ b/webapp/packages/plugin-data-viewer-result-set-grouping/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-data-viewer": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -28,13 +26,18 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-data-viewer-result-set-grouping/tsconfig.json b/webapp/packages/plugin-data-viewer-result-set-grouping/tsconfig.json index 53a7e95e1a..82e1f8a12b 100644 --- a/webapp/packages/plugin-data-viewer-result-set-grouping/tsconfig.json +++ b/webapp/packages/plugin-data-viewer-result-set-grouping/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-data-viewer/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -41,6 +35,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-data-viewer/package.json b/webapp/packages/plugin-data-viewer/package.json index 1f7f76c41f..f9c3ed00d3 100644 --- a/webapp/packages/plugin-data-viewer/package.json +++ b/webapp/packages/plugin-data-viewer/package.json @@ -10,18 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-codemirror6": "~0.1.0", - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", - "@cloudbeaver/plugin-object-viewer": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -40,16 +36,45 @@ "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-codemirror6": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-object-viewer": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-administration": "~0.1.0", + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-connections": "~0.1.0", + "@cloudbeaver/core-dialogs": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-navigation-tree": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-object-viewer": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-data-viewer/tsconfig.json b/webapp/packages/plugin-data-viewer/tsconfig.json index 24b3242a87..41fec96ff5 100644 --- a/webapp/packages/plugin-data-viewer/tsconfig.json +++ b/webapp/packages/plugin-data-viewer/tsconfig.json @@ -6,15 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-codemirror6/tsconfig.json" - }, - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, - { - "path": "../plugin-object-viewer/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -72,6 +63,84 @@ { "path": "../core-view/tsconfig.json" }, + { + "path": "../plugin-codemirror6/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-object-viewer/tsconfig.json" + }, + { + "path": "../core-administration/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-connections/tsconfig.json" + }, + { + "path": "../core-dialogs/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-navigation-tree/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-object-viewer/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-datasource-context-switch/package.json b/webapp/packages/plugin-datasource-context-switch/package.json index 3da295a95f..2cfb55dd89 100644 --- a/webapp/packages/plugin-datasource-context-switch/package.json +++ b/webapp/packages/plugin-datasource-context-switch/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -31,13 +29,18 @@ "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-datasource-context-switch/tsconfig.json b/webapp/packages/plugin-datasource-context-switch/tsconfig.json index 3f02b0c02c..4229c25c03 100644 --- a/webapp/packages/plugin-datasource-context-switch/tsconfig.json +++ b/webapp/packages/plugin-datasource-context-switch/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -50,6 +44,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-ddl-viewer/package.json b/webapp/packages/plugin-ddl-viewer/package.json index 90755f9216..14858c5fa6 100644 --- a/webapp/packages/plugin-ddl-viewer/package.json +++ b/webapp/packages/plugin-ddl-viewer/package.json @@ -10,18 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-codemirror6": "~0.1.0", - "@cloudbeaver/plugin-navigation-tree": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", - "@cloudbeaver/plugin-sql-editor-new": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -31,13 +26,20 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-codemirror6": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", + "@cloudbeaver/plugin-sql-editor-new": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-ddl-viewer/tsconfig.json b/webapp/packages/plugin-ddl-viewer/tsconfig.json index 6cc167fbde..a184611837 100644 --- a/webapp/packages/plugin-ddl-viewer/tsconfig.json +++ b/webapp/packages/plugin-ddl-viewer/tsconfig.json @@ -6,21 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-codemirror6/tsconfig.json" - }, - { - "path": "../plugin-navigation-tree/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" - }, - { - "path": "../plugin-sql-editor-new/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -50,6 +35,21 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-codemirror6/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" + }, + { + "path": "../plugin-sql-editor-new/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-devtools/package.json b/webapp/packages/plugin-devtools/package.json index bd2eecaf76..08ccc75c2f 100644 --- a/webapp/packages/plugin-devtools/package.json +++ b/webapp/packages/plugin-devtools/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", - "@cloudbeaver/plugin-user-profile": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -27,13 +25,17 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0", + "@cloudbeaver/plugin-user-profile": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-devtools/tsconfig.json b/webapp/packages/plugin-devtools/tsconfig.json index de53eafa9b..f45fb0c6a6 100644 --- a/webapp/packages/plugin-devtools/tsconfig.json +++ b/webapp/packages/plugin-devtools/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, - { - "path": "../plugin-user-profile/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -38,6 +32,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" + }, + { + "path": "../plugin-user-profile/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-gis-viewer/package.json b/webapp/packages/plugin-gis-viewer/package.json index e736c44641..4242b2e889 100644 --- a/webapp/packages/plugin-gis-viewer/package.json +++ b/webapp/packages/plugin-gis-viewer/package.json @@ -10,32 +10,34 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "leaflet": "~1.9.4", - "react-leaflet": "~4.2.1", - "wellknown": "~0.5.0", - "@cloudbeaver/plugin-data-viewer": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-ui": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "geojson": "^0.5.0", + "leaflet": "^1.9.4", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-leaflet": "^4.2.1", + "reshadow": "~0.x.x", + "wellknown": "^0.5.0" }, + "peerDependencies": {}, "devDependencies": { "@types/leaflet": "^1.9.4", + "@types/react": "^18.2.25", "@types/react-leaflet": "~3.0.0", - "@types/wellknown": "~0.5.5" + "@types/wellknown": "~0.5.5", + "leaflet": "^1.9.4", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/plugin-gis-viewer/tsconfig.json b/webapp/packages/plugin-gis-viewer/tsconfig.json index 38eeea416d..4986a4dbad 100644 --- a/webapp/packages/plugin-gis-viewer/tsconfig.json +++ b/webapp/packages/plugin-gis-viewer/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-data-viewer/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -23,6 +20,9 @@ }, { "path": "../core-ui/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-help/package.json b/webapp/packages/plugin-help/package.json index 83ce0e2522..13a98ee3c8 100644 --- a/webapp/packages/plugin-help/package.json +++ b/webapp/packages/plugin-help/package.json @@ -10,16 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tree": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -29,13 +26,17 @@ "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-help/tsconfig.json b/webapp/packages/plugin-help/tsconfig.json index 8339ce32d7..f160bc3a58 100644 --- a/webapp/packages/plugin-help/tsconfig.json +++ b/webapp/packages/plugin-help/tsconfig.json @@ -6,15 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tree/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -44,6 +35,15 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-localization/package.json b/webapp/packages/plugin-localization/package.json index 714e8d8df9..427f062088 100644 --- a/webapp/packages/plugin-localization/package.json +++ b/webapp/packages/plugin-localization/package.json @@ -10,24 +10,21 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-localization/tsconfig.json b/webapp/packages/plugin-localization/tsconfig.json index 25c4af38ac..de20788d0e 100644 --- a/webapp/packages/plugin-localization/tsconfig.json +++ b/webapp/packages/plugin-localization/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, { "path": "../core-di/tsconfig.json" }, @@ -20,6 +17,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-log-viewer/package.json b/webapp/packages/plugin-log-viewer/package.json index 84e33111be..ce50a8e285 100644 --- a/webapp/packages/plugin-log-viewer/package.json +++ b/webapp/packages/plugin-log-viewer/package.json @@ -10,16 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-tools-panel": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -30,16 +28,34 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-tools-panel": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-tools-panel": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-log-viewer/tsconfig.json b/webapp/packages/plugin-log-viewer/tsconfig.json index ac7115a8b4..90405c9f59 100644 --- a/webapp/packages/plugin-log-viewer/tsconfig.json +++ b/webapp/packages/plugin-log-viewer/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-tools-panel/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -42,6 +39,51 @@ { "path": "../core-view/tsconfig.json" }, + { + "path": "../plugin-tools-panel/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-tools-panel/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-navigation-tabs/package.json b/webapp/packages/plugin-navigation-tabs/package.json index 541ef2f71e..16cdff7c89 100644 --- a/webapp/packages/plugin-navigation-tabs/package.json +++ b/webapp/packages/plugin-navigation-tabs/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-administration": "~0.1.0", @@ -31,13 +31,15 @@ "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-navigation-tree-filters/package.json b/webapp/packages/plugin-navigation-tree-filters/package.json index b61b9fa07e..43d0f011df 100644 --- a/webapp/packages/plugin-navigation-tree-filters/package.json +++ b/webapp/packages/plugin-navigation-tree-filters/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-blocks": "~0.1.0", @@ -27,14 +26,15 @@ "@cloudbeaver/core-navigation-tree": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" + "@cloudbeaver/core-view": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-navigation-tree-rm/package.json b/webapp/packages/plugin-navigation-tree-rm/package.json index eaf906ed77..0299553ed3 100644 --- a/webapp/packages/plugin-navigation-tree-rm/package.json +++ b/webapp/packages/plugin-navigation-tree-rm/package.json @@ -10,18 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tree": "~0.1.0", - "@cloudbeaver/plugin-projects": "~0.1.0", - "@cloudbeaver/plugin-resource-manager": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -36,14 +32,18 @@ "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-resource-manager": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-projects": "~0.1.0", + "@cloudbeaver/plugin-resource-manager": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-navigation-tree-rm/tsconfig.json b/webapp/packages/plugin-navigation-tree-rm/tsconfig.json index b87a02583a..0cddb9bc47 100644 --- a/webapp/packages/plugin-navigation-tree-rm/tsconfig.json +++ b/webapp/packages/plugin-navigation-tree-rm/tsconfig.json @@ -6,15 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tree/tsconfig.json" - }, - { - "path": "../plugin-projects/tsconfig.json" - }, - { - "path": "../plugin-resource-manager/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -59,6 +50,15 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-projects/tsconfig.json" + }, + { + "path": "../plugin-resource-manager/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-navigation-tree/package.json b/webapp/packages/plugin-navigation-tree/package.json index 7842fd5d54..37fbe0b2a1 100644 --- a/webapp/packages/plugin-navigation-tree/package.json +++ b/webapp/packages/plugin-navigation-tree/package.json @@ -10,16 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -37,16 +35,41 @@ "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-administration": "~0.1.0", + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-connections": "~0.1.0", + "@cloudbeaver/core-dialogs": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-navigation-tree": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-navigation-tree/tsconfig.json b/webapp/packages/plugin-navigation-tree/tsconfig.json index 798e4ffbd0..2896877b5b 100644 --- a/webapp/packages/plugin-navigation-tree/tsconfig.json +++ b/webapp/packages/plugin-navigation-tree/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-datasource-context-switch/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -63,6 +60,72 @@ { "path": "../core-view/tsconfig.json" }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../core-administration/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-connections/tsconfig.json" + }, + { + "path": "../core-dialogs/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-navigation-tree/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-object-viewer/package.json b/webapp/packages/plugin-object-viewer/package.json index eabf23704a..fb7231c3b8 100644 --- a/webapp/packages/plugin-object-viewer/package.json +++ b/webapp/packages/plugin-object-viewer/package.json @@ -10,16 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", - "@cloudbeaver/plugin-navigation-tree": "~0.1.0", - "@cloudbeaver/plugin-react-data-grid": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -36,13 +33,21 @@ "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-react-data-grid": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reakit": "~1.x.x", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@cloudbeaver/core-theming": "~0.1.0", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/base.scss b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/base.scss index 6ffffb451c..359a0f0007 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/base.scss +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/base.scss @@ -6,8 +6,6 @@ * you may not use this file except in compliance with the License. */ -// @import "react-data-grid/dist/react-data-grid.css"; - .metadata-grid-container { .cb-metadata-grid-theme { outline: 0 !important; diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/dark.module.scss b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/dark.module.scss index 5b4a165a77..d9d28b187e 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/dark.module.scss +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/dark.module.scss @@ -7,7 +7,7 @@ */ @import '@cloudbeaver/core-theming/src/styles/theme-dark'; -@import 'base-metadata-grid'; +@import './base-metadata-grid'; :global .#{$theme-class} { @include base-metadata-grid; diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/light.module.scss b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/light.module.scss index f1b5a481ce..21933b56ac 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/light.module.scss +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/Table/styles/themes/light.module.scss @@ -7,7 +7,7 @@ */ @import '@cloudbeaver/core-theming/src/styles/theme-light'; -@import 'base-metadata-grid'; +@import './base-metadata-grid'; :global .#{$theme-class} { @include base-metadata-grid; diff --git a/webapp/packages/plugin-object-viewer/tsconfig.json b/webapp/packages/plugin-object-viewer/tsconfig.json index eef072ff84..988a32712e 100644 --- a/webapp/packages/plugin-object-viewer/tsconfig.json +++ b/webapp/packages/plugin-object-viewer/tsconfig.json @@ -6,15 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, - { - "path": "../plugin-navigation-tree/tsconfig.json" - }, - { - "path": "../plugin-react-data-grid/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -65,6 +56,18 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-react-data-grid/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-product/package.json b/webapp/packages/plugin-product/package.json index 89ca7e0cd3..71540dd2f8 100644 --- a/webapp/packages/plugin-product/package.json +++ b/webapp/packages/plugin-product/package.json @@ -10,28 +10,29 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", - "@cloudbeaver/plugin-version": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-dialogs": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-version": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-product/src/ProductInfoDialog.tsx b/webapp/packages/plugin-product/src/ProductInfoDialog.tsx index 1928310d42..0cd8f088ad 100644 --- a/webapp/packages/plugin-product/src/ProductInfoDialog.tsx +++ b/webapp/packages/plugin-product/src/ProductInfoDialog.tsx @@ -27,7 +27,7 @@ import { useService } from '@cloudbeaver/core-di'; import type { DialogComponentProps } from '@cloudbeaver/core-dialogs'; import { ServerConfigResource } from '@cloudbeaver/core-root'; import { ThemeService } from '@cloudbeaver/core-theming'; -import { useAppVersion } from '@cloudbeaver/plugin-version'; +import { useAppVersion } from '@cloudbeaver/core-version'; import ProductInfoDialogStyles from './ProductInfoDialog.m.css'; diff --git a/webapp/packages/plugin-product/tsconfig.json b/webapp/packages/plugin-product/tsconfig.json index 9391f2ef55..0ae0f2fee1 100644 --- a/webapp/packages/plugin-product/tsconfig.json +++ b/webapp/packages/plugin-product/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, - { - "path": "../plugin-version/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -30,8 +24,14 @@ { "path": "../core-theming/tsconfig.json" }, + { + "path": "../core-version/tsconfig.json" + }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-projects/package.json b/webapp/packages/plugin-projects/package.json index a00f8e8f33..017c049818 100644 --- a/webapp/packages/plugin-projects/package.json +++ b/webapp/packages/plugin-projects/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-blocks": "~0.1.0", @@ -23,13 +23,15 @@ "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-projects": "~0.1.0", "@cloudbeaver/core-resource": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-react-data-grid/package.json b/webapp/packages/plugin-react-data-grid/package.json index 57c7e6066a..65f7112120 100644 --- a/webapp/packages/plugin-react-data-grid/package.json +++ b/webapp/packages/plugin-react-data-grid/package.json @@ -10,15 +10,17 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "react-data-grid": "file:react-data-grid-dist" }, "peerDependencies": {}, - "devDependencies": {} + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/package.json b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/package.json index 1e5c01f1ee..a687106d27 100644 --- a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/package.json +++ b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/package.json @@ -69,12 +69,12 @@ "@microsoft/api-extractor": "^7.23.0", "@rollup/plugin-babel": "^6.0.3", "@rollup/plugin-node-resolve": "^15.1.0", - "@testing-library/jest-dom": "^6.0.0", + "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.1.1", "@types/lodash-es": "^4.17.7", - "@types/react": "^18.2.8", - "@types/react-dom": "^18.2.4", + "@types/react": "^18.2.25", + "@types/react-dom": "^18.2.11", "@typescript-eslint/eslint-plugin": "^6.1.0", "@typescript-eslint/parser": "^6.1.0", "@vitejs/plugin-react": "^4.0.2", @@ -96,19 +96,19 @@ "postcss": "^8.4.25", "postcss-nested": "^6.0.1", "prettier": "3.0.3", - "react": "^18.1.0", + "react": "^18.2.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", - "react-dom": "^18.1.0", + "react-dom": "^18.2.0", "react-router-dom": "^6.11.1", "rollup": "^3.26.2", "rollup-plugin-postcss": "^4.0.2", - "typescript": "~5.2.2", + "typescript": "^5.2.2", "vite": "^4.4.2", "vitest": "^0.34.1" }, "peerDependencies": { - "react": "^18.0", - "react-dom": "^18.0" + "react": "^18.2.0", + "react-dom": "^18.2.0" } } diff --git a/webapp/packages/plugin-resource-manager-administration/package.json b/webapp/packages/plugin-resource-manager-administration/package.json index f3fe791ca8..09cf3931d4 100644 --- a/webapp/packages/plugin-resource-manager-administration/package.json +++ b/webapp/packages/plugin-resource-manager-administration/package.json @@ -10,26 +10,26 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-administration": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-events": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", "@cloudbeaver/core-localization": "~0.1.0", - "@cloudbeaver/core-root": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/plugin-administration": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-resource-manager-administration/tsconfig.json b/webapp/packages/plugin-resource-manager-administration/tsconfig.json index 5bc0f42527..ca9771fde5 100644 --- a/webapp/packages/plugin-resource-manager-administration/tsconfig.json +++ b/webapp/packages/plugin-resource-manager-administration/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-administration/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -26,6 +23,9 @@ }, { "path": "../core-root/tsconfig.json" + }, + { + "path": "../plugin-administration/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-resource-manager-scripts/package.json b/webapp/packages/plugin-resource-manager-scripts/package.json index 3b5d5a78dc..b7d77178eb 100644 --- a/webapp/packages/plugin-resource-manager-scripts/package.json +++ b/webapp/packages/plugin-resource-manager-scripts/package.json @@ -10,17 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tree-rm": "~0.1.0", - "@cloudbeaver/plugin-projects": "~0.1.0", - "@cloudbeaver/plugin-resource-manager": "~0.1.0", - "@cloudbeaver/plugin-tools-panel": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", @@ -33,13 +29,19 @@ "@cloudbeaver/core-resource-manager": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree-rm": "~0.1.0", + "@cloudbeaver/plugin-projects": "~0.1.0", + "@cloudbeaver/plugin-resource-manager": "~0.1.0", + "@cloudbeaver/plugin-tools-panel": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-resource-manager-scripts/tsconfig.json b/webapp/packages/plugin-resource-manager-scripts/tsconfig.json index 536380c809..3ae9302f7f 100644 --- a/webapp/packages/plugin-resource-manager-scripts/tsconfig.json +++ b/webapp/packages/plugin-resource-manager-scripts/tsconfig.json @@ -6,18 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tree-rm/tsconfig.json" - }, - { - "path": "../plugin-projects/tsconfig.json" - }, - { - "path": "../plugin-resource-manager/tsconfig.json" - }, - { - "path": "../plugin-tools-panel/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -56,6 +44,18 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree-rm/tsconfig.json" + }, + { + "path": "../plugin-projects/tsconfig.json" + }, + { + "path": "../plugin-resource-manager/tsconfig.json" + }, + { + "path": "../plugin-tools-panel/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-resource-manager/package.json b/webapp/packages/plugin-resource-manager/package.json index a1e9e629bb..90701f97d6 100644 --- a/webapp/packages/plugin-resource-manager/package.json +++ b/webapp/packages/plugin-resource-manager/package.json @@ -10,13 +10,12 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-authentication": "~0.1.0", @@ -27,16 +26,22 @@ "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-resource-manager": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", - "@cloudbeaver/core-sdk": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-sdk": "~0.1.0", + "mobx": "^6.10.2" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "typescript": "^5.2.2" } } diff --git a/webapp/packages/plugin-resource-manager/tsconfig.json b/webapp/packages/plugin-resource-manager/tsconfig.json index 9f53be12d7..9feeee7da3 100644 --- a/webapp/packages/plugin-resource-manager/tsconfig.json +++ b/webapp/packages/plugin-resource-manager/tsconfig.json @@ -33,6 +33,30 @@ { "path": "../core-sdk/tsconfig.json" }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-root/package.json b/webapp/packages/plugin-root/package.json index 7c5f58aef2..83c72ec5ba 100644 --- a/webapp/packages/plugin-root/package.json +++ b/webapp/packages/plugin-root/package.json @@ -10,11 +10,11 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-blocks": "~0.1.0", @@ -24,13 +24,15 @@ "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-routing": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-utils": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-session-expiration/package.json b/webapp/packages/plugin-session-expiration/package.json index 65c318437c..832f5cfe2e 100644 --- a/webapp/packages/plugin-session-expiration/package.json +++ b/webapp/packages/plugin-session-expiration/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-root": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -25,13 +24,14 @@ "@cloudbeaver/core-events": "~0.1.0", "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-routing": "~0.1.0", - "@cloudbeaver/core-sdk": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/plugin-root": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-session-expiration/tsconfig.json b/webapp/packages/plugin-session-expiration/tsconfig.json index 54990b9096..9c615c7d0b 100644 --- a/webapp/packages/plugin-session-expiration/tsconfig.json +++ b/webapp/packages/plugin-session-expiration/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-root/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -32,6 +29,9 @@ }, { "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../plugin-root/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-settings-menu-administration/package.json b/webapp/packages/plugin-settings-menu-administration/package.json index 72bfa1a4fe..1271c27b01 100644 --- a/webapp/packages/plugin-settings-menu-administration/package.json +++ b/webapp/packages/plugin-settings-menu-administration/package.json @@ -10,20 +10,17 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { "@cloudbeaver/core-di": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-settings-menu/package.json b/webapp/packages/plugin-settings-menu/package.json index 4fb624bcfa..9f32f5c42e 100644 --- a/webapp/packages/plugin-settings-menu/package.json +++ b/webapp/packages/plugin-settings-menu/package.json @@ -10,24 +10,25 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-settings-menu/tsconfig.json b/webapp/packages/plugin-settings-menu/tsconfig.json index 1a98eca67e..5d6840b30f 100644 --- a/webapp/packages/plugin-settings-menu/tsconfig.json +++ b/webapp/packages/plugin-settings-menu/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -20,6 +17,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-settings-panel/package.json b/webapp/packages/plugin-settings-panel/package.json index 16c6dfce0a..2b53eb14c5 100644 --- a/webapp/packages/plugin-settings-panel/package.json +++ b/webapp/packages/plugin-settings-panel/package.json @@ -10,16 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -27,12 +25,15 @@ "@cloudbeaver/core-plugin": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-settings-panel/tsconfig.json b/webapp/packages/plugin-settings-panel/tsconfig.json index 50d49256ff..962ae301c7 100644 --- a/webapp/packages/plugin-settings-panel/tsconfig.json +++ b/webapp/packages/plugin-settings-panel/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -32,6 +29,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sql-editor-navigation-tab-script/package.json b/webapp/packages/plugin-sql-editor-navigation-tab-script/package.json index 0673f29dc8..19842a1330 100644 --- a/webapp/packages/plugin-sql-editor-navigation-tab-script/package.json +++ b/webapp/packages/plugin-sql-editor-navigation-tab-script/package.json @@ -10,19 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", - "@cloudbeaver/plugin-navigation-tree-rm": "~0.1.0", - "@cloudbeaver/plugin-resource-manager": "~0.1.0", - "@cloudbeaver/plugin-resource-manager-scripts": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -38,13 +32,17 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree-rm": "~0.1.0", + "@cloudbeaver/plugin-resource-manager": "~0.1.0", + "@cloudbeaver/plugin-resource-manager-scripts": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", + "mobx": "^6.10.2" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-sql-editor-navigation-tab-script/tsconfig.json b/webapp/packages/plugin-sql-editor-navigation-tab-script/tsconfig.json index 04a6b93151..8c036ea692 100644 --- a/webapp/packages/plugin-sql-editor-navigation-tab-script/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-navigation-tab-script/tsconfig.json @@ -6,24 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, - { - "path": "../plugin-navigation-tree-rm/tsconfig.json" - }, - { - "path": "../plugin-resource-manager/tsconfig.json" - }, - { - "path": "../plugin-resource-manager-scripts/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -71,6 +53,24 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree-rm/tsconfig.json" + }, + { + "path": "../plugin-resource-manager/tsconfig.json" + }, + { + "path": "../plugin-resource-manager-scripts/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sql-editor-navigation-tab/package.json b/webapp/packages/plugin-sql-editor-navigation-tab/package.json index 485bef6d67..1b2e2d778e 100644 --- a/webapp/packages/plugin-sql-editor-navigation-tab/package.json +++ b/webapp/packages/plugin-sql-editor-navigation-tab/package.json @@ -10,17 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-connections": "~0.1.0", - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -37,13 +33,20 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-connections": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json b/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json index 805ec02fc1..514376c420 100644 --- a/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json @@ -6,18 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-connections/tsconfig.json" - }, - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -68,6 +56,18 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-connections/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sql-editor-new/package.json b/webapp/packages/plugin-sql-editor-new/package.json index d4c1a02f33..69608e0781 100644 --- a/webapp/packages/plugin-sql-editor-new/package.json +++ b/webapp/packages/plugin-sql-editor-new/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-codemirror6": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-events": "~0.1.0", @@ -26,8 +24,17 @@ "@cloudbeaver/core-navigation-tree": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-utils": "~0.1.0" + "@cloudbeaver/core-utils": "~0.1.0", + "@cloudbeaver/plugin-codemirror6": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, "peerDependencies": {}, - "devDependencies": {} + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-sql-editor-new/tsconfig.json b/webapp/packages/plugin-sql-editor-new/tsconfig.json index 18eb29a80a..08c0cdca35 100644 --- a/webapp/packages/plugin-sql-editor-new/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-new/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-codemirror6/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -35,6 +29,12 @@ }, { "path": "../core-utils/tsconfig.json" + }, + { + "path": "../plugin-codemirror6/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sql-editor-screen/package.json b/webapp/packages/plugin-sql-editor-screen/package.json index 65defddded..102e5830a3 100644 --- a/webapp/packages/plugin-sql-editor-screen/package.json +++ b/webapp/packages/plugin-sql-editor-screen/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -29,13 +27,16 @@ "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-sql-editor-navigation-tab": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-sql-editor-screen/tsconfig.json b/webapp/packages/plugin-sql-editor-screen/tsconfig.json index 652506e14d..86ffdd1041 100644 --- a/webapp/packages/plugin-sql-editor-screen/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-screen/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -44,6 +38,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-sql-editor-navigation-tab/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sql-editor/package.json b/webapp/packages/plugin-sql-editor/package.json index 519d7e1122..d9522d9f62 100644 --- a/webapp/packages/plugin-sql-editor/package.json +++ b/webapp/packages/plugin-sql-editor/package.json @@ -10,18 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-codemirror6": "~0.1.0", - "@cloudbeaver/plugin-data-viewer": "~0.1.0", - "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-data-context": "~0.1.0", @@ -39,16 +35,46 @@ "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-codemirror6": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "reshadow": "~0.x.x" }, + "peerDependencies": {}, "devDependencies": { - "@cloudbeaver/tests-runner": "~0.1.0" + "@cloudbeaver/core-administration": "~0.1.0", + "@cloudbeaver/core-app": "~0.1.0", + "@cloudbeaver/core-authentication": "~0.1.0", + "@cloudbeaver/core-browser": "~0.1.0", + "@cloudbeaver/core-connections": "~0.1.0", + "@cloudbeaver/core-dialogs": "~0.1.0", + "@cloudbeaver/core-events": "~0.1.0", + "@cloudbeaver/core-localization": "~0.1.0", + "@cloudbeaver/core-navigation-tree": "~0.1.0", + "@cloudbeaver/core-plugin": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-projects": "~0.1.0", + "@cloudbeaver/core-root": "~0.1.0", + "@cloudbeaver/core-routing": "~0.1.0", + "@cloudbeaver/core-sdk": "~0.1.0", + "@cloudbeaver/core-settings": "~0.1.0", + "@cloudbeaver/core-theming": "~0.1.0", + "@cloudbeaver/core-ui": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", + "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", + "@cloudbeaver/plugin-navigation-tree": "~0.1.0", + "@cloudbeaver/plugin-object-viewer": "~0.1.0", + "@cloudbeaver/tests-runner": "~0.1.0", + "@testing-library/jest-dom": "^6.1.3", + "@types/jest": "^29.5.5", + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" } } diff --git a/webapp/packages/plugin-sql-editor/tsconfig.json b/webapp/packages/plugin-sql-editor/tsconfig.json index ee8600748f..8b734bee32 100644 --- a/webapp/packages/plugin-sql-editor/tsconfig.json +++ b/webapp/packages/plugin-sql-editor/tsconfig.json @@ -6,15 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-codemirror6/tsconfig.json" - }, - { - "path": "../plugin-data-viewer/tsconfig.json" - }, - { - "path": "../plugin-navigation-tabs/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -69,6 +60,87 @@ { "path": "../core-view/tsconfig.json" }, + { + "path": "../plugin-codemirror6/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../core-administration/tsconfig.json" + }, + { + "path": "../core-app/tsconfig.json" + }, + { + "path": "../core-authentication/tsconfig.json" + }, + { + "path": "../core-browser/tsconfig.json" + }, + { + "path": "../core-connections/tsconfig.json" + }, + { + "path": "../core-dialogs/tsconfig.json" + }, + { + "path": "../core-events/tsconfig.json" + }, + { + "path": "../core-localization/tsconfig.json" + }, + { + "path": "../core-navigation-tree/tsconfig.json" + }, + { + "path": "../core-plugin/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-projects/tsconfig.json" + }, + { + "path": "../core-root/tsconfig.json" + }, + { + "path": "../core-routing/tsconfig.json" + }, + { + "path": "../core-sdk/tsconfig.json" + }, + { + "path": "../core-settings/tsconfig.json" + }, + { + "path": "../core-theming/tsconfig.json" + }, + { + "path": "../core-ui/tsconfig.json" + }, + { + "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-datasource-context-switch/tsconfig.json" + }, + { + "path": "../plugin-navigation-tabs/tsconfig.json" + }, + { + "path": "../plugin-navigation-tree/tsconfig.json" + }, + { + "path": "../plugin-object-viewer/tsconfig.json" + }, { "path": "../tests-runner/tsconfig.json" } diff --git a/webapp/packages/plugin-sql-generator/package.json b/webapp/packages/plugin-sql-generator/package.json index 129913f7b9..f4ba10d70a 100644 --- a/webapp/packages/plugin-sql-generator/package.json +++ b/webapp/packages/plugin-sql-generator/package.json @@ -10,19 +10,14 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-codemirror6": "~0.1.0", - "@cloudbeaver/plugin-data-viewer": "~0.1.0", - "@cloudbeaver/plugin-sql-editor": "~0.1.0", - "@cloudbeaver/plugin-sql-editor-new": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-connections": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -32,14 +27,19 @@ "@cloudbeaver/core-navigation-tree": "~0.1.0", "@cloudbeaver/core-resource": "~0.1.0", "@cloudbeaver/core-sdk": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x", - "@testing-library/jest-dom": "~6.x.x" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-codemirror6": "~0.1.0", + "@cloudbeaver/plugin-data-viewer": "~0.1.0", + "@cloudbeaver/plugin-sql-editor": "~0.1.0", + "@cloudbeaver/plugin-sql-editor-new": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-sql-generator/tsconfig.json b/webapp/packages/plugin-sql-generator/tsconfig.json index 74659c3641..282bb1c6ea 100644 --- a/webapp/packages/plugin-sql-generator/tsconfig.json +++ b/webapp/packages/plugin-sql-generator/tsconfig.json @@ -6,18 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-codemirror6/tsconfig.json" - }, - { - "path": "../plugin-data-viewer/tsconfig.json" - }, - { - "path": "../plugin-sql-editor/tsconfig.json" - }, - { - "path": "../plugin-sql-editor-new/tsconfig.json" - }, { "path": "../core-blocks/tsconfig.json" }, @@ -47,6 +35,18 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-codemirror6/tsconfig.json" + }, + { + "path": "../plugin-data-viewer/tsconfig.json" + }, + { + "path": "../plugin-sql-editor/tsconfig.json" + }, + { + "path": "../plugin-sql-editor-new/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-sso/package.json b/webapp/packages/plugin-sso/package.json index 90761ff150..1062010db9 100644 --- a/webapp/packages/plugin-sso/package.json +++ b/webapp/packages/plugin-sso/package.json @@ -10,15 +10,17 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "peerDependencies": {}, "dependencies": { "@cloudbeaver/core-di": "~0.1.0" }, - "devDependencies": {} + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-theme/package.json b/webapp/packages/plugin-theme/package.json index f6a92dcfa8..f75df884d9 100644 --- a/webapp/packages/plugin-theme/package.json +++ b/webapp/packages/plugin-theme/package.json @@ -10,23 +10,20 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-settings-menu": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-settings-menu": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-theme/tsconfig.json b/webapp/packages/plugin-theme/tsconfig.json index c418fedc82..8ec0908e4d 100644 --- a/webapp/packages/plugin-theme/tsconfig.json +++ b/webapp/packages/plugin-theme/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-settings-menu/tsconfig.json" - }, { "path": "../core-di/tsconfig.json" }, @@ -17,6 +14,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-settings-menu/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-tools-panel/package.json b/webapp/packages/plugin-tools-panel/package.json index 78098a7828..4461d72a5e 100644 --- a/webapp/packages/plugin-tools-panel/package.json +++ b/webapp/packages/plugin-tools-panel/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -25,13 +24,16 @@ "@cloudbeaver/core-plugin": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-tools-panel/tsconfig.json b/webapp/packages/plugin-tools-panel/tsconfig.json index 51d04252fc..56167e7ee0 100644 --- a/webapp/packages/plugin-tools-panel/tsconfig.json +++ b/webapp/packages/plugin-tools-panel/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -32,6 +29,9 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-top-app-bar-administration/package.json b/webapp/packages/plugin-top-app-bar-administration/package.json index 467f62d76e..42a45d2fcd 100644 --- a/webapp/packages/plugin-top-app-bar-administration/package.json +++ b/webapp/packages/plugin-top-app-bar-administration/package.json @@ -10,22 +10,21 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/plugin-administration": "~0.1.0", "@cloudbeaver/plugin-top-app-bar": "~0.1.0", - "@cloudbeaver/core-di": "~0.1.0" + "react": "^18.2.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-top-app-bar-administration/tsconfig.json b/webapp/packages/plugin-top-app-bar-administration/tsconfig.json index 12584517f5..509ae428b4 100644 --- a/webapp/packages/plugin-top-app-bar-administration/tsconfig.json +++ b/webapp/packages/plugin-top-app-bar-administration/tsconfig.json @@ -7,13 +7,13 @@ }, "references": [ { - "path": "../plugin-administration/tsconfig.json" + "path": "../core-di/tsconfig.json" }, { - "path": "../plugin-top-app-bar/tsconfig.json" + "path": "../plugin-administration/tsconfig.json" }, { - "path": "../core-di/tsconfig.json" + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-top-app-bar/package.json b/webapp/packages/plugin-top-app-bar/package.json index e117fc4e7e..40535958e4 100644 --- a/webapp/packages/plugin-top-app-bar/package.json +++ b/webapp/packages/plugin-top-app-bar/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-version": "~0.1.0", "@cloudbeaver/core-app": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", @@ -25,13 +24,16 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-routing": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-version": "~0.1.0", + "@cloudbeaver/core-view": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-top-app-bar/src/TopNavBar/Logo.tsx b/webapp/packages/plugin-top-app-bar/src/TopNavBar/Logo.tsx index ff4eebe996..9e43855346 100644 --- a/webapp/packages/plugin-top-app-bar/src/TopNavBar/Logo.tsx +++ b/webapp/packages/plugin-top-app-bar/src/TopNavBar/Logo.tsx @@ -11,7 +11,7 @@ import { AppLogo } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { ServerService } from '@cloudbeaver/core-root'; import { ScreenService } from '@cloudbeaver/core-routing'; -import { useAppVersion } from '@cloudbeaver/plugin-version'; +import { useAppVersion } from '@cloudbeaver/core-version'; export const Logo = observer(function Logo() { const serverService = useService(ServerService); diff --git a/webapp/packages/plugin-top-app-bar/tsconfig.json b/webapp/packages/plugin-top-app-bar/tsconfig.json index 8b6cba76c5..4acd65613a 100644 --- a/webapp/packages/plugin-top-app-bar/tsconfig.json +++ b/webapp/packages/plugin-top-app-bar/tsconfig.json @@ -6,9 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-version/tsconfig.json" - }, { "path": "../core-app/tsconfig.json" }, @@ -30,6 +27,9 @@ { "path": "../core-ui/tsconfig.json" }, + { + "path": "../core-version/tsconfig.json" + }, { "path": "../core-view/tsconfig.json" } diff --git a/webapp/packages/plugin-user-profile-administration/package.json b/webapp/packages/plugin-user-profile-administration/package.json index aaea4e6a11..1717c9a3da 100644 --- a/webapp/packages/plugin-user-profile-administration/package.json +++ b/webapp/packages/plugin-user-profile-administration/package.json @@ -10,22 +10,19 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/plugin-administration": "~0.1.0", - "@cloudbeaver/plugin-user-profile": "~0.1.0", - "@cloudbeaver/core-di": "~0.1.0" + "@cloudbeaver/plugin-user-profile": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-user-profile-administration/tsconfig.json b/webapp/packages/plugin-user-profile-administration/tsconfig.json index 484daba0e3..546feaf69a 100644 --- a/webapp/packages/plugin-user-profile-administration/tsconfig.json +++ b/webapp/packages/plugin-user-profile-administration/tsconfig.json @@ -7,13 +7,13 @@ }, "references": [ { - "path": "../plugin-administration/tsconfig.json" + "path": "../core-di/tsconfig.json" }, { - "path": "../plugin-user-profile/tsconfig.json" + "path": "../plugin-administration/tsconfig.json" }, { - "path": "../core-di/tsconfig.json" + "path": "../plugin-user-profile/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-user-profile/package.json b/webapp/packages/plugin-user-profile/package.json index 7ee90e7338..6f712a85eb 100644 --- a/webapp/packages/plugin-user-profile/package.json +++ b/webapp/packages/plugin-user-profile/package.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/plugin-authentication": "~0.1.0", - "@cloudbeaver/plugin-top-app-bar": "~0.1.0", "@cloudbeaver/core-authentication": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -30,13 +28,18 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", - "@cloudbeaver/core-view": "~0.1.0" - }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", + "@cloudbeaver/core-view": "~0.1.0", + "@cloudbeaver/plugin-authentication": "~0.1.0", + "@cloudbeaver/plugin-top-app-bar": "~0.1.0", + "mobx": "^6.10.2", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", "reshadow": "~0.x.x" }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-user-profile/tsconfig.json b/webapp/packages/plugin-user-profile/tsconfig.json index 53a0e5f7b2..a1b184790a 100644 --- a/webapp/packages/plugin-user-profile/tsconfig.json +++ b/webapp/packages/plugin-user-profile/tsconfig.json @@ -6,12 +6,6 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ - { - "path": "../plugin-authentication/tsconfig.json" - }, - { - "path": "../plugin-top-app-bar/tsconfig.json" - }, { "path": "../core-authentication/tsconfig.json" }, @@ -47,6 +41,12 @@ }, { "path": "../core-view/tsconfig.json" + }, + { + "path": "../plugin-authentication/tsconfig.json" + }, + { + "path": "../plugin-top-app-bar/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/plugin-version-update-administration/package.json b/webapp/packages/plugin-version-update-administration/package.json index 8c2abe09bc..21540c8d0c 100644 --- a/webapp/packages/plugin-version-update-administration/package.json +++ b/webapp/packages/plugin-version-update-administration/package.json @@ -10,14 +10,13 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "react-markdown": "7.1.1", "@cloudbeaver/core-administration": "~0.1.0", "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-di": "~0.1.0", @@ -25,13 +24,17 @@ "@cloudbeaver/core-root": "~0.1.0", "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-version": "~0.1.0", - "@cloudbeaver/core-version-update": "~0.1.0" + "@cloudbeaver/core-version-update": "~0.1.0", + "mobx-react-lite": "^4.0.5", + "react": "^18.2.0", + "react-markdown": "^9.0.0", + "reshadow": "~0.x.x", + "semver": "^7.5.4" }, - "peerDependencies": { - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2", + "typescript-plugin-css-modules": "^5.0.1" + } } diff --git a/webapp/packages/plugin-version/package.json b/webapp/packages/plugin-version/package.json index ece2a51f4a..4b267386a3 100644 --- a/webapp/packages/plugin-version/package.json +++ b/webapp/packages/plugin-version/package.json @@ -10,21 +10,17 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.plugin.config.js", + "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-version": "~0.1.0" + "@cloudbeaver/core-di": "~0.1.0" }, - "peerDependencies": { - "react": "~18.x.x", - "mobx": "~6.x.x", - "mobx-react-lite": "~3.x.x", - "reshadow": "~0.x.x" - }, - "devDependencies": {} + "peerDependencies": {}, + "devDependencies": { + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/plugin-version/src/index.ts b/webapp/packages/plugin-version/src/index.ts index 95824d8f71..c592ec52e0 100644 --- a/webapp/packages/plugin-version/src/index.ts +++ b/webapp/packages/plugin-version/src/index.ts @@ -1,5 +1,3 @@ import { versionPlugin } from './manifest'; -export * from './useAppVersion'; - export default versionPlugin; diff --git a/webapp/packages/plugin-version/tsconfig.json b/webapp/packages/plugin-version/tsconfig.json index fe6b666a78..4a48d52a9c 100644 --- a/webapp/packages/plugin-version/tsconfig.json +++ b/webapp/packages/plugin-version/tsconfig.json @@ -8,9 +8,6 @@ "references": [ { "path": "../core-di/tsconfig.json" - }, - { - "path": "../core-version/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/product-default/package.json b/webapp/packages/product-default/package.json index 5545e87613..cae9f1f2c3 100644 --- a/webapp/packages/product-default/package.json +++ b/webapp/packages/product-default/package.json @@ -10,18 +10,23 @@ "license": "Apache-2.0", "main": "dist/index.js", "scripts": { - "prebuild": "rimraf --glob lib/* && lerna run gql:gen --stream --parallel && tsc -b", - "build": "core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js", - "dev": "yarn run prebuild && concurrently -P -k \"yarn tsc -b --watch --preserveWatchOutput\" \"lerna run gql:gen:dev --stream --parallel\" \"core-cli-build serve --mode=development --progress --config=../core-cli/configs/webpack.product.dev.config.js --port=3100 {@}\"", + "build": "rimraf --glob lib && lerna run gql:gen --stream --parallel && tsc -b", + "bundle": "yarn build && core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js", + "dev": "yarn build && concurrently -P -k \"yarn tsc -b --watch --preserveWatchOutput\" \"lerna run gql:gen:dev --stream --parallel\" \"core-cli-build serve --mode=development --progress --config=../core-cli/configs/webpack.product.dev.config.js --port=3100 {@}\"", "analyse": "core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js --profile --json > ./lib/stats.json", "postanalyse": "core-cli-analyzer ./lib/stats.json", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", "version:new": "yarn version --no-git-tag-version", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { + "@cloudbeaver/core-blocks": "~0.1.0", + "@cloudbeaver/core-bootstrap": "~0.1.0", + "@cloudbeaver/core-di": "~0.1.0", + "@cloudbeaver/core-product": "~0.1.0", + "@cloudbeaver/core-version-update": "~0.1.0", "@cloudbeaver/plugin-administration": "~0.1.0", "@cloudbeaver/plugin-authentication": "~0.1.0", "@cloudbeaver/plugin-authentication-administration": "~0.1.0", @@ -63,6 +68,7 @@ "@cloudbeaver/plugin-sql-editor-new": "~0.1.0", "@cloudbeaver/plugin-sql-editor-screen": "~0.1.0", "@cloudbeaver/plugin-sql-generator": "~0.1.0", + "@cloudbeaver/plugin-sso": "~0.1.0", "@cloudbeaver/plugin-theme": "~0.1.0", "@cloudbeaver/plugin-tools-panel": "~0.1.0", "@cloudbeaver/plugin-top-app-bar": "~0.1.0", @@ -71,17 +77,15 @@ "@cloudbeaver/plugin-user-profile-administration": "~0.1.0", "@cloudbeaver/plugin-version": "~0.1.0", "@cloudbeaver/plugin-version-update-administration": "~0.1.0", - "@cloudbeaver/core-blocks": "~0.1.0", - "@cloudbeaver/core-bootstrap": "~0.1.0", - "@cloudbeaver/core-di": "~0.1.0", - "@cloudbeaver/core-product": "~0.1.0", - "@cloudbeaver/core-version-update": "~0.1.0", - "@cloudbeaver/plugin-sso": "~0.1.0", - "reflect-metadata": "~0.x.x" + "react": "^18.2.0", + "reflect-metadata": "^0.1.13" }, "peerDependencies": {}, "product": { "name": "CloudBeaver Community" }, - "devDependencies": {} + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/product-default/tsconfig.json b/webapp/packages/product-default/tsconfig.json index 3d4149ea71..a58c79e920 100644 --- a/webapp/packages/product-default/tsconfig.json +++ b/webapp/packages/product-default/tsconfig.json @@ -6,6 +6,21 @@ "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "references": [ + { + "path": "../core-blocks/tsconfig.json" + }, + { + "path": "../core-bootstrap/tsconfig.json" + }, + { + "path": "../core-di/tsconfig.json" + }, + { + "path": "../core-product/tsconfig.json" + }, + { + "path": "../core-version-update/tsconfig.json" + }, { "path": "../plugin-administration/tsconfig.json" }, @@ -129,6 +144,9 @@ { "path": "../plugin-sql-generator/tsconfig.json" }, + { + "path": "../plugin-sso/tsconfig.json" + }, { "path": "../plugin-theme/tsconfig.json" }, @@ -152,24 +170,6 @@ }, { "path": "../plugin-version-update-administration/tsconfig.json" - }, - { - "path": "../core-blocks/tsconfig.json" - }, - { - "path": "../core-bootstrap/tsconfig.json" - }, - { - "path": "../core-di/tsconfig.json" - }, - { - "path": "../core-product/tsconfig.json" - }, - { - "path": "../core-version-update/tsconfig.json" - }, - { - "path": "../plugin-sso/tsconfig.json" } ], "include": [ diff --git a/webapp/packages/tests-runner/package.json b/webapp/packages/tests-runner/package.json index 730b182470..404ccb78b2 100644 --- a/webapp/packages/tests-runner/package.json +++ b/webapp/packages/tests-runner/package.json @@ -8,25 +8,24 @@ "build": "tsc -b", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", - "pretest": "tsc -b", - "test": "core-cli-test", + "test": "yarn build && core-cli-test", "validate-dependencies": "core-cli-validate-dependencies", - "update-ts-references": "rimraf --glob dist/* && typescript-resolve-references" + "update-ts-references": "rimraf --glob dist && typescript-resolve-references" }, "dependencies": { - "@testing-library/react": "^14.x.x", - "@cloudbeaver/core-di": "~0.1.0" - }, - "peerDependencies": { - "@testing-library/jest-dom": "~6.x.x", - "mobx": "~6.x.x", - "react": "~18.x.x", - "reshadow": "~0.x.x" + "@cloudbeaver/core-di": "~0.1.0", + "@testing-library/react": "^14.0.0", + "mobx": "^6.10.2", + "react": "^18.2.0" }, + "peerDependencies": {}, "sideEffects": [ "src/**/*.css", "src/**/*.scss", "public/**/*" ], - "devDependencies": {} + "devDependencies": { + "@types/react": "^18.2.25", + "typescript": "^5.2.2" + } } diff --git a/webapp/packages/tests-runner/src/renderInApp.tsx b/webapp/packages/tests-runner/src/renderInApp.tsx index 32998bc4a2..42af2f0554 100644 --- a/webapp/packages/tests-runner/src/renderInApp.tsx +++ b/webapp/packages/tests-runner/src/renderInApp.tsx @@ -5,7 +5,7 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ -import { render, RenderOptions } from '@testing-library/react'; +import { queries, Queries, render, RenderOptions, RenderResult } from '@testing-library/react'; import { AppContext, IServiceInjector } from '@cloudbeaver/core-di'; @@ -17,6 +17,14 @@ function ApplicationWrapper(serviceInjector: IServiceInjector): React.FC) { +export function renderInApp< + Q extends Queries = typeof queries, + Container extends Element | DocumentFragment = HTMLElement, + BaseElement extends Element | DocumentFragment = Container, +>( + ui: React.ReactElement, + app: IApplication, + options?: Omit, 'queries' | 'wrapper'>, +): RenderResult { return render(ui, { wrapper: ApplicationWrapper(app.injector), ...options }); } diff --git a/webapp/readme.md b/webapp/readme.md index 1aff00abce..d4b8a242e9 100644 --- a/webapp/readme.md +++ b/webapp/readme.md @@ -1,4 +1,5 @@ # Steps to run + ## Install Dependencies ```sh @@ -9,9 +10,10 @@ yarn lerna bootstrap ## Build ```sh -yarn lerna run build --stream --scope=@cloudbeaver/product-default +yarn lerna run bundle --stream --scope=@cloudbeaver/product-default ``` -open ```packages/product-default/lib/index.html``` or run ```npx serve packages/product-default/lib``` + +open `packages/product-default/lib/index.html` or run `npx serve packages/product-default/lib` ## Dev @@ -19,8 +21,8 @@ open ```packages/product-default/lib/index.html``` or run ```npx serve packages/ yarn lerna run dev --stream --scope=@cloudbeaver/product-default ``` -## Build GQL SDK +## Generate GQL SDK + ```sh yarn lerna run gql:gen --stream ``` - diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 156304f74e..284312397d 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -270,7 +270,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== @@ -347,7 +347,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.15" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@~7.18.6": +"@babel/plugin-proposal-class-properties@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -366,15 +366,7 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/plugin-syntax-decorators" "^7.22.10" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@~7.20.7": +"@babel/plugin-proposal-object-rest-spread@^7.0.0": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== @@ -385,15 +377,6 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.20.7" -"@babel/plugin-proposal-optional-chaining@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" @@ -791,7 +774,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": +"@babel/plugin-transform-nullish-coalescing-operator@^7.18.6", "@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": version "7.22.11" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== @@ -834,6 +817,15 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" +"@babel/plugin-transform-optional-chaining@^7.21.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" + integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-transform-optional-chaining@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.15.tgz#d7a5996c2f7ca4ad2ad16dbb74444e5c4385b1ba" @@ -3145,7 +3137,7 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" -"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": +"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3", "@lezer/highlight@^1.1.6": version "1.1.6" resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.1.6.tgz#87e56468c0f43c2a8b3dc7f0b7c2804b34901556" integrity sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg== @@ -3358,16 +3350,16 @@ "@types/set-cookie-parser" "^2.4.0" set-cookie-parser "^2.4.6" -"@mswjs/interceptors@^0.17.5": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.9.tgz#0096fc88fea63ee42e36836acae8f4ae33651c04" - integrity sha512-4LVGt03RobMH/7ZrbHqRxQrS9cc2uh+iNKSj8UWr8M26A2i793ju+csaB5zaqYltqJmA2jUq4VeYfKmVqvsXQg== +"@mswjs/interceptors@^0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.10.tgz#857b41f30e2b92345ed9a4e2b1d0a08b8b6fcad4" + integrity sha512-N8x7eSLGcmUFNWZRxT1vsHvypzIRgQYdG0rJey/rZCy6zT/30qDt8Joj7FxzGNLSwXbeZqJOMqDurp7ra4hgbw== dependencies: "@open-draft/until" "^1.0.3" "@types/debug" "^4.1.7" "@xmldom/xmldom" "^0.8.3" debug "^4.3.3" - headers-polyfill "^3.1.0" + headers-polyfill "3.2.5" outvariant "^1.2.1" strict-event-emitter "^0.2.4" web-encoding "^1.1.5" @@ -3867,7 +3859,7 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.23.tgz#498e41218ab3b6a1419c735e5c6ae2c5ed609b6c" integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== -"@popperjs/core@^2.5.4", "@popperjs/core@~2.11.8": +"@popperjs/core@^2.11.8", "@popperjs/core@^2.5.4": version "2.11.8" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== @@ -4093,7 +4085,7 @@ magic-string "^0.25.0" string.prototype.matchall "^4.0.6" -"@testing-library/dom@^9.0.0", "@testing-library/dom@^9.3.1": +"@testing-library/dom@^9.0.0": version "9.3.1" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.1.tgz#8094f560e9389fb973fe957af41bf766937a9ee9" integrity sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w== @@ -4107,6 +4099,20 @@ lz-string "^1.5.0" pretty-format "^27.0.2" +"@testing-library/dom@^9.3.3": + version "9.3.3" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.3.tgz#108c23a5b0ef51121c26ae92eb3179416b0434f5" + integrity sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + "@testing-library/jest-dom@^6.1.3": version "6.1.3" resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.1.3.tgz#443118c9e4043f96396f120de2c7122504a079c5" @@ -4121,7 +4127,7 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^14.0.0", "@testing-library/react@^14.x.x": +"@testing-library/react@^14.0.0": version "14.0.0" resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== @@ -4135,7 +4141,7 @@ resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.4.3.tgz#af975e367743fa91989cd666666aec31a8f50591" integrity sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q== -"@timohausmann/quadtree-ts@~2.0.0-beta.1": +"@timohausmann/quadtree-ts@^2.0.0-beta.1": version "2.0.0-beta.1" resolved "https://registry.yarnpkg.com/@timohausmann/quadtree-ts/-/quadtree-ts-2.0.0-beta.1.tgz#4b8a9943d7838f688c172a3e0b3107117a91dc7f" integrity sha512-zq8AnO1qoYM66OXkiC9d5wIIvNeHy3XIA0AwPtGRNkmX0uv9aktyyBRWzqPW/dZWMMkG4uLluer38QJc+QV/5w== @@ -4510,12 +4516,12 @@ dependencies: "@types/node" "*" -"@types/hast@^2.0.0": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.5.tgz#08caac88b44d0fdd04dc17a19142355f43bd8a7a" - integrity sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg== +"@types/hast@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.1.tgz#e1705ec9258ac4885659c2d50bac06b4fcd16466" + integrity sha512-hs/iBJx2aydugBQx5ETV3ZgeSS0oIreQrFJ4bjBl0XvM4wAmDjFEALY7p0rTSLt2eL+ibjRAAs9dTPiCLtmbqQ== dependencies: - "@types/unist" "^2" + "@types/unist" "*" "@types/html-minifier-terser@^6.0.0": version "6.1.0" @@ -4558,10 +4564,10 @@ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.2.3.tgz#0157c0316dc3722c43a7b71de3fdf3acbccef10d" integrity sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg== -"@types/jest@^29.5.4", "@types/jest@~29.5.4": - version "29.5.4" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.4.tgz#9d0a16edaa009a71e6a71a999acd582514dab566" - integrity sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A== +"@types/jest@^29.5.5": + version "29.5.5" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" + integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -4624,17 +4630,12 @@ resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.2.tgz#529bb3f8a7e9e9f621094eb76a443f585d882528" integrity sha512-v+JFDu96+UYJ3/UWzB0mEglIS//MZXgRaJ4ubUPwOM0gvLc/kcQ3TWNYwENEK7/EcXGQVrW8h/XqednSjBd/Og== -"@types/mdast@^3.0.0": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.12.tgz#beeb511b977c875a5b0cc92eab6fcac2f0895514" - integrity sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== +"@types/mdast@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.1.tgz#9c45e60a04e79f160dcefe6545d28ae536a6ed22" + integrity sha512-IlKct1rUTJ1T81d8OHzyop15kGv9A/ff7Gz7IJgrk6jDb4Udw77pCJ+vq8oxZf4Ghpm+616+i1s/LNg/Vh7d+g== dependencies: - "@types/unist" "^2" - -"@types/mdurl@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" - integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + "@types/unist" "*" "@types/mime@*": version "3.0.1" @@ -4715,13 +4716,20 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-dom@^18.0.0", "@types/react-dom@~18.2.7": +"@types/react-dom@^18.0.0": version "18.2.7" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA== dependencies: "@types/react" "*" +"@types/react-dom@^18.2.11": + version "18.2.11" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.11.tgz#4332c315544698a0875dfdb6e320dda59e1b3d58" + integrity sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg== + dependencies: + "@types/react" "*" + "@types/react-leaflet@~3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/react-leaflet/-/react-leaflet-3.0.0.tgz#b27a50abb6e3ae734d3c15399a26c77c161cab1c" @@ -4738,10 +4746,10 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@~18.0.28": - version "18.0.38" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.38.tgz#02a23bef8848b360a0d1dceef4432c15c21c600c" - integrity sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw== +"@types/react@^18.2.25": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.25.tgz#99fa44154132979e870ff409dc5b6e67f06f0199" + integrity sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -4837,10 +4845,10 @@ resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.9.tgz#76a071d27e544e422dbf00f956818b1057f377b2" integrity sha512-M63wKUdsjDFUfyFt1TCUZHGFk9KDAa5JP0adNUErbm0U45Lr06HtANdYRP+GyleEopEoZ4UyBcdAC5TnW4Uz2w== -"@types/unist@^2", "@types/unist@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.8.tgz#bb197b9639aa1a04cf464a617fe800cccd92ad5c" - integrity sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.0.tgz#988ae8af1e5239e89f9fbb1ade4c935f4eeedf9a" + integrity sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w== "@types/uuid@~9.0.3": version "9.0.3" @@ -5030,6 +5038,11 @@ "@typescript-eslint/types" "6.7.2" eslint-visitor-keys "^3.4.1" +"@ungap/structured-clone@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@vue/babel-helper-vue-jsx-merge-props@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2" @@ -5809,7 +5822,7 @@ axe-core@^4.6.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.0.tgz#038c9e586732c791c0d9cecf7ed6434c4e8d497b" integrity sha512-ZtlVZobOeDQhb/y2lMK6mznDw7TJHDNcKx5/bbBkFvArIQ5CVFhSI6hWWQnMx9I8cNmNmZ30wpDyOC2E2nvgbQ== -axios@^1.0.0, axios@~1.5.0: +axios@^1.0.0: version "1.5.0" resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.0.tgz#f02e4af823e2e46a9768cfc74691fdd0517ea267" integrity sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== @@ -5818,6 +5831,15 @@ axios@^1.0.0, axios@~1.5.0: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f" + integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -6590,7 +6612,7 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -clsx@^2.0.0, clsx@~2.0.0: +clsx@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== @@ -7080,11 +7102,6 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -crypto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" - integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== - css-blank-pseudo@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" @@ -8021,6 +8038,13 @@ detective-typescript@^9.0.0, detective-typescript@^9.1.1: node-source-walk "^5.0.1" typescript "^4.9.5" +devlop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + dexie@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/dexie/-/dexie-3.2.4.tgz#b22a9729be1102acb2eee16102ea6e2bc76454cf" @@ -8039,11 +8063,6 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - dir-glob@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" @@ -8928,7 +8947,7 @@ fast-decode-uri-component@^1.0.1: resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3, fast-deep-equal@~3.1.3: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -9398,6 +9417,11 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +geojson@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/geojson/-/geojson-0.5.0.tgz#3cd6c96399be65b56ee55596116fe9191ce701c0" + integrity sha512-/Bx5lEn+qRF4TfQ5aLu6NH+UKtvIv7Lhc487y/c8BdludrCTpiWf9wyI0RTyqg49MFefIAvFDuEi5Dfd/zgNxQ== + get-amd-module-type@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-amd-module-type/-/get-amd-module-type-3.0.2.tgz#46550cee2b8e1fa4c3f2c8a5753c36990aa49ab0" @@ -9576,6 +9600,17 @@ glob@^10.2.2, glob@^10.2.5: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" +glob@^10.3.10: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -9700,7 +9735,7 @@ graphql-config@^5.0.2: string-env-interpolation "^1.0.1" tslib "^2.4.0" -graphql-request@^6.0.0, graphql-request@~6.1.0: +graphql-request@^6.0.0, graphql-request@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-6.1.0.tgz#f4eb2107967af3c7a5907eb3131c671eac89be4f" integrity sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw== @@ -9720,7 +9755,7 @@ graphql-ws@^5.14.0: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.0.tgz#766f249f3974fc2c48fae0d1fb20c2c4c79cd591" integrity sha512-itrUTQZP/TgswR4GSSYuwWUzrE/w5GhbwM2GX3ic2U7aw33jgEsayfIlvaj7/GcIvZgNMzsPTrE5hqPuFUiE5g== -"graphql@^15.0.0 || ^16.0.0", graphql@~16.x.x: +graphql@^16.8.1: version "16.8.1" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== @@ -9848,10 +9883,27 @@ has@^1.0.0, has@^1.0.3: dependencies: function-bind "^1.1.1" -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== +hast-util-to-jsx-runtime@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz#ffd59bfcf0eb8321c6ed511bfc4b399ac3404bc2" + integrity sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" he@^1.2.0: version "1.2.0" @@ -9866,10 +9918,10 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" -headers-polyfill@^3.1.0, headers-polyfill@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.2.2.tgz#0da53a1b01c7642358ddbf9b99b2c57cc8c384c3" - integrity sha512-dMpZWcokEGf3wcPmv6X6vCxRpdUYIYTPKRYpfWZpqJCpKbX60kXNBE7yv3yj60PWZKQLlXJ0mkA9wmTVu/yfmg== +headers-polyfill@3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.2.5.tgz#6e67d392c9d113d37448fe45014e0afdd168faed" + integrity sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA== hex-color-regex@^1.1.0: version "1.1.0" @@ -9995,6 +10047,11 @@ html-tags@^3.0.0: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== +html-url-attributes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.0.tgz#fc4abf0c3fb437e2329c678b80abb3c62cff6f08" + integrity sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow== + html-webpack-plugin@~5.5.3: version "5.5.3" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" @@ -10327,7 +10384,7 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -inversify@~6.0.1: +inversify@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/inversify/-/inversify-6.0.1.tgz#b20d35425d5d8c5cd156120237aad0008d969f02" integrity sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ== @@ -10435,11 +10492,6 @@ is-buffer@^1.1.5, is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -10940,6 +10992,15 @@ jackspeak@^2.0.3: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jake@^10.8.5: version "10.8.7" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" @@ -11638,11 +11699,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - language-subtag-registry@~0.3.2: version "0.3.22" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" @@ -11663,7 +11719,7 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.7.3" -leaflet@~1.9.4: +leaflet@^1.9.4: version "1.9.4" resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.9.4.tgz#23fae724e282fa25745aff82ca4d394748db7d8d" integrity sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA== @@ -12121,7 +12177,7 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -md5@~2.3.0: +md5@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== @@ -12130,54 +12186,44 @@ md5@~2.3.0: crypt "0.0.2" is-buffer "~1.1.6" -mdast-util-definitions@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - -mdast-util-from-markdown@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" - integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== +mdast-util-from-markdown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" + integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" - -mdast-util-to-hast@^11.0.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz#ea9220617a710e80aa5cc3ac7cc9d4bb0440ae7a" - integrity sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - "@types/mdurl" "^1.0.0" - mdast-util-definitions "^5.0.0" - mdurl "^1.0.0" - unist-builder "^3.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -mdast-util-to-string@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz#74c0a9f014bb2340cae6118f6fccd75467792be7" + integrity sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" mdn-data@2.0.14: version "2.0.14" @@ -12189,11 +12235,6 @@ mdn-data@2.0.4: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdurl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -12248,199 +12289,199 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromark-core-commonmark@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" - integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== +micromark-core-commonmark@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" + integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== dependencies: decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark-factory-destination@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" - integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" + integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-factory-label@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" - integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== +micromark-factory-label@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" + integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== +micromark-factory-space@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" + integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" -micromark-factory-title@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" - integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== +micromark-factory-title@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" + integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-factory-whitespace@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" - integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== +micromark-factory-whitespace@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" + integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-util-character@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== +micromark-util-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.0.1.tgz#52b824c2e2633b6fb33399d2ec78ee2a90d6b298" + integrity sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw== dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-util-chunked@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" - integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== +micromark-util-chunked@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" + integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== dependencies: - micromark-util-symbol "^1.0.0" + micromark-util-symbol "^2.0.0" -micromark-util-classify-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" - integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== +micromark-util-classify-character@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" + integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-util-combine-extensions@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" - integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== +micromark-util-combine-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" + integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" - integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.0.tgz#a798808d02cc74113e2c939fc95363096ade7f1d" + integrity sha512-pIgcsGxpHEtTG/rPJRz/HOLSqp5VTuIIjXlPI+6JSDlK2oljApusG6KzpS8AF0ENUMCHlC/IBb5B9xdFiVlm5Q== dependencies: - micromark-util-symbol "^1.0.0" + micromark-util-symbol "^2.0.0" -micromark-util-decode-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" - integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== +micromark-util-decode-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" + integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== dependencies: decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" -micromark-util-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" - integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== +micromark-util-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" + integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== -micromark-util-html-tag-name@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" - integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== +micromark-util-html-tag-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" + integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== -micromark-util-normalize-identifier@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" - integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== +micromark-util-normalize-identifier@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" + integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== dependencies: - micromark-util-symbol "^1.0.0" + micromark-util-symbol "^2.0.0" -micromark-util-resolve-all@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" - integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== +micromark-util-resolve-all@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" + integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== dependencies: - micromark-util-types "^1.0.0" + micromark-util-types "^2.0.0" -micromark-util-sanitize-uri@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" - integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== +micromark-util-sanitize-uri@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" + integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" -micromark-util-subtokenize@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" - integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== +micromark-util-subtokenize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" + integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-util-symbol@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== +micromark-util-symbol@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" + integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== +micromark-util-types@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" + integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== -micromark@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" - integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== +micromark@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" + integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" micromatch@^3.1.10: version "3.1.10" @@ -12674,17 +12715,17 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mobx-react-lite@~4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-4.0.4.tgz#eee3c55dfa6841365d5a7764971c456db12570fb" - integrity sha512-68uNYvQC/5Dazs3sIBv+bnpzRwcWde8y4ujHiLizhq8yeQtJ2tlNUGSh4r40gyE5M0utACIofBDsAj2hplcovQ== +mobx-react-lite@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-4.0.5.tgz#e2cb98f813e118917bcc463638f5bf6ea053a67b" + integrity sha512-StfB2wxE8imKj1f6T8WWPf4lVMx3cYH9Iy60bbKXEs21+HQ4tvvfIBZfSmMXgQAefi8xYEwQIz4GN9s0d2h7dg== dependencies: use-sync-external-store "^1.2.0" -mobx@~6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.8.0.tgz#59051755fdb5c8a9f3f2e0a9b6abaf86bab7f843" - integrity sha512-+o/DrHa4zykFMSKfS8Z+CPSEg5LW9tSNGTuN8o6MF1GKxlfkSHSeJn5UtgxvPkGgaouplnrLXCF+duAsmm6FHQ== +mobx@^6.10.2: + version "6.10.2" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.10.2.tgz#96e123deef140750360ca9a5b02a8b91fbffd4d9" + integrity sha512-B1UGC3ieK3boCjnMEcZSwxqRDMdzX65H/8zOHbuTY8ZhvrIjTUoLRR2TP2bPqIgYRfb3+dUigu8yMZufNjn0LQ== modify-values@^1.0.0: version "1.0.1" @@ -12718,11 +12759,6 @@ module-lookup-amd@^7.0.1: requirejs "^2.3.5" requirejs-config-file "^4.0.0" -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - mrmime@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" @@ -12743,21 +12779,21 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msw@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/msw/-/msw-1.3.0.tgz#dc1f80a79f4719610e45a87e77d1ec32720bbb6d" - integrity sha512-nnWAZlQyQOKeYRblCpseT1kSPt1aF5e/jHz1hn/18IxbsMFreSVV1cJriT0uV+YG6+wvwFRMHXU3zVuMvuwERQ== +msw@^1.3.2, msw@~1.x.x: + version "1.3.2" + resolved "https://registry.yarnpkg.com/msw/-/msw-1.3.2.tgz#35e0271293e893fc3c55116e90aad5d955c66899" + integrity sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA== dependencies: "@mswjs/cookies" "^0.2.2" - "@mswjs/interceptors" "^0.17.5" + "@mswjs/interceptors" "^0.17.10" "@open-draft/until" "^1.0.3" "@types/cookie" "^0.4.1" "@types/js-levenshtein" "^1.1.1" chalk "^4.1.1" chokidar "^3.4.2" cookie "^0.4.2" - graphql "^15.0.0 || ^16.0.0" - headers-polyfill "^3.2.0" + graphql "^16.8.1" + headers-polyfill "3.2.5" inquirer "^8.2.0" is-node-process "^1.2.0" js-levenshtein "^1.1.6" @@ -14963,7 +14999,7 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.0.0, prop-types@^15.8.1: +prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -15106,14 +15142,14 @@ rc@^1.2.7: dependencies: clsx "^2.0.0" -react-dnd-html5-backend@~16.0.1: +react-dnd-html5-backend@^16.0.1: version "16.0.1" resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz#87faef15845d512a23b3c08d29ecfd34871688b6" integrity sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw== dependencies: dnd-core "^16.0.1" -react-dnd@~16.0.1: +react-dnd@^16.0.1: version "16.0.1" resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-16.0.1.tgz#2442a3ec67892c60d40a1559eef45498ba26fa37" integrity sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q== @@ -15124,7 +15160,7 @@ react-dnd@~16.0.1: fast-deep-equal "^3.1.3" hoist-non-react-statics "^3.3.2" -react-dom@~18.2.0: +react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -15137,7 +15173,7 @@ react-fast-compare@^3.0.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== -react-hotkeys-hook@~4.4.1: +react-hotkeys-hook@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.4.1.tgz#1f7a7a1c9c21d4fa3280bf340fcca8fd77d81994" integrity sha512-sClBMBioFEgFGYLTWWRKvhxcCx1DRznd+wkFHwQZspnRBkHTgruKIHptlK/U/2DPX8BhHoRGzpMVWUXMmdZlmw== @@ -15147,7 +15183,7 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.0, react-is@^17.0.1: +react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -15157,34 +15193,31 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-leaflet@*, react-leaflet@~4.2.1: +react-leaflet@*, react-leaflet@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-4.2.1.tgz#c300e9eccaf15cb40757552e181200aa10b94780" integrity sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q== dependencies: "@react-leaflet/core" "^2.1.0" -react-markdown@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-7.1.1.tgz#cb4d2c2fa3bc1292c889b068a5bf064ae4be1c60" - integrity sha512-bXS7indkcPlCLB6wRFFzX8Xdghr62TBxUF2587o+CUkaZlNaoILb2qNt+5pYmTZuCOC+OeEcdJ+06mu5whtCVQ== - dependencies: - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^2.0.0" - prop-types "^15.0.0" - property-information "^6.0.0" - react-is "^17.0.0" - remark-parse "^10.0.0" - remark-rehype "^9.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.3.0" - unified "^10.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - -react-popper@~2.3.0: +react-markdown@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-9.0.0.tgz#7a41bde9e1b0b1d6911f6f9f8c3cdb4a3e9f9328" + integrity sha512-v6yNf3AB8GfJ8lCpUvzxAXKxgsHpdmWPlcVRQ6Nocsezp255E/IDrF31kLQsPJeB/cKto/geUwjU36wH784FCA== + dependencies: + "@types/hast" "^3.0.0" + devlop "^1.0.0" + hast-util-to-jsx-runtime "^2.0.0" + html-url-attributes "^3.0.0" + mdast-util-to-hast "^13.0.0" + micromark-util-sanitize-uri "^2.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + unified "^11.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +react-popper@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== @@ -15197,7 +15230,7 @@ react-refresh@^0.14.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== -react@>=15, react@~18.2.0: +react@>=15, react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -15347,7 +15380,7 @@ reakit-warning@^0.6.2: dependencies: reakit-utils "^0.15.2" -reakit@~1.3.11: +reakit@~1.3.11, reakit@~1.x.x: version "1.3.11" resolved "https://registry.yarnpkg.com/reakit/-/reakit-1.3.11.tgz#c15360ac43e94fbe4291d233af3ac5040428252e" integrity sha512-mYxw2z0fsJNOQKAEn5FJCPTU3rcrY33YZ/HzoWqZX0G7FwySp1wkCYW79WhuYMNIUFQ8s3Baob1RtsEywmZSig== @@ -15389,7 +15422,7 @@ redux@^4.2.0: dependencies: "@babel/runtime" "^7.9.2" -reflect-metadata@~0.1.13, reflect-metadata@~0.x.x: +reflect-metadata@^0.1.13, reflect-metadata@~0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== @@ -15485,24 +15518,26 @@ relay-runtime@12.0.0: fbjs "^3.0.0" invariant "^2.2.4" -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" -remark-rehype@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-9.1.0.tgz#e4b5b6e19c125b3780343eb66c3e9b99b0f06a81" - integrity sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q== +remark-rehype@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.0.0.tgz#7f21c08738bde024be5f16e4a8b13e5d7a04cf6b" + integrity sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw== dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-to-hast "^11.0.0" - unified "^10.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" remedial@^1.0.7: version "1.0.8" @@ -15583,7 +15618,7 @@ reserved-words@^0.1.2: resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== -reshadow@^0.0.1: +reshadow@^0.0.1, reshadow@~0.x.x: version "0.0.1" resolved "https://registry.yarnpkg.com/reshadow/-/reshadow-0.0.1.tgz#9a34bd7f88858836a904a22e2662ec5d1ec027b8" integrity sha512-/S0hIXfPV1ddD4yCsk1g2pzTMz03z13QYw7sTLhMQ00luV5vcHziuli7l2IlmkG/Fvyt3LD5cdFw6E4s476G5Q== @@ -15742,7 +15777,7 @@ route-node@4.1.1: search-params "3.0.0" tslib "^1.10.0" -router5-plugin-browser@~8.0.1: +router5-plugin-browser@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/router5-plugin-browser/-/router5-plugin-browser-8.0.1.tgz#30a15fc59ed4d59020587cfc5452b5443b1a3290" integrity sha512-RuArnalkREtQj0ROD1RnITWwL+Fl8rbkFspDxRTt3aFG9k5bPOE0HfJRvGsd4TY9Je/kW3hvntvFXSx8Bl745w== @@ -15752,7 +15787,7 @@ router5-transition-path@^8.0.1: resolved "https://registry.yarnpkg.com/router5-transition-path/-/router5-transition-path-8.0.1.tgz#51bfc8adcee3e3b2b6872ac8252d74b501ae3e96" integrity sha512-l7MFEUmasEhe1emrO79t7BkCqQQRZdenz4c3qJmZpe8V6BCerZQR+SYbZL5zmQ3hazY7nR264jCWuNed+cMD2A== -router5@~8.0.1: +router5@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/router5/-/router5-8.0.1.tgz#8ef47dce54a3da2c05b222ba0dd0a5f35871e64d" integrity sha512-LBLQAYd2ZI1FiiBqGf82oC+LRD0PUABrZqTzd6OmyK+t5N8wRs3hbIxeiy/9Zy+xI8Fdf/0WM68P41W6MH8pdQ== @@ -15778,20 +15813,13 @@ rw@1: resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== -rxjs@7.8.1, rxjs@^7.5.5, rxjs@^7.8.1: +rxjs@^7.5.5, rxjs@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - safe-array-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" @@ -15941,7 +15969,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -16677,10 +16705,10 @@ style-mod@^4.0.0, style-mod@^4.1.0: resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.0.tgz#a313a14f4ae8bb4d52878c0053c4327fb787ec09" integrity sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA== -style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== +style-to-object@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54" + integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA== dependencies: inline-style-parser "0.1.1" @@ -17067,6 +17095,11 @@ treeverse@^2.0.0: resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -17300,11 +17333,6 @@ typescript-plugin-css-modules@^5.0.1: stylus "^0.59.0" tsconfig-paths "^4.1.2" -typescript@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - "typescript@^3 || ^4", typescript@^4.0.0, typescript@^4.9.5: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" @@ -17315,6 +17343,11 @@ typescript@^3.9.10, typescript@^3.9.7: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== +typescript@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + typeson-registry@^1.0.0-alpha.20: version "1.0.0-alpha.39" resolved "https://registry.yarnpkg.com/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz#9e0f5aabd5eebfcffd65a796487541196f4b1211" @@ -17382,18 +17415,18 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unified@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== +unified@^11.0.0: + version "11.0.3" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.3.tgz#e141be0fe466a2d28b2160f62712bc9cbc08fdd4" + integrity sha512-jlCV402P+YDcFcB2VcN/n8JasOddqIiaxv118wNBoZXEhOn+lYG7BR4Bfg2BwxvlK58dwbuH2w7GX2esAjL6Mg== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" bail "^2.0.0" + devlop "^1.0.0" extend "^3.0.0" - is-buffer "^2.0.0" is-plain-obj "^4.0.0" trough "^2.0.0" - vfile "^5.0.0" + vfile "^6.0.0" union-value@^1.0.0: version "1.0.1" @@ -17450,55 +17483,43 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" -unist-builder@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.1.tgz#258b89dcadd3c973656b2327b347863556907f58" - integrity sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - -unist-util-is@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" universal-user-agent@^6.0.0: version "6.0.0" @@ -17663,20 +17684,10 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@~9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== v8-compile-cache@2.3.0: version "2.3.0" @@ -17729,23 +17740,22 @@ vendors@^1.0.0: resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" -vfile@^5.0.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== +vfile@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" + integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" w3c-keyname@^2.2.4: version "2.2.8" @@ -18011,7 +18021,7 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -wellknown@~0.5.0: +wellknown@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/wellknown/-/wellknown-0.5.0.tgz#09ae9871fa826cf0a6ec1537ef00c379d78d7101" integrity sha512-za5vTLuPF9nmrVOovYQwNEWE/PwJCM+yHMAj4xN1WWUvtq9OElsvKiPL0CR9rO8xhrYqL7NpI7IknqR8r6eYOg== @@ -18267,7 +18277,7 @@ workbox-recipes@7.0.0: workbox-routing "7.0.0" workbox-strategies "7.0.0" -workbox-routing@7.0.0, workbox-routing@~7.x.x: +workbox-routing@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-7.0.0.tgz#6668438a06554f60645aedc77244a4fe3a91e302" integrity sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA== diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000..fb57ccd13a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + From 37d76c428d9d6b8167688928c6832dfa9090c0b9 Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 9 Oct 2023 18:26:26 +0200 Subject: [PATCH 0004/1440] feat: add more logging (#2052) --- webapp/packages/core-cli/bin/validate-dependencies.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/webapp/packages/core-cli/bin/validate-dependencies.js b/webapp/packages/core-cli/bin/validate-dependencies.js index 7ff47d951e..312ef3e167 100755 --- a/webapp/packages/core-cli/bin/validate-dependencies.js +++ b/webapp/packages/core-cli/bin/validate-dependencies.js @@ -23,6 +23,7 @@ const currentPackage = JSON.parse(fs.readFileSync(currentPackagePath, 'utf8')); // Keep track of the dependencies that were found in the source files const dependencies = new Set(); const devDependencies = new Set(); +let isSuccess = true; const sourceFilesIterator = glob.globIterateSync('**/*.{ts,tsx,scss,css}', { cwd: currentPackageSrcPath }); const importRegex = /(import|export) ((type |)([\w,\s]*?)(\{[\w\s\n,]*?\}|) from |)['"]((@[\w-]*\/[\w-]*)|([^\\.].*?))(\/.*)*['"]/g; @@ -84,6 +85,8 @@ for (const sideEffect of sideEffects) { } } +console.log('Analyzing dependencies...'); + const newDependencies = [...dependencies].sort(sortDependencies); logUnmetAndExtraDependencies('dependencies', newDependencies, currentPackage.dependencies); @@ -108,6 +111,10 @@ currentPackage.devDependencies = [...devDependencies].sort(sortDependencies).red currentPackage.devDependencies, ); +if (isSuccess) { + console.log('All dependencies are valid'); +} + // Write the updated `package.json` fs.writeFileSync(currentPackagePath, JSON.stringify(currentPackage, null, 2) + '\n', 'utf8'); @@ -152,9 +159,11 @@ function logUnmetAndExtraDependencies(key, newDependencies, current) { if (unmetDependencies.length > 0) { console.warn(`Unmet ${key} found:`, unmetDependencies); + isSuccess = false; } if (extraDependencies.length > 0) { console.warn(`Extra ${key} found:`, extraDependencies); + isSuccess = false; } } From 48b93263364fd956f66f35c71f18ba122f545039 Mon Sep 17 00:00:00 2001 From: alex <48489896+devnaumov@users.noreply.github.com> Date: Mon, 9 Oct 2023 23:06:34 +0200 Subject: [PATCH 0005/1440] CB-4065 safe context getter (#2043) Co-authored-by: Alexey Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com> --- .../src/DataGrid/TableColumnHeader/useTableColumnDnD.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/useTableColumnDnD.ts b/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/useTableColumnDnD.ts index ab24da00f7..8bdc916cfc 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/useTableColumnDnD.ts +++ b/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/useTableColumnDnD.ts @@ -60,7 +60,7 @@ export function useTableColumnDnD(model: IDatabaseDataModel, resultIndex: number let side: TableColumnInsertPositionSide = null; if (columnKey && dndBox.state.isOver && dndBox.state.context) { - const dndColumnKey = dndBox.state.context.get(DATA_CONTEXT_DV_DDM_RS_COLUMN_KEY); + const dndColumnKey = dndBox.state.context.tryGet(DATA_CONTEXT_DV_DDM_RS_COLUMN_KEY); if (resultSetViewAction && dndColumnKey && resultSetViewAction.columnIndex(columnKey) > resultSetViewAction.columnIndex(dndColumnKey)) { side = 'right'; From b52c2788b1eee6e4f3fd6dc5287150218770f990 Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Tue, 10 Oct 2023 11:51:39 +0200 Subject: [PATCH 0006/1440] dbeaver/pro#1962 eclipse 2023 09 2 (#2036) * dbeaver/pro#1962 Servlet API 4.x deps * dbeaver/pro#1962 Redundant SLF4J dep removed * dbeaver/pro#1962 SLF4J binding fix + servlet API version * dbeaver/pro#1962 add cloudbeaver slf4j binding * dbeaver/pro#1962 Logging * dbeaver/pro#1962 Logging fix --------- Co-authored-by: Aleksandr Skoblikov --- .../io.cloudbeaver.model/META-INF/MANIFEST.MF | 4 +- .../io/cloudbeaver/server/CBApplication.java | 118 +++++++++++++----- .../io.cloudbeaver.slf4j/META-INF/MANIFEST.MF | 15 +++ .../org.slf4j.spi.SLF4JServiceProvider | 1 + .../io.cloudbeaver.slf4j/build.properties | 5 + .../bundles/io.cloudbeaver.slf4j/plugin.xml | 5 + server/bundles/io.cloudbeaver.slf4j/pom.xml | 16 +++ .../CloudBeaverLogServiceProvider.java | 24 ++++ server/bundles/pom.xml | 1 + .../io.cloudbeaver.ws.feature/feature.xml | 2 +- server/test/pom.xml | 2 +- 11 files changed, 158 insertions(+), 35 deletions(-) create mode 100644 server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF create mode 100644 server/bundles/io.cloudbeaver.slf4j/META-INF/services/org.slf4j.spi.SLF4JServiceProvider create mode 100644 server/bundles/io.cloudbeaver.slf4j/build.properties create mode 100644 server/bundles/io.cloudbeaver.slf4j/plugin.xml create mode 100644 server/bundles/io.cloudbeaver.slf4j/pom.xml create mode 100644 server/bundles/io.cloudbeaver.slf4j/src/io.cloudbeaver.slf4j/CloudBeaverLogServiceProvider.java diff --git a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF index f762b5a198..efe461a216 100644 --- a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Bundle-Release-Date: 20231009 Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . -Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport, +Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport, org.jkiss.dbeaver.model;visibility:=reexport, org.jkiss.dbeaver.model.sm;visibility:=reexport, org.jkiss.dbeaver.model.event;visibility:=reexport, @@ -18,7 +18,7 @@ Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport, org.jkiss.bundle.graphql.java;visibility:=reexport, org.jkiss.bundle.apache.dbcp, com.google.gson;visibility:=reexport, - jakarta.servlet-api;visibility:=reexport + jakarta.servlet-api;bundle-version="[4.0.0,4.0.0]";visibility:=reexport Export-Package: io.cloudbeaver, io.cloudbeaver.auth, io.cloudbeaver.auth.provider, diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java index ace90be81f..c903d3b7e1 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java @@ -47,8 +47,10 @@ import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.model.navigator.DBNBrowseSettings; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; -import org.jkiss.dbeaver.model.security.*; -import org.jkiss.dbeaver.model.security.user.SMObjectPermissions; +import org.jkiss.dbeaver.model.security.SMAdminController; +import org.jkiss.dbeaver.model.security.SMAuthProviderCustomConfiguration; +import org.jkiss.dbeaver.model.security.SMConstants; +import org.jkiss.dbeaver.model.security.SMObjectType; import org.jkiss.dbeaver.model.websocket.event.WSEventController; import org.jkiss.dbeaver.model.websocket.event.WSServerConfigurationChangedEvent; import org.jkiss.dbeaver.registry.BaseApplicationImpl; @@ -256,7 +258,8 @@ protected void startServer() { if (CommonUtils.isEmpty(localHostAddress)) { localHostAddress = System.getProperty(CBConstants.VAR_CB_LOCAL_HOST_ADDR); } - if (CommonUtils.isEmpty(localHostAddress) || "127.0.0.1".equals(localHostAddress) || "::0".equals(localHostAddress)) { + if (CommonUtils.isEmpty(localHostAddress) || "127.0.0.1".equals(localHostAddress) || "::0".equals( + localHostAddress)) { localHostAddress = "localhost"; } @@ -278,8 +281,10 @@ protected void startServer() { } log.debug(GeneralUtils.getProductName() + " " + GeneralUtils.getProductVersion() + " is starting"); //$NON-NLS-1$ - log.debug("\tOS: " + System.getProperty(StandardConstants.ENV_OS_NAME) + " " + System.getProperty(StandardConstants.ENV_OS_VERSION) + " (" + System.getProperty(StandardConstants.ENV_OS_ARCH) + ")"); - log.debug("\tJava version: " + System.getProperty(StandardConstants.ENV_JAVA_VERSION) + " by " + System.getProperty(StandardConstants.ENV_JAVA_VENDOR) + " (" + System.getProperty(StandardConstants.ENV_JAVA_ARCH) + "bit)"); + log.debug("\tOS: " + System.getProperty(StandardConstants.ENV_OS_NAME) + " " + System.getProperty( + StandardConstants.ENV_OS_VERSION) + " (" + System.getProperty(StandardConstants.ENV_OS_ARCH) + ")"); + log.debug("\tJava version: " + System.getProperty(StandardConstants.ENV_JAVA_VERSION) + " by " + System.getProperty( + StandardConstants.ENV_JAVA_VENDOR) + " (" + System.getProperty(StandardConstants.ENV_JAVA_ARCH) + "bit)"); log.debug("\tInstall path: '" + SystemVariablesResolver.getInstallPath() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ log.debug("\tGlobal workspace: '" + instanceLoc.getURL() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ log.debug("\tMemory available " + (runtime.totalMemory() / (1024 * 1024)) + "Mb/" + (runtime.maxMemory() / (1024 * 1024)) + "Mb"); @@ -309,7 +314,8 @@ protected void startServer() { } { // Perform services initialization - for (DBWServiceInitializer wsi : WebServiceRegistry.getInstance().getWebServices(DBWServiceInitializer.class)) { + for (DBWServiceInitializer wsi : WebServiceRegistry.getInstance() + .getWebServices(DBWServiceInitializer.class)) { try { wsi.initializeService(this); } catch (Exception e) { @@ -379,7 +385,8 @@ protected void performAutoConfiguration(File configPath) { String autoAdminName = System.getenv(CBConstants.VAR_AUTO_CB_ADMIN_NAME); String autoAdminPassword = System.getenv(CBConstants.VAR_AUTO_CB_ADMIN_PASSWORD); - if (CommonUtils.isEmpty(autoServerName) || CommonUtils.isEmpty(autoAdminName) || CommonUtils.isEmpty(autoAdminPassword)) { + if (CommonUtils.isEmpty(autoServerName) || CommonUtils.isEmpty(autoAdminName) || CommonUtils.isEmpty( + autoAdminPassword)) { // Try to load from auto config file if (configPath.exists()) { File autoConfigFile = new File(configPath, CBConstants.AUTO_CONFIG_FILE_NAME); @@ -393,13 +400,15 @@ protected void performAutoConfiguration(File configPath) { autoAdminName = autoProps.getProperty(CBConstants.VAR_AUTO_CB_ADMIN_NAME); autoAdminPassword = autoProps.getProperty(CBConstants.VAR_AUTO_CB_ADMIN_PASSWORD); } catch (IOException e) { - log.error("Error loading auto configuration file '" + autoConfigFile.getAbsolutePath() + "'", e); + log.error("Error loading auto configuration file '" + autoConfigFile.getAbsolutePath() + "'", + e); } } } } - if (CommonUtils.isEmpty(autoServerName) || CommonUtils.isEmpty(autoAdminName) || CommonUtils.isEmpty(autoAdminPassword)) { + if (CommonUtils.isEmpty(autoServerName) || CommonUtils.isEmpty(autoAdminName) || CommonUtils.isEmpty( + autoAdminPassword)) { log.info("No auto configuration was found. Server must be configured manually"); return; } @@ -495,6 +504,7 @@ private void initializeSecurityController() throws DBException { protected Path loadServerConfiguration() throws DBException { Path path = super.loadServerConfiguration(); + File runtimeConfigFile = getRuntimeAppConfigFile(); if (runtimeConfigFile.exists()) { log.debug("Runtime configuration [" + runtimeConfigFile.getAbsolutePath() + "]"); @@ -514,7 +524,9 @@ protected void loadConfiguration(Path configPath) throws DBException { parseConfiguration(configPath.toFile()); } // Set default preferences - PrefUtils.setDefaultPreferenceValue(ModelPreferences.getPreferences(), ModelPreferences.UI_DRIVERS_HOME, getDriversLocation()); + PrefUtils.setDefaultPreferenceValue(ModelPreferences.getPreferences(), + ModelPreferences.UI_DRIVERS_HOME, + getDriversLocation()); } private void parseConfiguration(File configFile) throws DBException { @@ -551,10 +563,14 @@ protected void parseConfiguration(Map configProps) throws DBExce workspaceLocation = WebAppUtils.getRelativePath( JSONUtils.getString(serverConfig, CBConstants.PARAM_WORKSPACE_LOCATION, workspaceLocation), homeFolder); - maxSessionIdleTime = JSONUtils.getLong(serverConfig, CBConstants.PARAM_SESSION_EXPIRE_PERIOD, maxSessionIdleTime); + maxSessionIdleTime = JSONUtils.getLong(serverConfig, + CBConstants.PARAM_SESSION_EXPIRE_PERIOD, + maxSessionIdleTime); develMode = JSONUtils.getBoolean(serverConfig, CBConstants.PARAM_DEVEL_MODE, develMode); - enableSecurityManager = JSONUtils.getBoolean(serverConfig, CBConstants.PARAM_SECURITY_MANAGER, enableSecurityManager); + enableSecurityManager = JSONUtils.getBoolean(serverConfig, + CBConstants.PARAM_SECURITY_MANAGER, + enableSecurityManager); //SM config gson.fromJson( gson.toJsonTree(JSONUtils.getObject(serverConfig, CBConstants.PARAM_SM_CONFIGURATION)), @@ -636,7 +652,8 @@ protected void validateConfiguration(Map appConfig) throws DBExc } - protected void readProductConfiguration(Map serverConfig, Gson gson, String homeFolder) throws DBException { + protected void readProductConfiguration(Map serverConfig, Gson gson, String homeFolder) + throws DBException { String productConfigPath = WebAppUtils.getRelativePath( JSONUtils.getString( serverConfig, @@ -652,7 +669,8 @@ protected void readProductConfiguration(Map serverConfig, Gson g log.error("Product configuration file not found (" + productConfigFile.getAbsolutePath() + "'"); } else { log.debug("Load product configuration from '" + productConfigFile.getAbsolutePath() + "'"); - try (Reader reader = new InputStreamReader(new FileInputStream(productConfigFile), StandardCharsets.UTF_8)) { + try (Reader reader = new InputStreamReader(new FileInputStream(productConfigFile), + StandardCharsets.UTF_8)) { productConfiguration.putAll(JSONUtils.parseMap(gson, reader)); } catch (Exception e) { throw new DBException("Error reading product configuration", e); @@ -673,11 +691,13 @@ protected void readProductConfiguration(Map serverConfig, Gson g } protected Map readConnectionsPermissionsConfiguration(Path parentPath) { - String permissionsConfigPath = WebAppUtils.getRelativePath(CBConstants.DEFAULT_DATASOURCE_PERMISSIONS_CONFIGURATION, parentPath); + String permissionsConfigPath = WebAppUtils.getRelativePath(CBConstants.DEFAULT_DATASOURCE_PERMISSIONS_CONFIGURATION, + parentPath); File permissionsConfigFile = new File(permissionsConfigPath); if (permissionsConfigFile.exists()) { log.debug("Load permissions configuration from '" + permissionsConfigFile.getAbsolutePath() + "'"); - try (Reader reader = new InputStreamReader(new FileInputStream(permissionsConfigFile), StandardCharsets.UTF_8)) { + try (Reader reader = new InputStreamReader(new FileInputStream(permissionsConfigFile), + StandardCharsets.UTF_8)) { return JSONUtils.parseMap(getGson(), reader); } catch (Exception e) { log.error("Error reading permissions configuration", e); @@ -841,7 +861,8 @@ public synchronized void finishConfiguration( configurationMode = CommonUtils.isEmpty(serverName); // Reloading configuration by services - for (DBWServiceServerConfigurator wsc : WebServiceRegistry.getInstance().getWebServices(DBWServiceServerConfigurator.class)) { + for (DBWServiceServerConfigurator wsc : WebServiceRegistry.getInstance() + .getWebServices(DBWServiceServerConfigurator.class)) { try { wsc.reloadConfiguration(appConfig); } catch (Exception e) { @@ -878,7 +899,9 @@ private void grantAnonymousAccessToConnections(CBAppConfig appConfig, String adm String anonymousTeamId = appConfig.getAnonymousUserTeam(); var securityController = getSecurityController(); for (DBPDataSourceContainer ds : WebServiceUtils.getGlobalDataSourceRegistry().getDataSources()) { - var datasourcePermissions = securityController.getObjectPermissions(anonymousTeamId, ds.getId(), SMObjectType.datasource); + var datasourcePermissions = securityController.getObjectPermissions(anonymousTeamId, + ds.getId(), + SMObjectType.datasource); if (ArrayUtils.isEmpty(datasourcePermissions.getPermissions())) { securityController.setObjectPermissions( Set.of(ds.getId()), @@ -897,7 +920,8 @@ private void grantAnonymousAccessToConnections(CBAppConfig appConfig, String adm private void grantPermissionsToConnections() { try { var globalRegistry = WebDataSourceUtils.getGlobalDataSourceRegistry(); - var permissionsConfiguration = readConnectionsPermissionsConfiguration(globalRegistry.getProject().getMetadataFolder(false)); + var permissionsConfiguration = readConnectionsPermissionsConfiguration(globalRegistry.getProject() + .getMetadataFolder(false)); if (permissionsConfiguration == null) { return; } @@ -905,7 +929,8 @@ private void grantPermissionsToConnections() { var dataSourceId = entry.getKey(); var ds = globalRegistry.getDataSource(dataSourceId); if (ds == null) { - log.error("Connection " + dataSourceId + " is not found in project " + globalRegistry.getProject().getName()); + log.error("Connection " + dataSourceId + " is not found in project " + globalRegistry.getProject() + .getName()); } List permissions = JSONUtils.getStringList(permissionsConfiguration, dataSourceId); var securityController = getSecurityController(); @@ -971,7 +996,10 @@ protected Map collectConfigurationProperties( var originServerConfig = getServerConfigProps(this.originalConfigurationProperties); // get server properties from original configuration file rootConfig.put("server", serverConfigProperties); if (!CommonUtils.isEmpty(newServerName)) { - copyConfigValue(originServerConfig, serverConfigProperties, CBConstants.PARAM_SERVER_NAME, newServerName); + copyConfigValue(originServerConfig, + serverConfigProperties, + CBConstants.PARAM_SERVER_NAME, + newServerName); } if (!CommonUtils.isEmpty(newServerURL)) { copyConfigValue( @@ -979,10 +1007,14 @@ protected Map collectConfigurationProperties( } if (sessionExpireTime > 0) { copyConfigValue( - originServerConfig, serverConfigProperties, CBConstants.PARAM_SESSION_EXPIRE_PERIOD, sessionExpireTime); + originServerConfig, + serverConfigProperties, + CBConstants.PARAM_SESSION_EXPIRE_PERIOD, + sessionExpireTime); } var databaseConfigProperties = new LinkedHashMap(); - Map oldRuntimeDBConfig = JSONUtils.getObject(originServerConfig, CBConstants.PARAM_DB_CONFIGURATION); + Map oldRuntimeDBConfig = JSONUtils.getObject(originServerConfig, + CBConstants.PARAM_DB_CONFIGURATION); if (!CommonUtils.isEmpty(databaseConfiguration) && !isDistributed()) { for (Map.Entry mp : databaseConfiguration.entrySet()) { copyConfigValue(oldRuntimeDBConfig, databaseConfigProperties, mp.getKey(), mp.getValue()); @@ -998,23 +1030,41 @@ protected Map collectConfigurationProperties( copyConfigValue( oldAppConfig, appConfigProperties, "anonymousAccessEnabled", appConfig.isAnonymousAccessEnabled()); copyConfigValue( - oldAppConfig, appConfigProperties, "supportsCustomConnections", appConfig.isSupportsCustomConnections()); + oldAppConfig, + appConfigProperties, + "supportsCustomConnections", + appConfig.isSupportsCustomConnections()); copyConfigValue( - oldAppConfig, appConfigProperties, "publicCredentialsSaveEnabled", appConfig.isPublicCredentialsSaveEnabled()); + oldAppConfig, + appConfigProperties, + "publicCredentialsSaveEnabled", + appConfig.isPublicCredentialsSaveEnabled()); copyConfigValue( - oldAppConfig, appConfigProperties, "adminCredentialsSaveEnabled", appConfig.isAdminCredentialsSaveEnabled()); + oldAppConfig, + appConfigProperties, + "adminCredentialsSaveEnabled", + appConfig.isAdminCredentialsSaveEnabled()); copyConfigValue( oldAppConfig, appConfigProperties, "enableReverseProxyAuth", appConfig.isEnabledReverseProxyAuth()); copyConfigValue( oldAppConfig, appConfigProperties, "forwardProxy", appConfig.isEnabledForwardProxy()); copyConfigValue( - oldAppConfig, appConfigProperties, "linkExternalCredentialsWithUser", appConfig.isLinkExternalCredentialsWithUser()); + oldAppConfig, + appConfigProperties, + "linkExternalCredentialsWithUser", + appConfig.isLinkExternalCredentialsWithUser()); copyConfigValue( oldAppConfig, appConfigProperties, "redirectOnFederatedAuth", appConfig.isRedirectOnFederatedAuth()); copyConfigValue( - oldAppConfig, appConfigProperties, CBConstants.PARAM_RESOURCE_MANAGER_ENABLED, appConfig.isResourceManagerEnabled()); + oldAppConfig, + appConfigProperties, + CBConstants.PARAM_RESOURCE_MANAGER_ENABLED, + appConfig.isResourceManagerEnabled()); copyConfigValue( - oldAppConfig, appConfigProperties, CBConstants.PARAM_SHOW_READ_ONLY_CONN_INFO, appConfig.isShowReadOnlyConnectionInfo()); + oldAppConfig, + appConfigProperties, + CBConstants.PARAM_SHOW_READ_ONLY_CONN_INFO, + appConfig.isShowReadOnlyConnectionInfo()); copyConfigValue( oldAppConfig, appConfigProperties, @@ -1022,7 +1072,8 @@ protected Map collectConfigurationProperties( appConfig.isGrantConnectionsAccessToAnonymousTeam()); Map resourceQuotas = new LinkedHashMap<>(); - Map originResourceQuotas = JSONUtils.getObject(oldAppConfig, CBConstants.PARAM_RESOURCE_QUOTAS); + Map originResourceQuotas = JSONUtils.getObject(oldAppConfig, + CBConstants.PARAM_RESOURCE_QUOTAS); for (Map.Entry mp : appConfig.getResourceQuotas().entrySet()) { copyConfigValue(originResourceQuotas, resourceQuotas, mp.getKey(), mp.getValue()); } @@ -1136,7 +1187,12 @@ public List getAvailableAuthRoles() { } // gets info about patterns from original configuration file and saves it to runtime config - private void copyConfigValue(Map oldConfig, Map newConfig, String key, Object defaultValue) { + private void copyConfigValue( + Map oldConfig, + Map newConfig, + String key, + Object defaultValue + ) { Object value = oldConfig.get(key); if (value instanceof Map && defaultValue instanceof Map) { Map subValue = new LinkedHashMap<>(); diff --git a/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..232c7cf960 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Vendor: DBeaver Corp +Bundle-Name: CloudBeaver SLF4j Binding +Bundle-SymbolicName: io.cloudbeaver.slf4j;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Release-Date: 20231009 +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-ActivationPolicy: lazy +Bundle-ClassPath: . +Fragment-Host: slf4j.api +Require-Bundle: ch.qos.logback.core, + ch.qos.logback.classic +Automatic-Module-Name: io.cloudbeaver.slf4j +Provide-Capability: osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider" diff --git a/server/bundles/io.cloudbeaver.slf4j/META-INF/services/org.slf4j.spi.SLF4JServiceProvider b/server/bundles/io.cloudbeaver.slf4j/META-INF/services/org.slf4j.spi.SLF4JServiceProvider new file mode 100644 index 0000000000..24a9f55c83 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/META-INF/services/org.slf4j.spi.SLF4JServiceProvider @@ -0,0 +1 @@ +io.cloudbeaver.slf4j.CloudBeaverLogServiceProvider \ No newline at end of file diff --git a/server/bundles/io.cloudbeaver.slf4j/build.properties b/server/bundles/io.cloudbeaver.slf4j/build.properties new file mode 100644 index 0000000000..0511fdeb94 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = target/classes/ +bin.includes = .,\ + META-INF/,\ + plugin.xml diff --git a/server/bundles/io.cloudbeaver.slf4j/plugin.xml b/server/bundles/io.cloudbeaver.slf4j/plugin.xml new file mode 100644 index 0000000000..cb11a658f5 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/server/bundles/io.cloudbeaver.slf4j/pom.xml b/server/bundles/io.cloudbeaver.slf4j/pom.xml new file mode 100644 index 0000000000..eee6e44448 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + io.cloudbeaver + bundles + 1.0.0-SNAPSHOT + ../ + + io.cloudbeaver.slf4j + 1.0.0-SNAPSHOT + eclipse-plugin + + diff --git a/server/bundles/io.cloudbeaver.slf4j/src/io.cloudbeaver.slf4j/CloudBeaverLogServiceProvider.java b/server/bundles/io.cloudbeaver.slf4j/src/io.cloudbeaver.slf4j/CloudBeaverLogServiceProvider.java new file mode 100644 index 0000000000..ce4e8fc150 --- /dev/null +++ b/server/bundles/io.cloudbeaver.slf4j/src/io.cloudbeaver.slf4j/CloudBeaverLogServiceProvider.java @@ -0,0 +1,24 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2023 DBeaver Corp and others + * + * 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. + */ +package io.cloudbeaver.slf4j; + +import ch.qos.logback.classic.spi.LogbackServiceProvider; + +public class CloudBeaverLogServiceProvider extends LogbackServiceProvider { + public CloudBeaverLogServiceProvider() { + } +} diff --git a/server/bundles/pom.xml b/server/bundles/pom.xml index 453987399b..5ce7dcb36f 100644 --- a/server/bundles/pom.xml +++ b/server/bundles/pom.xml @@ -15,6 +15,7 @@ io.cloudbeaver.model io.cloudbeaver.server + io.cloudbeaver.slf4j io.cloudbeaver.service.admin io.cloudbeaver.service.auth diff --git a/server/features/io.cloudbeaver.ws.feature/feature.xml b/server/features/io.cloudbeaver.ws.feature/feature.xml index 010ede7563..522a6ee168 100644 --- a/server/features/io.cloudbeaver.ws.feature/feature.xml +++ b/server/features/io.cloudbeaver.ws.feature/feature.xml @@ -39,9 +39,9 @@ + - diff --git a/server/test/pom.xml b/server/test/pom.xml index 1e8d711c59..ab27553b55 100644 --- a/server/test/pom.xml +++ b/server/test/pom.xml @@ -28,7 +28,7 @@ eclipse-plugin - ch.qos.logback.slf4j + ch.qos.logback.classic 0.0.0 From baef7fbae6ff827a968c1197c7a1bd535c2bab40 Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 10 Oct 2023 11:54:51 +0200 Subject: [PATCH 0007/1440] build: configure browserslist config (#2054) --- webapp/packages/browserslist-config/index.js | 1 + .../packages/browserslist-config/package.json | 7 ++++ .../packages/core-cli/configs/babel.config.js | 36 +++++++++---------- .../core-cli/configs/excludedFromVendor.js | 12 ++----- .../core-cli/configs/webpack.config.js | 3 +- webapp/packages/product-default/package.json | 5 ++- webapp/tsconfig.base.json | 4 +++ 7 files changed, 37 insertions(+), 31 deletions(-) create mode 100644 webapp/packages/browserslist-config/index.js create mode 100644 webapp/packages/browserslist-config/package.json diff --git a/webapp/packages/browserslist-config/index.js b/webapp/packages/browserslist-config/index.js new file mode 100644 index 0000000000..de089bf028 --- /dev/null +++ b/webapp/packages/browserslist-config/index.js @@ -0,0 +1 @@ +module.exports = ['defaults', 'not IE 11']; diff --git a/webapp/packages/browserslist-config/package.json b/webapp/packages/browserslist-config/package.json new file mode 100644 index 0000000000..63aac8cc0a --- /dev/null +++ b/webapp/packages/browserslist-config/package.json @@ -0,0 +1,7 @@ +{ + "name": "@cloudbeaver/browserslist-config", + "sideEffects": false, + "version": "0.1.0", + "license": "Apache-2.0", + "main": "index.js" +} diff --git a/webapp/packages/core-cli/configs/babel.config.js b/webapp/packages/core-cli/configs/babel.config.js index b1fb5c0648..d3974e9199 100644 --- a/webapp/packages/core-cli/configs/babel.config.js +++ b/webapp/packages/core-cli/configs/babel.config.js @@ -34,24 +34,24 @@ module.exports = api => { setSpreadProperties: true, }, presets: [ - [ - '@babel/preset-env', - { - modules: testMode ? undefined : false, - targets: { - node: 'current', - browsers: [ - 'defaults', - 'not IE 11', - // "last 1 chrome version", - // "last 1 firefox version", - // "last 1 edge version", - // "last 1 safari version" - ], - }, - exclude: ['transform-async-to-generator', 'transform-regenerator'], - }, - ], + // [ + // '@babel/preset-env', + // { + // modules: testMode ? undefined : false, + // targets: { + // node: 'current', + // browsers: [ + // 'defaults', + // 'not IE 11', + // // "last 1 chrome version", + // // "last 1 firefox version", + // // "last 1 edge version", + // // "last 1 safari version" + // ], + // }, + // exclude: ['transform-async-to-generator', 'transform-regenerator'], + // }, + // ], // ['@babel/preset-typescript', { isTSX: true, allExtensions: true, onlyRemoveTypeImports: true }], [ '@babel/preset-react', diff --git a/webapp/packages/core-cli/configs/excludedFromVendor.js b/webapp/packages/core-cli/configs/excludedFromVendor.js index 91866498ce..60973478ce 100644 --- a/webapp/packages/core-cli/configs/excludedFromVendor.js +++ b/webapp/packages/core-cli/configs/excludedFromVendor.js @@ -18,14 +18,6 @@ module.exports = [ 'd3', 'dagre', 'codemirror', - '@codemirror/*', - '@codemirror/commands', - '@codemirror/language', - '@codemirror/search', - '@codemirror/state', - '@codemirror/view', - '@codemirror/autocomplete', - '@codemirror/lang-*', + '@codemirror', '@lezer', - '@lezer/*', -]; \ No newline at end of file +]; diff --git a/webapp/packages/core-cli/configs/webpack.config.js b/webapp/packages/core-cli/configs/webpack.config.js index 3a48031e0a..20e899a14e 100644 --- a/webapp/packages/core-cli/configs/webpack.config.js +++ b/webapp/packages/core-cli/configs/webpack.config.js @@ -85,7 +85,6 @@ module.exports = (env, argv) => { }; return { - // target: !devMode ? "web" : "browserslist", optimization: { runtimeChunk: 'single', moduleIds: 'deterministic', @@ -104,7 +103,7 @@ module.exports = (env, argv) => { enforceSizeThreshold: 50000, cacheGroups: { locale: { - test: /[\\/]locales[\\/].*?\.ts/, + test: /[\\/]locales[\\/].*?\.js/, filename: '[name].[contenthash].js', name(module) { return module.rawRequest.substr(2); diff --git a/webapp/packages/product-default/package.json b/webapp/packages/product-default/package.json index cae9f1f2c3..80854c1325 100644 --- a/webapp/packages/product-default/package.json +++ b/webapp/packages/product-default/package.json @@ -9,11 +9,14 @@ "description": "CloudBeaver Community", "license": "Apache-2.0", "main": "dist/index.js", + "browserslist": [ + "extends @cloudbeaver/browserslist-config" + ], "scripts": { "build": "rimraf --glob lib && lerna run gql:gen --stream --parallel && tsc -b", "bundle": "yarn build && core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js", "dev": "yarn build && concurrently -P -k \"yarn tsc -b --watch --preserveWatchOutput\" \"lerna run gql:gen:dev --stream --parallel\" \"core-cli-build serve --mode=development --progress --config=../core-cli/configs/webpack.product.dev.config.js --port=3100 {@}\"", - "analyse": "core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js --profile --json > ./lib/stats.json", + "analyse": "yarn build && rimraf --glob lib && mkdir lib && core-cli-build --mode=production --config ../core-cli/configs/webpack.product.config.js --profile --json > ./lib/stats.json", "postanalyse": "core-cli-analyzer ./lib/stats.json", "lint": "eslint ./src/ --ext .ts,.tsx", "lint-fix": "eslint ./src/ --ext .ts,.tsx --fix", diff --git a/webapp/tsconfig.base.json b/webapp/tsconfig.base.json index 7b315a44e2..740e42f53c 100644 --- a/webapp/tsconfig.base.json +++ b/webapp/tsconfig.base.json @@ -41,6 +41,10 @@ "disableReferencedProjectLoad": true, "disableSolutionSearching": true, + // disable support of helpers + "noEmitHelpers": false, + "importHelpers": true, + "types": ["reflect-metadata", "node", "jest", "@cloudbeaver/core-cli/global.d.ts"], "plugins": [ { From bdcda6a1fbfe070f3bdaa389a584f715048d6282 Mon Sep 17 00:00:00 2001 From: Alexander Skoblikov Date: Tue, 10 Oct 2023 17:41:14 +0200 Subject: [PATCH 0008/1440] CB-4028 delete/add api for permissions (#2024) * CB-4028 delete/add api for permissions * feat: add new subjects connection add and delete methods * CB-4028 fix method name * refactor: subject connection permissions * fix: after review * fix: after review * CB-4028 fix: update ts project references * fix: dependencies cycle * chore: fix dependencies * CB-4028 event for delete * CB-4028 delete object permission event --------- Co-authored-by: Dmitry Osipov Co-authored-by: Alexey Co-authored-by: EvgeniaBzzz <139753579+EvgeniaBzzz@users.noreply.github.com> --- ...WSObjectPermissionUpdatedEventHandler.java | 40 ++++---- .../schema/service.admin.graphqls | 6 ++ .../service/admin/DBWServiceAdmin.java | 17 ++++ .../service/admin/WebServiceBindingAdmin.java | 56 +++++++---- .../service/admin/impl/WebServiceAdmin.java | 75 +++++++++++++-- .../schema/service.rm.graphqls | 8 ++ .../cloudbeaver/service/rm/DBWServiceRM.java | 18 ++++ .../service/rm/WebServiceBindingRM.java | 12 +++ .../service/rm/impl/WebServiceRM.java | 44 +++++++++ .../CBEmbeddedSecurityController.java | 96 +++++++++++++++++++ .../core-authentication/src/UsersResource.ts | 16 +++- .../src/ConnectionInfoResource.ts | 14 ++- .../src/SharedProjectsResource.ts | 14 +-- .../administration/addConnectionsAccess.gql | 3 + .../deleteConnectionsAccess.gql | 3 + .../administration/setConnectionAccess.gql | 11 --- .../setSubjectConnectionAccess.gql | 3 - .../addProjectsPermissions.gql | 3 + .../deleteProjectsPermissions.gql | 3 + .../setProjectPermissions.gql | 9 -- .../setSubjectProjectsPermissions.gql | 9 -- .../GrantedConnectionsTabService.ts | 42 +++++++- ...ONTEXT_USER_FORM_CONNECTION_ACCESS_PART.ts | 4 +- .../UserFormConnectionAccessPart.ts | 34 ++++++- .../ConnectionAccessTabService.ts | 27 +++++- 25 files changed, 459 insertions(+), 108 deletions(-) create mode 100644 webapp/packages/core-sdk/src/queries/connections/administration/addConnectionsAccess.gql create mode 100644 webapp/packages/core-sdk/src/queries/connections/administration/deleteConnectionsAccess.gql delete mode 100644 webapp/packages/core-sdk/src/queries/connections/administration/setConnectionAccess.gql delete mode 100644 webapp/packages/core-sdk/src/queries/connections/administration/setSubjectConnectionAccess.gql create mode 100644 webapp/packages/core-sdk/src/queries/resource-manager/addProjectsPermissions.gql create mode 100644 webapp/packages/core-sdk/src/queries/resource-manager/deleteProjectsPermissions.gql delete mode 100644 webapp/packages/core-sdk/src/queries/resource-manager/setProjectPermissions.gql delete mode 100644 webapp/packages/core-sdk/src/queries/resource-manager/setSubjectProjectsPermissions.gql diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/events/WSObjectPermissionUpdatedEventHandler.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/events/WSObjectPermissionUpdatedEventHandler.java index 729a60eecd..3076c5f1ae 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/events/WSObjectPermissionUpdatedEventHandler.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/events/WSObjectPermissionUpdatedEventHandler.java @@ -18,21 +18,18 @@ import io.cloudbeaver.model.session.BaseWebSession; import io.cloudbeaver.model.session.WebSession; -import io.cloudbeaver.server.CBPlatform; import io.cloudbeaver.utils.WebAppUtils; import org.jkiss.code.NotNull; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.Log; -import org.jkiss.dbeaver.model.security.SMObjectPermissionsGrant; import org.jkiss.dbeaver.model.security.SMObjectType; +import org.jkiss.dbeaver.model.websocket.event.WSEventType; import org.jkiss.dbeaver.model.websocket.event.WSProjectUpdateEvent; import org.jkiss.dbeaver.model.websocket.event.datasource.WSDataSourceEvent; import org.jkiss.dbeaver.model.websocket.event.datasource.WSDataSourceProperty; import org.jkiss.dbeaver.model.websocket.event.permissions.WSObjectPermissionEvent; -import java.util.HashSet; import java.util.List; -import java.util.Set; public class WSObjectPermissionUpdatedEventHandler extends WSDefaultEventHandler { private static final Log log = Log.getLog(WSObjectPermissionUpdatedEventHandler.class); @@ -44,24 +41,16 @@ protected void updateSessionData(@NotNull BaseWebSession activeUserSession, @Not if (event.getSmObjectType() == SMObjectType.datasource && !(activeUserSession instanceof WebSession)) { return; } - var user = activeUserSession.getUserContext().getUser(); var objectId = event.getObjectId(); - var userSubjects = new HashSet<>(Set.of(user.getTeams())); - userSubjects.add(user.getUserId()); - - var smController = CBPlatform.getInstance().getApplication().getSecurityController(); - var shouldBeAccessible = smController.getObjectPermissionGrants(event.getObjectId(), event.getSmObjectType()) - .stream() - .map(SMObjectPermissionsGrant::getSubjectId) - .anyMatch(userSubjects::contains); boolean isAccessibleNow; switch (event.getSmObjectType()) { case project: - var accessibleProjectIds = activeUserSession.getUserContext().getAccessibleProjectIds(); - isAccessibleNow = accessibleProjectIds.contains(objectId); - if (shouldBeAccessible && !isAccessibleNow) { - // adding project to session cache + if (WSEventType.OBJECT_PERMISSIONS_UPDATED.getEventId().equals(event.getId())) { + var accessibleProjectIds = activeUserSession.getUserContext().getAccessibleProjectIds(); + if (accessibleProjectIds.contains(event.getObjectId())) { + return; + } activeUserSession.addSessionProject(objectId); activeUserSession.addSessionEvent( WSProjectUpdateEvent.create( @@ -70,8 +59,7 @@ protected void updateSessionData(@NotNull BaseWebSession activeUserSession, @Not objectId ) ); - } else if (!shouldBeAccessible && isAccessibleNow) { - // removing project from session cache + } else if (WSEventType.OBJECT_PERMISSIONS_DELETED.getEventId().equals(event.getId())) { activeUserSession.removeSessionProject(objectId); activeUserSession.addSessionEvent( WSProjectUpdateEvent.delete( @@ -80,19 +68,23 @@ protected void updateSessionData(@NotNull BaseWebSession activeUserSession, @Not objectId ) ); - }; + } break; case datasource: var webSession = (WebSession) activeUserSession; + var dataSources = List.of(objectId); + var project = webSession.getProjectById(WebAppUtils.getGlobalProjectId()); if (project == null) { log.error("Project " + WebAppUtils.getGlobalProjectId() + " is not found in session " + activeUserSession.getSessionId()); return; } - isAccessibleNow = webSession.findWebConnectionInfo(objectId) != null; - var dataSources = List.of(objectId); - if (shouldBeAccessible && !isAccessibleNow) { + if (WSEventType.OBJECT_PERMISSIONS_UPDATED.getEventId().equals(event.getId())) { + isAccessibleNow = webSession.findWebConnectionInfo(objectId) != null; + if (isAccessibleNow) { + return; + } webSession.addAccessibleConnectionToCache(objectId); webSession.addSessionEvent( WSDataSourceEvent.create( @@ -103,7 +95,7 @@ protected void updateSessionData(@NotNull BaseWebSession activeUserSession, @Not WSDataSourceProperty.CONFIGURATION ) ); - } else if (!shouldBeAccessible && isAccessibleNow) { + } else if (WSEventType.OBJECT_PERMISSIONS_DELETED.getEventId().equals(event.getId())) { webSession.removeAccessibleConnectionFromCache(objectId); webSession.addSessionEvent( WSDataSourceEvent.delete( diff --git a/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls b/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls index 67e8da9fa6..a0978f5a02 100644 --- a/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls +++ b/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls @@ -157,9 +157,15 @@ extend type Query { # Permissions getConnectionSubjectAccess(projectId: ID!, connectionId: ID): [AdminConnectionGrantInfo!]! + @deprecated(reason: "23.2.2") setConnectionSubjectAccess(projectId: ID!, connectionId: ID!, subjects: [ID!]!): Boolean + @since(version: "23.2.2") + addConnectionsAccess(projectId: ID!, connectionIds: [ID!]!, subjects: [ID!]!): Boolean + @since(version: "23.2.2") + deleteConnectionsAccess(projectId: ID!, connectionIds: [ID!]!, subjects: [ID!]!): Boolean getSubjectConnectionAccess(subjectId: ID!): [AdminConnectionGrantInfo!]! + @deprecated(reason: "23.2.2") setSubjectConnectionAccess(subjectId: ID!, connections: [ID!]!): Boolean #### Feature sets diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java index 05bc52993e..4759ec8891 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java @@ -147,6 +147,7 @@ SMDataSourceGrant[] getConnectionSubjectAccess( @Nullable String projectId, String connectionId) throws DBWebException; + @Deprecated @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) boolean setConnectionSubjectAccess( @NotNull WebSession webSession, @@ -154,6 +155,22 @@ boolean setConnectionSubjectAccess( @NotNull String connectionId, @NotNull List subjects) throws DBWebException; + @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) + boolean addConnectionsAccess( + @NotNull WebSession webSession, + @Nullable String projectId, + @NotNull List connectionIds, + @NotNull List subjects + ) throws DBWebException; + + @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) + boolean deleteConnectionsAccess( + @NotNull WebSession webSession, + @Nullable String projectId, + @NotNull List connectionIds, + @NotNull List subjects + ) throws DBWebException; + @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) SMDataSourceGrant[] getSubjectConnectionAccess(@NotNull WebSession webSession, @NotNull String subjectId) throws DBWebException; diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java index 551c292581..05af27d11f 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java @@ -95,27 +95,41 @@ public void bindWiring(DBWBindingContext model) throws DBWebException { env -> getService(env).revokeUserTeam(getWebSession(env), env.getArgument("userId"), env.getArgument("teamId"))) .dataFetcher("setSubjectPermissions", env -> getService(env).setSubjectPermissions(getWebSession(env), env.getArgument("subjectId"), env.getArgument("permissions"))) - .dataFetcher("setUserCredentials", - env -> getService(env).setUserCredentials(getWebSession(env), env.getArgument("userId"), env.getArgument("providerId"), env.getArgument("credentials"))) - .dataFetcher("deleteUserCredentials", - env -> getService(env).deleteUserCredentials(getWebSession(env), env.getArgument("userId"), env.getArgument("providerId"))) - .dataFetcher("enableUser", - env -> getService(env).enableUser(getWebSession(env), env.getArgument("userId"), env.getArgument("enabled"))) - .dataFetcher("setUserAuthRole", - env -> getService(env).setUserAuthRole(getWebSession(env), env.getArgument("userId"), env.getArgument("authRole"))) - .dataFetcher("searchConnections", env -> getService(env).searchConnections(getWebSession(env), env.getArgument("hostNames"))) - - .dataFetcher("getConnectionSubjectAccess", - env -> getService(env).getConnectionSubjectAccess( - getWebSession(env), - getProjectReference(env), - env.getArgument("connectionId"))) - .dataFetcher("setConnectionSubjectAccess", - env -> getService(env).setConnectionSubjectAccess( - getWebSession(env), - getProjectReference(env), - env.getArgument("connectionId"), - env.getArgument("subjects"))) + .dataFetcher("setUserCredentials", + env -> getService(env).setUserCredentials(getWebSession(env), + env.getArgument("userId"), + env.getArgument("providerId"), + env.getArgument("credentials"))) + .dataFetcher("deleteUserCredentials", + env -> getService(env).deleteUserCredentials(getWebSession(env), env.getArgument("userId"), env.getArgument("providerId"))) + .dataFetcher("enableUser", + env -> getService(env).enableUser(getWebSession(env), env.getArgument("userId"), env.getArgument("enabled"))) + .dataFetcher("setUserAuthRole", + env -> getService(env).setUserAuthRole(getWebSession(env), env.getArgument("userId"), env.getArgument("authRole"))) + .dataFetcher("searchConnections", env -> getService(env).searchConnections(getWebSession(env), env.getArgument("hostNames"))) + .dataFetcher("getConnectionSubjectAccess", + env -> getService(env).getConnectionSubjectAccess( + getWebSession(env), + getProjectReference(env), + env.getArgument("connectionId"))) + .dataFetcher("setConnectionSubjectAccess", + env -> getService(env).setConnectionSubjectAccess( + getWebSession(env), + getProjectReference(env), + env.getArgument("connectionId"), + env.getArgument("subjects"))) + .dataFetcher("addConnectionsAccess", + env -> getService(env).addConnectionsAccess( + getWebSession(env), + getProjectReference(env), + env.getArgument("connectionIds"), + env.getArgument("subjects"))) + .dataFetcher("deleteConnectionsAccess", + env -> getService(env).deleteConnectionsAccess( + getWebSession(env), + getProjectReference(env), + env.getArgument("connectionIds"), + env.getArgument("subjects"))) .dataFetcher("getSubjectConnectionAccess", env -> getService(env).getSubjectConnectionAccess(getWebSession(env), env.getArgument("subjectId"))) diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java index 039fed41f4..9a903f9364 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java @@ -610,14 +610,7 @@ public boolean setConnectionSubjectAccess( @NotNull String connectionId, @NotNull List subjects ) throws DBWebException { - DBPProject globalProject = webSession.getProjectById(projectId); - if (!WebServiceUtils.isGlobalProject(globalProject)) { - throw new DBWebException("Project '" + projectId + "'is not global"); - } - DBPDataSourceContainer dataSource = getDataSourceRegistry(webSession, projectId).getDataSource(connectionId); - if (dataSource == null) { - throw new DBWebException("Connection '" + connectionId + "' not found"); - } + validateThatConnectionGlobal(webSession, projectId, List.of(connectionId)); WebUser grantor = webSession.getUser(); if (grantor == null) { throw new DBWebException("Cannot grant connection access in anonymous mode"); @@ -635,6 +628,72 @@ public boolean setConnectionSubjectAccess( return true; } + void validateThatConnectionGlobal(WebSession webSession, String projectId, Collection connectionIds) throws DBWebException { + DBPProject globalProject = webSession.getProjectById(projectId); + if (!WebServiceUtils.isGlobalProject(globalProject)) { + throw new DBWebException("Project '" + projectId + "'is not global"); + } + for (String connectionId : connectionIds) { + DBPDataSourceContainer dataSource = getDataSourceRegistry(webSession, projectId).getDataSource(connectionId); + if (dataSource == null) { + throw new DBWebException("Connection '" + connectionId + "' not found"); + } + } + } + + @Override + public boolean addConnectionsAccess( + @NotNull WebSession webSession, + @Nullable String projectId, + @NotNull List connectionIds, + @NotNull List subjects + ) throws DBWebException { + validateThatConnectionGlobal(webSession, projectId, connectionIds); + WebUser grantor = webSession.getUser(); + if (grantor == null) { + throw new DBWebException("Cannot grant connection access in anonymous mode"); + } + try { + var adminSM = webSession.getAdminSecurityController(); + adminSM.addObjectPermissions( + new HashSet<>(connectionIds), + SMObjectType.datasource, + new HashSet<>(subjects), + Set.of(SMConstants.DATA_SOURCE_ACCESS_PERMISSION), + grantor.getUserId() + ); + } catch (DBException e) { + throw new DBWebException("Error adding connection subject access", e); + } + return true; + } + + @Override + public boolean deleteConnectionsAccess( + @NotNull WebSession webSession, + @Nullable String projectId, + @NotNull List connectionIds, + @NotNull List subjects + ) throws DBWebException { + validateThatConnectionGlobal(webSession, projectId, connectionIds); + WebUser grantor = webSession.getUser(); + if (grantor == null) { + throw new DBWebException("Cannot grant connection access in anonymous mode"); + } + try { + var adminSM = webSession.getAdminSecurityController(); + adminSM.deleteObjectPermissions( + new HashSet<>(connectionIds), + SMObjectType.datasource, + new HashSet<>(subjects), + Set.of(SMConstants.DATA_SOURCE_ACCESS_PERMISSION) + ); + } catch (DBException e) { + throw new DBWebException("Error adding connection subject access", e); + } + return true; + } + @Override public SMDataSourceGrant[] getSubjectConnectionAccess(@NotNull WebSession webSession, @NotNull String subjectId) throws DBWebException { try { diff --git a/server/bundles/io.cloudbeaver.service.rm/schema/service.rm.graphqls b/server/bundles/io.cloudbeaver.service.rm/schema/service.rm.graphqls index 79589bb1fa..d06e8ce007 100644 --- a/server/bundles/io.cloudbeaver.service.rm/schema/service.rm.graphqls +++ b/server/bundles/io.cloudbeaver.service.rm/schema/service.rm.graphqls @@ -98,9 +98,17 @@ extend type Mutation { rmDeleteProject(projectId: ID!): Boolean! + @deprecated rmSetProjectPermissions(projectId: String!, permissions: [RMSubjectProjectPermissions!]!): Boolean! + @deprecated rmSetSubjectProjectPermissions(subjectId: String!, permissions: [RMProjectPermissions!]!): Boolean! + @since(version: "23.2.2") + rmAddProjectsPermissions(projectIds: [ID!]!, subjectIds: [ID!]!, permissions:[String!]! ): Boolean + @since(version: "23.2.2") + rmDeleteProjectsPermissions(projectIds: [ID!]!, subjectIds: [ID!]!, permissions:[String!]!): Boolean + + rmSetResourceProperty(projectId: String!, resourcePath: String!, name: ID!, value: String): Boolean! } \ No newline at end of file diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBWServiceRM.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBWServiceRM.java index 355fe25f12..f52a60ec7e 100644 --- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBWServiceRM.java +++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBWServiceRM.java @@ -136,6 +136,7 @@ boolean deleteProject( @WebAction(requirePermissions = {RMConstants.PERMISSION_RM_ADMIN}) List listProjectPermissions() throws DBWebException; + @Deprecated @WebProjectAction( requireProjectPermissions = RMConstants.PERMISSION_PROJECT_ADMIN ) @@ -145,6 +146,7 @@ boolean setProjectPermissions( @NotNull RMSubjectProjectPermissions projectPermissions ) throws DBWebException; + @Deprecated @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) boolean setSubjectProjectPermissions( @NotNull WebSession webSession, @@ -152,6 +154,22 @@ boolean setSubjectProjectPermissions( @NotNull RMProjectPermissions projectPermissions ) throws DBWebException; + @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) + boolean deleteProjectsPermissions( + @NotNull WebSession webSession, + @NotNull List projectIds, + @NotNull List subjectIds, + @NotNull List permissions + ) throws DBWebException; + + @WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN) + boolean addProjectsPermissions( + @NotNull WebSession webSession, + @NotNull List projectIds, + @NotNull List subjectIds, + @NotNull List permissions + ) throws DBWebException; + @WebProjectAction( requireProjectPermissions = RMConstants.PERMISSION_PROJECT_ADMIN ) diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/WebServiceBindingRM.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/WebServiceBindingRM.java index fac21fac06..1909e3126b 100644 --- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/WebServiceBindingRM.java +++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/WebServiceBindingRM.java @@ -112,6 +112,18 @@ public void bindWiring(DBWBindingContext model) throws DBWebException { env.getArgument("subjectId"), new RMProjectPermissions(env.getArgument("permissions")) )) + .dataFetcher("rmAddProjectsPermissions", env -> getService(env).addProjectsPermissions( + getWebSession(env), + env.getArgument("projectIds"), + env.getArgument("subjectIds"), + env.getArgument("permissions") + )) + .dataFetcher("rmDeleteProjectsPermissions", env -> getService(env).addProjectsPermissions( + getWebSession(env), + env.getArgument("projectIds"), + env.getArgument("subjectIds"), + env.getArgument("permissions") + )) ; } } diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java index 96ade14e07..0f88521937 100644 --- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java +++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java @@ -38,6 +38,7 @@ import org.jkiss.dbeaver.model.websocket.event.resource.WSResourceProperty; import java.nio.charset.StandardCharsets; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -349,6 +350,49 @@ public boolean setSubjectProjectPermissions( } } + @Override + public boolean deleteProjectsPermissions( + @NotNull WebSession webSession, + @NotNull List projectIds, + @NotNull List subjectIds, + @NotNull List permissions + ) throws DBWebException { + try { + SMAdminController smAdminController = webSession.getAdminSecurityController(); + smAdminController.deleteObjectPermissions( + new HashSet<>(projectIds), + SMObjectType.project, + new HashSet<>(subjectIds), + new HashSet<>(permissions) + ); + return true; + } catch (Exception e) { + throw new DBWebException("Error deleting project permissions", e); + } + } + + @Override + public boolean addProjectsPermissions( + @NotNull WebSession webSession, + @NotNull List projectIds, + @NotNull List subjectIds, + @NotNull List permissions + ) throws DBWebException { + try { + SMAdminController smAdminController = webSession.getAdminSecurityController(); + smAdminController.addObjectPermissions( + new HashSet<>(projectIds), + SMObjectType.project, + new HashSet<>(subjectIds), + new HashSet<>(permissions), + webSession.getUserId() + ); + return true; + } catch (Exception e) { + throw new DBWebException("Error adding project permissions", e); + } + } + @Override public List listProjectGrantedPermissions(@NotNull WebSession webSession, @NotNull String projectId diff --git a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java index 875de6b57d..ec5407dc53 100644 --- a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java +++ b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java @@ -2265,6 +2265,90 @@ public void setObjectPermissions( } + @Override + public void addObjectPermissions( + @NotNull Set objectIds, + @NotNull SMObjectType objectType, + @NotNull Set subjectIds, + @NotNull Set permissions, + @NotNull String grantor + ) throws DBException { + if (CommonUtils.isEmpty(objectIds) || CommonUtils.isEmpty(subjectIds) || CommonUtils.isEmpty(permissions)) { + return; + } + Set filteredSubjects = getFilteredSubjects(subjectIds); + try (Connection dbCon = database.openConnection(); + JDBCTransaction txn = new JDBCTransaction(dbCon); + PreparedStatement dbStat = dbCon.prepareStatement(database.normalizeTableNames( + "INSERT INTO {table_prefix}CB_OBJECT_PERMISSIONS" + + "(OBJECT_ID,OBJECT_TYPE,GRANT_TIME,GRANTED_BY,SUBJECT_ID,PERMISSION) " + + "VALUES(?,?,?,?,?,?)")) + ) { + for (String objectId : objectIds) { + dbStat.setString(1, objectId); + dbStat.setString(2, objectType.name()); + dbStat.setTimestamp(3, new Timestamp(System.currentTimeMillis())); + dbStat.setString(4, grantor); + for (String subjectId : subjectIds) { + if (!filteredSubjects.contains(subjectId)) { + log.error("Subject '" + subjectId + "' is not found in database"); + continue; + } + dbStat.setString(5, subjectId); + for (String permission : permissions) { + dbStat.setString(6, permission); + dbStat.execute(); + } + } + txn.commit(); + } + addObjectPermissionsUpdateEvent(objectIds, objectType); + } catch (SQLException e) { + throw new DBCException("Error granting object permissions", e); + } + } + + @Override + public void deleteObjectPermissions( + @NotNull Set objectIds, + @NotNull SMObjectType objectType, + @NotNull Set subjectIds, + @NotNull Set permissions + ) throws DBException { + if (CommonUtils.isEmpty(objectIds) || CommonUtils.isEmpty(subjectIds) || CommonUtils.isEmpty(permissions)) { + return; + } + String sql = "DELETE FROM {table_prefix}CB_OBJECT_PERMISSIONS WHERE " + + "OBJECT_TYPE=?" + + " AND " + + "OBJECT_ID IN (" + SQLUtils.generateParamList(objectIds.size()) + ")" + + " AND " + + "SUBJECT_ID IN (" + SQLUtils.generateParamList(subjectIds.size()) + ")" + + " AND " + + "PERMISSION IN (" + SQLUtils.generateParamList(permissions.size()) + ")"; + + try ( + Connection dbCon = database.openConnection(); + PreparedStatement dbStat = dbCon.prepareStatement(database.normalizeTableNames(sql)) + ) { + int index = 1; + dbStat.setString(index++, objectType.name()); + for (String objectId : objectIds) { + dbStat.setString(index++, objectId); + } + for (String subjectId : subjectIds) { + dbStat.setString(index++, subjectId); + } + for (String permission : permissions) { + dbStat.setString(index++, permission); + } + dbStat.execute(); + addObjectPermissionsDeleteEvent(objectIds, objectType); + } catch (SQLException e) { + throw new DBCException("Error granting object permissions", e); + } + } + private void addSubjectPermissionsUpdateEvent(@NotNull String subjectId, @Nullable SMSubjectType subjectType) { if (subjectType == null) { @@ -2295,6 +2379,18 @@ private void addObjectPermissionsUpdateEvent(@NotNull Set objectIds, @No } } + private void addObjectPermissionsDeleteEvent(@NotNull Set objectIds, @NotNull SMObjectType objectType) { + for (var objectId : objectIds) { + var event = WSObjectPermissionEvent.delete( + getSmSessionId(), + getUserId(), + objectType, + objectId + ); + application.getEventController().addEvent(event); + } + } + @Override public void deleteAllObjectPermissions(@NotNull String objectId, @NotNull SMObjectType objectType) throws DBException { try (Connection dbCon = database.openConnection()) { diff --git a/webapp/packages/core-authentication/src/UsersResource.ts b/webapp/packages/core-authentication/src/UsersResource.ts index fc53b3067b..ba1d6e8f62 100644 --- a/webapp/packages/core-authentication/src/UsersResource.ts +++ b/webapp/packages/core-authentication/src/UsersResource.ts @@ -111,8 +111,20 @@ export class UsersResource extends CachedMapResource { - await this.graphQLService.sdk.setConnections({ userId, connections }); + async addConnectionsAccess(projectId: string, userId: string, connectionIds: string[]): Promise { + await this.graphQLService.sdk.addConnectionsAccess({ + projectId, + connectionIds, + subjects: [userId], + }); + } + + async deleteConnectionsAccess(projectId: string, userId: string, connectionIds: string[]): Promise { + await this.graphQLService.sdk.deleteConnectionsAccess({ + projectId, + connectionIds, + subjects: [userId], + }); } async setMetaParameters(userId: string, parameters: Record): Promise { diff --git a/webapp/packages/core-connections/src/ConnectionInfoResource.ts b/webapp/packages/core-connections/src/ConnectionInfoResource.ts index 22449f57e1..df93e6ada4 100644 --- a/webapp/packages/core-connections/src/ConnectionInfoResource.ts +++ b/webapp/packages/core-connections/src/ConnectionInfoResource.ts @@ -361,10 +361,18 @@ export class ConnectionInfoResource extends CachedMapResource { - await this.graphQLService.sdk.setConnectionAccess({ + async addConnectionsAccess(connectionKey: IConnectionInfoParams, subjects: string[]): Promise { + await this.graphQLService.sdk.addConnectionsAccess({ projectId: connectionKey.projectId, - connectionId: connectionKey.connectionId, + connectionIds: [connectionKey.connectionId], + subjects, + }); + } + + async deleteConnectionsAccess(connectionKey: IConnectionInfoParams, subjects: string[]): Promise { + await this.graphQLService.sdk.deleteConnectionsAccess({ + projectId: connectionKey.projectId, + connectionIds: [connectionKey.connectionId], subjects, }); } diff --git a/webapp/packages/core-resource-manager/src/SharedProjectsResource.ts b/webapp/packages/core-resource-manager/src/SharedProjectsResource.ts index 893632b519..80c340dc49 100644 --- a/webapp/packages/core-resource-manager/src/SharedProjectsResource.ts +++ b/webapp/packages/core-resource-manager/src/SharedProjectsResource.ts @@ -67,16 +67,18 @@ export class SharedProjectsResource extends CachedMapResource { - await this.graphQLService.sdk.setProjectPermissions({ - projectId, + async addProjectPermissions(projectIds: string[], subjectIds: string[], permissions: string[]): Promise { + await this.graphQLService.sdk.addProjectsPermissions({ + projectIds, + subjectIds, permissions, }); } - async setSubjectProjectsAccess(subjectId: string, permissions: ProjectSubjectPermission[]): Promise { - await this.graphQLService.sdk.setSubjectProjectsPermissions({ - subjectId, + async deleteProjectPermissions(projectIds: string[], subjectIds: string[], permissions: string[]): Promise { + await this.graphQLService.sdk.deleteProjectsPermissions({ + projectIds, + subjectIds, permissions, }); } diff --git a/webapp/packages/core-sdk/src/queries/connections/administration/addConnectionsAccess.gql b/webapp/packages/core-sdk/src/queries/connections/administration/addConnectionsAccess.gql new file mode 100644 index 0000000000..a34e72c982 --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/connections/administration/addConnectionsAccess.gql @@ -0,0 +1,3 @@ +query addConnectionsAccess($projectId: ID!, $connectionIds: [ID!]!, $subjects: [ID!]!) { + addConnectionsAccess(projectId: $projectId, connectionIds: $connectionIds, subjects: $subjects) +} diff --git a/webapp/packages/core-sdk/src/queries/connections/administration/deleteConnectionsAccess.gql b/webapp/packages/core-sdk/src/queries/connections/administration/deleteConnectionsAccess.gql new file mode 100644 index 0000000000..935c64468b --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/connections/administration/deleteConnectionsAccess.gql @@ -0,0 +1,3 @@ +query deleteConnectionsAccess($projectId: ID!, $connectionIds: [ID!]!, $subjects: [ID!]!) { + deleteConnectionsAccess(projectId: $projectId, connectionIds: $connectionIds, subjects: $subjects) +} diff --git a/webapp/packages/core-sdk/src/queries/connections/administration/setConnectionAccess.gql b/webapp/packages/core-sdk/src/queries/connections/administration/setConnectionAccess.gql deleted file mode 100644 index 6b536bd918..0000000000 --- a/webapp/packages/core-sdk/src/queries/connections/administration/setConnectionAccess.gql +++ /dev/null @@ -1,11 +0,0 @@ -query setConnectionAccess( - $projectId: ID! - $connectionId: ID! - $subjects: [ID!]! -) { - setConnectionSubjectAccess( - projectId: $projectId - connectionId: $connectionId - subjects: $subjects - ) -} \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/connections/administration/setSubjectConnectionAccess.gql b/webapp/packages/core-sdk/src/queries/connections/administration/setSubjectConnectionAccess.gql deleted file mode 100644 index 9a64d6b677..0000000000 --- a/webapp/packages/core-sdk/src/queries/connections/administration/setSubjectConnectionAccess.gql +++ /dev/null @@ -1,3 +0,0 @@ -query setSubjectConnectionAccess($subjectId: ID!, $connections: [ID!]!) { - setSubjectConnectionAccess(subjectId: $subjectId, connections: $connections) -} \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/resource-manager/addProjectsPermissions.gql b/webapp/packages/core-sdk/src/queries/resource-manager/addProjectsPermissions.gql new file mode 100644 index 0000000000..153c1d1cc9 --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/resource-manager/addProjectsPermissions.gql @@ -0,0 +1,3 @@ +mutation addProjectsPermissions($projectIds: [ID!]!, $subjectIds: [ID!]!, $permissions: [String!]!) { + rmAddProjectsPermissions(projectIds: $projectIds, subjectIds: $subjectIds, permissions: $permissions) +} diff --git a/webapp/packages/core-sdk/src/queries/resource-manager/deleteProjectsPermissions.gql b/webapp/packages/core-sdk/src/queries/resource-manager/deleteProjectsPermissions.gql new file mode 100644 index 0000000000..a16a9eb9ef --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/resource-manager/deleteProjectsPermissions.gql @@ -0,0 +1,3 @@ +mutation deleteProjectsPermissions($projectIds: [ID!]!, $subjectIds: [ID!]!, $permissions: [String!]!) { + rmDeleteProjectsPermissions(projectIds: $projectIds, subjectIds: $subjectIds, permissions: $permissions) +} diff --git a/webapp/packages/core-sdk/src/queries/resource-manager/setProjectPermissions.gql b/webapp/packages/core-sdk/src/queries/resource-manager/setProjectPermissions.gql deleted file mode 100644 index fd7162fe9d..0000000000 --- a/webapp/packages/core-sdk/src/queries/resource-manager/setProjectPermissions.gql +++ /dev/null @@ -1,9 +0,0 @@ -mutation setProjectPermissions( - $projectId: String! - $permissions: [RMSubjectProjectPermissions!]! -) { - rmSetProjectPermissions( - projectId: $projectId - permissions: $permissions - ) -} \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/resource-manager/setSubjectProjectsPermissions.gql b/webapp/packages/core-sdk/src/queries/resource-manager/setSubjectProjectsPermissions.gql deleted file mode 100644 index 72f0c463c7..0000000000 --- a/webapp/packages/core-sdk/src/queries/resource-manager/setSubjectProjectsPermissions.gql +++ /dev/null @@ -1,9 +0,0 @@ -mutation setSubjectProjectsPermissions( - $subjectId: String! - $permissions: [RMProjectPermissions!]! -) { - rmSetSubjectProjectPermissions( - subjectId: $subjectId - permissions: $permissions - ) -} \ No newline at end of file diff --git a/webapp/packages/plugin-authentication-administration/src/Administration/Users/Teams/GrantedConnections/GrantedConnectionsTabService.ts b/webapp/packages/plugin-authentication-administration/src/Administration/Users/Teams/GrantedConnections/GrantedConnectionsTabService.ts index 209a3ae815..eadaf25efd 100644 --- a/webapp/packages/plugin-authentication-administration/src/Administration/Users/Teams/GrantedConnections/GrantedConnectionsTabService.ts +++ b/webapp/packages/plugin-authentication-administration/src/Administration/Users/Teams/GrantedConnections/GrantedConnectionsTabService.ts @@ -13,7 +13,7 @@ import { NotificationService } from '@cloudbeaver/core-events'; import { executorHandlerFilter, IExecutionContextProvider } from '@cloudbeaver/core-executor'; import { isGlobalProject, ProjectInfoResource } from '@cloudbeaver/core-projects'; import { CachedMapAllKey } from '@cloudbeaver/core-resource'; -import { GraphQLService } from '@cloudbeaver/core-sdk'; +import { AdminConnectionGrantInfo, GraphQLService } from '@cloudbeaver/core-sdk'; import { isArraysEqual, MetadataValueGetter } from '@cloudbeaver/core-utils'; import { teamContext } from '../Contexts/teamContext'; @@ -87,6 +87,12 @@ export class GrantedConnectionsTabService extends Bootstrap { return; } + const globalProject = this.projectInfoResource.values.find(isGlobalProject); + + if (!globalProject) { + throw new Error('The global project does not exist'); + } + const grantInfo = await this.teamsResource.getSubjectConnectionAccess(config.teamId); const initial = grantInfo.map(info => info.connectionId); @@ -96,15 +102,41 @@ export class GrantedConnectionsTabService extends Bootstrap { return; } + const { connectionsToRevoke, connectionsToGrant } = this.getConnectionsDifferences(grantInfo, state); + try { - await this.graphQLService.sdk.setSubjectConnectionAccess({ - subjectId: config.teamId, - connections: state.grantedSubjects, - }); + if (connectionsToRevoke.length > 0) { + await this.graphQLService.sdk.deleteConnectionsAccess({ + projectId: globalProject.id, + subjects: [config.teamId], + connectionIds: connectionsToRevoke, + }); + } + + if (connectionsToGrant.length > 0) { + await this.graphQLService.sdk.addConnectionsAccess({ + projectId: globalProject.id, + subjects: [config.teamId], + connectionIds: connectionsToGrant, + }); + } state.loaded = false; } catch (exception: any) { this.notificationService.logException(exception); } } + + private getConnectionsDifferences( + grantInfo: AdminConnectionGrantInfo[], + state: IGrantedConnectionsTabState, + ): { connectionsToRevoke: string[]; connectionsToGrant: string[] } { + const current = grantInfo.map(info => info.connectionId); + const next = state.grantedSubjects; + + const connectionsToRevoke = current.filter(connectionId => !next.includes(connectionId)); + const connectionsToGrant = next.filter(connectionId => !current.includes(connectionId)); + + return { connectionsToRevoke, connectionsToGrant }; + } } diff --git a/webapp/packages/plugin-authentication-administration/src/Administration/Users/UserForm/ConnectionAccess/DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART.ts b/webapp/packages/plugin-authentication-administration/src/Administration/Users/UserForm/ConnectionAccess/DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART.ts index 450dc041dc..6a1bd69f85 100644 --- a/webapp/packages/plugin-authentication-administration/src/Administration/Users/UserForm/ConnectionAccess/DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART.ts +++ b/webapp/packages/plugin-authentication-administration/src/Administration/Users/UserForm/ConnectionAccess/DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART.ts @@ -12,6 +12,7 @@ import { DATA_CONTEXT_FORM_STATE } from '@cloudbeaver/core-ui'; import type { AdministrationUserFormState } from '../AdministrationUserFormState'; import { DATA_CONTEXT_USER_FORM_INFO_PART } from '../Info/DATA_CONTEXT_USER_FORM_INFO_PART'; import { UserFormConnectionAccessPart } from './UserFormConnectionAccessPart'; +import { ProjectInfoResource } from '@cloudbeaver/core-projects'; export const DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART = createDataContext( 'User Form Connection Access Part', @@ -21,7 +22,8 @@ export const DATA_CONTEXT_USER_FORM_CONNECTION_ACCESS_PART = createDataContext { - constructor(formState: AdministrationUserFormState, private readonly usersResource: UsersResource) { + constructor( + formState: AdministrationUserFormState, + private readonly usersResource: UsersResource, + private readonly projectInfoResource: ProjectInfoResource, + ) { super(formState, []); } @@ -55,14 +60,39 @@ export class UserFormConnectionAccessPart extends FormPart 0) { + await this.usersResource.deleteConnectionsAccess(globalProject.id, userFormInfoPart.state.userId, connectionsToRevoke); + } + + if (connectionsToGrant.length > 0) { + await this.usersResource.addConnectionsAccess(globalProject.id, userFormInfoPart.state.userId, connectionsToGrant); + } } private getGrantedConnections(state: AdminConnectionGrantInfo[]): string[] { return state.filter(connection => connection.subjectType !== AdminSubjectType.Team).map(connection => connection.dataSourceId); } + private getConnectionsDifferences(current: string[], next: string[]): { connectionsToRevoke: string[]; connectionsToGrant: string[] } { + const connectionsToRevoke = current.filter(subjectId => !next.includes(subjectId)); + const connectionsToGrant = next.filter(subjectId => !current.includes(subjectId)); + + return { connectionsToRevoke, connectionsToGrant }; + } + protected override async loader() { const userFormInfoPart = this.formState.dataContext.get(DATA_CONTEXT_USER_FORM_INFO_PART); let grantedConnections: AdminConnectionGrantInfo[] = []; diff --git a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts index bb1371c0a1..1771c53a58 100644 --- a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts +++ b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts @@ -104,12 +104,24 @@ export class ConnectionAccessTabService extends Bootstrap { const key = createConnectionParam(data.state.projectId, config.connectionId); - const changed = await this.isChanged(key, state.grantedSubjects); + const currentGrantedSubjects = await this.connectionInfoResource.loadAccessSubjects(key); + const currentGrantedSubjectIds = currentGrantedSubjects.map(subject => subject.subjectId); - if (changed) { - await this.connectionInfoResource.setAccessSubjects(key, state.grantedSubjects); - state.initialGrantedSubjects = state.grantedSubjects.slice(); + const { subjectsToRevoke, subjectsToGrant } = this.getSubjectDifferences(currentGrantedSubjectIds, state.grantedSubjects); + + if (subjectsToRevoke.length === 0 && subjectsToGrant.length === 0) { + return; + } + + if (subjectsToRevoke.length > 0) { + await this.connectionInfoResource.deleteConnectionsAccess(key, subjectsToRevoke); } + + if (subjectsToGrant.length > 0) { + await this.connectionInfoResource.addConnectionsAccess(key, subjectsToGrant); + } + + state.initialGrantedSubjects = state.grantedSubjects.slice(); } private async formState(data: IConnectionFormState, contexts: IExecutionContextProvider) { @@ -138,4 +150,11 @@ export class ConnectionAccessTabService extends Bootstrap { return current.some(value => !next.some(subjectId => subjectId === value.subjectId)); } + + private getSubjectDifferences(current: string[], next: string[]): { subjectsToRevoke: string[]; subjectsToGrant: string[] } { + const subjectsToRevoke = current.filter(subjectId => !next.includes(subjectId)); + const subjectsToGrant = next.filter(subjectId => !current.includes(subjectId)); + + return { subjectsToRevoke, subjectsToGrant }; + } } From dc402f19408dd8a4f84d04ecd6d671de3c1e6374 Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 10 Oct 2023 17:44:39 +0200 Subject: [PATCH 0009/1440] fix: jest tests (#2056) --- .../packages/core-cli/configs/babel.config.js | 55 +------------------ .../core-cli/configs/jest.babel.config.js | 11 ++++ .../packages/core-cli/configs/jest.config.js | 10 +--- 3 files changed, 13 insertions(+), 63 deletions(-) create mode 100644 webapp/packages/core-cli/configs/jest.babel.config.js diff --git a/webapp/packages/core-cli/configs/babel.config.js b/webapp/packages/core-cli/configs/babel.config.js index d3974e9199..e62889387d 100644 --- a/webapp/packages/core-cli/configs/babel.config.js +++ b/webapp/packages/core-cli/configs/babel.config.js @@ -7,23 +7,9 @@ */ /* eslint-disable @typescript-eslint/no-var-requires */ const testingAttributes = require('../dist/babel-plugins/TestingAttributes.js'); -const { warn } = console; - -// Prevents resolution warnings from babel-plugin-module-resolver -// See https://github.com/tleunen/babel-plugin-module-resolver/issues/315 -// eslint-disable-next-line no-console -console.warn = (...args) => { - for (const arg of args) { - if (arg.startsWith('Could not resolve') && /src/.test(arg)) { - return; - } - } - warn(...args); -}; module.exports = api => { const devMode = !api.env('production'); - const testMode = api.env('test'); api.cache.never(); return { @@ -34,25 +20,6 @@ module.exports = api => { setSpreadProperties: true, }, presets: [ - // [ - // '@babel/preset-env', - // { - // modules: testMode ? undefined : false, - // targets: { - // node: 'current', - // browsers: [ - // 'defaults', - // 'not IE 11', - // // "last 1 chrome version", - // // "last 1 firefox version", - // // "last 1 edge version", - // // "last 1 safari version" - // ], - // }, - // exclude: ['transform-async-to-generator', 'transform-regenerator'], - // }, - // ], - // ['@babel/preset-typescript', { isTSX: true, allExtensions: true, onlyRemoveTypeImports: true }], [ '@babel/preset-react', { @@ -61,26 +28,6 @@ module.exports = api => { }, ], ], - plugins: [ - // 'babel-plugin-transform-typescript-metadata', - // '@babel/plugin-syntax-dynamic-import', - // '@babel/plugin-proposal-nullish-coalescing-operator', - // '@babel/plugin-proposal-optional-chaining', - // ['@babel/plugin-proposal-decorators', { legacy: true }], - // ['@babel/plugin-proposal-class-properties'], - // ['@babel/plugin-proposal-object-rest-spread', { useBuiltIns: true }], - [testingAttributes, {}], - [require('@reshadow/babel'), {}], - // /*devMode &&*/ [ - // 'babel-plugin-module-resolver', - // { - // alias: { - // '^@cloudbeaver/([^/]*)$': '@cloudbeaver/\\1/lib', - // '^@cloudbeaver/([^/]*)/(.*)$': '@cloudbeaver/\\1/\\2', - // }, - // }, - // ], - devMode && !testMode && require.resolve('react-refresh/babel'), - ].filter(Boolean), + plugins: [[testingAttributes, {}], [require('@reshadow/babel'), {}], devMode && require.resolve('react-refresh/babel')].filter(Boolean), }; }; diff --git a/webapp/packages/core-cli/configs/jest.babel.config.js b/webapp/packages/core-cli/configs/jest.babel.config.js new file mode 100644 index 0000000000..b010b8b748 --- /dev/null +++ b/webapp/packages/core-cli/configs/jest.babel.config.js @@ -0,0 +1,11 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2023 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ +module.exports = { + presets: ['@babel/preset-env', ['@babel/preset-react', { runtime: 'automatic' }]], + plugins: ['../dist/babel-plugins/TestingAttributes.js', require('@reshadow/babel')], +}; diff --git a/webapp/packages/core-cli/configs/jest.config.js b/webapp/packages/core-cli/configs/jest.config.js index d59490086f..730f1e9c1e 100644 --- a/webapp/packages/core-cli/configs/jest.config.js +++ b/webapp/packages/core-cli/configs/jest.config.js @@ -12,28 +12,20 @@ module.exports = { 'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)', '/node_modules/(?!(uuid|go-split|@react-dnd|react-dnd-html5-backend|react-dnd|dnd-core|@cloudbeaver))(.*)', ], - // transformIgnorePatterns: ['/node_modules/', '\\.pnp\\.[^\\/]+$', 'reshadow'], testPathIgnorePatterns: ['/node_modules/'], moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': require.resolve('./__mocks__/fileMock.js'), '\\.(css|scss|less)$': require.resolve('./__mocks__/styleMock.js'), '^dexie$': require.resolve('dexie'), - // '^@cloudbeaver/([^/]*)$': '@cloudbeaver/$1/src', - // '^@cloudbeaver/([^/]*)/(.*)$': '@cloudbeaver/$1/$2', - '^reshadow$': 'reshadow/lib', '^@reshadow/react$': '@reshadow/react/lib', '^@reshadow/runtime$': '@reshadow/runtime/lib', }, - // collectCoverage: true, - // collectCoverageFrom: ['src/**/*.{ts,tsx}', '!src/types.ts'], - // coverageReporters: ['json'], - // restoreMocks: true, passWithNoTests: true, setupFiles: [require.resolve('fake-indexeddb/auto'), require.resolve('../tests/setup.js')], setupFilesAfterEnv: ['@testing-library/jest-dom'], transform: { - '\\.jsx?$': ['babel-jest', { configFile: require.resolve('./babel.config.js') }], + '\\.jsx?$': ['babel-jest', { configFile: require.resolve('./jest.babel.config.js') }], }, }; From 4344dce70068e5d37d134e65b8925d08e3248f6e Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Tue, 10 Oct 2023 18:50:48 +0200 Subject: [PATCH 0010/1440] dbeaver/pro#2000 Java 17 (#2057) --- server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF | 2 +- .../bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.service.fs/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF | 2 +- .../bundles/io.cloudbeaver.service.rm.nio/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF | 2 +- .../io.cloudbeaver.service.security/META-INF/MANIFEST.MF | 2 +- server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF | 2 +- server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF index efe461a216..0a9987ac7e 100644 --- a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Model Bundle-SymbolicName: io.cloudbeaver.model;singleton:=true Bundle-Version: 1.0.38.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport, diff --git a/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF index 7847ffbc81..6e91ab3a62 100644 --- a/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.product.ce/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Community Product Bundle-SymbolicName: io.cloudbeaver.product.ce;singleton:=true Bundle-Version: 23.2.2.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server diff --git a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF index 3dbed2a56a..49c687ab4e 100644 --- a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Server Bundle-SymbolicName: io.cloudbeaver.server;singleton:=true Bundle-Version: 23.2.2.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-Activator: io.cloudbeaver.server.CBPlatformActivator Bundle-ClassPath: . diff --git a/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF index 915e0dd9e7..81fdfd12cf 100644 --- a/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.admin/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - Administration Bundle-SymbolicName: io.cloudbeaver.service.admin;singleton:=true Bundle-Version: 1.0.82.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server, diff --git a/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF index f2b6e3b140..aabf0216c6 100644 --- a/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.auth/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - Authentication Bundle-SymbolicName: io.cloudbeaver.service.auth;singleton:=true Bundle-Version: 1.0.82.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server diff --git a/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF index c605afe507..85ec67b85c 100644 --- a/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.data.transfer/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - Data Transfer Bundle-SymbolicName: io.cloudbeaver.service.data.transfer;singleton:=true Bundle-Version: 1.0.83.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server, diff --git a/server/bundles/io.cloudbeaver.service.fs/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.fs/META-INF/MANIFEST.MF index dcf8f1c8d1..c7ae77bab4 100644 --- a/server/bundles/io.cloudbeaver.service.fs/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.fs/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - File System Bundle-SymbolicName: io.cloudbeaver.service.fs;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Release-Date: 20230904 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server, diff --git a/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF index bf2f7e1a43..85751dcd37 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.metadata/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - Metadata Bundle-SymbolicName: io.cloudbeaver.service.metadata;singleton:=true Bundle-Version: 1.0.86.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server diff --git a/server/bundles/io.cloudbeaver.service.rm.nio/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.rm.nio/META-INF/MANIFEST.MF index 25d8f12537..c93f3bbfb8 100644 --- a/server/bundles/io.cloudbeaver.service.rm.nio/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.rm.nio/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Resource manager NIO implementation Bundle-SymbolicName: io.cloudbeaver.service.rm.nio;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Release-Date: 20230927 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.model, diff --git a/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF index d35fc72577..e0b625acae 100644 --- a/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.rm/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: Cloudbeaver Web Service - Resource manager Bundle-SymbolicName: io.cloudbeaver.service.rm;singleton:=true Bundle-Version: 1.0.35.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: io.cloudbeaver.server, diff --git a/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF index 9141cdee64..a9408adbfb 100644 --- a/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.service.security/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Vendor: DBeaver Corp Bundle-SymbolicName: io.cloudbeaver.service.security;singleton:=true Bundle-Version: 1.0.38.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Require-Bundle: org.jkiss.dbeaver.model;visibility:=reexport, diff --git a/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF index 232c7cf960..301c239da1 100644 --- a/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.slf4j/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: CloudBeaver SLF4j Binding Bundle-SymbolicName: io.cloudbeaver.slf4j;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Release-Date: 20231009 -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Bundle-ClassPath: . Fragment-Host: slf4j.api diff --git a/server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF b/server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF index 55384ba6ab..73d6c042b8 100644 --- a/server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF +++ b/server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-SymbolicName: io.cloudbeaver.test.platform Bundle-Version: 1.0.0.qualifier Bundle-Release-Date: 20220606 Bundle-Vendor: DBeaver Corp -Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.resources, From fe2c7b76beb160aa04883148a96230b80859ba4d Mon Sep 17 00:00:00 2001 From: Dmitriy Osipov <75555523+teunlao@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:19:40 +0200 Subject: [PATCH 0011/1440] feat: migrate form-controls to css modules (#2041) * feat: migrate form-controls to css modules * fix: checkbox field styles * fix: remove old field styles * fix: styles bugs * CB-3773 fix: styles * CB-3773 fix: field description styles * CB-3773 fix: radio button styles --------- Co-authored-by: Alexey Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com> --- .../Checkboxes/CheckboxMarkup.m.css | 64 ++++++++ .../Checkboxes/CheckboxMarkup.tsx | 141 ++++------------- .../FormControls/Checkboxes/FieldCheckbox.tsx | 21 +-- .../src/FormControls/Checkboxes/Switch.tsx | 21 ++- .../src/FormControls/Combobox.m.css | 9 ++ .../core-blocks/src/FormControls/Combobox.tsx | 50 +++--- .../core-blocks/src/FormControls/Field.m.css | 10 ++ .../core-blocks/src/FormControls/Field.tsx | 25 +++ .../src/FormControls/FieldDescription.m.css | 15 ++ .../src/FormControls/FieldDescription.tsx | 16 ++ .../src/FormControls/FieldLabel.m.css | 7 + .../src/FormControls/FieldLabel.tsx | 22 +++ .../core-blocks/src/FormControls/Filter.m.css | 46 ++++++ .../core-blocks/src/FormControls/Filter.tsx | 81 ++-------- .../core-blocks/src/FormControls/FormBox.tsx | 24 --- .../src/FormControls/FormBoxElement.tsx | 32 ---- .../FormControls/FormFieldDescription.m.css | 16 ++ .../src/FormControls/FormFieldDescription.tsx | 40 ++--- .../src/FormControls/FormGroup.tsx | 23 --- .../src/FormControls/InputField.m.css | 4 + .../src/FormControls/InputField.tsx | 47 +++--- .../FormControls/InputFileTextContent.m.css | 22 +++ .../src/FormControls/InputFileTextContent.tsx | 58 ++----- .../src/FormControls/InputFiles.m.css | 18 +++ .../src/FormControls/InputFiles.tsx | 57 ++----- .../core-blocks/src/FormControls/Radio.m.css | 66 ++++++++ .../core-blocks/src/FormControls/Radio.tsx | 144 +++++------------- .../src/FormControls/Textarea.m.css | 25 +++ .../core-blocks/src/FormControls/Textarea.tsx | 65 +++----- .../src/FormControls/baseFormControlStyles.ts | 57 ------- .../ObjectPropertyInfoForm/RenderField.tsx | 4 - .../src/PropertiesTable/PropertiesTable.tsx | 33 +++- .../PropertiesTableFilterStyles.m.css | 18 +++ .../PropertiesTableInputStyles.m.css | 11 ++ .../core-blocks/src/PropertiesTable/styles.ts | 33 ---- .../core-blocks/src/Table/TableSelect.m.css | 4 + .../core-blocks/src/Table/TableSelect.tsx | 18 +-- webapp/packages/core-blocks/src/index.ts | 5 +- .../Form/ServerConfigurationInfoForm.tsx | 4 +- .../ServerConfigurationAdminForm.tsx | 4 +- .../UserForm/Info/UserFormInfoCredentials.tsx | 4 +- .../AuthProviderForm/AuthProviderForm.tsx | 1 - .../NetworkHandlerAuthForm.tsx | 4 +- .../src/ConnectionForm/Options/Options.tsx | 5 +- .../src/ConnectionForm/SSH/SSH.tsx | 6 - .../SettingsPanel/SettingsInfoFormField.tsx | 2 - .../UserInfo/UserInfoPanel.tsx | 6 +- 47 files changed, 644 insertions(+), 744 deletions(-) create mode 100644 webapp/packages/core-blocks/src/FormControls/Field.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/Field.tsx create mode 100644 webapp/packages/core-blocks/src/FormControls/FieldDescription.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/FieldDescription.tsx create mode 100644 webapp/packages/core-blocks/src/FormControls/FieldLabel.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/FieldLabel.tsx create mode 100644 webapp/packages/core-blocks/src/FormControls/Filter.m.css delete mode 100644 webapp/packages/core-blocks/src/FormControls/FormBox.tsx delete mode 100644 webapp/packages/core-blocks/src/FormControls/FormBoxElement.tsx create mode 100644 webapp/packages/core-blocks/src/FormControls/FormFieldDescription.m.css delete mode 100644 webapp/packages/core-blocks/src/FormControls/FormGroup.tsx create mode 100644 webapp/packages/core-blocks/src/FormControls/InputFileTextContent.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/InputFiles.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/Radio.m.css create mode 100644 webapp/packages/core-blocks/src/FormControls/Textarea.m.css delete mode 100644 webapp/packages/core-blocks/src/FormControls/baseFormControlStyles.ts create mode 100644 webapp/packages/core-blocks/src/PropertiesTable/PropertiesTableFilterStyles.m.css create mode 100644 webapp/packages/core-blocks/src/PropertiesTable/PropertiesTableInputStyles.m.css create mode 100644 webapp/packages/core-blocks/src/Table/TableSelect.m.css diff --git a/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.m.css b/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.m.css index c88e369e63..cdf2d866cf 100644 --- a/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.m.css +++ b/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.m.css @@ -1,2 +1,66 @@ .checkbox { + composes: theme-checkbox from global; + box-sizing: content-box !important; +} +.checkboxInput { + composes: theme-checkbox_native-control from global; +} +.checkboxBackground { + composes: theme-checkbox__background from global; + box-sizing: border-box !important; +} +.checkboxCheckmark { + composes: theme-checkbox__checkmark from global; +} +.checkboxCheckmarkPath { + composes: theme-checkbox__checkmark-path from global; +} +.checkboxMixedmark { + composes: theme-checkbox__mixedmark from global; +} +.checkboxRipple { + composes: theme-checkbox__ripple from global; +} +.checkboxContainer { + display: flex; + align-items: center; + height: 32px; +} +.checkboxLabel { + composes: theme-typography--body2 from global; + cursor: pointer; +} +.checkboxCaption { + composes: theme-text-text-hint-on-light theme-typography--caption from global; +} + +.primary { + composes: theme-checkbox_primary from global; +} +.surface { + composes: theme-checkbox_surface from global; +} +.small { + composes: theme-checkbox_small from global; +} + +.small { + &.checkboxContainer { + & .checkbox { + width: 14px; + height: 14px; + } + & .checkboxBackground { + width: 14px; + height: 14px; + } + } +} + +.disabled { + composes: theme-checkbox--disabled from global; +} + +.checked { + composes: theme-checkbox--checked from global; } diff --git a/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.tsx b/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.tsx index a2adc04def..f135d1de72 100644 --- a/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Checkboxes/CheckboxMarkup.tsx @@ -6,103 +6,19 @@ * you may not use this file except in compliance with the License. */ import { useLayoutEffect, useRef } from 'react'; -import styled, { css } from 'reshadow'; - -import type { ComponentStyle } from '@cloudbeaver/core-theming'; import { s } from '../../s'; import { useS } from '../../useS'; -import { useStyles } from '../../useStyles'; import CheckboxMarkupStyles from './CheckboxMarkup.m.css'; export type CheckboxMod = 'primary' | 'surface' | 'small'; -const checkboxStyles = css` - checkbox { - composes: theme-checkbox from global; - box-sizing: content-box !important; - } - checkbox-input { - composes: theme-checkbox_native-control from global; - } - checkbox-background { - composes: theme-checkbox__background from global; - box-sizing: border-box !important; - } - checkbox-checkmark { - composes: theme-checkbox__checkmark from global; - } - checkbox-checkmark-path { - composes: theme-checkbox__checkmark-path from global; - } - checkbox-mixedmark { - composes: theme-checkbox__mixedmark from global; - } - checkbox-ripple { - composes: theme-checkbox__ripple from global; - } - checkbox-container { - display: flex; - align-items: center; - height: 32px; - } - checkbox-label { - composes: theme-typography--body2 from global; - cursor: pointer; - } - checkbox-caption { - composes: theme-text-text-hint-on-light theme-typography--caption from global; - } -`; - -const checkboxMod: Record = { - primary: css` - checkbox { - composes: theme-checkbox_primary from global; - } - `, - surface: css` - checkbox { - composes: theme-checkbox_surface from global; - } - `, - small: css` - checkbox { - composes: theme-checkbox_small from global; - } - checkbox-container { - & checkbox { - width: 14px; - height: 14px; - } - & checkbox-background { - width: 14px; - height: 14px; - } - } - `, -}; - -const checkboxState = { - disabled: css` - checkbox { - composes: theme-checkbox--disabled from global; - } - `, - checked: css` - checkbox { - composes: theme-checkbox--checked from global; - } - `, -}; - interface ICheckboxMarkupProps extends Omit, 'style'> { label?: string; caption?: string; indeterminate?: boolean; ripple?: boolean; mod?: CheckboxMod[]; - style?: ComponentStyle; } export { CheckboxMarkupStyles }; @@ -115,7 +31,6 @@ export const CheckboxMarkup: React.FC = function CheckboxM title, mod = ['primary'], ripple = true, - style, readOnly, caption, ...rest @@ -129,32 +44,40 @@ export const CheckboxMarkup: React.FC = function CheckboxM } }); - return styled( - useStyles( - checkboxStyles, - ...(mod || []).map(mod => checkboxMod[mod]), - rest.disabled && checkboxState.disabled, - rest.checked && checkboxState.checked, - style, - ), - )( - - - - - - - - - - {ripple && } - + return ( +
+
+ +
+ + + +
+
+ {ripple &&
} +
{label && (id || rest.name) && ( - + + {caption &&
{caption}
} + )} - , +
); }; diff --git a/webapp/packages/core-blocks/src/FormControls/Checkboxes/FieldCheckbox.tsx b/webapp/packages/core-blocks/src/FormControls/Checkboxes/FieldCheckbox.tsx index db90e7c33a..6bf183b379 100644 --- a/webapp/packages/core-blocks/src/FormControls/Checkboxes/FieldCheckbox.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Checkboxes/FieldCheckbox.tsx @@ -5,36 +5,39 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ +import { observer } from 'mobx-react-lite'; + import { filterLayoutFakeProps, getLayoutProps } from '../../Containers/filterLayoutFakeProps'; import elementsSizeStyles from '../../Containers/shared/ElementsSize.m.css'; import { s } from '../../s'; import { useS } from '../../useS'; -import formControlStyles from '../FormControl.m.css'; +import { Field } from '../Field'; +import { FieldLabel } from '../FieldLabel'; import { isControlPresented } from '../isControlPresented'; import { Checkbox, CheckboxBaseProps, CheckboxType, ICheckboxControlledProps, ICheckboxObjectProps } from './Checkbox'; import fieldCheckboxStyles from './FieldCheckbox.m.css'; -export const FieldCheckbox: CheckboxType = function FieldCheckbox({ +export const FieldCheckbox: CheckboxType = observer(function FieldCheckbox({ children, className, ...rest }: CheckboxBaseProps & (ICheckboxControlledProps | ICheckboxObjectProps)) { const layoutProps = getLayoutProps(rest); const checkboxProps = filterLayoutFakeProps(rest); - const styles = useS(elementsSizeStyles, formControlStyles, fieldCheckboxStyles); + const styles = useS(fieldCheckboxStyles); if (checkboxProps.autoHide && !isControlPresented(checkboxProps.name, checkboxProps.state)) { return null; } return ( -
- + + {children && ( - + )} -
+ ); -}; +}); diff --git a/webapp/packages/core-blocks/src/FormControls/Checkboxes/Switch.tsx b/webapp/packages/core-blocks/src/FormControls/Checkboxes/Switch.tsx index 661cbae450..53eff392f7 100644 --- a/webapp/packages/core-blocks/src/FormControls/Checkboxes/Switch.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Checkboxes/Switch.tsx @@ -8,10 +8,11 @@ import { observer } from 'mobx-react-lite'; import { filterLayoutFakeProps } from '../../Containers/filterLayoutFakeProps'; -import elementsSizeStyles from '../../Containers/shared/ElementsSize.m.css'; import { s } from '../../s'; import { useS } from '../../useS'; -import formControlStyles from '../FormControl.m.css'; +import { Field } from '../Field'; +import { FieldDescription } from '../FieldDescription'; +import { FieldLabel } from '../FieldLabel'; import { isControlPresented } from '../isControlPresented'; import type { ICheckboxControlledProps, ICheckboxObjectProps } from './Checkbox'; import switchStyles from './Switch.m.css'; @@ -64,14 +65,14 @@ export const Switch: SwitchType = observer(function Switch({ onChange, }); rest = filterLayoutFakeProps(rest); - const styles = useS(elementsSizeStyles, formControlStyles, switchStyles, ...mod.map(mod => switchMod[mod])); + const styles = useS(switchStyles, ...mod.map(mod => switchMod[mod])); if (autoHide && !isControlPresented(name, state)) { return null; } return ( -
+
@@ -91,15 +92,11 @@ export const Switch: SwitchType = observer(function Switch({ />
- +
- {description && ( -
- {description} -
- )} -
+ {description && {description}} + ); }); diff --git a/webapp/packages/core-blocks/src/FormControls/Combobox.m.css b/webapp/packages/core-blocks/src/FormControls/Combobox.m.css index 939d725a5b..78b26e7bd3 100644 --- a/webapp/packages/core-blocks/src/FormControls/Combobox.m.css +++ b/webapp/packages/core-blocks/src/FormControls/Combobox.m.css @@ -23,6 +23,15 @@ padding-right: 24px !important; } +.input { + font-size: 12px; + + &.select { + cursor: pointer; + user-select: none; + } +} + .menuButton { position: absolute; right: 0; diff --git a/webapp/packages/core-blocks/src/FormControls/Combobox.tsx b/webapp/packages/core-blocks/src/FormControls/Combobox.tsx index a47c0ad08e..da3dfedde8 100644 --- a/webapp/packages/core-blocks/src/FormControls/Combobox.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Combobox.tsx @@ -11,7 +11,6 @@ import { Menu, MenuButton, MenuItem, useMenuState } from 'reakit/Menu'; import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { getComputed } from '../getComputed'; import { Icon } from '../Icon'; import { IconOrImage } from '../IconOrImage'; @@ -20,8 +19,10 @@ import { useTranslate } from '../localization/useTranslate'; import { s } from '../s'; import { useS } from '../useS'; import comboboxStyles from './Combobox.m.css'; +import { Field } from './Field'; +import { FieldDescription } from './FieldDescription'; +import { FieldLabel } from './FieldLabel'; import { FormContext } from './FormContext'; -import formControlStyles from './FormControl.m.css'; type BaseProps = Omit, 'onChange' | 'onSelect' | 'name' | 'value' | 'defaultValue'> & ILayoutSizeProps & { @@ -93,7 +94,7 @@ export const Combobox: ComboboxType = observer(function Combobox({ const context = useContext(FormContext); const menuRef = useRef(null); const [inputRef, setInputRef] = useState(null); - const styles = useS(elementsSizeStyles, formControlStyles, comboboxStyles); + const styles = useS(comboboxStyles); const menu = useMenuState({ placement: 'bottom-end', @@ -255,17 +256,22 @@ export const Combobox: ComboboxType = observer(function Combobox({ } return ( -
+ {children && ( -
+ {children} - {rest.required && ' *'} -
+ )} -
+
{(icon || loading) && ( -
- {loading ? : typeof icon === 'string' ? : icon} +
+ {loading ? ( + + ) : typeof icon === 'string' ? ( + + ) : ( + icon + )}
)} {!filteredItems.length ? ( - + {translate('combobox_no_results_placeholder')} ) : ( @@ -314,28 +318,22 @@ export const Combobox: ComboboxType = observer(function Combobox({ title={title} {...menu} disabled={disabled} - className={styles.menuItem} + className={s(styles, { menuItem: true })} onClick={event => handleSelect(event.currentTarget.id)} > {iconSelector && ( -
- {icon && typeof icon === 'string' ? : icon} +
+ {icon && typeof icon === 'string' ? : icon}
)} -
- {valueSelector(item)} -
+
{valueSelector(item)}
); }) )}
- {description && ( -
- {description} -
- )} -
+ {description && {description}} + ); }); diff --git a/webapp/packages/core-blocks/src/FormControls/Field.m.css b/webapp/packages/core-blocks/src/FormControls/Field.m.css new file mode 100644 index 0000000000..e35f38c294 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/Field.m.css @@ -0,0 +1,10 @@ +.field { + box-sizing: border-box; + max-width: 100%; + + /* nested */ + & .field { + height: 32px; + padding: 0; + } +} diff --git a/webapp/packages/core-blocks/src/FormControls/Field.tsx b/webapp/packages/core-blocks/src/FormControls/Field.tsx new file mode 100644 index 0000000000..f6ba8ca247 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/Field.tsx @@ -0,0 +1,25 @@ +import { observer } from 'mobx-react-lite'; +import type { HTMLAttributes, PropsWithChildren } from 'react'; + +import { getLayoutProps } from '../Containers/filterLayoutFakeProps'; +import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; +import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; +import { s } from '../s'; +import { useS } from '../useS'; +import fieldStyles from './Field.m.css'; + +type Props = ILayoutSizeProps & + HTMLAttributes & { + className?: string; + }; +export const Field: React.FC> = observer(function Field({ children, className, ...rest }) { + const styles = useS(fieldStyles, elementsSizeStyles); + + const layoutProps = getLayoutProps(rest); + + return ( +
+ {children} +
+ ); +}); diff --git a/webapp/packages/core-blocks/src/FormControls/FieldDescription.m.css b/webapp/packages/core-blocks/src/FormControls/FieldDescription.m.css new file mode 100644 index 0000000000..4a050fef44 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/FieldDescription.m.css @@ -0,0 +1,15 @@ +.fieldDescription { + composes: theme-typography--caption from global; + /*color: var(--theme-text-hint-on-background);*/ + box-sizing: border-box; + padding-top: 4px; + min-height: 24px; + + &.invalid { + color: var(--theme-negative); + } + + &:empty { + display: none; + } +} diff --git a/webapp/packages/core-blocks/src/FormControls/FieldDescription.tsx b/webapp/packages/core-blocks/src/FormControls/FieldDescription.tsx new file mode 100644 index 0000000000..8ad2c2534d --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/FieldDescription.tsx @@ -0,0 +1,16 @@ +import { observer } from 'mobx-react-lite'; +import type { PropsWithChildren } from 'react'; + +import { s } from '../s'; +import { useS } from '../useS'; +import fieldDescriptionStyles from './FieldDescription.m.css'; + +interface Props { + className?: string; + invalid?: boolean; +} +export const FieldDescription: React.FC> = observer(function FieldDescription({ children, className, invalid }) { + const styles = useS(fieldDescriptionStyles); + + return
{children}
; +}); diff --git a/webapp/packages/core-blocks/src/FormControls/FieldLabel.m.css b/webapp/packages/core-blocks/src/FormControls/FieldLabel.m.css new file mode 100644 index 0000000000..3cf2127a3b --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/FieldLabel.m.css @@ -0,0 +1,7 @@ +.fieldLabel { + composes: theme-typography--body1 from global; + box-sizing: border-box; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} diff --git a/webapp/packages/core-blocks/src/FormControls/FieldLabel.tsx b/webapp/packages/core-blocks/src/FormControls/FieldLabel.tsx new file mode 100644 index 0000000000..0c9d123c79 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/FieldLabel.tsx @@ -0,0 +1,22 @@ +import { observer } from 'mobx-react-lite'; +import type { LabelHTMLAttributes, PropsWithChildren } from 'react'; + +import { s } from '../s'; +import { useS } from '../useS'; +import fieldLabelStyles from './FieldLabel.m.css'; + +type Props = LabelHTMLAttributes & { + className?: string; + title?: string; + required?: boolean; +}; +export const FieldLabel: React.FC> = observer(function FieldLabel({ children, className, required, ...rest }) { + const styles = useS(fieldLabelStyles); + + return ( + + ); +}); diff --git a/webapp/packages/core-blocks/src/FormControls/Filter.m.css b/webapp/packages/core-blocks/src/FormControls/Filter.m.css new file mode 100644 index 0000000000..7a3483d9cf --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/Filter.m.css @@ -0,0 +1,46 @@ +.filterContainer { + position: relative; + min-width: 24px; + min-height: 24px; +} +.inputField { + display: none; + width: 300px; + &.max { + width: 100%; + } + &.toggled { + display: block; + } + + & .input { + padding-right: 40px !important; + } + +} +.iconButton { + position: absolute; + right: 0; + top: 0; + margin: 0; + width: 24px; + height: 24px; + border-radius: 2px; + cursor: auto; + + &.toggled { + right: 4px; + top: 4px; + } + &.cross { + width: 16px; + height: 16px; + top: 8px; + right: 8px; + } +} + +.toggleMode { + composes: theme-background-primary theme-text-on-primary from global; + cursor: pointer; +} diff --git a/webapp/packages/core-blocks/src/FormControls/Filter.tsx b/webapp/packages/core-blocks/src/FormControls/Filter.tsx index e3907563f4..5a1f4fa809 100644 --- a/webapp/packages/core-blocks/src/FormControls/Filter.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Filter.tsx @@ -7,74 +7,20 @@ */ import { observer } from 'mobx-react-lite'; import { useCallback, useEffect, useState } from 'react'; -import styled, { css, use } from 'reshadow'; - -import type { ComponentStyle } from '@cloudbeaver/core-theming'; import { IconButton } from '../IconButton'; +import { s } from '../s'; import { useFocus } from '../useFocus'; -import { useStyles } from '../useStyles'; +import { useS } from '../useS'; +import filterStyle from './Filter.m.css'; import { InputField } from './InputField'; -const filterStyles = css` - filter-container { - position: relative; - min-width: 24px; - min-height: 24px; - } - InputField { - display: none; - width: 300px; - &[|max] { - width: 100%; - } - &[|toggled] { - display: block; - } - } - IconButton { - position: absolute; - right: 0; - top: 0; - margin: 0; - width: 24px; - height: 24px; - border-radius: 2px; - cursor: auto; - - &[|toggled] { - right: 4px; - top: 4px; - } - &[name='cross'] { - width: 16px; - height: 16px; - top: 8px; - right: 8px; - } - } -`; - -const toggleModeButtonStyle = css` - IconButton { - composes: theme-background-primary theme-text-on-primary from global; - cursor: pointer; - } -`; - -const innerInputStyle = css` - input { - padding-right: 40px !important; - } -`; - interface BaseProps { toggleMode?: boolean; placeholder?: string; disabled?: boolean; max?: boolean; className?: string; - style?: ComponentStyle; onToggle?: (status: boolean) => void; onKeyDown?: (event: React.KeyboardEvent) => void; onClick?: (event: React.MouseEvent) => void; @@ -103,13 +49,12 @@ export const Filter = observer>(functio disabled, max, className, - style, onFilter, onToggle, onKeyDown, onClick, }) { - const styles = useStyles(filterStyles, style, toggleMode && toggleModeButtonStyle); + const styles = useS(filterStyle); const [inputRef, ref] = useFocus({}); const [toggled, setToggled] = useState(!toggleMode); @@ -156,24 +101,28 @@ export const Filter = observer>(functio value = state[name]; } - return styled(styles)( - + return ( +
{String(value) ? ( - filter('', name)} /> + filter('', name)} + /> ) : ( - + )} - , +
); }); diff --git a/webapp/packages/core-blocks/src/FormControls/FormBox.tsx b/webapp/packages/core-blocks/src/FormControls/FormBox.tsx deleted file mode 100644 index 4fd120e961..0000000000 --- a/webapp/packages/core-blocks/src/FormControls/FormBox.tsx +++ /dev/null @@ -1,24 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2023 DBeaver Corp and others - * - * Licensed under the Apache License, Version 2.0. - * you may not use this file except in compliance with the License. - */ -import styled, { css } from 'reshadow'; - -const styles = css` - box { - flex: 1; - display: flex; - flex-wrap: wrap; - } -`; - -interface Props { - className?: string; -} - -export const FormBox: React.FC> = function FormBox({ children, className }) { - return styled(styles)({children}); -}; diff --git a/webapp/packages/core-blocks/src/FormControls/FormBoxElement.tsx b/webapp/packages/core-blocks/src/FormControls/FormBoxElement.tsx deleted file mode 100644 index 2f3582111b..0000000000 --- a/webapp/packages/core-blocks/src/FormControls/FormBoxElement.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2023 DBeaver Corp and others - * - * Licensed under the Apache License, Version 2.0. - * you may not use this file except in compliance with the License. - */ -import styled, { css, use } from 'reshadow'; - -const styles = css` - box-element { - flex-basis: 550px; - flex-grow: 1; - - &[|max] { - width: 100%; - } - } -`; - -interface Props { - className?: string; - max?: boolean; -} - -export const FormBoxElement: React.FC> = function FormBoxElement({ children, className, max }) { - return styled(styles)( - - {children} - , - ); -}; diff --git a/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.m.css b/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.m.css new file mode 100644 index 0000000000..2021d937ca --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.m.css @@ -0,0 +1,16 @@ +.fieldLabel { + composes: theme-typography--body1 from global; + font-weight: 500; + margin-bottom: 10px; + box-sizing: border-box; + overflow: hidden; + white-space: initial; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.fieldDescription { + padding: 0; +} diff --git a/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.tsx b/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.tsx index b5a085d426..38d6ecfc3c 100644 --- a/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.tsx +++ b/webapp/packages/core-blocks/src/FormControls/FormFieldDescription.tsx @@ -5,33 +5,14 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ -import styled, { css } from 'reshadow'; - import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { s } from '../s'; import { useS } from '../useS'; -import { useStyles } from '../useStyles'; -import { baseFormControlStyles, baseValidFormControlStyles } from './baseFormControlStyles'; - -const style = css` - field-label { - composes: theme-typography--body1 from global; - font-weight: 500; - margin-bottom: 10px; - box-sizing: border-box; - overflow: hidden; - white-space: initial; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - } - field-description { - padding: 0; - } -`; +import { Field } from './Field'; +import { FieldDescription } from './FieldDescription'; +import { FieldLabel } from './FieldLabel'; +import style from './FormFieldDescription.m.css'; interface Props extends ILayoutSizeProps { label?: string; @@ -48,13 +29,12 @@ export const FormFieldDescription: React.FC> = fu }) { const layoutProps = getLayoutProps(rest); rest = filterLayoutFakeProps(rest); - const styles = useStyles(baseFormControlStyles, baseValidFormControlStyles, style); - const sizeStyles = useS(elementsSizeStyles); + const styles = useS(style); - return styled(styles)( - - {label && {label}} - {children} - , + return ( + + {label && {label}} + {children} + ); }; diff --git a/webapp/packages/core-blocks/src/FormControls/FormGroup.tsx b/webapp/packages/core-blocks/src/FormControls/FormGroup.tsx deleted file mode 100644 index 0859fff033..0000000000 --- a/webapp/packages/core-blocks/src/FormControls/FormGroup.tsx +++ /dev/null @@ -1,23 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2023 DBeaver Corp and others - * - * Licensed under the Apache License, Version 2.0. - * you may not use this file except in compliance with the License. - */ -import styled, { css } from 'reshadow'; - -const styles = css` - group { - box-sizing: border-box; - display: flex; - } -`; - -interface Props { - className?: string; -} - -export const FormGroup: React.FC> = function FormGroup({ children, className }) { - return styled(styles)({children}); -}; diff --git a/webapp/packages/core-blocks/src/FormControls/InputField.m.css b/webapp/packages/core-blocks/src/FormControls/InputField.m.css index 3531611b5b..4baf35784c 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField.m.css +++ b/webapp/packages/core-blocks/src/FormControls/InputField.m.css @@ -45,3 +45,7 @@ .input:not(:only-child) { padding-right: 32px !important; } +.input { + font-size: 12px; +} + diff --git a/webapp/packages/core-blocks/src/FormControls/InputField.tsx b/webapp/packages/core-blocks/src/FormControls/InputField.tsx index af0112c3af..d539a096b8 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField.tsx @@ -7,14 +7,11 @@ */ import { observer } from 'mobx-react-lite'; import React, { forwardRef, useCallback, useContext, useLayoutEffect, useRef, useState } from 'react'; -import styled, { use } from 'reshadow'; -import type { ComponentStyle } from '@cloudbeaver/core-theming'; import { isNotNullDefined } from '@cloudbeaver/core-utils'; import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { Icon } from '../Icon'; import { Loader } from '../Loader/Loader'; import { useTranslate } from '../localization/useTranslate'; @@ -23,9 +20,10 @@ import { useCombinedHandler } from '../useCombinedHandler'; import { useCombinedRef } from '../useCombinedRef'; import { useS } from '../useS'; import { useStateDelay } from '../useStateDelay'; -import { useStyles } from '../useStyles'; +import { Field } from './Field'; +import { FieldDescription } from './FieldDescription'; +import { FieldLabel } from './FieldLabel'; import { FormContext } from './FormContext'; -import formControlStyles from './FormControl.m.css'; import inputFieldStyle from './InputField.m.css'; import { isControlPresented } from './isControlPresented'; import { useCapsLockTracker } from './useCapsLockTracker'; @@ -36,9 +34,7 @@ type BaseProps = Omit, 'onChange' | loading?: boolean; description?: string; labelTooltip?: string; - mod?: 'surface'; ref?: React.ForwardedRef; - style?: ComponentStyle; canShowPassword?: boolean; onCustomCopy?: () => void; icon?: React.ReactElement; @@ -73,7 +69,6 @@ export const InputField: InputFieldType = observer -
+ return ( + + {children} - {required && ' *'} -
-
+ +
{loading && ( -
+
)} {passwordType && canShowPassword && ( -
+
)} {onCustomCopy && ( -
+
)} {icon && ( -
+
{icon}
)}
- {(description || passwordType) && ( -
- {description} -
- )} -
, + {(description || passwordType) && {description}} + ); }), ) as InputFieldType; diff --git a/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.m.css b/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.m.css new file mode 100644 index 0000000000..99bd8dee98 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.m.css @@ -0,0 +1,22 @@ +.fieldLabel { + display: block; + composes: theme-typography--body1 from global; + font-weight: 500; +} +.fieldLabel:not(:empty) { + padding-bottom: 10px; +} +.fieldDescription { + display: flex; + align-items: center; + gap: 2px; +} +.iconButton { + width: 12px; + height: 12px; + flex-shrink: 0; + cursor: pointer; + &:hover { + opacity: 0.5; + } +} diff --git a/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.tsx b/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.tsx index 1fc5202f6c..258436c234 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputFileTextContent.tsx @@ -7,51 +7,25 @@ */ import { observer } from 'mobx-react-lite'; import { ReactNode, useContext, useState } from 'react'; -import styled, { css } from 'reshadow'; import type { ComponentStyle } from '@cloudbeaver/core-theming'; import { blobToData, bytesToSize } from '@cloudbeaver/core-utils'; import { Button } from '../Button'; -import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { IconButton } from '../IconButton'; import { useTranslate } from '../localization/useTranslate'; import { s } from '../s'; import { UploadArea } from '../UploadArea'; import { useS } from '../useS'; -import { useStyles } from '../useStyles'; -import { baseFormControlStyles, baseInvalidFormControlStyles, baseValidFormControlStyles } from './baseFormControlStyles'; +import { Field } from './Field'; +import { FieldDescription } from './FieldDescription'; +import { FieldLabel } from './FieldLabel'; import { FormContext } from './FormContext'; +import inputFileTextContentStyles from './InputFileTextContent.m.css'; const DEFAULT_MAX_FILE_SIZE = 2048; -const INPUT_FILE_FIELD_STYLES = css` - field-label { - display: block; - composes: theme-typography--body1 from global; - font-weight: 500; - } - field-label:not(:empty) { - padding-bottom: 10px; - } - field-description { - display: flex; - align-items: center; - gap: 2px; - } - IconButton { - width: 12px; - height: 12px; - flex-shrink: 0; - cursor: pointer; - &:hover { - opacity: 0.5; - } - } -`; - interface Props extends ILayoutSizeProps { name: keyof TState; state: TState; @@ -80,14 +54,12 @@ export const InputFileTextContent: InputFileTextContentType = observer(function tooltip, required, fileName, - style, maxFileSize = DEFAULT_MAX_FILE_SIZE, disabled, className, children, onChange, mapValue, - ...rest }: Props>) { const translate = useTranslate(); const context = useContext(FormContext); @@ -95,10 +67,7 @@ export const InputFileTextContent: InputFileTextContentType = observer(function const [selected, setSelected] = useState(null); const [error, setError] = useState(null); - const layoutProps = getLayoutProps(rest); - rest = filterLayoutFakeProps(rest); - const styles = useStyles(INPUT_FILE_FIELD_STYLES, baseFormControlStyles, style, error ? baseInvalidFormControlStyles : baseValidFormControlStyles); - const sizeStyles = useS(elementsSizeStyles); + const styles = useS(inputFileTextContentStyles); const savedExternally = !!fileName && state[name] !== ''; const saved = savedExternally || !!state[name]; @@ -166,21 +135,20 @@ export const InputFileTextContent: InputFileTextContentType = observer(function } } - return styled(styles)( - - + return ( + + {children} - {required && ' *'} - + - + {description} - {(selected || saved) && } - - , + {(selected || saved) && } + + ); }); diff --git a/webapp/packages/core-blocks/src/FormControls/InputFiles.m.css b/webapp/packages/core-blocks/src/FormControls/InputFiles.m.css new file mode 100644 index 0000000000..e1e4cde4f4 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/InputFiles.m.css @@ -0,0 +1,18 @@ +.fieldLabel { + display: block; + composes: theme-typography--body1 from global; + font-weight: 500; +} +.fieldLabel:not(:empty) { + padding-bottom: 10px; +} +.inputContainer { + position: relative; +} +.tags { + padding-top: 8px; + + &:empty { + display: none; + } +} diff --git a/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx b/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx index 2bd1d6d252..9161835e21 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputFiles.tsx @@ -7,14 +7,12 @@ */ import { observer } from 'mobx-react-lite'; import { forwardRef, useContext, useEffect, useState } from 'react'; -import styled, { css, use } from 'reshadow'; import type { ComponentStyle } from '@cloudbeaver/core-theming'; import { Button } from '../Button'; import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { useTranslate } from '../localization/useTranslate'; import { s } from '../s'; import { Tag } from '../Tags/Tag'; @@ -24,32 +22,13 @@ import { useCombinedHandler } from '../useCombinedHandler'; import { useRefInherit } from '../useRefInherit'; import { useS } from '../useS'; import { useStateDelay } from '../useStateDelay'; -import { useStyles } from '../useStyles'; -import { baseFormControlStyles, baseInvalidFormControlStyles, baseValidFormControlStyles } from './baseFormControlStyles'; +import { Field } from './Field'; +import { FieldDescription } from './FieldDescription'; +import { FieldLabel } from './FieldLabel'; import { FormContext } from './FormContext'; +import InputFilesStyles from './InputFiles.m.css'; import { isControlPresented } from './isControlPresented'; -const INPUT_FIELD_STYLES = css` - field-label { - display: block; - composes: theme-typography--body1 from global; - font-weight: 500; - } - field-label:not(:empty) { - padding-bottom: 10px; - } - input-container { - position: relative; - } - Tags { - padding-top: 8px; - - &:empty { - display: none; - } - } -`; - type BaseProps = Omit, 'onChange' | 'name' | 'value' | 'style'> & ILayoutSizeProps & { error?: boolean; @@ -57,9 +36,7 @@ type BaseProps = Omit, 'onChange' | description?: string; labelTooltip?: string; hideTags?: boolean; - mod?: 'surface'; ref?: React.Ref; - style?: ComponentStyle; aggregate?: boolean; onDuplicate?: (files: File[]) => void; }; @@ -89,7 +66,6 @@ export const InputFiles: InputFilesType = observer( forwardRef(function InputFiles( { name, - style, value: valueControlled, required, state, @@ -100,7 +76,6 @@ export const InputFiles: InputFilesType = observer( description, labelTooltip, hideTags, - mod, autoHide, aggregate, onChange, @@ -114,8 +89,7 @@ export const InputFiles: InputFilesType = observer( const ref = useRefInherit(refInherit); const [innerState, setInnerState] = useState(null); const translate = useTranslate(); - const styles = useStyles(baseFormControlStyles, error ? baseInvalidFormControlStyles : baseValidFormControlStyles, INPUT_FIELD_STYLES, style); - const sizeStyles = useS(elementsSizeStyles); + const styles = useS(InputFilesStyles); const context = useContext(FormContext); loading = useStateDelay(loading ?? false, 300); @@ -195,28 +169,27 @@ export const InputFiles: InputFilesType = observer( const files = Array.from(value ?? []); - return styled(styles)( - - + return ( + + {children} - {required && ' *'} - - - + +
+ {!hideTags && ( - + {files.map((file, i) => ( ))} )} - - {description && {description}} - , +
+ {description && {description}} +
); }), ) as InputFilesType; diff --git a/webapp/packages/core-blocks/src/FormControls/Radio.m.css b/webapp/packages/core-blocks/src/FormControls/Radio.m.css new file mode 100644 index 0000000000..18e3481717 --- /dev/null +++ b/webapp/packages/core-blocks/src/FormControls/Radio.m.css @@ -0,0 +1,66 @@ +.radio { + composes: theme-radio from global; +} + +.radioNoRipple { + composes: theme-radio_no-ripple from global; +} + +.radioBackground { + composes: theme-radio_background from global; +} +.input { + composes: theme-radio_native-control from global; +} +.radioOuterCircle { + composes: theme-radio_outer-circle from global; +} +.radioInnerCircle { + composes: theme-radio_inner-circle from global; +} +.radioRipple { + composes: theme-radio_ripple from global; +} +.field { + display: inline-flex; + align-items: center; + vertical-align: middle; +} +.label { + cursor: pointer; + .disabled { + cursor: auto; + } +} + +.primary { + composes: theme-radio_primary from global; +} + +.small { + composes: theme-radio_small from global; +} + +.field.menu { + padding: 0; + + & .radio { + width: 14px; + height: 14px; + } + & .radioBackground { + width: 14px; + height: 14px; + } + & .radioInnerCircle { + border-width: 7px; + } +} + +.disabledRadio { + composes: theme-radio_disabled from global; +} + +.disabledInput { + opacity: 0 !important; +} diff --git a/webapp/packages/core-blocks/src/FormControls/Radio.tsx b/webapp/packages/core-blocks/src/FormControls/Radio.tsx index 9d57f36495..6e4ca83afd 100644 --- a/webapp/packages/core-blocks/src/FormControls/Radio.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Radio.tsx @@ -7,105 +7,19 @@ */ import { observer } from 'mobx-react-lite'; import { useCallback, useContext } from 'react'; -import styled, { css, use } from 'reshadow'; import { filterLayoutFakeProps, getLayoutProps } from '../Containers/filterLayoutFakeProps'; import type { ILayoutSizeProps } from '../Containers/ILayoutSizeProps'; -import elementsSizeStyles from '../Containers/shared/ElementsSize.m.css'; import { s } from '../s'; import { useS } from '../useS'; -import { useStyles } from '../useStyles'; -import { baseFormControlStyles } from './baseFormControlStyles'; +import { Field } from './Field'; import { FormContext } from './FormContext'; +import style from './Radio.m.css'; import { RadioGroupContext } from './RadioGroupContext'; -const radioStyles = css` - radio { - composes: theme-radio from global; - } - radio-background { - composes: theme-radio_background from global; - } - input { - composes: theme-radio_native-control from global; - } - radio-outer-circle { - composes: theme-radio_outer-circle from global; - } - radio-inner-circle { - composes: theme-radio_inner-circle from global; - } - radio-ripple { - composes: theme-radio_ripple from global; - } - field { - display: inline-flex; - align-items: center; - font-weight: 500; - padding: 7px 12px; - vertical-align: middle; - } - label { - cursor: pointer; - &[|disabled] { - cursor: auto; - } - } -`; - -const radioMod = { - primary: css` - radio { - composes: theme-radio_primary from global; - } - `, - small: css` - radio { - composes: theme-radio_small from global; - } - `, - menu: css` - radio { - composes: theme-radio_small from global; - } - field { - padding: 0; - - & radio { - width: 14px; - height: 14px; - } - & radio-background { - width: 14px; - height: 14px; - } - & radio-inner-circle { - border-width: 7px; - } - } - `, -}; - -const noRippleStyles = css` - radio { - composes: theme-radio_no-ripple from global; - } -`; - -const radioState = { - disabled: css` - radio { - composes: theme-radio--disabled from global; - } - input { - opacity: 0 !important; - } - `, -}; - type BaseProps = Omit, 'onChange' | 'value' | 'checked'> & ILayoutSizeProps & { - mod?: Array; + mod?: Array<'primary' | 'small' | 'menu'>; ripple?: boolean; }; @@ -142,9 +56,10 @@ export const Radio: RadioType = observer(function Radio({ children, ...rest }: ControlledProps | ObjectProps) { + const styles = useS(style); + const layoutProps = getLayoutProps(rest); rest = filterLayoutFakeProps(rest); - const sizeStyles = useS(elementsSizeStyles); const formContext = useContext(FormContext); const context = useContext(RadioGroupContext); @@ -184,27 +99,36 @@ export const Radio: RadioType = observer(function Radio({ checked = state[name] === value; } - return styled( - useStyles( - baseFormControlStyles, - radioStyles, - ...(mod || []).map(mod => radioMod[mod]), - !ripple && noRippleStyles, - rest.disabled && radioState.disabled, - ), - )( - - - - - - - - {ripple && } - -