diff --git a/app/src/app.module.ts b/app/src/app.module.ts
index d613388d..d0978499 100644
--- a/app/src/app.module.ts
+++ b/app/src/app.module.ts
@@ -6,22 +6,25 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
import { ToastrModule } from 'ngx-toastr'
@Component({
+ standalone: true,
+ imports: [CommonModule],
selector: 'root',
+ template: '
Hi
',
})
export class RootComponent {
static bootstrapComponent: any
constructor (private viewContainerRef: ViewContainerRef) { }
ngAfterViewInit () {
- this.viewContainerRef.createComponent(RootComponent.bootstrapComponent)
+ // this.viewContainerRef.createComponent(RootComponent.bootstrapComponent)
}
}
export function getRootModule (plugins: any[]) {
const imports = [
BrowserModule,
- CommonModule,
- ...plugins,
- NgbModule,
+ // CommonModule,
+ // ...plugins,
+ // NgbModule,
ToastrModule.forRoot({
positionClass: 'toast-bottom-center',
toastClass: 'toast',
@@ -41,6 +44,7 @@ export function getRootModule (plugins: any[]) {
@NgModule({
imports,
declarations: [RootComponent],
+ // bootstrap,
// bootstrap: [RootComponent],
}) class RootModule {
ngDoBootstrap (appRef: ApplicationRef) {
diff --git a/app/src/entry.ts b/app/src/entry.ts
index 467f5832..3911a0f8 100644
--- a/app/src/entry.ts
+++ b/app/src/entry.ts
@@ -8,13 +8,14 @@ import './toastr.scss'
// Importing before @angular/*
import { findPlugins, initModuleLookup, loadPlugins } from './plugins'
-import { enableProdMode, NgModuleRef, ApplicationRef } from '@angular/core'
-import { enableDebugTools } from '@angular/platform-browser'
+import { enableProdMode, NgModuleRef, ApplicationRef, importProvidersFrom } from '@angular/core'
+import { bootstrapApplication, enableDebugTools } from '@angular/platform-browser'
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { ipcRenderer } from 'electron'
-import { getRootModule } from './app.module'
+import { getRootModule, RootComponent } from './app.module'
import { BootstrapData, BOOTSTRAP_DATA, PluginInfo } from '../../tabby-core/src/api/mainProcess'
+import { ToastrModule } from 'ngx-toastr'
// Always land on the start view
location.hash = ''
@@ -39,17 +40,35 @@ async function bootstrap (bootstrapData: BootstrapData, plugins: PluginInfo[], s
const pluginModules = await loadPlugins(plugins, (current, total) => {
(document.querySelector('.progress .bar') as HTMLElement).style.width = `${100 * current / total}%` // eslint-disable-line
})
- const module = getRootModule(pluginModules)
- window['rootModule'] = module
- const moduleRef = await platformBrowserDynamic([
+
+ pluginModules.splice(0, 999)
+
+ window['pluginModules'] = pluginModules
+
+ const providers = [
{ provide: BOOTSTRAP_DATA, useValue: bootstrapData },
- ]).bootstrapModule(module)
+ importProvidersFrom([
+ ...pluginModules,
+ ToastrModule.forRoot({
+ positionClass: 'toast-bottom-center',
+ toastClass: 'toast',
+ preventDuplicates: true,
+ extendedTimeOut: 1000,
+ }),
+ ]),
+ ]
+ RootComponent.bootstrapComponent = pluginModules.find(x => x.bootstrap)?.bootstrap
+ bootstrapApplication(RootComponent, { providers })
+ // const module = getRootModule(pluginModules)
+ // 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/app/src/root.component.ts b/app/src/root.component.ts
deleted file mode 100644
index 8d2bd18c..00000000
--- a/app/src/root.component.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { Component } from '@angular/core'
-
-@Component({
- template: '',
-})
-export class RootComponent { } // eslint-disable-line @typescript-eslint/no-extraneous-class
diff --git a/app/webpack.config.mjs b/app/webpack.config.mjs
index ddda811a..3b018333 100644
--- a/app/webpack.config.mjs
+++ b/app/webpack.config.mjs
@@ -1,6 +1,7 @@
import * as path from 'path'
import wp from 'webpack'
const __dirname = path.dirname(new URL(import.meta.url).pathname)
+import { AngularWebpackPlugin } from '@ngtools/webpack'
import linkerPlugin from '@angular/compiler-cli/linker/babel'
export default () => ({
@@ -45,10 +46,7 @@ export default () => ({
{
test: /\.ts$/,
use: {
- loader: 'ts-loader',
- options: {
- configFile: path.resolve(__dirname, 'tsconfig.json'),
- },
+ loader: '@ngtools/webpack',
},
},
{ test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] },
@@ -74,5 +72,10 @@ export default () => ({
new wp.DefinePlugin({
'process.type': '"renderer"',
}),
+ new AngularWebpackPlugin({
+ tsconfig: path.resolve(__dirname, 'tsconfig.json'),
+ directTemplateLoading: false,
+ jitMode: false,
+ })
],
})
diff --git a/package.json b/package.json
index 6049ac08..5a186f5a 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,18 @@
{
"devDependencies": {
- "@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",
+ "@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",
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
"@fortawesome/fontawesome-free": "^6.2.0",
- "@ng-bootstrap/ng-bootstrap": "^12",
+ "@ng-bootstrap/ng-bootstrap": "^14.0.1",
+ "@ngtools/webpack": "^15.1.4",
"@popperjs/core": "^2.11.6",
"@sentry/cli": "^1.74.3",
"@sentry/electron": "^2.5.4",
diff --git a/tabby-core/src/components/1.pug b/tabby-core/src/components/1.pug
new file mode 100644
index 00000000..565fbfe4
--- /dev/null
+++ b/tabby-core/src/components/1.pug
@@ -0,0 +1,3 @@
+div Hello
+div there
+div(*ngFor='let x of [1,2,3]') there
diff --git a/tabby-core/src/components/appRoot.component.ts b/tabby-core/src/components/appRoot.component.ts
index e12d37d1..98d130c1 100644
--- a/tabby-core/src/components/appRoot.component.ts
+++ b/tabby-core/src/components/appRoot.component.ts
@@ -17,7 +17,6 @@ import { SafeModeModalComponent } from './safeModeModal.component'
import { TabBodyComponent } from './tabBody.component'
import { SplitTabComponent } from './splitTab.component'
import { AppService, Command, CommandLocation, FileTransfer, HostWindowService, PlatformService } from '../api'
-import { CommonModule } from '@angular/common'
function makeTabAnimation (dimension: string, size: number) {
return [
@@ -55,9 +54,8 @@ function makeTabAnimation (dimension: string, size: number) {
/** @hidden */
@Component({
- imports: [CommonModule],
selector: 'app-root',
- template: require('./appRoot.component.pug'),
+ templateUrl: './1.pug',
styles: [require('./appRoot.component.scss')],
animations: [
trigger('animateTab', makeTabAnimation('width', 200)),
diff --git a/tabby-core/src/index.ts b/tabby-core/src/index.ts
index f3512978..d6c801ee 100644
--- a/tabby-core/src/index.ts
+++ b/tabby-core/src/index.ts
@@ -126,6 +126,7 @@ const PROVIDERS = [
ProfileIconComponent,
],
exports: [
+ AppRootComponent,
CheckboxComponent,
ToggleComponent,
PromptModalComponent,
diff --git a/tabby-core/src/services/config.service.ts b/tabby-core/src/services/config.service.ts
index c1e6c360..6a1afb8c 100644
--- a/tabby-core/src/services/config.service.ts
+++ b/tabby-core/src/services/config.service.ts
@@ -239,8 +239,7 @@ export class ConfigService {
enabledServices (services: T[]): T[] { // eslint-disable-line @typescript-eslint/ban-types
if (!this.servicesCache) {
this.servicesCache = {}
- const ngModule = window['rootModule'].ɵinj
- for (const imp of ngModule.imports) {
+ for (const imp of window['pluginModules']) {
const module = imp.ngModule || imp
if (module.ɵinj?.providers) {
this.servicesCache[module.pluginName] = module.ɵinj.providers.map(provider => {
diff --git a/webpack.plugin.config.mjs b/webpack.plugin.config.mjs
index f7e968e8..9354bd44 100644
--- a/webpack.plugin.config.mjs
+++ b/webpack.plugin.config.mjs
@@ -1,6 +1,7 @@
import * as path from 'path'
import wp from 'webpack'
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
+import { AngularWebpackPlugin } from '@ngtools/webpack'
const bundleAnalyzer = new BundleAnalyzerPlugin({
analyzerPort: 0,
@@ -75,11 +76,7 @@ export default options => {
test: /\.ts$/,
use: [
{
- loader: 'ts-loader',
- options: {
- configFile: path.resolve(options.dirname, 'tsconfig.json'),
- allowTsInNodeModules: true,
- },
+ loader: '@ngtools/webpack',
},
],
},
@@ -151,6 +148,11 @@ export default options => {
],
plugins: [
new devtoolPlugin(sourceMapOptions),
+ new AngularWebpackPlugin({
+ tsconfig: path.resolve(options.dirname, 'tsconfig.json'),
+ directTemplateLoading: false,
+ jitMode: false,
+ })
],
}
if (process.env.PLUGIN_BUNDLE_ANALYZER === options.name) {
diff --git a/yarn.lock b/yarn.lock
index 5d5bd5cc..27da6c0e 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@^13":
- version "13.3.12"
- resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.3.12.tgz#5fbd2f5b796ed2b801df09d1b0925721d8a75ec3"
- integrity sha512-dc2JDokKJuuNxzzZa9FvuQU71kYC/e0xCLjGxEgX48sGKwajHRGBuzYFb8EmvLeA24SshYGmrxN0vGG9GhLK6g==
+"@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==
dependencies:
tslib "^2.3.0"
-"@angular/cdk@^13":
- version "13.3.9"
- resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.3.9.tgz#a177196e872e29be3f84d3a50f778d361c689ff7"
- integrity sha512-XCuCbeuxWFyo3EYrgEYx7eHzwl76vaWcxtWXl00ka8d+WAOtMQ6Tf1D98ybYT5uwF9889fFpXAPw98mVnlo3MA==
+"@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==
dependencies:
tslib "^2.3.0"
optionalDependencies:
- parse5 "^5.0.0"
+ parse5 "^7.1.2"
-"@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==
+"@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==
dependencies:
tslib "^2.3.0"
-"@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==
+"@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==
dependencies:
- "@babel/core" "^7.17.2"
+ "@babel/core" "7.19.3"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
chokidar "^3.0.0"
convert-source-map "^1.5.1"
dependency-graph "^0.11.0"
- magic-string "^0.26.0"
+ magic-string "^0.27.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@^13":
- version "13.3.12"
- resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.3.12.tgz#9fa94d116310060bcdd429c24d593b70f8a082da"
- integrity sha512-F5vJYrjbNvEWoVz9J/CqiT3Iod6g9bV0dGI5EeURcW4yHXHZ12ioQpfU3+bE7qXcTlnofbdDhK8cGxGx01SzBA==
+"@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==
dependencies:
tslib "^2.3.0"
-"@angular/core@^13":
- version "13.3.12"
- resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.12.tgz#6817eec14a86a76dd6200dd6d1a89ca520968b09"
- integrity sha512-jx0YC+NbPMbxGr5bXECkCEQv2RdVxR8AJNnabkPk8ZjwCpDzROrbELwwS1kunrZUhffcD15IhWGBvf1EGHAYDw==
+"@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==
dependencies:
tslib "^2.3.0"
-"@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==
+"@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==
dependencies:
tslib "^2.3.0"
-"@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==
+"@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==
dependencies:
tslib "^2.3.0"
-"@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==
+"@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==
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.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==
+"@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==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
- "@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"
+ "@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"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
- json5 "^2.2.2"
+ json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.20.7":
+"@babel/generator@^7.19.3", "@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.20.7":
+"@babel/helper-compilation-targets@^7.19.3":
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.20.11":
+"@babel/helper-module-transforms@^7.19.0":
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.20.7":
+"@babel/helpers@^7.19.0":
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.20.13", "@babel/parser@^7.20.7":
+"@babel/parser@^7.19.3", "@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.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13":
+"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@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.20.2", "@babel/types@^7.20.7":
+"@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":
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.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14":
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,13 +457,18 @@
lodash "^4.17.15"
tmp-promise "^3.0.2"
-"@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==
+"@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==
dependencies:
tslib "^2.3.0"
+"@ngtools/webpack@^15.1.4":
+ version "15.1.4"
+ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.4.tgz#8535324ef9fdffdee606513b7244b859b6e549c5"
+ integrity sha512-IvKXK8AvPlLkP99Uf0RL1EHlcsXNQd86II9HsLjupUtmFC/pPuDWrRFMP9bjWUMh2ZeYpgUeEAbcCH3doSrdIA==
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -5194,7 +5199,7 @@ json5@^2.2.0:
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
-json5@^2.2.2:
+json5@^2.2.1:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -5545,12 +5550,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.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==
+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==
dependencies:
- sourcemap-codec "^1.4.8"
+ "@jridgewell/sourcemap-codec" "^1.4.13"
make-dir@^1.0.0:
version "1.3.0"
@@ -6660,11 +6665,6 @@ 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"
@@ -6672,6 +6672,13 @@ 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"
@@ -8101,11 +8108,6 @@ 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"