diff --git a/webapp/.eslintrc.js b/webapp/.eslintrc.js index 1ae275157c..7a0a46f582 100644 --- a/webapp/.eslintrc.js +++ b/webapp/.eslintrc.js @@ -26,13 +26,24 @@ module.exports = { ecmaVersion: 2019, sourceType: "module", // tsconfigRootDir: __dirname, - // project: './packages/**/tsconfig.json', + project: './packages/**/tsconfig.json', ecmaFeatures: { jsx: true } }, rules: { + "comma-spacing": "off", + "default-param-last": "off", + "func-call-spacing": "off", + "keyword-spacing": "off", + "no-duplicate-imports": "off", + "object-curly-spacing": "off", + "quotes": "off", + "space-before-function-paren": "off", + "space-infix-ops": "off", + + "@typescript-eslint/indent": ["error", 2], '@typescript-eslint/no-invalid-void-type': 'off', '@typescript-eslint/dot-notation': 'off', '@typescript-eslint/no-throw-literal': 'off', @@ -40,11 +51,8 @@ module.exports = { '@typescript-eslint/no-floating-promises': 'off', '@typescript-eslint/no-implied-eval': 'off', '@typescript-eslint/no-misused-promises': 'off', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off', '@typescript-eslint/no-unnecessary-type-assertion': 'off', - '@typescript-eslint/prefer-includes': 'off', '@typescript-eslint/prefer-nullish-coalescing': 'off', - '@typescript-eslint/prefer-readonly': 'off', '@typescript-eslint/prefer-reduce-type-parameter': 'off', '@typescript-eslint/promise-function-async': 'off', '@typescript-eslint/require-array-sort-compare': 'off', @@ -54,6 +62,43 @@ module.exports = { '@typescript-eslint/strict-boolean-expressions': 'off', '@typescript-eslint/no-for-in-array': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-empty-function': 'off', + "@typescript-eslint/semi": ["error", "always"], + '@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'as', objectLiteralTypeAssertions: 'allow' }], + "@typescript-eslint/member-delimiter-style": ['warn', { + "multiline": { + "delimiter": "semi", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + }], + + "@typescript-eslint/comma-spacing": ["error"], + "@typescript-eslint/default-param-last": ["error"], + "@typescript-eslint/func-call-spacing": ["error"], + "@typescript-eslint/keyword-spacing": ["error"], + "@typescript-eslint/no-duplicate-imports": ["error"], + "@typescript-eslint/object-curly-spacing": ["error", 'always'], + "@typescript-eslint/quotes": ["error", "single"], + "@typescript-eslint/space-before-function-paren": ["error" , {"anonymous": "always", "named": "never", "asyncArrow": "always"}], + "@typescript-eslint/space-infix-ops": ["error", { "int32Hint": false }], + "@typescript-eslint/no-confusing-non-null-assertion": ["warn"], + "@typescript-eslint/no-confusing-void-expression": ["warn"], + "@typescript-eslint/no-unnecessary-boolean-literal-compare": ["warn"], + "@typescript-eslint/no-unnecessary-condition": ["error"], + "@typescript-eslint/no-unnecessary-type-arguments": ["warn"], + "@typescript-eslint/non-nullable-type-assertion-style": ["warn"], + "@typescript-eslint/prefer-function-type": ["warn"], + "@typescript-eslint/prefer-includes": ["warn"], + "@typescript-eslint/prefer-readonly": ["warn"], + 'import/no-duplicates': 'off', 'import/export': 'off', @@ -140,24 +185,5 @@ module.exports = { "noSortAlphabetically": true, "reservedFirst": true, }], - - '@typescript-eslint/no-use-before-define': 'off', - '@typescript-eslint/no-unused-vars': 'warn', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/no-empty-function': 'off', - "@typescript-eslint/semi": ["error", "always"], - '@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'as', objectLiteralTypeAssertions: 'allow' }], - '@typescript-eslint/space-before-function-paren': ["error", { "anonymous": "always", "named": "never", "asyncArrow": "always" }], - "@typescript-eslint/member-delimiter-style": ['warn', { - "multiline": { - "delimiter": "semi", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": false - } - }], } } diff --git a/webapp/package.json b/webapp/package.json index 74dd86d7b0..d5703ccbae 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -38,6 +38,7 @@ "mobx": "^6.3.9", "mobx-react-lite": "^3.2.2", "path-browserify": "^1.0.1", + "pnp-webpack-plugin": "^1.7.0", "react": "^17.0.2", "react-dom": "^17.0.2", "react-hotkeys-hook": "^3.4.4", @@ -45,6 +46,7 @@ "reflect-metadata": "^0.1.13", "reshadow": "^0.0.1-alpha.80", "rimraf": "^3.0.2", + "thread-loader": "^3.0.4", "typescript": "^4.2.4" }, "dependencies": {} diff --git a/webapp/packages/core-administration/src/AdministrationSettingsService.ts b/webapp/packages/core-administration/src/AdministrationSettingsService.ts index ed0762ac91..d3c49c4eba 100644 --- a/webapp/packages/core-administration/src/AdministrationSettingsService.ts +++ b/webapp/packages/core-administration/src/AdministrationSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { baseFeatures: [] as string[], @@ -17,9 +17,11 @@ export type AdministrationSettings = typeof defaultSettings; @injectable() export class AdministrationSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core.administration', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core.administration', defaultSettings); + } isBase(feature: string): boolean { return this.getBase().includes(feature); diff --git a/webapp/packages/core-administration/tsconfig.json b/webapp/packages/core-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-administration/tsconfig.json +++ b/webapp/packages/core-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-app/src/CoreSettingsService.ts b/webapp/packages/core-app/src/CoreSettingsService.ts index df37d4aab1..9848044e4b 100644 --- a/webapp/packages/core-app/src/CoreSettingsService.ts +++ b/webapp/packages/core-app/src/CoreSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { 'app.logViewer.refreshTimeout': 3000, @@ -24,7 +24,9 @@ export type CoreSettings = typeof defaultSettings; @injectable() export class CoreSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core', defaultSettings); + } } diff --git a/webapp/packages/core-app/src/shared/NavigationTabs/NavigationTabsService.ts b/webapp/packages/core-app/src/shared/NavigationTabs/NavigationTabsService.ts index d0a0e9870c..f0aec2c7b5 100644 --- a/webapp/packages/core-app/src/shared/NavigationTabs/NavigationTabsService.ts +++ b/webapp/packages/core-app/src/shared/NavigationTabs/NavigationTabsService.ts @@ -29,7 +29,7 @@ interface TabsState { const NAVIGATION_TABS_BASE_KEY = 'navigation_tabs'; @injectable() -export class NavigationTabsService extends View> { +export class NavigationTabsService extends View { handlers = new Map(); tabsMap = new Map(); state = new Map(); @@ -58,21 +58,23 @@ export class NavigationTabsService extends View> { return this.state.get(userId)!; } + readonly navigationTabContext: () => ITabNavigationContext; readonly onTabSelect: ISyncExecutor; readonly onTabClose: ISyncExecutor; constructor( - private notificationService: NotificationService, - private autoSaveService: LocalStorageSaveService, - private userInfoResource: UserInfoResource, - private administrationScreenService: AdministrationScreenService, - private appAuthService: AppAuthService + private readonly notificationService: NotificationService, + private readonly autoSaveService: LocalStorageSaveService, + private readonly userInfoResource: UserInfoResource, + private readonly administrationScreenService: AdministrationScreenService, + private readonly appAuthService: AppAuthService ) { super(); this.onTabSelect = new SyncExecutor(); this.onTabClose = new SyncExecutor(); + this.navigationTabContext = (): ITabNavigationContext => new TabNavigationContext(this, this.userInfoResource); this.registerAction(ACTION_OPEN_IN_TAB); makeObservable(this, { @@ -204,7 +206,7 @@ export class NavigationTabsService extends View> { } } - getView = (): IActiveView> | null => { + getView = (): IActiveView | null => { const tab = this.getTab(this.currentTabId); if (!tab) { @@ -314,8 +316,6 @@ export class NavigationTabsService extends View> { } } - navigationTabContext = (): ITabNavigationContext => new TabNavigationContext(this, this.userInfoResource); - private async callHandlerCallback(tab: ITab, selector: (handler: TabHandler) => TabHandlerEvent | undefined) { const handler = this.handlers.get(tab.handlerId); if (!handler) { diff --git a/webapp/packages/core-app/src/shared/TabEntity/TabViewModel.ts b/webapp/packages/core-app/src/shared/TabEntity/TabViewModel.ts index df24819e8f..df2d873dcf 100644 --- a/webapp/packages/core-app/src/shared/TabEntity/TabViewModel.ts +++ b/webapp/packages/core-app/src/shared/TabEntity/TabViewModel.ts @@ -28,15 +28,16 @@ export class TabViewModel implements ITab { return this.tabModel.icon; } - onClose = this.tabModel.onClose ? () => this._onClose() : undefined; - onActivate = () => this.tabContainer.activateTab(this.tabId); + onClose?: () => void; + onActivate = () => { this.tabContainer.activateTab(this.tabId); }; constructor( - @inject(TabToken) private tabModel: ITab, - private entity: Entity, - @inject(TabContainerToken) private tabContainer: ITabContainerEntity + @inject(TabToken) private readonly tabModel: ITab, + private readonly entity: Entity, + @inject(TabContainerToken) private readonly tabContainer: ITabContainerEntity ) { this.tabId = this.entity.id; + this.onClose = this.tabModel.onClose ? () => { this._onClose(); } : undefined; this.panel = () => TabContext(tabContainer.getTabServiceInjector(this.tabId), this.tabModel.panel); } diff --git a/webapp/packages/core-app/tsconfig.json b/webapp/packages/core-app/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-app/tsconfig.json +++ b/webapp/packages/core-app/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-authentication/src/AuthSettingsService.ts b/webapp/packages/core-authentication/src/AuthSettingsService.ts index eaf31591c3..0a08e39243 100644 --- a/webapp/packages/core-authentication/src/AuthSettingsService.ts +++ b/webapp/packages/core-authentication/src/AuthSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { baseAuthProvider: undefined as undefined | string, @@ -18,7 +18,9 @@ export type AuthSettings = typeof defaultSettings; @injectable() export class AuthSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core.authentication', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core.authentication', defaultSettings); + } } diff --git a/webapp/packages/core-authentication/tsconfig.json b/webapp/packages/core-authentication/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-authentication/tsconfig.json +++ b/webapp/packages/core-authentication/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-blocks/src/Slide/SlideBox.tsx b/webapp/packages/core-blocks/src/Slide/SlideBox.tsx index 37d6558b12..4498517ba4 100644 --- a/webapp/packages/core-blocks/src/Slide/SlideBox.tsx +++ b/webapp/packages/core-blocks/src/Slide/SlideBox.tsx @@ -6,14 +6,18 @@ * you may not use this file except in compliance with the License. */ +import { useRef } from 'react'; + interface Props { open?: boolean; className?: string; } export const SlideBox: React.FC = function SlideBox({ children, className }) { + const divRef = useRef(null); + return ( -
+
{children}
); diff --git a/webapp/packages/core-blocks/tsconfig.json b/webapp/packages/core-blocks/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-blocks/tsconfig.json +++ b/webapp/packages/core-blocks/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-bootstrap/tsconfig.json b/webapp/packages/core-bootstrap/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-bootstrap/tsconfig.json +++ b/webapp/packages/core-bootstrap/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-cli/configs/webpack.config.js b/webapp/packages/core-cli/configs/webpack.config.js index fd972f709e..52c8921177 100644 --- a/webapp/packages/core-cli/configs/webpack.config.js +++ b/webapp/packages/core-cli/configs/webpack.config.js @@ -2,6 +2,7 @@ const { resolve, join } = require('path') const ModuleDependencyWarning = require('webpack/lib/ModuleDependencyWarning') const MiniCssExtractPlugin = require('mini-css-extract-plugin') const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin') +const PnpWebpackPlugin = require(`pnp-webpack-plugin`); // const ESLintPlugin = require('eslint-webpack-plugin'); class IgnoreNotFoundExportPlugin { @@ -92,7 +93,7 @@ module.exports = (env, argv) => { } var babelLoader = { - loader: 'babel-loader', + loader: require.resolve('babel-loader'), options: { configFile: join(__dirname, 'babel.config.js'), }, @@ -110,10 +111,16 @@ module.exports = (env, argv) => { }, fallback: { path: require.resolve("path-browserify"), - } + }, + plugins: [ + PnpWebpackPlugin, + ], }, resolveLoader: { modules: nodeModules, + plugins: [ + PnpWebpackPlugin.moduleLoader(module), + ], }, module: { rules: [ @@ -126,6 +133,7 @@ module.exports = (env, argv) => { test: /\.(ts|js)x?$/, exclude: /node_modules/, use: [ + 'thread-loader', babelLoader, ], }, @@ -157,14 +165,18 @@ module.exports = (env, argv) => { }, devtool: devTool, plugins: [ - // new ESLintPlugin(options), //TODO: maybe later new ForkTsCheckerWebpackPlugin({ typescript: { diagnosticOptions: { semantic: true, syntactic: true, }, + build: true, + mode: "write-references", }, + // eslint: { + // files: './src/**/*.{ts,tsx,js,jsx}' + // } }), new IgnoreNotFoundExportPlugin(), new MiniCssExtractPlugin({ diff --git a/webapp/packages/core-cli/configs/webpack.product.config.js b/webapp/packages/core-cli/configs/webpack.product.config.js index b83dab81c2..6256320688 100644 --- a/webapp/packages/core-cli/configs/webpack.product.config.js +++ b/webapp/packages/core-cli/configs/webpack.product.config.js @@ -49,6 +49,7 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), { library: package.name, libraryTarget: 'umd', path: outputDir, + pathinfo: false, }, optimization: { minimize: true, diff --git a/webapp/packages/core-cli/tsconfig.json b/webapp/packages/core-cli/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-cli/tsconfig.json +++ b/webapp/packages/core-cli/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-connections/tsconfig.json b/webapp/packages/core-connections/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-connections/tsconfig.json +++ b/webapp/packages/core-connections/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-di/tsconfig.json b/webapp/packages/core-di/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-di/tsconfig.json +++ b/webapp/packages/core-di/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-dialogs/tsconfig.json b/webapp/packages/core-dialogs/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-dialogs/tsconfig.json +++ b/webapp/packages/core-dialogs/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-events/src/EventsSettingsService.ts b/webapp/packages/core-events/src/EventsSettingsService.ts index 455bbe5f53..0eab0f1f64 100644 --- a/webapp/packages/core-events/src/EventsSettingsService.ts +++ b/webapp/packages/core-events/src/EventsSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { notificationsPool: 5, @@ -19,7 +19,9 @@ export type EventsSettings = typeof defaultSettings; @injectable() export class EventsSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core_events', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core_events', defaultSettings); + } } diff --git a/webapp/packages/core-events/tsconfig.json b/webapp/packages/core-events/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-events/tsconfig.json +++ b/webapp/packages/core-events/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-executor/tsconfig.json b/webapp/packages/core-executor/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-executor/tsconfig.json +++ b/webapp/packages/core-executor/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-extensions/tsconfig.json b/webapp/packages/core-extensions/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-extensions/tsconfig.json +++ b/webapp/packages/core-extensions/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-localization/tsconfig.json b/webapp/packages/core-localization/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-localization/tsconfig.json +++ b/webapp/packages/core-localization/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-notifications/tsconfig.json b/webapp/packages/core-notifications/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-notifications/tsconfig.json +++ b/webapp/packages/core-notifications/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-plugin/tsconfig.json b/webapp/packages/core-plugin/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-plugin/tsconfig.json +++ b/webapp/packages/core-plugin/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-product/src/ProductManagerService.ts b/webapp/packages/core-product/src/ProductManagerService.ts index 7fbd1ab96c..a0d73353de 100644 --- a/webapp/packages/core-product/src/ProductManagerService.ts +++ b/webapp/packages/core-product/src/ProductManagerService.ts @@ -14,9 +14,11 @@ import { ProductSettingsService } from './ProductSettingsService'; @injectable() export class ProductManagerService { - readonly settings = new ProductSettingsService(this.serverService.settings); + readonly settings: ProductSettingsService; - constructor(private serverService: ServerService) { } + constructor(private readonly serverService: ServerService) { + this.settings = new ProductSettingsService(this.serverService.settings); + } setSettings(object: any) { parseJSONFlat( diff --git a/webapp/packages/core-product/tsconfig.json b/webapp/packages/core-product/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-product/tsconfig.json +++ b/webapp/packages/core-product/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-root/src/ServerService.ts b/webapp/packages/core-root/src/ServerService.ts index e6012ef360..b99fd26264 100644 --- a/webapp/packages/core-root/src/ServerService.ts +++ b/webapp/packages/core-root/src/ServerService.ts @@ -15,13 +15,14 @@ import { SessionService } from './SessionService'; @injectable() export class ServerService { - readonly settings = new ServerSettingsService(this.sessionService.settings); + readonly settings: ServerSettingsService; private lastConfig: any = null; constructor( readonly config: ServerConfigResource, - private sessionService: SessionService + private readonly sessionService: SessionService ) { + this.settings = new ServerSettingsService(this.sessionService.settings); this.config.onDataUpdate.addHandler(this.refreshConfigAsync.bind(this)); } diff --git a/webapp/packages/core-root/tsconfig.json b/webapp/packages/core-root/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-root/tsconfig.json +++ b/webapp/packages/core-root/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-routing/tsconfig.json b/webapp/packages/core-routing/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-routing/tsconfig.json +++ b/webapp/packages/core-routing/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-sdk/tsconfig.json b/webapp/packages/core-sdk/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-sdk/tsconfig.json +++ b/webapp/packages/core-sdk/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-settings/tsconfig.json b/webapp/packages/core-settings/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-settings/tsconfig.json +++ b/webapp/packages/core-settings/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-theming/src/ThemeSettingsService.ts b/webapp/packages/core-theming/src/ThemeSettingsService.ts index e5955cef3c..54d1e13f03 100644 --- a/webapp/packages/core-theming/src/ThemeSettingsService.ts +++ b/webapp/packages/core-theming/src/ThemeSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; import { themes } from './themes'; @@ -21,7 +21,9 @@ export const defaultThemeSettings: IDefaultSettings = { @injectable() export class ThemeSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core.user', defaultThemeSettings); + readonly settings: PluginSettings; - constructor(private readonly pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core.user', defaultThemeSettings); + } } diff --git a/webapp/packages/core-theming/tsconfig.json b/webapp/packages/core-theming/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-theming/tsconfig.json +++ b/webapp/packages/core-theming/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-ui/tsconfig.json b/webapp/packages/core-ui/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-ui/tsconfig.json +++ b/webapp/packages/core-ui/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-utils/tsconfig.json b/webapp/packages/core-utils/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-utils/tsconfig.json +++ b/webapp/packages/core-utils/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/core-view/tsconfig.json b/webapp/packages/core-view/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/core-view/tsconfig.json +++ b/webapp/packages/core-view/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-administration/tsconfig.json b/webapp/packages/plugin-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-administration/tsconfig.json +++ b/webapp/packages/plugin-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-authentication-administration/tsconfig.json b/webapp/packages/plugin-authentication-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-authentication-administration/tsconfig.json +++ b/webapp/packages/plugin-authentication-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-authentication/tsconfig.json b/webapp/packages/plugin-authentication/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-authentication/tsconfig.json +++ b/webapp/packages/plugin-authentication/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-codemirror/tsconfig.json b/webapp/packages/plugin-codemirror/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-codemirror/tsconfig.json +++ b/webapp/packages/plugin-codemirror/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-connection-custom/tsconfig.json b/webapp/packages/plugin-connection-custom/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-connection-custom/tsconfig.json +++ b/webapp/packages/plugin-connection-custom/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-connection-template/tsconfig.json b/webapp/packages/plugin-connection-template/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-connection-template/tsconfig.json +++ b/webapp/packages/plugin-connection-template/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-connections-administration/tsconfig.json b/webapp/packages/plugin-connections-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-connections-administration/tsconfig.json +++ b/webapp/packages/plugin-connections-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-connections/tsconfig.json b/webapp/packages/plugin-connections/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-connections/tsconfig.json +++ b/webapp/packages/plugin-connections/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-data-export/src/DataExportSettingsService.ts b/webapp/packages/plugin-data-export/src/DataExportSettingsService.ts index 3495d92e9d..bb288f7a54 100644 --- a/webapp/packages/plugin-data-export/src/DataExportSettingsService.ts +++ b/webapp/packages/plugin-data-export/src/DataExportSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { disabled: false, @@ -17,7 +17,9 @@ export type DataExportSettings = typeof defaultSettings; @injectable() export class DataExportSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('plugin_data_export', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('plugin_data_export', defaultSettings); + } } diff --git a/webapp/packages/plugin-data-export/tsconfig.json b/webapp/packages/plugin-data-export/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-data-export/tsconfig.json +++ b/webapp/packages/plugin-data-export/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-data-spreadsheet-new/src/DataGridSettingsService.ts b/webapp/packages/plugin-data-spreadsheet-new/src/DataGridSettingsService.ts index 19b8345e3d..0c5da1ba7d 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/src/DataGridSettingsService.ts +++ b/webapp/packages/plugin-data-spreadsheet-new/src/DataGridSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { hidden: false, @@ -17,7 +17,9 @@ export type DataGridSettings = typeof defaultSettings; @injectable() export class DataGridSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('plugin_data_spreadsheet_new', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('plugin_data_spreadsheet_new', defaultSettings); + } } diff --git a/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json b/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json +++ b/webapp/packages/plugin-data-spreadsheet-new/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-data-viewer/tsconfig.json b/webapp/packages/plugin-data-viewer/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-data-viewer/tsconfig.json +++ b/webapp/packages/plugin-data-viewer/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-ddl-viewer/tsconfig.json b/webapp/packages/plugin-ddl-viewer/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-ddl-viewer/tsconfig.json +++ b/webapp/packages/plugin-ddl-viewer/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-gis-viewer/tsconfig.json b/webapp/packages/plugin-gis-viewer/tsconfig.json index 50f9f59516..9098ccfdca 100644 --- a/webapp/packages/plugin-gis-viewer/tsconfig.json +++ b/webapp/packages/plugin-gis-viewer/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": [ "src" diff --git a/webapp/packages/plugin-object-viewer/tsconfig.json b/webapp/packages/plugin-object-viewer/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-object-viewer/tsconfig.json +++ b/webapp/packages/plugin-object-viewer/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-product/tsconfig.json b/webapp/packages/plugin-product/tsconfig.json index 50f9f59516..9098ccfdca 100644 --- a/webapp/packages/plugin-product/tsconfig.json +++ b/webapp/packages/plugin-product/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": [ "src" diff --git a/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json b/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-navigation-tab/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-sql-editor-screen/tsconfig.json b/webapp/packages/plugin-sql-editor-screen/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-sql-editor-screen/tsconfig.json +++ b/webapp/packages/plugin-sql-editor-screen/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-sql-editor/src/SqlEditorSettingsService.ts b/webapp/packages/plugin-sql-editor/src/SqlEditorSettingsService.ts index 851cca26d4..fc3409a39d 100644 --- a/webapp/packages/plugin-sql-editor/src/SqlEditorSettingsService.ts +++ b/webapp/packages/plugin-sql-editor/src/SqlEditorSettingsService.ts @@ -7,7 +7,7 @@ */ import { injectable } from '@cloudbeaver/core-di'; -import { PluginManagerService } from '@cloudbeaver/core-plugin'; +import { PluginManagerService, PluginSettings } from '@cloudbeaver/core-plugin'; const defaultSettings = { maxFileSize: 100, // kilobyte @@ -15,7 +15,9 @@ const defaultSettings = { @injectable() export class SqlEditorSettingsService { - readonly settings = this.pluginManagerService.getPluginSettings('core.app.sqlEditor', defaultSettings); + readonly settings: PluginSettings; - constructor(private pluginManagerService: PluginManagerService) { } + constructor(private readonly pluginManagerService: PluginManagerService) { + this.settings = this.pluginManagerService.getPluginSettings('core.app.sqlEditor', defaultSettings); + } } diff --git a/webapp/packages/plugin-sql-editor/tsconfig.json b/webapp/packages/plugin-sql-editor/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-sql-editor/tsconfig.json +++ b/webapp/packages/plugin-sql-editor/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-sso/src/index.ts b/webapp/packages/plugin-sso/src/index.ts index e69de29bb2..8cec2e9ced 100644 --- a/webapp/packages/plugin-sso/src/index.ts +++ b/webapp/packages/plugin-sso/src/index.ts @@ -0,0 +1 @@ +export {}; \ No newline at end of file diff --git a/webapp/packages/plugin-sso/tsconfig.json b/webapp/packages/plugin-sso/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-sso/tsconfig.json +++ b/webapp/packages/plugin-sso/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-user-profile-administration/tsconfig.json b/webapp/packages/plugin-user-profile-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-user-profile-administration/tsconfig.json +++ b/webapp/packages/plugin-user-profile-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-user-profile/tsconfig.json b/webapp/packages/plugin-user-profile/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-user-profile/tsconfig.json +++ b/webapp/packages/plugin-user-profile/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/plugin-version-update-administration/tsconfig.json b/webapp/packages/plugin-version-update-administration/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/plugin-version-update-administration/tsconfig.json +++ b/webapp/packages/plugin-version-update-administration/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/packages/product-default/package.json b/webapp/packages/product-default/package.json index dc27192784..e640c479c7 100644 --- a/webapp/packages/product-default/package.json +++ b/webapp/packages/product-default/package.json @@ -15,7 +15,8 @@ "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" + "version:new": "yarn version --no-git-tag-version", + "postinstall": "rimraf node_modules/.cache" }, "dependencies": { "@cloudbeaver/core-bootstrap": "0.1.0", diff --git a/webapp/packages/product-default/tsconfig.json b/webapp/packages/product-default/tsconfig.json index 8cd6b539e3..69bd06357d 100644 --- a/webapp/packages/product-default/tsconfig.json +++ b/webapp/packages/product-default/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "lib" + "outDir": "lib", + "composite": true }, "include": ["src"], "exclude": ["**/node_modules", "**/.*/"], diff --git a/webapp/tsconfig.json b/webapp/tsconfig.json index d0c8437b77..d8120e4fd5 100644 --- a/webapp/tsconfig.json +++ b/webapp/tsconfig.json @@ -19,13 +19,12 @@ "emitDeclarationOnly": true, "importsNotUsedAsValues": "error", "jsx": "preserve", - "target": "ES6", + "target": "esnext", "module": "esnext", "esModuleInterop": true, "moduleResolution": "node", "declaration": true, "declarationMap": true, - "noEmit": false, "noImplicitAny": true, "noImplicitThis": true, "noImplicitReturns": true, @@ -37,7 +36,9 @@ "strict": true, "skipLibCheck": true, "skipDefaultLibCheck": true, + "incremental": true, "strictNullChecks": true, + "isolatedModules": true, "types": [ "reflect-metadata", "node" diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 6d552a700e..2f3fa93d38 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -4075,7 +4075,7 @@ alphanum-sort@^1.0.0: amdefine@>=0.0.4: version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= ansi-colors@^4.1.1: @@ -4112,7 +4112,7 @@ ansi-regex@^3.0.0: ansi-regex@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-regex@^5.0.0: @@ -4354,7 +4354,7 @@ ast-types-flow@^0.0.7: async-foreach@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + resolved "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= async@^2.6.2: @@ -5073,7 +5073,7 @@ cli-width@^3.0.0: cliui@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" @@ -6298,7 +6298,7 @@ elegant-spinner@^1.0.1: emoji-regex@^7.0.1: version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== emoji-regex@^8.0.0: @@ -7308,7 +7308,7 @@ gauge@~2.7.3: gaze@^1.0.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + resolved "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== dependencies: globule "^1.0.0" @@ -7356,7 +7356,7 @@ get-port@^5.1.1: get-stdin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= get-stream@^4.1.0: @@ -7479,7 +7479,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: +glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -7491,7 +7491,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.7: +glob@^7.0.3, glob@^7.1.7: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -7553,9 +7553,9 @@ globby@^8.0.1: slash "^1.0.0" globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== + version "1.3.3" + resolved "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" + integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== dependencies: glob "~7.1.1" lodash "~4.17.10" @@ -8719,7 +8719,7 @@ jest-worker@^27.3.1: js-base64@^2.1.8: version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: @@ -9110,7 +9110,7 @@ load-json-file@^6.2.0: strip-bom "^4.0.0" type-fest "^0.6.0" -loader-runner@^4.2.0: +loader-runner@^4.1.0, loader-runner@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== @@ -9507,7 +9507,7 @@ meow@^8.0.0: meow@^9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + resolved "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== dependencies: "@types/minimist" "^1.2.0" @@ -10043,9 +10043,9 @@ mute-stream@0.0.8, mute-stream@~0.0.4: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.13.2: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + version "2.15.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== nanoid@^3.1.23: version "3.1.23" @@ -10985,6 +10985,13 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +pnp-webpack-plugin@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" + integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== + dependencies: + ts-pnp "^1.1.6" + portfinder@^1.0.28: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -12935,7 +12942,7 @@ safe-regex@^1.1.0: sass-graph@2.2.5: version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + resolved "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== dependencies: glob "^7.0.0" @@ -13012,7 +13019,7 @@ schema-utils@^4.0.0: scss-tokenizer@^0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + resolved "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= dependencies: js-base64 "^2.1.8" @@ -13379,7 +13386,7 @@ source-map-url@^0.4.0: source-map@^0.4.2: version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" integrity sha1-66T12pwNyZneaAMti092FzZSA2s= dependencies: amdefine ">=0.0.4" @@ -13533,7 +13540,7 @@ static-extend@^0.1.1: stdout-stream@^1.4.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + resolved "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== dependencies: readable-stream "^2.0.1" @@ -13581,7 +13588,7 @@ string-width@^1.0.1: string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: emoji-regex "^7.0.1" @@ -13662,7 +13669,7 @@ strip-ansi@^4.0.0: strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" @@ -13977,6 +13984,17 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +thread-loader@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" + integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== + dependencies: + json-parse-better-errors "^1.0.2" + loader-runner "^4.1.0" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -14110,7 +14128,7 @@ trough@^2.0.0: "true-case-path@^1.0.2": version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + resolved "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== dependencies: glob "^7.1.2" @@ -14142,6 +14160,11 @@ ts-node@^9: source-map-support "^0.5.17" yn "3.1.1" +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + tsconfig-paths@^3.11.0: version "3.11.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" @@ -14928,7 +14951,7 @@ wrap-ansi@^3.0.1: wrap-ansi@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" @@ -15072,7 +15095,7 @@ yargs-parser@20.2.4: yargs-parser@^13.1.2: version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" @@ -15093,7 +15116,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: yargs@^13.3.2: version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: cliui "^5.0.0"