From 6059de434fdc068949be2f112e4652a812a784ae Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Mon, 6 Feb 2023 09:18:04 +0100 Subject: [PATCH] wip --- app/index.pug | 1 + app/src/app.module.ts | 43 +++- app/src/entry.ts | 48 ++--- package.json | 22 +-- scripts/{build-native.js => build-native.mjs} | 8 +- .../src/components/appRoot.component.ts | 1 - tabby-core/src/index.ts | 1 - yarn.lock | 183 +++++++++--------- 8 files changed, 150 insertions(+), 157 deletions(-) rename scripts/{build-native.js => build-native.mjs} (83%) diff --git a/app/index.pug b/app/index.pug index 90d1619d..4f0e9419 100644 --- a/app/index.pug +++ b/app/index.pug @@ -12,6 +12,7 @@ html.tabby body { transition: 0.5s background; } body style#custom-css + root app-root .preload-logo div diff --git a/app/src/app.module.ts b/app/src/app.module.ts index dd2caf76..d613388d 100644 --- a/app/src/app.module.ts +++ b/app/src/app.module.ts @@ -1,13 +1,33 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { ApplicationRef, ComponentFactoryResolver, NgModule } from '@angular/core' +import { CommonModule } from '@angular/common' +import { ApplicationRef, Component, NgModule, ViewContainerRef } from '@angular/core' import { BrowserModule } from '@angular/platform-browser' -// import { NgbModule } from '@ng-bootstrap/ng-bootstrap' -// import { ToastrModule } from 'ngx-toastr' +import { NgbModule } from '@ng-bootstrap/ng-bootstrap' +import { ToastrModule } from 'ngx-toastr' + +@Component({ + selector: 'root', +}) +export class RootComponent { + static bootstrapComponent: any + constructor (private viewContainerRef: ViewContainerRef) { } + ngAfterViewInit () { + this.viewContainerRef.createComponent(RootComponent.bootstrapComponent) + } +} export function getRootModule (plugins: any[]) { const imports = [ BrowserModule, + CommonModule, ...plugins, + NgbModule, + ToastrModule.forRoot({ + positionClass: 'toast-bottom-center', + toastClass: 'toast', + preventDuplicates: true, + extendedTimeOut: 1000, + }), ] const bootstrap = [ @@ -20,18 +40,23 @@ export function getRootModule (plugins: any[]) { @NgModule({ imports, + declarations: [RootComponent], + // bootstrap: [RootComponent], }) class RootModule { - constructor (private resolver: ComponentFactoryResolver) { } - ngDoBootstrap (appRef: ApplicationRef) { (window as any)['requestAnimationFrame'] = window[window['Zone'].__symbol__('requestAnimationFrame')] bootstrap.forEach(componentDef => { - const factory = this.resolver.resolveComponentFactory(componentDef) - if (document.querySelector(factory.selector)) { - appRef.bootstrap(factory) - } + RootComponent.bootstrapComponent = componentDef + // const environmentInjector = appRef.injector + // createComponent(componentDef, { environmentInjector }) + // const component = this.resolver.resolveComponentFactory(componentDef) + // if (document.querySelector(factory.selector)) { + // appRef.bootstrap(component) + // } }) + + appRef.bootstrap(RootComponent) } } diff --git a/app/src/entry.ts b/app/src/entry.ts index c9454595..467f5832 100644 --- a/app/src/entry.ts +++ b/app/src/entry.ts @@ -8,8 +8,9 @@ import './toastr.scss' // Importing before @angular/* import { findPlugins, initModuleLookup, loadPlugins } from './plugins' -import { enableProdMode } from '@angular/core' -import { bootstrapApplication } from '@angular/platform-browser' +import { enableProdMode, NgModuleRef, ApplicationRef } from '@angular/core' +import { enableDebugTools } from '@angular/platform-browser' +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' import { ipcRenderer } from 'electron' import { getRootModule } from './app.module' @@ -30,7 +31,7 @@ if (process.env.TABBY_DEV && !process.env.TABBY_FORCE_ANGULAR_PROD) { enableProdMode() } -async function bootstrap (bootstrapData: BootstrapData, plugins: PluginInfo[], safeMode = false): Promise { +async function bootstrap (bootstrapData: BootstrapData, plugins: PluginInfo[], safeMode = false): Promise> { if (safeMode) { plugins = plugins.filter(x => x.isBuiltin) } @@ -40,40 +41,15 @@ async function bootstrap (bootstrapData: BootstrapData, plugins: PluginInfo[], s }) const module = getRootModule(pluginModules) window['rootModule'] = module - - function crawlProviders (m) { - if (m.ngModule) { - return [...crawlProviders(m.ngModule), ...m.providers ?? []] - } - const providers = m.ɵinj?.providers ?? [] - for (const exp of m.ɵmod?.exports ?? []) { - providers.push(...crawlProviders(exp)) - } - return providers + const moduleRef = await platformBrowserDynamic([ + { provide: BOOTSTRAP_DATA, useValue: bootstrapData }, + ]).bootstrapModule(module) + if (process.env.TABBY_DEV) { + // const applicationRef = moduleRef.injector.get(ApplicationRef) + // const componentRef = applicationRef.components[0] + // enableDebugTools(componentRef) } - - const providers = pluginModules.map(x => crawlProviders(x)).flat() - - console.log(providers) - - bootstrapApplication( - pluginModules.find(x => x.bootstrap).bootstrap, - { - providers: [ - { provide: BOOTSTRAP_DATA, useValue: bootstrapData }, - ...providers, - ], - }, - ) - // const moduleRef = await platformBrowserDynamic([ - // { provide: BOOTSTRAP_DATA, useValue: bootstrapData }, - // ]).bootstrapModule(module) - // if (process.env.TABBY_DEV) { - // const applicationRef = moduleRef.injector.get(ApplicationRef) - // const componentRef = applicationRef.components[0] - // enableDebugTools(componentRef) - // } - // return moduleRef + return moduleRef } ipcRenderer.once('start', async (_$event, bootstrapData: BootstrapData) => { diff --git a/package.json b/package.json index 6f4bc921..6049ac08 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { "devDependencies": { - "@angular/animations": "^15.1.3", - "@angular/cdk": "^15.1.3", - "@angular/common": "^15.1.3", - "@angular/compiler": "^15.1.3", - "@angular/compiler-cli": "^15.1.3", - "@angular/core": "^15.1.3", - "@angular/forms": "^15.1.3", - "@angular/platform-browser": "^15.1.3", - "@angular/platform-browser-dynamic": "^15.1.3", + "@angular/animations": "^13", + "@angular/cdk": "^13", + "@angular/common": "^13", + "@angular/compiler": "^13", + "@angular/compiler-cli": "^13", + "@angular/core": "^13", + "@angular/forms": "^13", + "@angular/platform-browser": "^13", + "@angular/platform-browser-dynamic": "^13", "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@fortawesome/fontawesome-free": "^6.2.0", - "@ng-bootstrap/ng-bootstrap": "^14.0.1", + "@ng-bootstrap/ng-bootstrap": "^12", "@popperjs/core": "^2.11.6", "@sentry/cli": "^1.74.3", "@sentry/electron": "^2.5.4", @@ -105,7 +105,7 @@ "prod": "cross-env TABBY_DEV=1 electron app", "docs": "node scripts/build-docs.js", "lint": "eslint --ext ts */src */lib", - "postinstall": "patch-package && node ./scripts/install-deps.js && node ./scripts/build-native.js", + "postinstall": "patch-package && node ./scripts/install-deps.mjs && node ./scripts/build-native.mjs", "i18n:pull": "crowdin pull --skip-untranslated-strings", "i18n:extract": "node scripts/i18n-extract.js", "i18n:push": "crowdin push" diff --git a/scripts/build-native.js b/scripts/build-native.mjs similarity index 83% rename from scripts/build-native.js rename to scripts/build-native.mjs index 2745a34e..ad6e2a82 100755 --- a/scripts/build-native.js +++ b/scripts/build-native.mjs @@ -1,7 +1,9 @@ #!/usr/bin/env node -const rebuild = require('electron-rebuild').default -const path = require('path') -const vars = require('./vars') +import { rebuild } from 'electron-rebuild' +import * as path from 'path' +import * as vars from './vars.mjs' + +const __dirname = path.dirname(new URL(import.meta.url).pathname) if (process.platform === 'win32' || process.platform === 'linux') { process.env.ARCH = ((process.env.ARCH || process.arch) === 'arm') ? 'armv7l' : process.env.ARCH || process.arch diff --git a/tabby-core/src/components/appRoot.component.ts b/tabby-core/src/components/appRoot.component.ts index 221f7304..e12d37d1 100644 --- a/tabby-core/src/components/appRoot.component.ts +++ b/tabby-core/src/components/appRoot.component.ts @@ -56,7 +56,6 @@ function makeTabAnimation (dimension: string, size: number) { /** @hidden */ @Component({ imports: [CommonModule], - standalone: true, selector: 'app-root', template: require('./appRoot.component.pug'), styles: [require('./appRoot.component.scss')], diff --git a/tabby-core/src/index.ts b/tabby-core/src/index.ts index d6c801ee..f3512978 100644 --- a/tabby-core/src/index.ts +++ b/tabby-core/src/index.ts @@ -126,7 +126,6 @@ const PROVIDERS = [ ProfileIconComponent, ], exports: [ - AppRootComponent, CheckboxComponent, ToggleComponent, PromptModalComponent, diff --git a/yarn.lock b/yarn.lock index 877c5af0..5d5bd5cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,77 +15,77 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular/animations@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.3.tgz#3b35675f7e7df2a8c8f35abf5617b8c7f533a2f0" - integrity sha512-qvOLYx8XWolwFWwYoPjt+jQLDFaCQEPjb26iczewiqd+xcAdYn4Tl10NCJtOsx+YfTdpWtKRzvxYr1JxnGQTdw== +"@angular/animations@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.3.12.tgz#5fbd2f5b796ed2b801df09d1b0925721d8a75ec3" + integrity sha512-dc2JDokKJuuNxzzZa9FvuQU71kYC/e0xCLjGxEgX48sGKwajHRGBuzYFb8EmvLeA24SshYGmrxN0vGG9GhLK6g== dependencies: tslib "^2.3.0" -"@angular/cdk@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.3.tgz#71b5c9e7b7ef0ba0c648278e34536e0f8d06b7b7" - integrity sha512-FRb1ZirybQGVlRx34vsnkIyy4WHJlrRg2mwPeJ90b0DzIWuIZIiPYxxR2bAi/Si1IjnK8YBdacd5DXPdrW1jyw== +"@angular/cdk@^13": + version "13.3.9" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.3.9.tgz#a177196e872e29be3f84d3a50f778d361c689ff7" + integrity sha512-XCuCbeuxWFyo3EYrgEYx7eHzwl76vaWcxtWXl00ka8d+WAOtMQ6Tf1D98ybYT5uwF9889fFpXAPw98mVnlo3MA== dependencies: tslib "^2.3.0" optionalDependencies: - parse5 "^7.1.2" + parse5 "^5.0.0" -"@angular/common@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.3.tgz#5ad482ff6da4b8820607180c50f208667c3be729" - integrity sha512-UjC0COaOcU1g/ODBBetv/BpdaFC/Y32DvXJ9qbD7kkwLwoqCjGOLDvtP36r9zEzPmH7oNkgNGDkgR3gyb82s5A== +"@angular/common@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.3.12.tgz#6ef3187232415e69995eb590a12ebcd44e457425" + integrity sha512-Nk4zNKfda92aFe+cucHRv2keyryR7C1ZnsurwZW9WZSobpY3z2tTT81F+yy35lGoMt5BDBAIpfh1b4j9Ue/vMg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.3.tgz#c45dd2a50076af836b4f49de903a884048d79918" - integrity sha512-z5bGdQQcStXWPpb5vztqqUOET+vxw+GUFtfktYxV40kE2d1zHLZh93AGEnM1NnBaOz+9NZrX+dWoEyWmv/T2LQ== +"@angular/compiler-cli@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.3.12.tgz#34f03dc806b63af06ab47f3fda3217e24e423560" + integrity sha512-6jrdVwexPihWlyitopc3rn2ReEkhAaMI8UWR0SOTnt3NaqNYWeio4bpeWlumgNPElDyY5rmyrmJgeaY8ICa8qA== dependencies: - "@babel/core" "7.19.3" - "@jridgewell/sourcemap-codec" "^1.4.14" + "@babel/core" "^7.17.2" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" - magic-string "^0.27.0" + magic-string "^0.26.0" reflect-metadata "^0.1.2" semver "^7.0.0" + sourcemap-codec "^1.4.8" tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.3.tgz#7972d7dec2462e3a2a9fa256902363a716ab2f8c" - integrity sha512-CxEpm5Z3EpjeGNoWKtcHOrf2IQTSckpAEFwsRrADP2nqcXXYp/IjIHi+PUTjLhjrOEbukH9zreHsL5BoIQhgUQ== +"@angular/compiler@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.3.12.tgz#9fa94d116310060bcdd429c24d593b70f8a082da" + integrity sha512-F5vJYrjbNvEWoVz9J/CqiT3Iod6g9bV0dGI5EeURcW4yHXHZ12ioQpfU3+bE7qXcTlnofbdDhK8cGxGx01SzBA== dependencies: tslib "^2.3.0" -"@angular/core@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.3.tgz#08a19d2427fffba8d75bb622f5db0b1406937877" - integrity sha512-rad9OYnaoRnXBztOBXsiD59VvOZTpsvO3sWx6KndytQFceFfkL722bF2l2LARN+R3IWDOwRap46HOtc0O0N+sw== +"@angular/core@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.12.tgz#6817eec14a86a76dd6200dd6d1a89ca520968b09" + integrity sha512-jx0YC+NbPMbxGr5bXECkCEQv2RdVxR8AJNnabkPk8ZjwCpDzROrbELwwS1kunrZUhffcD15IhWGBvf1EGHAYDw== dependencies: tslib "^2.3.0" -"@angular/forms@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.3.tgz#7dcbb2305fa5901b36dd8d3fd0ece2374bdce54d" - integrity sha512-vEgiZBk3rGGp4tBQHl9EaspEjYh70lkz6/zYreObTbMdCB54bkbl+jn+JbQyFj+TPfukiumtiG3/477vKzYnSg== +"@angular/forms@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.3.12.tgz#21a4a3f5d7539d42351b9f2a7cac10463b6b7c00" + integrity sha512-auow1TKZx44ha1ia8Jwg2xp2Q7BbpShG5Ft8tewL3T44aTmJY7svWOE/m+DkZ/SXHmTFnbZFobGU5aEfe0+pNw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.3.tgz#f1d327c38643b08ac85b15e77528b6717ab7a243" - integrity sha512-lUfHmO+x3goSL1KnlAbekieKpak2KVGcOcAzOVOIMFt1SyWPBHq0NyyPOH2PUAnjPRbvCLEs2casjFggk0JzsQ== +"@angular/platform-browser-dynamic@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.12.tgz#2c27c8eb135f643e31594752b28e134eb06e52ac" + integrity sha512-/hBggov0PxK/KNJqIu3MVc5k8f0iDbygDP8Z1k/J0FcllOSRdO4LsQd1fsCfGfwIUf0YWGyD7KraSGpBBiWlFg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@^15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.3.tgz#c35912e419baf74e73f90f8cf80fbe4af63f1deb" - integrity sha512-WJBN3klssfcRGKY2L2DIpNGbaMQfi2X1le1ZXQAnsfECQ/pua+lFstJUT+RP+Bx4X8icuDggKkS/JPOiBhxARw== +"@angular/platform-browser@^13": + version "13.3.12" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.3.12.tgz#913e42f5a1cc7f691a81554345a87ae4236ee14d" + integrity sha512-sfhQqU4xjTJCjkH62TQeH5/gkay/KzvNDF95J6NHi/Q6p2dbtzZdXuLJKR/sHxtF2kc505z5v9RNm6XMSXM1KA== dependencies: tslib "^2.3.0" @@ -101,28 +101,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== -"@babel/core@7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" - integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== +"@babel/core@^7.17.2": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.3" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.3" - "@babel/types" "^7.19.3" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" + json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.19.3", "@babel/generator@^7.20.7": +"@babel/generator@^7.20.7": version "7.20.14" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== @@ -131,7 +131,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.19.3": +"@babel/helper-compilation-targets@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== @@ -169,7 +169,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.19.0": +"@babel/helper-module-transforms@^7.20.11": version "7.20.11" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== @@ -217,7 +217,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helpers@^7.19.0": +"@babel/helpers@^7.20.7": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== @@ -235,7 +235,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.19.3", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": +"@babel/parser@^7.20.13", "@babel/parser@^7.20.7": version "7.20.15" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== @@ -254,7 +254,7 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.13": +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== @@ -270,7 +270,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.2", "@babel/types@^7.20.7": +"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== @@ -420,7 +420,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14": +"@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -457,10 +457,10 @@ lodash "^4.17.15" tmp-promise "^3.0.2" -"@ng-bootstrap/ng-bootstrap@^14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-14.0.1.tgz#09f93058d3c4a2f4e751c8b546e01f6d2524bd05" - integrity sha512-JF4U4IIix+g6VBFfG8stf0Un5K//ypoN+pTuRs6kjUhsHBsa2m7yKE6bCe3fMhatFZFr2fcSswDzRUnAUiHhWg== +"@ng-bootstrap/ng-bootstrap@^12": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-12.1.2.tgz#19f21313234fe21090ba50a7721046ed5d9928e1" + integrity sha512-p27c+mYVdHiJMYrj5hwClVJxLdiZxafAqlbw1sdJh2xJ1rGOe+H/kCf5YDRbhlHqRN+34Gr0RQqIUeD1I2V8hg== dependencies: tslib "^2.3.0" @@ -829,11 +829,6 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== -"@types/sortablejs@^1.15.0": - version "1.15.0" - resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.0.tgz#695e481752e2a0a311c5e73b51d5f666fc202f93" - integrity sha512-qrhtM7M41EhH4tZQTNw2/RJkxllBx3reiJpTbgWCM2Dx0U1sZ6LwKp9lfNln9uqE26ZMKUaPEYaD4rzvOWYtZw== - "@types/verror@^1.10.3": version "1.10.6" resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" @@ -5194,11 +5189,16 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" -json5@^2.2.0, json5@^2.2.1: +json5@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonc-parser@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -5545,12 +5545,12 @@ macos-release@^3.1.0: resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-3.1.0.tgz#6165bb0736ae567ed6649e36ce6a24d87cbb7aca" integrity sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA== -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== +magic-string@^0.26.0: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" + sourcemap-codec "^1.4.8" make-dir@^1.0.0: version "1.3.0" @@ -5927,13 +5927,6 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -ngx-sortablejs@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/ngx-sortablejs/-/ngx-sortablejs-11.1.0.tgz#14e50c48db908c1cb4b37722b28c2d3867c6140a" - integrity sha512-eM4dHwWSmXDcvF5gUmyMMQ0qqcqBXWCSZ9IRpqx4UkBKfo4N7pk/QuYh5io2fXVHWVFDaxW1yhn2FNpqxV6Jqw== - dependencies: - tslib "^2.0.0" - ngx-toastr@^16.0.2: version "16.0.2" resolved "https://registry.yarnpkg.com/ngx-toastr/-/ngx-toastr-16.0.2.tgz#349068a16a73867111c6feae68eedb89a638a33f" @@ -6667,6 +6660,11 @@ parse-json@^2.2.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== +parse5@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + parse5@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" @@ -6674,13 +6672,6 @@ parse5@^7.0.0: dependencies: entities "^4.4.0" -parse5@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - pascal-case@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" @@ -8060,11 +8051,6 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -sortablejs@^1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.0.tgz#53230b8aa3502bb77a29e2005808ffdb4a5f7e2a" - integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w== - sorted-object@~2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz" @@ -8115,6 +8101,11 @@ source-sans-pro@3.6.0: resolved "https://registry.npmjs.org/source-sans-pro/-/source-sans-pro-3.6.0.tgz" integrity sha512-C1RFUGu+YASuqpgDRInTM7Y6OwqeWNOuKn7v0P/4Kh66epTI4PYWwPWP5kdA4l/VqzBAWiqoz5dk0trof73R7w== +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" @@ -8714,7 +8705,7 @@ tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.4.0: +tslib@^2.0.3, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==