`.
+
+Many interceptors are only concerned with the outgoing request and return the event stream from `next.handle()` without modifying it.
+Some interceptors, however, need to examine and modify the response from `next.handle()`; these operations can see all of these events in the stream.
+
+
+
+Although interceptors are capable of modifying requests and responses, the `HttpRequest` and `HttpResponse` instance properties are `readonly`, rendering them largely immutable.
+They are immutable for a good reason:
+An app might retry a request several times before it succeeds, which means that the interceptor chain can re-process the same request multiple times.
+If an interceptor could modify the original request object, the re-tried operation would start from the modified request rather than the original.
+Immutability ensures that interceptors see the same request for each try.
+
+
+
+Your interceptor should return every event without modification unless it has a compelling reason to do otherwise.
+
+
+
+TypeScript prevents you from setting `HttpRequest` read-only properties.
+
+
+
+// Typescript disallows the following assignment because req.url is readonly
+req.url = req.url.replace('http://', 'https://');
+
+
+
+If you must alter a request, clone it first and modify the clone before passing it to `next.handle()`.
+You can clone and modify the request in a single step, as shown in the following example.
+
+
+
+The `clone()` method's hash argument lets you mutate specific properties of the request while copying the others.
+
+### Modify a request body
+
+The `readonly` assignment guard can't prevent deep updates and, in particular, it can't prevent you from modifying a property of a request body object.
+
+
+
+req.body.name = req.body.name.trim(); // bad idea!
+
+
+
+If you must modify the request body, follow these steps.
+
+1. Copy the body and make your change in the copy.
+1. Clone the request object, using its `clone()` method.
+1. Replace the clone's body with the modified copy.
+
+
+
+### Clear the request body in a clone
+
+Sometimes you need to clear the request body rather than replace it.
+To do this, set the cloned request body to `null`.
+
+
+
+**TIP**:
+If you set the cloned request body to `undefined`, Angular assumes you intend to leave the body as is.
+
+
+
+
+
+newReq = req.clone({ … }); // body not mentioned => preserve original body
+newReq = req.clone({ body: undefined }); // preserve original body
+newReq = req.clone({ body: null }); // clear the body
+
+
+
+@reviewed 2023-02-27
diff --git a/aio/content/guide/http-optimize-server-interaction.md b/aio/content/guide/http-optimize-server-interaction.md
index 7493018fbcdd..3625f28d0166 100644
--- a/aio/content/guide/http-optimize-server-interaction.md
+++ b/aio/content/guide/http-optimize-server-interaction.md
@@ -1,3 +1,59 @@
-# Optimize server interaction with debouncing
+# HTTP - Optimize server interaction with debouncing
-@reviewed 2022-10-06
+If you need to make an HTTP request in response to user input, it's not efficient to send a request for every keystroke. It's better to wait until the user stops typing and then send a request. This technique is known as debouncing.
+
+## Implement debouncing
+
+Consider the following template, which lets a user enter a search term to find a package by name. When the user enters a name in a search-box, the `PackageSearchComponent` sends a search request for a package with that name to the package search API.
+
+
+
+Here, the `keyup` event binding sends every keystroke to the component's `search()` method.
+
+
+
+The type of `$event.target` is only `EventTarget` in the template.
+In the `getValue()` method, the target is cast to an `HTMLInputElement` to let type-safe have access to its `value` property.
+
+
+
+
+
+The following snippet implements debouncing for this input using RxJS operators.
+
+
+
+The `searchText$` is the sequence of search-box values coming from the user.
+It's defined as an RxJS `Subject`, which means it is a multicasting `Observable` that can also emit values for itself by calling `next(value)`, as happens in the `search()` method.
+
+Rather than forward every `searchText` value directly to the injected `PackageSearchService`, the code in `ngOnInit()` pipes search values through three operators, so that a search value reaches the service only if it's a new value and the user stopped typing.
+
+| RxJS operators | Details |
+|:--- |:--- |
+| `debounceTime(500)` | Wait for the user to stop typing, which is 1/2 second in this case. |
+| `distinctUntilChanged()` | Wait until the search text changes. |
+| `switchMap()` | Send the search request to the service. |
+
+The code sets `packages$` to this re-composed `Observable` of search results.
+The template subscribes to `packages$` with the [AsyncPipe](api/common/AsyncPipe) and displays search results as they arrive.
+
+## Using the `switchMap()` operator
+
+The `switchMap()` operator takes a function argument that returns an `Observable`.
+In the example, `PackageSearchService.search` returns an `Observable`, as other data service methods do.
+If a previous search request is still in-flight, such as when the network connection is poor, the operator cancels that request and sends a new one.
+
+
+
+**NOTE**:
+`switchMap()` returns service responses in their original request order, even if the server returns them out of order.
+
+
+
+
+
+If you think you'll reuse this debouncing logic, consider moving it to a utility function or into the `PackageSearchService` itself.
+
+
+
+@reviewed 2023-02-27
diff --git a/aio/content/guide/http-request-data-from-server.md b/aio/content/guide/http-request-data-from-server.md
index 87fa3eaf0947..cb1200520a92 100644
--- a/aio/content/guide/http-request-data-from-server.md
+++ b/aio/content/guide/http-request-data-from-server.md
@@ -1,3 +1,221 @@
-# Request data from a server
+# HTTP: Request data from a server
-@reviewed 2022-10-06
+Use the [`HttpClient.get()`](api/common/http/HttpClient#get) method to fetch data from a server.
+The asynchronous method sends an HTTP request, and returns an Observable that emits the requested data when the response is received.
+The return type varies based on the `observe` and `responseType` values that you pass to the call.
+
+The `get()` method takes two arguments; the endpoint URL from which to fetch, and an *options* object that is used to configure the request.
+
+
+
+options: {
+ headers?: HttpHeaders | {[header: string]: string | string[]},
+ observe?: 'body' | 'events' | 'response',
+ params?: HttpParams|{[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>},
+ reportProgress?: boolean,
+ responseType?: 'arraybuffer'|'blob'|'json'|'text',
+ withCredentials?: boolean,
+}
+
+
+
+Important options include the *observe* and *responseType* properties.
+
+* The *observe* option specifies how much of the response to return
+* The *responseType* option specifies the format in which to return data
+
+
+
+Use the `options` object to configure various other aspects of an outgoing request.
+In adding headers, for example, the service set the default headers using the `headers` option property.
+
+Use the `params` property to configure a request with HTTP URL parameters, and the `reportProgress` option to listen for progress events when transferring large amounts of data.
+
+
+
+Applications often request JSON data from a server.
+In the `ConfigService` example, the app needs a configuration file on the server, `config.json`, that specifies resource URLs.
+
+
+
+To fetch this kind of data, the `get()` call needs the following options: `{observe: 'body', responseType: 'json'}`.
+These are the default values for those options, so the following examples do not pass the options object.
+Later sections show some of the additional option possibilities.
+
+
+
+The example conforms to the best practices for creating scalable solutions by defining a re-usable [injectable service](guide/glossary#service "service definition") to perform the data-handling functionality.
+In addition to fetching data, the service can post-process the data, add error handling, and add retry logic.
+
+The `ConfigService` fetches this file using the `HttpClient.get()` method.
+
+
+
+The `ConfigComponent` injects the `ConfigService` and calls the `getConfig` service method.
+
+Because the service method returns an `Observable` of configuration data, the component *subscribes* to the method's return value.
+The subscription callback performs minimal post-processing.
+It copies the data fields into the component's `config` object, which is data-bound in the component template for display.
+
+
+
+
+
+## Starting the request
+
+For all `HttpClient` methods, the method doesn't begin its HTTP request until you call `subscribe()` on the observable the method returns.
+
+This is true for *all* `HttpClient` *methods*.
+
+
+
+You should always unsubscribe from an observable when a component is destroyed.
+
+
+
+All observables returned from `HttpClient` methods are *cold* by design.
+Execution of the HTTP request is *deferred*, letting you extend the observable with additional operations such as `tap` and `catchError` before anything actually happens.
+
+Calling `subscribe()` triggers execution of the observable and causes `HttpClient` to compose and send the HTTP request to the server.
+
+Think of these observables as *blueprints* for actual HTTP requests.
+
+
+
+In fact, each `subscribe()` initiates a separate, independent execution of the observable.
+Subscribing twice results in two HTTP requests.
+
+
+
+const req = http.get<Heroes>('/api/heroes');
+// 0 requests made - .subscribe() not called.
+req.subscribe();
+// 1 request made.
+req.subscribe();
+// 2 requests made.
+
+
+
+
+
+
+
+## Requesting a typed response
+
+Structure your `HttpClient` request to declare the type of the response object, to make consuming the output easier and more obvious.
+Specifying the response type acts as a type assertion at compile time.
+
+
+
+Specifying the response type is a declaration to TypeScript that it should treat your response as being of the given type.
+This is a build-time check and doesn't guarantee that the server actually responds with an object of this type.
+It is up to the server to ensure that the type specified by the server API is returned.
+
+
+
+To specify the response object type, first define an interface with the required properties.
+Use an interface rather than a class, because the response is a plain object that cannot be automatically converted to an instance of a class.
+
+
+
+Next, specify that interface as the `HttpClient.get()` call's type parameter in the service.
+
+
+
+
+
+When you pass an interface as a type parameter to the `HttpClient.get()` method, use the [RxJS `map` operator](guide/rx-library#operators) to transform the response data as needed by the UI.
+You can then pass the transformed data to the [async pipe](api/common/AsyncPipe).
+
+
+
+The callback in the updated component method receives a typed data object, which is easier and safer to consume:
+
+
+
+To access properties that are defined in an interface, you must explicitly convert the plain object you get from the JSON to the required response type.
+For example, the following `subscribe` callback receives `data` as an Object, and then type-casts it in order to access the properties.
+
+
+
+.subscribe(data => this.config = {
+ heroesUrl: (data as any).heroesUrl,
+ textfile: (data as any).textfile,
+});
+
+
+
+
+
+
+
+observe and response types
+
+The types of the `observe` and `response` options are *string unions*, rather than plain strings.
+
+
+
+options: {
+ …
+ observe?: 'body' | 'events' | 'response',
+ …
+ responseType?: 'arraybuffer'|'blob'|'json'|'text',
+ …
+}
+
+
+
+This can cause confusion.
+For example:
+
+
+
+// this works
+client.get('/foo', {responseType: 'text'})
+
+// but this does NOT work
+const options = {
+ responseType: 'text',
+};
+client.get('/foo', options)
+
+
+
+In the second case, TypeScript infers the type of `options` to be `{responseType: string}`.
+The type is too wide to pass to `HttpClient.get` which is expecting the type of `responseType` to be one of the *specific* strings.
+`HttpClient` is typed explicitly this way so that the compiler can report the correct return type based on the options you provided.
+
+Use `as const` to let TypeScript know that you really do mean to use a constant string type:
+
+
+
+const options = {
+ responseType: 'text' as const,
+};
+client.get('/foo', options);
+
+
+
+
+
+## Reading the full response
+
+In the previous example, the call to `HttpClient.get()` did not specify any options.
+By default, it returned the JSON data contained in the response body.
+
+You might need more information about the transaction than is contained in the response body.
+Sometimes servers return special headers or status codes to indicate certain conditions that are important to the application workflow.
+
+Tell `HttpClient` that you want the full response with the `observe` option of the `get()` method:
+
+
+
+Now `HttpClient.get()` returns an `Observable` of type `HttpResponse` rather than just the JSON data contained in the body.
+
+The component's `showConfigResponse()` method displays the response headers as well as the configuration:
+
+
+
+As you can see, the response object has a `body` property of the correct type.
+
+@reviewed 2023-02-27
diff --git a/aio/content/guide/http-server-communication.md b/aio/content/guide/http-server-communication.md
new file mode 100644
index 000000000000..eb7c11ff2840
--- /dev/null
+++ b/aio/content/guide/http-server-communication.md
@@ -0,0 +1,254 @@
+# HTTP Server communication
+
+Most front-end applications need to communicate with a server over the HTTP protocol, to download or upload data and access other back-end services.
+
+## Setup for server communication
+
+Before you can use `HttpClient`, you need to import the Angular `HttpClientModule`.
+Most apps do so in the root `AppModule`.
+
+
+
+You can then inject the `HttpClient` service as a dependency of an application class, as shown in the following `ConfigService` example.
+
+
+
+The `HttpClient` service makes use of [observables](guide/glossary#observable "Observable definition") for all transactions.
+You must import the RxJS observable and operator symbols that appear in the example snippets.
+These `ConfigService` imports are typical.
+
+
+
+
+
+You can run the that accompanies this guide.
+
+The sample app does not require a data server.
+It relies on the [Angular *in-memory-web-api*](https://github.com/angular/angular/tree/main/packages/misc/angular-in-memory-web-api), which replaces the *HttpClient* module's `HttpBackend`.
+The replacement service simulates the behavior of a REST-like backend.
+
+Look at the `AppModule` *imports* to see how it is configured.
+
+
+
+## Requesting data from a server
+
+Use the [`HttpClient.get()`](api/common/http/HttpClient#get) method to fetch data from a server.
+The asynchronous method sends an HTTP request, and returns an Observable that emits the requested data when the response is received.
+The return type varies based on the `observe` and `responseType` values that you pass to the call.
+
+The `get()` method takes two arguments; the endpoint URL from which to fetch, and an *options* object that is used to configure the request.
+
+
+
+options: {
+ headers?: HttpHeaders | {[header: string]: string | string[]},
+ observe?: 'body' | 'events' | 'response',
+ params?: HttpParams|{[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>},
+ reportProgress?: boolean,
+ responseType?: 'arraybuffer'|'blob'|'json'|'text',
+ withCredentials?: boolean,
+}
+
+
+
+Important options include the *observe* and *responseType* properties.
+
+* The *observe* option specifies how much of the response to return
+* The *responseType* option specifies the format in which to return data
+
+
+
+Use the `options` object to configure various other aspects of an outgoing request.
+In adding headers, for example, the service set the default headers using the `headers` option property.
+
+Use the `params` property to configure a request with [TTP URL parameters, and the `reportProgress` option to listen for progress events when transferring large amounts of data.
+
+
+
+Applications often request JSON data from a server.
+In the `ConfigService` example, the app needs a configuration file on the server, `config.json`, that specifies resource URLs.
+
+
+
+To fetch this kind of data, the `get()` call needs the following options: `{observe: 'body', responseType: 'json'}`.
+These are the default values for those options, so the following examples do not pass the options object.
+Later sections show some of the additional option possibilities.
+
+
+
+The example conforms to the best practices for creating scalable solutions by defining a re-usable [injectable service](guide/glossary#service "service definition") to perform the data-handling functionality.
+In addition to fetching data, the service can post-process the data, add error handling, and add retry logic.
+
+The `ConfigService` fetches this file using the `HttpClient.get()` method.
+
+
+
+The `ConfigComponent` injects the `ConfigService` and calls the `getConfig` service method.
+
+Because the service method returns an `Observable` of configuration data, the component *subscribes* to the method's return value.
+The subscription callback performs minimal post-processing.
+It copies the data fields into the component's `config` object, which is data-bound in the component template for display.
+
+
+
+
+
+### Starting the request
+
+For all `HttpClient` methods, the method doesn't begin its HTTP request until you call `subscribe()` on the observable the method returns.
+
+This is true for *all* `HttpClient` *methods*.
+
+
+
+You should always unsubscribe from an observable when a component is destroyed.
+
+
+
+All observables returned from `HttpClient` methods are *cold* by design.
+Execution of the HTTP request is *deferred*, letting you extend the observable with additional operations such as `tap` and `catchError` before anything actually happens.
+
+Calling `subscribe()` triggers execution of the observable and causes `HttpClient` to compose and send the HTTP request to the server.
+
+Think of these observables as *blueprints* for actual HTTP requests.
+
+
+
+In fact, each `subscribe()` initiates a separate, independent execution of the observable.
+Subscribing twice results in two HTTP requests.
+
+
+
+const req = http.get<Heroes>('/api/heroes');
+// 0 requests made - .subscribe() not called.
+req.subscribe();
+// 1 request made.
+req.subscribe();
+// 2 requests made.
+
+
+
+
+
+
+
+### Requesting a typed response
+
+Structure your `HttpClient` request to declare the type of the response object, to make consuming the output easier and more obvious.
+Specifying the response type acts as a type assertion at compile time.
+
+
+
+Specifying the response type is a declaration to TypeScript that it should treat your response as being of the given type.
+This is a build-time check and doesn't guarantee that the server actually responds with an object of this type.
+It is up to the server to ensure that the type specified by the server API is returned.
+
+
+
+To specify the response object type, first define an interface with the required properties.
+Use an interface rather than a class, because the response is a plain object that cannot be automatically converted to an instance of a class.
+
+
+
+Next, specify that interface as the `HttpClient.get()` call's type parameter in the service.
+
+
+
+
+
+When you pass an interface as a type parameter to the `HttpClient.get()` method, use the [RxJS `map` operator](guide/rx-library#operators) to transform the response data as needed by the UI.
+You can then pass the transformed data to the [async pipe](api/common/AsyncPipe).
+
+
+
+The callback in the updated component method receives a typed data object, which is easier and safer to consume:
+
+
+
+To access properties that are defined in an interface, you must explicitly convert the plain object you get from the JSON to the required response type.
+For example, the following `subscribe` callback receives `data` as an Object, and then type-casts it in order to access the properties.
+
+
+
+.subscribe(data => this.config = {
+ heroesUrl: (data as any).heroesUrl,
+ textfile: (data as any).textfile,
+});
+
+
+
+
+
+
+
+observe and response types
+
+The types of the `observe` and `response` options are *string unions*, rather than plain strings.
+
+
+
+options: {
+ …
+ observe?: 'body' | 'events' | 'response',
+ …
+ responseType?: 'arraybuffer'|'blob'|'json'|'text',
+ …
+}
+
+
+
+This can cause confusion.
+For example:
+
+
+
+// this works
+client.get('/foo', {responseType: 'text'})
+
+// but this does NOT work
+const options = {
+ responseType: 'text',
+};
+client.get('/foo', options)
+
+
+
+In the second case, TypeScript infers the type of `options` to be `{responseType: string}`.
+The type is too wide to pass to `HttpClient.get` which is expecting the type of `responseType` to be one of the *specific* strings.
+`HttpClient` is typed explicitly this way so that the compiler can report the correct return type based on the options you provided.
+
+Use `as const` to let TypeScript know that you really do mean to use a constant string type:
+
+
+
+const options = {
+ responseType: 'text' as const,
+};
+client.get('/foo', options);
+
+
+
+
+
+### Reading the full response
+
+In the previous example, the call to `HttpClient.get()` did not specify any options.
+By default, it returned the JSON data contained in the response body.
+
+You might need more information about the transaction than is contained in the response body.
+Sometimes servers return special headers or status codes to indicate certain conditions that are important to the application workflow.
+
+Tell `HttpClient` that you want the full response with the `observe` option of the `get()` method:
+
+
+
+Now `HttpClient.get()` returns an `Observable` of type `HttpResponse` rather than just the JSON data contained in the body.
+
+The component's `showConfigResponse()` method displays the response headers as well as the configuration:
+
+
+
+As you can see, the response object has a `body` property of the correct type.
+
+@reviewed 2023-02-27
diff --git a/aio/content/guide/router.md b/aio/content/guide/router.md
index 96d932d9689e..f85d4c439b3a 100644
--- a/aio/content/guide/router.md
+++ b/aio/content/guide/router.md
@@ -134,7 +134,7 @@ To get information from a route:
* [`ActivatedRoute`](api/router/ActivatedRoute)
* [`ParamMap`](api/router/ParamMap)
-1. Inject an instance of `ActivatedRoute` by adding it to your application's constructor:
+1. Inject an instance of `ActivatedRoute` by adding it to your component's constructor:
diff --git a/aio/content/marketing/resources.json b/aio/content/marketing/resources.json
index 334523f8158e..b0581be55feb 100644
--- a/aio/content/marketing/resources.json
+++ b/aio/content/marketing/resources.json
@@ -587,8 +587,8 @@
"resources": {
"-KLIzGEp8Mh5W-FkiQnL": {
"desc": "A no-nonsense beginner's guide to building web applications with Angular and TypeScript",
- "title": "Learning Angular - Third Edition",
- "url": "https://www.packtpub.com/product/learning-angular-third-edition/9781839210662"
+ "title": "Learning Angular - Fourth Edition",
+ "url": "https://www.amazon.com/dp/1803240601"
},
"3ab": {
"desc": "More than 15 books from O'Reilly about Angular",
@@ -674,7 +674,7 @@
"angular-projects": {
"title": "Angular Projects - Second Edition",
"desc": "Build modern web apps by exploring Angular with 10 different projects and cutting-edge technologies",
- "url": "https://www.packtpub.com/product/angular-projects-second-edition/9781800205260"
+ "url": "https://www.amazon.com/dp/1800205260"
},
"rangle-angular-training-book": {
"title": "Rangle’s Angular Training Book",
diff --git a/aio/content/tutorial/tour-of-heroes/toh-pt4.md b/aio/content/tutorial/tour-of-heroes/toh-pt4.md
index 889c7c3b5a52..1dc7965aa62f 100644
--- a/aio/content/tutorial/tour-of-heroes/toh-pt4.md
+++ b/aio/content/tutorial/tour-of-heroes/toh-pt4.md
@@ -329,7 +329,7 @@ This template binds directly to the component's `messageService`.
The messages look better after you add the private CSS styles to `messages.component.css` as listed in one of the ["final code review"](#final-code-review) tabs below.
-## Add messages to hero service
+## Add MessageService to HeroesComponent
The following example shows how to display a history of each time the user clicks on a hero.
This helps when you get to the next section on [Routing](tutorial/tour-of-heroes/toh-pt5).
diff --git a/aio/package.json b/aio/package.json
index 5905d7f8a8df..d9b3ea0dab81 100644
--- a/aio/package.json
+++ b/aio/package.json
@@ -62,13 +62,13 @@
"private": true,
"dependencies": {
"@angular/animations": "15.2.0-next.4",
- "@angular/cdk": "15.2.0-next.4",
+ "@angular/cdk": "15.2.0-rc.0",
"@angular/common": "15.2.0-next.4",
"@angular/compiler": "15.2.0-next.4",
"@angular/core": "15.2.0-next.4",
"@angular/elements": "15.2.0-next.4",
"@angular/forms": "15.2.0-next.4",
- "@angular/material": "15.2.0-next.4",
+ "@angular/material": "15.2.0-rc.0",
"@angular/platform-browser": "15.2.0-next.4",
"@angular/platform-browser-dynamic": "15.2.0-next.4",
"@angular/router": "15.2.0-next.4",
@@ -85,7 +85,7 @@
"@angular-eslint/eslint-plugin": "^15.0.0",
"@angular-eslint/eslint-plugin-template": "^15.0.0",
"@angular-eslint/template-parser": "^15.0.0",
- "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100",
+ "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311",
"@angular/cli": "15.2.0-next.4",
"@angular/compiler-cli": "15.2.0-next.4",
"@bazel/bazelisk": "^1.7.5",
@@ -99,8 +99,8 @@
"@types/node": "^12.7.9",
"@types/trusted-types": "^2.0.2",
"@types/xregexp": "^4.3.0",
- "@typescript-eslint/eslint-plugin": "5.53.0",
- "@typescript-eslint/parser": "5.53.0",
+ "@typescript-eslint/eslint-plugin": "5.54.0",
+ "@typescript-eslint/parser": "5.54.0",
"archiver": "^5.3.0",
"assert": "^2.0.0",
"canonical-path": "1.0.0",
diff --git a/aio/yarn.lock b/aio/yarn.lock
index d67b5a12c238..59047a5b3ee6 100644
--- a/aio/yarn.lock
+++ b/aio/yarn.lock
@@ -2,7 +2,7 @@
# yarn lockfile v1
-"@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0":
+"@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0":
version "2.2.0"
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
@@ -22,14 +22,6 @@
symbol-observable "4.0.0"
yargs-parser "21.1.1"
-"@angular-devkit/architect@0.1502.0-next.3":
- version "0.1502.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.3.tgz#511bfaaed25c330a86822bd5dd346a54622d0a66"
- integrity sha512-CyHqCDI8mHdeJATRRd4VeJUjw4HJmTDPwbPfFuT6onkrD2R7TJlqiTiesjLk/RxaECoF+f55eIPk734mVhw9VA==
- dependencies:
- "@angular-devkit/core" "15.2.0-next.3"
- rxjs "6.6.7"
-
"@angular-devkit/architect@0.1502.0-next.4":
version "0.1502.0-next.4"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.4.tgz#476aeb2136e3392ab598b440525b6dd4ffed889c"
@@ -38,15 +30,23 @@
"@angular-devkit/core" "15.2.0-next.4"
rxjs "6.6.7"
-"@angular-devkit/build-angular@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.3.tgz#a74d77afdb8750f86c53969fa3fb64d09c48eb8b"
- integrity sha512-K4BmtMYZIwxh4sgEnBQE3BibAZ22sGU7iA1Z041KyjL5x41+6Fqt/QpJNk9F4LvMsaYnuNAt/UA+8ZSPXushGA==
+"@angular-devkit/architect@0.1600.0-next.1":
+ version "0.1600.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1600.0-next.1.tgz#048e97cfb3d0c63638e1a833094824fcc7b045a8"
+ integrity sha512-7GSeGEEJTfDCaB8eyaYAjNCFZl0qUo+ThJp4/u1ALO2xKOwBPEN9Pg6SlHgm1UN2WQ1yU+ipp842WM1EI6bdGw==
+ dependencies:
+ "@angular-devkit/core" "16.0.0-next.1"
+ rxjs "7.8.0"
+
+"@angular-devkit/build-angular@15.2.0-next.4":
+ version "15.2.0-next.4"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.4.tgz#e3e700c8447b721f630d5f415294dd574d32616a"
+ integrity sha512-F7iWNWV6gHushoxYfqLNHtjkcyCs7lFhG5Wq/ZyD3jdSbsEon1Yuhl3O9751R8NyCPAhEAEVhSStfHwsF1Nu+g==
dependencies:
"@ampproject/remapping" "2.2.0"
- "@angular-devkit/architect" "0.1502.0-next.3"
- "@angular-devkit/build-webpack" "0.1502.0-next.3"
- "@angular-devkit/core" "15.2.0-next.3"
+ "@angular-devkit/architect" "0.1502.0-next.4"
+ "@angular-devkit/build-webpack" "0.1502.0-next.4"
+ "@angular-devkit/core" "15.2.0-next.4"
"@babel/core" "7.20.12"
"@babel/generator" "7.20.14"
"@babel/helper-annotate-as-pure" "7.18.6"
@@ -57,7 +57,7 @@
"@babel/runtime" "7.20.13"
"@babel/template" "7.20.7"
"@discoveryjs/json-ext" "0.5.7"
- "@ngtools/webpack" "15.2.0-next.3"
+ "@ngtools/webpack" "15.2.0-next.4"
ansi-colors "4.1.3"
autoprefixer "10.4.13"
babel-loader "9.1.2"
@@ -68,7 +68,7 @@
copy-webpack-plugin "11.0.0"
critters "0.0.16"
css-loader "6.7.3"
- esbuild-wasm "0.17.5"
+ esbuild-wasm "0.17.6"
glob "8.1.0"
https-proxy-agent "5.0.1"
inquirer "8.2.4"
@@ -80,7 +80,7 @@
loader-utils "3.2.1"
magic-string "0.27.0"
mini-css-extract-plugin "2.7.2"
- open "8.4.0"
+ open "8.4.1"
ora "5.4.1"
parse5-html-rewriting-stream "6.0.1"
piscina "3.2.0"
@@ -88,12 +88,12 @@
postcss-loader "7.0.2"
resolve-url-loader "5.0.0"
rxjs "6.6.7"
- sass "1.57.1"
+ sass "1.58.0"
sass-loader "13.2.0"
semver "7.3.8"
source-map-loader "4.0.1"
source-map-support "0.5.21"
- terser "5.16.2"
+ terser "5.16.3"
text-table "0.2.0"
tree-kill "1.2.2"
tslib "2.5.0"
@@ -103,28 +103,29 @@
webpack-merge "5.8.0"
webpack-subresource-integrity "5.1.0"
optionalDependencies:
- esbuild "0.17.5"
+ esbuild "0.17.6"
-"@angular-devkit/build-angular@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.4.tgz#e3e700c8447b721f630d5f415294dd574d32616a"
- integrity sha512-F7iWNWV6gHushoxYfqLNHtjkcyCs7lFhG5Wq/ZyD3jdSbsEon1Yuhl3O9751R8NyCPAhEAEVhSStfHwsF1Nu+g==
+"@angular-devkit/build-angular@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-16.0.0-next.1.tgz#c95d38fdb1058c6e5e27529884312794dcfd1884"
+ integrity sha512-zTWeeYT+EhL5DNTbTH0qgBlj/YF/3cQQiClE2bDvaXenXhRZwYJ9c56583hE9DxLe+BFuCImX0Ym3eZQWErxNA==
dependencies:
"@ampproject/remapping" "2.2.0"
- "@angular-devkit/architect" "0.1502.0-next.4"
- "@angular-devkit/build-webpack" "0.1502.0-next.4"
- "@angular-devkit/core" "15.2.0-next.4"
- "@babel/core" "7.20.12"
- "@babel/generator" "7.20.14"
+ "@angular-devkit/architect" "0.1600.0-next.1"
+ "@angular-devkit/build-webpack" "0.1600.0-next.1"
+ "@angular-devkit/core" "16.0.0-next.1"
+ "@babel/core" "7.21.0"
+ "@babel/generator" "7.21.1"
"@babel/helper-annotate-as-pure" "7.18.6"
+ "@babel/helper-split-export-declaration" "7.18.6"
"@babel/plugin-proposal-async-generator-functions" "7.20.7"
"@babel/plugin-transform-async-to-generator" "7.20.7"
- "@babel/plugin-transform-runtime" "7.19.6"
+ "@babel/plugin-transform-runtime" "7.21.0"
"@babel/preset-env" "7.20.2"
- "@babel/runtime" "7.20.13"
+ "@babel/runtime" "7.21.0"
"@babel/template" "7.20.7"
"@discoveryjs/json-ext" "0.5.7"
- "@ngtools/webpack" "15.2.0-next.4"
+ "@ngtools/webpack" "16.0.0-next.1"
ansi-colors "4.1.3"
autoprefixer "10.4.13"
babel-loader "9.1.2"
@@ -135,7 +136,7 @@
copy-webpack-plugin "11.0.0"
critters "0.0.16"
css-loader "6.7.3"
- esbuild-wasm "0.17.6"
+ esbuild-wasm "0.17.10"
glob "8.1.0"
https-proxy-agent "5.0.1"
inquirer "8.2.4"
@@ -145,22 +146,22 @@
less-loader "11.1.0"
license-webpack-plugin "4.0.2"
loader-utils "3.2.1"
- magic-string "0.27.0"
+ magic-string "0.30.0"
mini-css-extract-plugin "2.7.2"
- open "8.4.1"
+ open "8.4.2"
ora "5.4.1"
- parse5-html-rewriting-stream "6.0.1"
+ parse5-html-rewriting-stream "7.0.0"
piscina "3.2.0"
postcss "8.4.21"
postcss-loader "7.0.2"
resolve-url-loader "5.0.0"
- rxjs "6.6.7"
- sass "1.58.0"
+ rxjs "7.8.0"
+ sass "1.58.3"
sass-loader "13.2.0"
semver "7.3.8"
source-map-loader "4.0.1"
source-map-support "0.5.21"
- terser "5.16.3"
+ terser "5.16.4"
text-table "0.2.0"
tree-kill "1.2.2"
tslib "2.5.0"
@@ -170,15 +171,7 @@
webpack-merge "5.8.0"
webpack-subresource-integrity "5.1.0"
optionalDependencies:
- esbuild "0.17.6"
-
-"@angular-devkit/build-webpack@0.1502.0-next.3":
- version "0.1502.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.3.tgz#4d47497ce645cdae9ef7ae95d346aa2c5279e9e9"
- integrity sha512-uUfqhVerwLKvHbzW4xC1kS+kNiAPV0krWlC+P/DTpzlgmV4wSkV9CSLW+/ar5GNcxhafsNxStXaUcWy/HdH6gQ==
- dependencies:
- "@angular-devkit/architect" "0.1502.0-next.3"
- rxjs "6.6.7"
+ esbuild "0.17.10"
"@angular-devkit/build-webpack@0.1502.0-next.4":
version "0.1502.0-next.4"
@@ -188,16 +181,13 @@
"@angular-devkit/architect" "0.1502.0-next.4"
rxjs "6.6.7"
-"@angular-devkit/core@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.2.0-next.3.tgz#669a90be9137eed5d8fb1af1da2dbf7e3938f01b"
- integrity sha512-LF/vCK9OK2vc6zhZFTh3DMwkcQYWlmMBH9zibR6HntinugeihzhqoY+n7ZXbOULXXA2eMQjb7otZs8QApi81OQ==
+"@angular-devkit/build-webpack@0.1600.0-next.1":
+ version "0.1600.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1600.0-next.1.tgz#ecf96034328af887b9eadb95e339c1cbe24020ee"
+ integrity sha512-hSBgr7W02baPY/YE9bVZElTBa3RGyKhSI+J6y/LCMh+PR3XTNt/VUXrjhgRRaXVU8zyU+P7POHu3xooxPMHXGw==
dependencies:
- ajv "8.12.0"
- ajv-formats "2.1.1"
- jsonc-parser "3.2.0"
- rxjs "6.6.7"
- source-map "0.7.4"
+ "@angular-devkit/architect" "0.1600.0-next.1"
+ rxjs "7.8.0"
"@angular-devkit/core@15.2.0-next.4":
version "15.2.0-next.4"
@@ -210,6 +200,17 @@
rxjs "6.6.7"
source-map "0.7.4"
+"@angular-devkit/core@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-16.0.0-next.1.tgz#caacbce13196f14ce1e503cfd982106c5f38069d"
+ integrity sha512-sbMPTsQk72vMPEXhP7nwtqYJcjnz6ddBWwLMPyCfDS8J/+KYadwBvhcjQ2Ymb+OzAkOkiLKDINW8mj6Mm456Jw==
+ dependencies:
+ ajv "8.12.0"
+ ajv-formats "2.1.1"
+ jsonc-parser "3.2.0"
+ rxjs "7.8.0"
+ source-map "0.7.4"
+
"@angular-devkit/schematics@15.2.0-next.4":
version "15.2.0-next.4"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-15.2.0-next.4.tgz#a48510038ed7a5a3ec3bf6bdf1160edab5daab35"
@@ -282,22 +283,22 @@
"@angular/core" "^13.0.0 || ^14.0.0-0"
reflect-metadata "^0.1.13"
-"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100":
- version "0.0.0-accc3c96df0d40ff639070132acb0699a58bfcf8"
- resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100"
+"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311":
+ version "0.0.0-c12a0ca820b97029279dbc3c71c25da5de5bab26"
+ resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311"
dependencies:
- "@angular-devkit/build-angular" "15.2.0-next.3"
+ "@angular-devkit/build-angular" "16.0.0-next.1"
"@angular/benchpress" "0.3.0"
"@babel/core" "^7.16.0"
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/plugin-proposal-async-generator-functions" "^7.20.1"
"@bazel/buildifier" "6.0.1"
- "@bazel/concatjs" "5.7.3"
- "@bazel/esbuild" "5.7.3"
- "@bazel/protractor" "5.7.3"
- "@bazel/runfiles" "5.7.3"
- "@bazel/terser" "5.7.3"
- "@bazel/typescript" "5.7.3"
+ "@bazel/concatjs" "5.8.1"
+ "@bazel/esbuild" "5.8.1"
+ "@bazel/protractor" "5.8.1"
+ "@bazel/runfiles" "5.8.1"
+ "@bazel/terser" "5.8.1"
+ "@bazel/typescript" "5.8.1"
"@microsoft/api-extractor" "7.34.4"
"@types/browser-sync" "^2.26.3"
"@types/node" "16.10.9"
@@ -311,7 +312,7 @@
clang-format "1.8.0"
prettier "2.8.4"
protractor "^7.0.0"
- selenium-webdriver "4.8.0"
+ selenium-webdriver "4.8.1"
send "^0.18.0"
source-map "^0.7.4"
tmp "^0.2.1"
@@ -321,10 +322,10 @@
uuid "^9.0.0"
yargs "^17.0.0"
-"@angular/cdk@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.2.0-next.4.tgz#336e4d518c37acfea8ff9eee73e5aafff99f6c76"
- integrity sha512-FavihEg6yVGRPAlTdVzpDxjbr2yonQTF2hWE8DGeETGjYbqtwSuLNtZa6i3ALF5yjj8Z/f6/Or0M0aJcFX5VMg==
+"@angular/cdk@15.2.0-rc.0":
+ version "15.2.0-rc.0"
+ resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.2.0-rc.0.tgz#4199c2156deccfd5b4d881635cb1922ef1c1171c"
+ integrity sha512-WJ0XHeFdtl1cssj9DZTVgKBb1pthdf1tjrFPdHq/tQ2MTbL+8/WOtklGZfqdFdom/inUzroUMmgayiFY3Jk8bg==
dependencies:
tslib "^2.3.0"
optionalDependencies:
@@ -412,10 +413,10 @@
dependencies:
tslib "^2.3.0"
-"@angular/material@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.2.0-next.4.tgz#d6212e5172cd3bafbcac980cdf15791903010f17"
- integrity sha512-dmMiK7QRnYqjCX5Mqh8bl7YStiYpIuVbG4958U8IzwfVmllvhS+rHpNnTuRSfPk9VAfNTSQo2I6Y/rEr2xmBzg==
+"@angular/material@15.2.0-rc.0":
+ version "15.2.0-rc.0"
+ resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.2.0-rc.0.tgz#efe6f615de4f837ff54ebce3161238064c65106c"
+ integrity sha512-lekoWYQQrjhL0sXm0evBCOr/cD8gl3yT7xda/LZytmMcZ+5xuvLJERe0USUw2tsT+uieas667LmRUThBieS7ZA==
dependencies:
"@material/animation" "15.0.0-canary.684e33d25.0"
"@material/auto-init" "15.0.0-canary.684e33d25.0"
@@ -568,6 +569,27 @@
json5 "^2.2.2"
semver "^6.3.0"
+"@babel/core@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13"
+ integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==
+ dependencies:
+ "@ampproject/remapping" "^2.2.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.21.0"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.21.0"
+ "@babel/helpers" "^7.21.0"
+ "@babel/parser" "^7.21.0"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.2"
+ semver "^6.3.0"
+
"@babel/core@^7.12.3", "@babel/core@^7.16.0":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
@@ -598,6 +620,16 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
+"@babel/generator@7.21.1", "@babel/generator@^7.21.0", "@babel/generator@^7.21.1":
+ version "7.21.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd"
+ integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==
+ dependencies:
+ "@babel/types" "^7.21.0"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
+ jsesc "^2.5.1"
+
"@babel/generator@^7.19.3", "@babel/generator@^7.20.7":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
@@ -705,6 +737,14 @@
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
+"@babel/helper-function-name@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
+ integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/types" "^7.21.0"
+
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -754,6 +794,20 @@
"@babel/traverse" "^7.20.10"
"@babel/types" "^7.20.7"
+"@babel/helper-module-transforms@^7.21.0":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
+ integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.2"
+ "@babel/types" "^7.21.2"
+
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
@@ -801,7 +855,7 @@
dependencies:
"@babel/types" "^7.20.0"
-"@babel/helper-split-export-declaration@^7.18.6":
+"@babel/helper-split-export-declaration@7.18.6", "@babel/helper-split-export-declaration@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
@@ -851,6 +905,15 @@
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.0"
+"@babel/helpers@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e"
+ integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
+
"@babel/highlight@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
@@ -870,6 +933,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+"@babel/parser@^7.21.0", "@babel/parser@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3"
+ integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
@@ -1350,6 +1418,18 @@
babel-plugin-polyfill-regenerator "^0.4.1"
semver "^6.3.0"
+"@babel/plugin-transform-runtime@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz#2a884f29556d0a68cd3d152dcc9e6c71dfb6eee8"
+ integrity sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ babel-plugin-polyfill-corejs2 "^0.3.3"
+ babel-plugin-polyfill-corejs3 "^0.6.0"
+ babel-plugin-polyfill-regenerator "^0.4.1"
+ semver "^6.3.0"
+
"@babel/plugin-transform-shorthand-properties@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
@@ -1508,6 +1588,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
+ integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/runtime@^7.8.4":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9"
@@ -1565,6 +1652,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75"
+ integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.21.1"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.21.0"
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/parser" "^7.21.2"
+ "@babel/types" "^7.21.2"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.4.4":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842"
@@ -1583,6 +1686,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.21.0", "@babel/types@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1"
+ integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==
+ dependencies:
+ "@babel/helper-string-parser" "^7.19.4"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ to-fast-properties "^2.0.0"
+
"@bazel/bazelisk@^1.7.5":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf"
@@ -1598,19 +1710,19 @@
resolved "https://registry.yarnpkg.com/@bazel/buildozer/-/buildozer-5.1.0.tgz#03a5a8af2695a9eccb61a0310ac60972cbe26340"
integrity sha512-207j8a4872L2mJLSRnatH3m8ll0YYwlUdCd89LVy4IwTZuaa/i8QJWNZoNmfRNvq6nMbCFpyM7ci/FxA2DUUNA==
-"@bazel/concatjs@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e"
- integrity sha512-fhqIwX3DT5p9Gy1K6gzBNXHxUmcERKampdsHE2ew5dbXSCFrShwvur3sIuMnp6YVYbHZBUGnx7HtUw5Z34q8mg==
+"@bazel/concatjs@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.8.1.tgz#dd20882429e382cae79c08cbd3238dfc680d2d67"
+ integrity sha512-TkARsNUxgi3bjFeGwIGlffmQglNhuR9qK9uE7uKhdBZvQE5caAWVCjYiMTzo3viKDhwKn5QNRcHY5huuJMVFfA==
dependencies:
protobufjs "6.8.8"
source-map-support "0.5.9"
tsutils "3.21.0"
-"@bazel/esbuild@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.3.tgz#98a82b69bafd9b68dcf9aba340d67727a777bcbc"
- integrity sha512-SzOmPlvI3rzYz73tHNVl3GlvfSo+NFZzuQQeJWhUq3JMHLYjUU14A9nY0WhBKTamD4MatJg9mUJOdOnXvOVtxQ==
+"@bazel/esbuild@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.8.1.tgz#74668d33bfb29652cbe8e2852aa8dca5e0839e73"
+ integrity sha512-8k4LL8P3ivCnFeBOcjiFxL8U+M5VtEGuOyIqm2hfEiP8xDWsZLS7YQ7KhshKJy7Elh2dlK9oGgMtl0D/x9kxxg==
"@bazel/ibazel@^0.16.2":
version "0.16.2"
@@ -1625,25 +1737,25 @@
c8 "~7.5.0"
jasmine-reporters "~2.5.0"
-"@bazel/protractor@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.3.tgz#848d874a5f7d504bfeaebfdd6a7cc90a69eb7aeb"
- integrity sha512-7/qwN7fnj8AspaMBqQv9kf//+CvbpIJwQKidLq2e1djJZ5EDBfcHbCKy16s5nrecwl3q7IMJXyxj4jh4k41OTg==
+"@bazel/protractor@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.8.1.tgz#d006187e132721e607e8f49a49eb160511554be5"
+ integrity sha512-6JpP4uQLVRu3m0GrpexDjICKK8YJW/9voc8rZFQxVf3sm8yNjapUVN/b/PBAwua+nDY3uMe3W9aHgStZFOST0A==
"@bazel/runfiles@5.7.1":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.1.tgz#1929078bebafcea7a813a0ea8db8720dcf67a6dd"
integrity sha512-lMovXi/ENs+I8OWcUwAiV+0ZAv5pZJfKM70i2KdVZ5vU3Roc+pgPntH77ArEcPfFh0bJjuiSAgidr6KAMdTZiQ==
-"@bazel/runfiles@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.3.tgz#d359bb9fae52ff0fb1bea870bc74b6ded357fda2"
- integrity sha512-GKN9mdquGwZZroVJTItoNgzDxjZihQZ78C3dDlLpZVlBqm0FyXsYnKOPpEGrtbuFehO0LSMdqVhS390o/vvTSQ==
+"@bazel/runfiles@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.8.1.tgz#737d5b3dc9739767054820265cfe432a80564c82"
+ integrity sha512-NDdfpdQ6rZlylgv++iMn5FkObC/QlBQvipinGLSOguTYpRywmieOyJ29XHvUilspwTFSILWpoE9CqMGkHXug1g==
-"@bazel/terser@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.3.tgz#28411aaa8f6bb1bb5543d7f5d39ee2ce84443bd9"
- integrity sha512-tk3/iEYspWego6ICBKEttEUH/dsTpV88BhHYLCpkMIzF6JIUc7hKagek3dpjOA1UHAPOGX9gx5dsp181jPfp6Q==
+"@bazel/terser@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.8.1.tgz#729a0ec6dcc83e99c4f6d3f2bebb0ff254c10c48"
+ integrity sha512-TPjSDhw1pSZt9P2hd/22IJwl8KCZiJL+u2gB5mghBTCFDVdC5Dgsx135pFtvlqc6LjjOvd3s6dzcQr0YJo2HSg==
"@bazel/typescript@5.7.1":
version "5.7.1"
@@ -1655,12 +1767,12 @@
source-map-support "0.5.9"
tsutils "3.21.0"
-"@bazel/typescript@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.3.tgz#4378ab66837fb0aba0031b362c80c6523bc6a707"
- integrity sha512-GuDTCtEZcxOXZTJAZi0gfi/i3wm4r6Ny6I7NZLj4Xk9tX+yyRG8SBuUHN972S8/NmT5fFxnPymKfJiurXM4Txg==
+"@bazel/typescript@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.8.1.tgz#74a76af434fad7930893cf3e98b4cc201e52dc65"
+ integrity sha512-NAJ8WQHZL1WE1YmRoCrq/1hhG15Mvy/viWh6TkvFnBeEhNUiQUsA5GYyhU1ztnBIYW03nATO3vwhAEfO7Q0U5g==
dependencies:
- "@bazel/worker" "5.7.3"
+ "@bazel/worker" "5.8.1"
semver "5.6.0"
source-map-support "0.5.9"
tsutils "3.21.0"
@@ -1672,10 +1784,10 @@
dependencies:
google-protobuf "^3.6.1"
-"@bazel/worker@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.3.tgz#cfe01294a0a98b0bcf3e736d66b1ed1535cbcf4c"
- integrity sha512-P3Qo3bTw/NgxkcUNdUTb5j8jm6qIzRvKmFYMMyUyUBN0b7sAB6Qlk0QAP9Lok9+G9TbCXmmbT0dauftsH2x5fQ==
+"@bazel/worker@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.8.1.tgz#65af7a70dd2f1aaedd6c19330abd9a198f96e7b2"
+ integrity sha512-GMyZSNW3F34f9GjbJqvs1aHyed5BNrNeiDzNJhC1fIizo/UeBM21oBBONIYLBDoBtq936U85VyPZ76JaP/83hw==
dependencies:
google-protobuf "^3.6.1"
@@ -1719,10 +1831,10 @@
esquery "^1.4.0"
jsdoc-type-pratt-parser "~3.1.0"
-"@esbuild/android-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2"
- integrity sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw==
+"@esbuild/android-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz#ad2ee47dd021035abdfb0c38848ff77a1e1918c4"
+ integrity sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==
"@esbuild/android-arm64@0.17.6":
version "0.17.6"
@@ -1734,90 +1846,90 @@
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0"
integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==
-"@esbuild/android-arm@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251"
- integrity sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ==
+"@esbuild/android-arm@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.10.tgz#bb5a68af8adeb94b30eadee7307404dc5237d076"
+ integrity sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==
"@esbuild/android-arm@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26"
integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==
-"@esbuild/android-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef"
- integrity sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA==
+"@esbuild/android-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.10.tgz#751d5d8ae9ece1efa9627b689c888eb85b102360"
+ integrity sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==
"@esbuild/android-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462"
integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==
-"@esbuild/darwin-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49"
- integrity sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw==
+"@esbuild/darwin-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz#85601ee7efb2129cd3218d5bcbe8da1173bc1e8b"
+ integrity sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==
"@esbuild/darwin-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646"
integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==
-"@esbuild/darwin-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d"
- integrity sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA==
+"@esbuild/darwin-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz#362c7e988c61fe72d5edef4f717e4b4fc728da98"
+ integrity sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==
"@esbuild/darwin-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569"
integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==
-"@esbuild/freebsd-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367"
- integrity sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg==
+"@esbuild/freebsd-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz#e8a85a46ede7c3a048a12f16b9d551d25adc8bb1"
+ integrity sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==
"@esbuild/freebsd-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4"
integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==
-"@esbuild/freebsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f"
- integrity sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg==
+"@esbuild/freebsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz#cd0a1b68bffbcb5b65e65b3fd542e8c7c3edd86b"
+ integrity sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==
"@esbuild/freebsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f"
integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==
-"@esbuild/linux-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f"
- integrity sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg==
+"@esbuild/linux-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz#13b183f432512ed9d9281cc89476caeebe9e9123"
+ integrity sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==
"@esbuild/linux-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079"
integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==
-"@esbuild/linux-arm@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07"
- integrity sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw==
+"@esbuild/linux-arm@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz#dd11e0a5faa3ea94dc80278a601c3be7b4fdf1da"
+ integrity sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==
"@esbuild/linux-arm@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110"
integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==
-"@esbuild/linux-ia32@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4"
- integrity sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ==
+"@esbuild/linux-ia32@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz#4d836f87b92807d9292379963c4888270d282405"
+ integrity sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==
"@esbuild/linux-ia32@0.17.6":
version "0.17.6"
@@ -1829,120 +1941,120 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1"
integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==
-"@esbuild/linux-loong64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea"
- integrity sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g==
+"@esbuild/linux-loong64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz#92eb2ee200c17ef12c7fb3b648231948699e7a4c"
+ integrity sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==
"@esbuild/linux-loong64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad"
integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==
-"@esbuild/linux-mips64el@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4"
- integrity sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg==
+"@esbuild/linux-mips64el@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz#14f7d50c40fe7f7ee545a9bd07c6f6e4cba5570e"
+ integrity sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==
"@esbuild/linux-mips64el@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af"
integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==
-"@esbuild/linux-ppc64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c"
- integrity sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg==
+"@esbuild/linux-ppc64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz#1ab5802e93ae511ce9783e1cb95f37df0f84c4af"
+ integrity sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==
"@esbuild/linux-ppc64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19"
integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==
-"@esbuild/linux-riscv64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c"
- integrity sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ==
+"@esbuild/linux-riscv64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz#4fae25201ef7ad868731d16c8b50b0e386c4774a"
+ integrity sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==
"@esbuild/linux-riscv64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a"
integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==
-"@esbuild/linux-s390x@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735"
- integrity sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw==
+"@esbuild/linux-s390x@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz#126254d8335bb3586918b1ca60beb4abb46e6d54"
+ integrity sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==
"@esbuild/linux-s390x@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc"
integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==
-"@esbuild/linux-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050"
- integrity sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g==
+"@esbuild/linux-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz#7fa4667b2df81ea0538e1b75e607cf04e526ce91"
+ integrity sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==
"@esbuild/linux-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0"
integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==
-"@esbuild/netbsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a"
- integrity sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA==
+"@esbuild/netbsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz#2d24727ddc2305619685bf237a46d6087a02ee9a"
+ integrity sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==
"@esbuild/netbsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9"
integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==
-"@esbuild/openbsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a"
- integrity sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw==
+"@esbuild/openbsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz#bf3fc38ee6ecf028c1f0cfe11f61d53cc75fef12"
+ integrity sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==
"@esbuild/openbsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083"
integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==
-"@esbuild/sunos-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0"
- integrity sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw==
+"@esbuild/sunos-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz#8deabd6dfec6256f80bb101bc59d29dbae99c69b"
+ integrity sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==
"@esbuild/sunos-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73"
integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==
-"@esbuild/win32-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850"
- integrity sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg==
+"@esbuild/win32-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz#1ec1ee04c788c4c57a83370b6abf79587b3e4965"
+ integrity sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==
"@esbuild/win32-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21"
integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==
-"@esbuild/win32-ia32@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0"
- integrity sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ==
+"@esbuild/win32-ia32@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz#a362528d7f3ad5d44fa8710a96764677ef92ebe9"
+ integrity sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==
"@esbuild/win32-ia32@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e"
integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==
-"@esbuild/win32-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be"
- integrity sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw==
+"@esbuild/win32-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz#ac779220f2da96afd480fb3f3148a292f66e7fc3"
+ integrity sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==
"@esbuild/win32-x64@0.17.6":
version "0.17.6"
@@ -2116,7 +2228,7 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9":
+"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.17"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
@@ -2877,16 +2989,16 @@
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb"
integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==
-"@ngtools/webpack@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.3.tgz#3fc8b605d1be5ad6a66b908b89847681319ee95e"
- integrity sha512-Je7rwxLPcpmkHIvOzzdhWr9xqK6FMi1lGh5rEW49E9O9E1ESfh5OMnC3pgC8gOEzrhcnOuXgV7JZ5AjJwCgmgQ==
-
"@ngtools/webpack@15.2.0-next.4":
version "15.2.0-next.4"
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.4.tgz#354d6096329a7f33e787d218385dbb610ad42bee"
integrity sha512-Ftqqo9AHVVbDLKS5q5AzN+InimGwCZQTCPfnA5WoDOPHjEDoA0Ekg+7IaRjRWpOd7lPYr9fh62KQLXVc2vIydg==
+"@ngtools/webpack@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-16.0.0-next.1.tgz#2ec19632fcbf7a375722ddd1dfa366b96ba655d9"
+ integrity sha512-xtp8xRf7BlrobHz2bzUWuyNvbRPfiNaj4FfOzis+0FGpQLy6zNnzpiwhJezUjdcYArU8Mx8OZQznoV2YfVD+XQ==
+
"@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"
@@ -3547,14 +3659,14 @@
dependencies:
"@types/node" "*"
-"@typescript-eslint/eslint-plugin@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz#24b8b4a952f3c615fe070e3c461dd852b5056734"
- integrity sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==
+"@typescript-eslint/eslint-plugin@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz#2c821ad81b2c786d142279a8292090f77d1881f4"
+ integrity sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==
dependencies:
- "@typescript-eslint/scope-manager" "5.53.0"
- "@typescript-eslint/type-utils" "5.53.0"
- "@typescript-eslint/utils" "5.53.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/type-utils" "5.54.0"
+ "@typescript-eslint/utils" "5.54.0"
debug "^4.3.4"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
@@ -3563,14 +3675,14 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/parser@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52"
- integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==
+"@typescript-eslint/parser@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.54.0.tgz#def186eb1b1dbd0439df0dacc44fb6d8d5c417fe"
+ integrity sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.53.0"
- "@typescript-eslint/types" "5.53.0"
- "@typescript-eslint/typescript-estree" "5.53.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.43.0":
@@ -3581,13 +3693,13 @@
"@typescript-eslint/types" "5.43.0"
"@typescript-eslint/visitor-keys" "5.43.0"
-"@typescript-eslint/scope-manager@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef"
- integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==
+"@typescript-eslint/scope-manager@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz#74b28ac9a3fc8166f04e806c957adb8c1fd00536"
+ integrity sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==
dependencies:
- "@typescript-eslint/types" "5.53.0"
- "@typescript-eslint/visitor-keys" "5.53.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/visitor-keys" "5.54.0"
"@typescript-eslint/type-utils@5.43.0":
version "5.43.0"
@@ -3599,13 +3711,13 @@
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/type-utils@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz#41665449935ba9b4e6a1ba6e2a3f4b2c31d6cf97"
- integrity sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==
+"@typescript-eslint/type-utils@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz#390717216eb61393a0cad2995da154b613ba7b26"
+ integrity sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==
dependencies:
- "@typescript-eslint/typescript-estree" "5.53.0"
- "@typescript-eslint/utils" "5.53.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
+ "@typescript-eslint/utils" "5.54.0"
debug "^4.3.4"
tsutils "^3.21.0"
@@ -3614,10 +3726,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578"
integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==
-"@typescript-eslint/types@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f"
- integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==
+"@typescript-eslint/types@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.0.tgz#7d519df01f50739254d89378e0dcac504cab2740"
+ integrity sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==
"@typescript-eslint/typescript-estree@5.43.0":
version "5.43.0"
@@ -3632,13 +3744,13 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690"
- integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==
+"@typescript-eslint/typescript-estree@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz#f6f3440cabee8a43a0b25fa498213ebb61fdfe99"
+ integrity sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==
dependencies:
- "@typescript-eslint/types" "5.53.0"
- "@typescript-eslint/visitor-keys" "5.53.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/visitor-keys" "5.54.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
@@ -3659,16 +3771,16 @@
eslint-utils "^3.0.0"
semver "^7.3.7"
-"@typescript-eslint/utils@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.53.0.tgz#e55eaad9d6fffa120575ffaa530c7e802f13bce8"
- integrity sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==
+"@typescript-eslint/utils@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.54.0.tgz#3db758aae078be7b54b8ea8ea4537ff6cd3fbc21"
+ integrity sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.53.0"
- "@typescript-eslint/types" "5.53.0"
- "@typescript-eslint/typescript-estree" "5.53.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
@@ -3681,12 +3793,12 @@
"@typescript-eslint/types" "5.43.0"
eslint-visitor-keys "^3.3.0"
-"@typescript-eslint/visitor-keys@5.53.0":
- version "5.53.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f"
- integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==
+"@typescript-eslint/visitor-keys@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz#846878afbf0cd67c19cfa8d75947383d4490db8f"
+ integrity sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==
dependencies:
- "@typescript-eslint/types" "5.53.0"
+ "@typescript-eslint/types" "5.54.0"
eslint-visitor-keys "^3.3.0"
"@webassemblyjs/ast@1.11.1":
@@ -6210,7 +6322,7 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-entities@^4.0.0, entities@^4.4.0:
+entities@^4.0.0, entities@^4.3.0, entities@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
@@ -6416,10 +6528,10 @@ esbuild-sunos-64@0.15.15:
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c"
integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==
-esbuild-wasm@0.17.5:
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819"
- integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g==
+esbuild-wasm@0.17.10:
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.10.tgz#a39d9828783a458edfdad83fe9a7227c05864518"
+ integrity sha512-iDPIYZXoY6RWXIt3BpnENIdgKvkfYv8YdvrdjK3n8c1reGq3d38h8ETWvrpy1+0r5gR74vEb73TMonh5FbVZxw==
esbuild-wasm@0.17.6:
version "0.17.6"
@@ -6441,33 +6553,33 @@ esbuild-windows-arm64@0.15.15:
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31"
integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==
-esbuild@0.17.5:
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930"
- integrity sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ==
+esbuild@0.17.10:
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.10.tgz#3be050561b34c5dc05b46978f4e1f326d5cc9437"
+ integrity sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==
optionalDependencies:
- "@esbuild/android-arm" "0.17.5"
- "@esbuild/android-arm64" "0.17.5"
- "@esbuild/android-x64" "0.17.5"
- "@esbuild/darwin-arm64" "0.17.5"
- "@esbuild/darwin-x64" "0.17.5"
- "@esbuild/freebsd-arm64" "0.17.5"
- "@esbuild/freebsd-x64" "0.17.5"
- "@esbuild/linux-arm" "0.17.5"
- "@esbuild/linux-arm64" "0.17.5"
- "@esbuild/linux-ia32" "0.17.5"
- "@esbuild/linux-loong64" "0.17.5"
- "@esbuild/linux-mips64el" "0.17.5"
- "@esbuild/linux-ppc64" "0.17.5"
- "@esbuild/linux-riscv64" "0.17.5"
- "@esbuild/linux-s390x" "0.17.5"
- "@esbuild/linux-x64" "0.17.5"
- "@esbuild/netbsd-x64" "0.17.5"
- "@esbuild/openbsd-x64" "0.17.5"
- "@esbuild/sunos-x64" "0.17.5"
- "@esbuild/win32-arm64" "0.17.5"
- "@esbuild/win32-ia32" "0.17.5"
- "@esbuild/win32-x64" "0.17.5"
+ "@esbuild/android-arm" "0.17.10"
+ "@esbuild/android-arm64" "0.17.10"
+ "@esbuild/android-x64" "0.17.10"
+ "@esbuild/darwin-arm64" "0.17.10"
+ "@esbuild/darwin-x64" "0.17.10"
+ "@esbuild/freebsd-arm64" "0.17.10"
+ "@esbuild/freebsd-x64" "0.17.10"
+ "@esbuild/linux-arm" "0.17.10"
+ "@esbuild/linux-arm64" "0.17.10"
+ "@esbuild/linux-ia32" "0.17.10"
+ "@esbuild/linux-loong64" "0.17.10"
+ "@esbuild/linux-mips64el" "0.17.10"
+ "@esbuild/linux-ppc64" "0.17.10"
+ "@esbuild/linux-riscv64" "0.17.10"
+ "@esbuild/linux-s390x" "0.17.10"
+ "@esbuild/linux-x64" "0.17.10"
+ "@esbuild/netbsd-x64" "0.17.10"
+ "@esbuild/openbsd-x64" "0.17.10"
+ "@esbuild/sunos-x64" "0.17.10"
+ "@esbuild/win32-arm64" "0.17.10"
+ "@esbuild/win32-ia32" "0.17.10"
+ "@esbuild/win32-x64" "0.17.10"
esbuild@0.17.6:
version "0.17.6"
@@ -9832,6 +9944,13 @@ magic-string@0.27.0, magic-string@^0.27.0:
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.13"
+magic-string@0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529"
+ integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.13"
+
make-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -10635,19 +10754,19 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
-open@8.4.0, open@^8.0.9, open@^8.4.0:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
- integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+open@8.4.1:
+ version "8.4.1"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff"
+ integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==
dependencies:
define-lazy-prop "^2.0.0"
is-docker "^2.1.1"
is-wsl "^2.2.0"
-open@8.4.1:
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff"
- integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==
+open@8.4.2:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9"
+ integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
dependencies:
define-lazy-prop "^2.0.0"
is-docker "^2.1.1"
@@ -10660,6 +10779,15 @@ open@^6.3.0:
dependencies:
is-wsl "^1.1.0"
+open@^8.0.9, open@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
+ integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
+
openapi3-ts@^3.1.1:
version "3.1.2"
resolved "https://registry.yarnpkg.com/openapi3-ts/-/openapi3-ts-3.1.2.tgz#3c8167a5c009d0138fb57205a47013a2c260684f"
@@ -10910,6 +11038,15 @@ parse5-html-rewriting-stream@6.0.1:
parse5 "^6.0.1"
parse5-sax-parser "^6.0.1"
+parse5-html-rewriting-stream@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz#e376d3e762d2950ccbb6bb59823fc1d7e9fdac36"
+ integrity sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==
+ dependencies:
+ entities "^4.3.0"
+ parse5 "^7.0.0"
+ parse5-sax-parser "^7.0.0"
+
parse5-htmlparser2-tree-adapter@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
@@ -10924,6 +11061,13 @@ parse5-sax-parser@^6.0.1:
dependencies:
parse5 "^6.0.1"
+parse5-sax-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#4c05064254f0488676aca75fb39ca069ec96dee5"
+ integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==
+ dependencies:
+ parse5 "^7.0.0"
+
parse5@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
@@ -10934,7 +11078,7 @@ parse5@^6.0.1:
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
-parse5@^7.1.1, parse5@^7.1.2:
+parse5@^7.0.0, parse5@^7.1.1, parse5@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
@@ -11990,6 +12134,13 @@ rxjs@6.6.7:
dependencies:
tslib "^1.9.0"
+rxjs@7.8.0, rxjs@~7.8.0:
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
+ dependencies:
+ tslib "^2.1.0"
+
rxjs@^5.5.6:
version "5.5.12"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc"
@@ -12004,13 +12155,6 @@ rxjs@^7.5.5:
dependencies:
tslib "^2.1.0"
-rxjs@~7.8.0:
- version "7.8.0"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
- integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
- dependencies:
- tslib "^2.1.0"
-
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -12084,19 +12228,19 @@ sass-loader@13.2.0:
klona "^2.0.4"
neo-async "^2.6.2"
-sass@1.57.1:
- version "1.57.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5"
- integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==
+sass@1.58.0:
+ version "1.58.0"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc"
+ integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
-sass@1.58.0:
- version "1.58.0"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc"
- integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==
+sass@1.58.3:
+ version "1.58.3"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d"
+ integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
@@ -12164,10 +12308,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1:
tmp "0.0.30"
xml2js "^0.4.17"
-selenium-webdriver@4.8.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.0.tgz#386d57f23fe8edf5178f5bd06aae9ffaffbcb692"
- integrity sha512-s/HL8WNwy1ggHR244+tAhjhyKMJnZLt1HKJ6Gn7nQgVjB/ybDF+46Uui0qI2J7AjPNJzlUmTncdC/jg/kKkn0A==
+selenium-webdriver@4.8.1:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz#4b0a546c4ea747c44e9688c108f7a46b8d8244ab"
+ integrity sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==
dependencies:
jszip "^3.10.0"
tmp "^0.2.1"
@@ -13034,20 +13178,20 @@ terser-webpack-plugin@^5.1.3:
serialize-javascript "^6.0.0"
terser "^5.14.1"
-terser@5.16.2:
- version "5.16.2"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2"
- integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==
+terser@5.16.3:
+ version "5.16.3"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
+ integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"
commander "^2.20.0"
source-map-support "~0.5.20"
-terser@5.16.3:
- version "5.16.3"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
- integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
+terser@5.16.4:
+ version "5.16.4"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.4.tgz#51284b440b93242291a98f2a9903c024cfb70e6e"
+ integrity sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"
diff --git a/devtools/projects/shell-browser/src/manifest/manifest.chrome.json b/devtools/projects/shell-browser/src/manifest/manifest.chrome.json
index 44f8a1c695c7..1dc05c652cf3 100644
--- a/devtools/projects/shell-browser/src/manifest/manifest.chrome.json
+++ b/devtools/projects/shell-browser/src/manifest/manifest.chrome.json
@@ -3,8 +3,8 @@
"short_name": "Angular DevTools",
"name": "Angular DevTools",
"description": "Angular DevTools extends Chrome DevTools adding Angular specific debugging and profiling capabilities.",
- "version": "1.0.6",
- "version_name": "1.0.6",
+ "version": "1.0.7",
+ "version_name": "1.0.7",
"minimum_chrome_version": "102",
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self'"
diff --git a/devtools/projects/shell-browser/src/manifest/manifest.firefox.json b/devtools/projects/shell-browser/src/manifest/manifest.firefox.json
index 63d2fc7bdd43..f619f4dd6bef 100644
--- a/devtools/projects/shell-browser/src/manifest/manifest.firefox.json
+++ b/devtools/projects/shell-browser/src/manifest/manifest.firefox.json
@@ -3,7 +3,7 @@
"short_name": "Angular DevTools",
"name": "Angular DevTools",
"description": "Angular DevTools extends Firefox DevTools adding Angular specific debugging and profiling capabilities.",
- "version": "1.0.6",
+ "version": "1.0.7",
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"icons": {
"16": "assets/icon16.png",
diff --git a/goldens/public-api/platform-browser/index.md b/goldens/public-api/platform-browser/index.md
index 7bf9913c1667..44a2a4bfe2cb 100644
--- a/goldens/public-api/platform-browser/index.md
+++ b/goldens/public-api/platform-browser/index.md
@@ -229,6 +229,7 @@ export class Title {
// @public
export class TransferState {
+ constructor();
get(key: StateKey, defaultValue: T): T;
hasKey(key: StateKey): boolean;
get isEmpty(): boolean;
diff --git a/goldens/size-tracking/integration-payloads.json b/goldens/size-tracking/integration-payloads.json
index 53272274c445..a9e5290d01d9 100644
--- a/goldens/size-tracking/integration-payloads.json
+++ b/goldens/size-tracking/integration-payloads.json
@@ -26,16 +26,16 @@
"cli-hello-world-lazy": {
"uncompressed": {
"runtime": 2734,
- "main": 229111,
- "polyfills": 33842,
+ "main": 228487,
+ "polyfills": 33810,
"src_app_lazy_lazy_routes_ts": 487
}
},
"forms": {
"uncompressed": {
"runtime": 888,
- "main": 158624,
- "polyfills": 33915
+ "main": 158000,
+ "polyfills": 33772
}
},
"animations": {
diff --git a/package.json b/package.json
index a55755584d4a..7bc1dfe5c9a5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-srcs",
- "version": "15.2.0",
+ "version": "15.2.1",
"private": true,
"description": "Angular - a web framework for modern web apps",
"homepage": "https://github.com/angular/angular",
@@ -49,12 +49,12 @@
"@angular-devkit/core": "15.2.0-next.4",
"@angular-devkit/schematics": "15.2.0-next.4",
"@angular/animations-12": "npm:@angular/animations@12.2.13",
- "@angular/cdk": "15.2.0-next.4",
+ "@angular/cdk": "15.2.0-rc.0",
"@angular/cli": "15.2.0-next.4",
"@angular/common-12": "npm:@angular/common@12.2.13",
"@angular/core-12": "npm:@angular/core@12.2.13",
"@angular/forms-12": "npm:@angular/forms@12.2.13",
- "@angular/material": "15.2.0-next.4",
+ "@angular/material": "15.2.0-rc.0",
"@angular/platform-browser-12": "npm:@angular/platform-browser@12.2.13",
"@angular/platform-browser-dynamic-12": "npm:@angular/platform-browser-dynamic@12.2.13",
"@angular/platform-server-12": "npm:@angular/platform-server@12.2.13",
@@ -142,7 +142,6 @@
"karma-requirejs": "^1.1.0",
"karma-sourcemap-loader": "^0.3.7",
"magic-string": "0.27.0",
- "materialize-css": "1.0.0",
"memo-decorator": "^2.0.1",
"ngx-flamegraph": "0.0.11",
"nodejs-websocket": "^1.7.2",
@@ -158,7 +157,6 @@
"shelljs": "^0.8.5",
"source-map": "0.7.4",
"source-map-support": "0.5.21",
- "start-server-and-test": "^1.10.11",
"systemjs": "0.18.10",
"terser": "^5.8.0",
"tmp": "0.2.1",
@@ -174,8 +172,8 @@
},
"// 2": "devDependencies are not used under Bazel. Many can be removed after test.sh is deleted.",
"devDependencies": {
- "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100",
- "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#045097fc5c47d0241b157d3b904df316c737d654",
+ "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311",
+ "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#99a6d6b96288d3c51b3a99164c16704788b7cb22",
"@bazel/bazelisk": "^1.7.5",
"@bazel/buildifier": "^5.0.0",
"@bazel/ibazel": "^0.16.0",
diff --git a/packages/common/src/location/location.ts b/packages/common/src/location/location.ts
index 475d04bc402a..9532a34d4b91 100644
--- a/packages/common/src/location/location.ts
+++ b/packages/common/src/location/location.ts
@@ -301,9 +301,14 @@ export function createLocation() {
}
function _stripBasePath(basePath: string, url: string): string {
- return basePath && new RegExp(`^${basePath}([/;?#]|$)`).test(url) ?
- url.substring(basePath.length) :
- url;
+ if (!basePath || !url.startsWith(basePath)) {
+ return url;
+ }
+ const strippedUrl = url.substring(basePath.length);
+ if (strippedUrl === '' || ['/', ';', '?', '#'].includes(strippedUrl[0])) {
+ return strippedUrl;
+ }
+ return url;
}
function _stripIndexHtml(url: string): string {
diff --git a/packages/common/test/location/location_spec.ts b/packages/common/test/location/location_spec.ts
index 9df67c5ab741..36d85aa324aa 100644
--- a/packages/common/test/location/location_spec.ts
+++ b/packages/common/test/location/location_spec.ts
@@ -286,5 +286,18 @@ describe('Location Class', () => {
expect(location.normalize(baseHref + matrixParams)).toBe(matrixParams);
expect(location.normalize(baseHref + fragment)).toBe(fragment);
});
+
+ it('in case APP_BASE_HREF contains characters that have special meaning in a regex', () => {
+ const baseHref = 'c:/users/name(test)/en';
+ const path = '/test-path';
+
+ TestBed.configureTestingModule({providers: [{provide: APP_BASE_HREF, useValue: baseHref}]});
+
+ const location = TestBed.inject(Location);
+
+ expect(location.normalize(path)).toBe(path);
+ expect(location.normalize(baseHref)).toBe('');
+ expect(location.normalize(baseHref + path)).toBe(path);
+ });
});
});
diff --git a/packages/common/upgrade/src/location_shim.ts b/packages/common/upgrade/src/location_shim.ts
index 2c3212e3532b..e959fc118cb5 100644
--- a/packages/common/upgrade/src/location_shim.ts
+++ b/packages/common/upgrade/src/location_shim.ts
@@ -7,11 +7,12 @@
*/
import {Location, LocationStrategy, PlatformLocation} from '@angular/common';
+import {ɵisPromise as isPromise} from '@angular/core';
import {UpgradeModule} from '@angular/upgrade/static';
import {ReplaySubject} from 'rxjs';
import {UrlCodec} from './params';
-import {deepEqual, isAnchor, isPromise} from './utils';
+import {deepEqual, isAnchor} from './utils';
const PATH_MATCH = /^([^?#]*)(\?([^#]*))?(#(.*))?$/;
const DOUBLE_SLASH_REGEX = /^\s*[\\/]{2,}/;
diff --git a/packages/common/upgrade/src/utils.ts b/packages/common/upgrade/src/utils.ts
index f4736836c889..f1689c3a3c21 100644
--- a/packages/common/upgrade/src/utils.ts
+++ b/packages/common/upgrade/src/utils.ts
@@ -30,9 +30,3 @@ export function deepEqual(a: any, b: any): boolean {
export function isAnchor(el: (Node&ParentNode)|Element|null): el is HTMLAnchorElement {
return (el).href !== undefined;
}
-
-export function isPromise(obj: any): obj is Promise {
- // allow any Promise/A+ compliant thenable.
- // It's up to the caller to ensure that obj.then conforms to the spec
- return !!obj && typeof obj.then === 'function';
-}
diff --git a/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts b/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts
index bd41257a64be..681e434f5aff 100644
--- a/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts
+++ b/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts
@@ -318,8 +318,8 @@ export class ComponentDecoratorHandler implements
template = preanalyzed;
} else {
const templateDecl = parseTemplateDeclaration(
- decorator, component, containingFile, this.evaluator, this.resourceLoader,
- this.defaultPreserveWhitespaces);
+ node, decorator, component, containingFile, this.evaluator, this.depTracker,
+ this.resourceLoader, this.defaultPreserveWhitespaces);
template = extractTemplate(
node, templateDecl, this.evaluator, this.depTracker, this.resourceLoader, {
enableI18nLegacyMessageIdFormat: this.enableI18nLegacyMessageIdFormat,
@@ -353,6 +353,13 @@ export class ComponentDecoratorHandler implements
this.depTracker.addResourceDependency(node.getSourceFile(), absoluteFrom(resourceUrl));
}
} catch {
+ if (this.depTracker !== null) {
+ // The analysis of this file cannot be re-used if one of the style URLs could
+ // not be resolved or loaded. Future builds should re-analyze and re-attempt
+ // resolution/loading.
+ this.depTracker.recordDependencyAnalysisFailure(node.getSourceFile());
+ }
+
if (diagnostics === undefined) {
diagnostics = [];
}
diff --git a/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.ts b/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.ts
index 3ebbbc872ebd..1d157e964947 100644
--- a/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.ts
+++ b/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.ts
@@ -262,9 +262,9 @@ function parseExtractedTemplate(
}
export function parseTemplateDeclaration(
- decorator: Decorator, component: Map, containingFile: string,
- evaluator: PartialEvaluator, resourceLoader: ResourceLoader,
- defaultPreserveWhitespaces: boolean): TemplateDeclaration {
+ node: ClassDeclaration, decorator: Decorator, component: Map,
+ containingFile: string, evaluator: PartialEvaluator, depTracker: DependencyTracker|null,
+ resourceLoader: ResourceLoader, defaultPreserveWhitespaces: boolean): TemplateDeclaration {
let preserveWhitespaces: boolean = defaultPreserveWhitespaces;
if (component.has('preserveWhitespaces')) {
const expr = component.get('preserveWhitespaces')!;
@@ -305,6 +305,12 @@ export function parseTemplateDeclaration(
resolvedTemplateUrl: resourceUrl,
};
} catch (e) {
+ if (depTracker !== null) {
+ // The analysis of this file cannot be re-used if the template URL could
+ // not be resolved. Future builds should re-analyze and re-attempt resolution.
+ depTracker.recordDependencyAnalysisFailure(node.getSourceFile());
+ }
+
throw makeResourceNotFoundError(
templateUrl, templateUrlExpr, ResourceTypeForDiagnostics.Template);
}
@@ -348,7 +354,7 @@ export function preloadAndParseTemplate(
if (templatePromise !== undefined) {
return templatePromise.then(() => {
const templateDecl = parseTemplateDeclaration(
- decorator, component, containingFile, evaluator, resourceLoader,
+ node, decorator, component, containingFile, evaluator, depTracker, resourceLoader,
defaultPreserveWhitespaces);
const template =
extractTemplate(node, templateDecl, evaluator, depTracker, resourceLoader, options);
@@ -359,12 +365,18 @@ export function preloadAndParseTemplate(
return Promise.resolve(null);
}
} catch (e) {
+ if (depTracker !== null) {
+ // The analysis of this file cannot be re-used if the template URL could
+ // not be resolved. Future builds should re-analyze and re-attempt resolution.
+ depTracker.recordDependencyAnalysisFailure(node.getSourceFile());
+ }
+
throw makeResourceNotFoundError(
templateUrl, templateUrlExpr, ResourceTypeForDiagnostics.Template);
}
} else {
const templateDecl = parseTemplateDeclaration(
- decorator, component, containingFile, evaluator, resourceLoader,
+ node, decorator, component, containingFile, evaluator, depTracker, resourceLoader,
defaultPreserveWhitespaces);
const template =
extractTemplate(node, templateDecl, evaluator, depTracker, resourceLoader, options);
diff --git a/packages/compiler-cli/test/ngtsc/incremental_spec.ts b/packages/compiler-cli/test/ngtsc/incremental_spec.ts
index 4681119d85a5..154cdce157b1 100644
--- a/packages/compiler-cli/test/ngtsc/incremental_spec.ts
+++ b/packages/compiler-cli/test/ngtsc/incremental_spec.ts
@@ -6,6 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
+import {ErrorCode, ngErrorCode} from '../../src/ngtsc/diagnostics';
import {runInEachFileSystem} from '../../src/ngtsc/file_system/testing';
import {loadStandardTestFiles} from '../../src/ngtsc/testing';
@@ -945,6 +946,50 @@ runInEachFileSystem(() => {
});
});
});
+
+ describe('missing resource files', () => {
+ it('should re-analyze a component if a template file becomes available later', () => {
+ env.write('app.ts', `
+ import {Component} from '@angular/core';
+
+ @Component({
+ selector: 'app',
+ templateUrl: './some-template.html',
+ })
+ export class AppComponent {}
+ `);
+
+ const firstDiagnostics = env.driveDiagnostics();
+ expect(firstDiagnostics.length).toBe(1);
+ expect(firstDiagnostics[0].code).toBe(ngErrorCode(ErrorCode.COMPONENT_RESOURCE_NOT_FOUND));
+
+ env.write('some-template.html', `
+ Test
+ `);
+
+ env.driveMain();
+ });
+
+ it('should re-analyze if component style file becomes available later', () => {
+ env.write('app.ts', `
+ import {Component} from '@angular/core';
+
+ @Component({
+ selector: 'app',
+ template: 'Works',
+ styleUrls: ['./some-style.css'],
+ })
+ export class AppComponent {}
+ `);
+
+ const firstDiagnostics = env.driveDiagnostics();
+ expect(firstDiagnostics.length).toBe(1);
+ expect(firstDiagnostics[0].code).toBe(ngErrorCode(ErrorCode.COMPONENT_RESOURCE_NOT_FOUND));
+
+ env.write('some-style.css', `body {}`);
+ env.driveMain();
+ });
+ });
});
function setupFooBarProgram(env: NgtscTestEnvironment) {
diff --git a/packages/core/package.json b/packages/core/package.json
index dbf79549f045..530282d0ee95 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -17,7 +17,7 @@
},
"peerDependencies": {
"rxjs": "^6.5.3 || ^7.4.0",
- "zone.js": "~0.11.4 || ~0.12.0"
+ "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0"
},
"repository": {
"type": "git",
diff --git a/packages/core/schematics/ng-generate/standalone-migration/prune-modules.ts b/packages/core/schematics/ng-generate/standalone-migration/prune-modules.ts
index aa5196422443..39447886404d 100644
--- a/packages/core/schematics/ng-generate/standalone-migration/prune-modules.ts
+++ b/packages/core/schematics/ng-generate/standalone-migration/prune-modules.ts
@@ -19,7 +19,6 @@ interface RemovalLocations {
arrays: UniqueItemTracker;
imports: UniqueItemTracker;
exports: UniqueItemTracker;
- classes: Set;
unknown: Set;
}
@@ -29,21 +28,33 @@ export function pruneNgModules(
referenceLookupExcludedFiles?: RegExp) {
const filesToRemove = new Set();
const tracker = new ChangeTracker(printer, importRemapper);
- const typeChecker = program.getTsProgram().getTypeChecker();
+ const tsProgram = program.getTsProgram();
+ const typeChecker = tsProgram.getTypeChecker();
const referenceResolver =
new ReferenceResolver(program, host, rootFileNames, basePath, referenceLookupExcludedFiles);
const removalLocations: RemovalLocations = {
arrays: new UniqueItemTracker(),
imports: new UniqueItemTracker(),
exports: new UniqueItemTracker(),
- classes: new Set(),
unknown: new Set()
};
+ const classesToRemove = new Set();
+ const barrelExports = new UniqueItemTracker();
+ const nodesToRemove = new Set();
sourceFiles.forEach(function walk(node: ts.Node) {
if (ts.isClassDeclaration(node) && canRemoveClass(node, typeChecker)) {
collectRemovalLocations(node, removalLocations, referenceResolver, program);
- removalLocations.classes.add(node);
+ classesToRemove.add(node);
+ } else if (
+ ts.isExportDeclaration(node) && !node.exportClause && node.moduleSpecifier &&
+ ts.isStringLiteralLike(node.moduleSpecifier) && node.moduleSpecifier.text.startsWith('.')) {
+ const exportedSourceFile =
+ typeChecker.getSymbolAtLocation(node.moduleSpecifier)?.valueDeclaration?.getSourceFile();
+
+ if (exportedSourceFile) {
+ barrelExports.track(exportedSourceFile, node);
+ }
}
node.forEachChild(walk);
});
@@ -55,10 +66,27 @@ export function pruneNgModules(
removeExportReferences(removalLocations.exports, tracker);
addRemovalTodos(removalLocations.unknown, tracker);
- for (const node of removalLocations.classes) {
+ // Collect all the nodes to be removed before determining which files to delete since we need
+ // to know it ahead of time when deleting barrel files that export other barrel files.
+ (function trackNodesToRemove(nodes: Set) {
+ for (const node of nodes) {
+ const sourceFile = node.getSourceFile();
+
+ if (!filesToRemove.has(sourceFile) && canRemoveFile(sourceFile, nodes)) {
+ const barrelExportsForFile = barrelExports.get(sourceFile);
+ nodesToRemove.add(node);
+ filesToRemove.add(sourceFile);
+ barrelExportsForFile && trackNodesToRemove(barrelExportsForFile);
+ } else {
+ nodesToRemove.add(node);
+ }
+ }
+ })(classesToRemove);
+
+ for (const node of nodesToRemove) {
const sourceFile = node.getSourceFile();
- if (!filesToRemove.has(sourceFile) && canRemoveFile(sourceFile, removalLocations.classes)) {
+ if (!filesToRemove.has(sourceFile) && canRemoveFile(sourceFile, nodesToRemove)) {
filesToRemove.add(sourceFile);
} else {
tracker.removeNode(node);
@@ -276,17 +304,17 @@ function isNonEmptyNgModuleProperty(node: ts.Node): node is ts.PropertyAssignmen
* Determines if a file is safe to delete. A file is safe to delete if all it contains are
* import statements, class declarations that are about to be deleted and non-exported code.
* @param sourceFile File that is being checked.
- * @param classesToBeRemoved Classes that are being removed as a part of the migration.
+ * @param nodesToBeRemoved Nodes that are being removed as a part of the migration.
*/
-function canRemoveFile(sourceFile: ts.SourceFile, classesToBeRemoved: Set) {
+function canRemoveFile(sourceFile: ts.SourceFile, nodesToBeRemoved: Set) {
for (const node of sourceFile.statements) {
- if (ts.isImportDeclaration(node) ||
- (ts.isClassDeclaration(node) && classesToBeRemoved.has(node))) {
+ if (ts.isImportDeclaration(node) || nodesToBeRemoved.has(node)) {
continue;
}
- if (ts.canHaveModifiers(node) &&
- ts.getModifiers(node)?.some(m => m.kind === ts.SyntaxKind.ExportKeyword)) {
+ if (ts.isExportDeclaration(node) ||
+ (ts.canHaveModifiers(node) &&
+ ts.getModifiers(node)?.some(m => m.kind === ts.SyntaxKind.ExportKeyword))) {
return false;
}
}
diff --git a/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.ts b/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.ts
index d629903c8d55..7b250ddd7d2c 100644
--- a/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.ts
+++ b/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.ts
@@ -29,7 +29,7 @@ interface BootstrapCallAnalysis {
/** Component that the module is bootstrapping. */
component: NamedClassDeclaration;
/** Classes declared by the bootstrapped module. */
- declarations: Reference[];
+ declarations: ts.ClassDeclaration[];
}
export function toStandaloneBootstrap(
@@ -42,8 +42,8 @@ export function toStandaloneBootstrap(
const referenceResolver =
new ReferenceResolver(program, host, rootFileNames, basePath, referenceLookupExcludedFiles);
const bootstrapCalls: BootstrapCallAnalysis[] = [];
- const testObjects: ts.ObjectLiteralExpression[] = [];
- const allDeclarations: Reference[] = [];
+ const testObjects = new Set();
+ const allDeclarations = new Set();
for (const sourceFile of sourceFiles) {
sourceFile.forEachChild(function walk(node) {
@@ -59,11 +59,11 @@ export function toStandaloneBootstrap(
node.forEachChild(walk);
});
- testObjects.push(...findTestObjectsToMigrate(sourceFile, typeChecker));
+ findTestObjectsToMigrate(sourceFile, typeChecker).forEach(obj => testObjects.add(obj));
}
for (const call of bootstrapCalls) {
- allDeclarations.push(...call.declarations);
+ call.declarations.forEach(decl => allDeclarations.add(decl));
migrateBootstrapCall(call, tracker, referenceResolver, typeChecker, printer);
}
diff --git a/packages/core/schematics/ng-generate/standalone-migration/to-standalone.ts b/packages/core/schematics/ng-generate/standalone-migration/to-standalone.ts
index 64022d9698fb..b9add0068495 100644
--- a/packages/core/schematics/ng-generate/standalone-migration/to-standalone.ts
+++ b/packages/core/schematics/ng-generate/standalone-migration/to-standalone.ts
@@ -22,7 +22,7 @@ import {ChangesByFile, ChangeTracker, findClassDeclaration, findLiteralProperty,
* are going to be added to the imports of a component.
*/
export type ComponentImportsRemapper =
- (imports: PotentialImport[], component: Reference) => PotentialImport[];
+ (imports: PotentialImport[], component: ts.ClassDeclaration) => PotentialImport[];
/**
* Converts all declarations in the specified files to standalone.
@@ -39,9 +39,9 @@ export function toStandalone(
componentImportRemapper?: ComponentImportsRemapper): ChangesByFile {
const templateTypeChecker = program.compiler.getTemplateTypeChecker();
const typeChecker = program.getTsProgram().getTypeChecker();
- const modulesToMigrate: ts.ClassDeclaration[] = [];
- const testObjectsToMigrate: ts.ObjectLiteralExpression[] = [];
- const declarations: Reference[] = [];
+ const modulesToMigrate = new Set();
+ const testObjectsToMigrate = new Set();
+ const declarations = new Set();
const tracker = new ChangeTracker(printer, fileImportRemapper);
for (const sourceFile of sourceFiles) {
@@ -54,12 +54,12 @@ export function toStandalone(
allModuleDeclarations, module, templateTypeChecker, typeChecker);
if (unbootstrappedDeclarations.length > 0) {
- modulesToMigrate.push(module);
- declarations.push(...unbootstrappedDeclarations);
+ modulesToMigrate.add(module);
+ unbootstrappedDeclarations.forEach(decl => declarations.add(decl));
}
}
- testObjectsToMigrate.push(...testObjects);
+ testObjects.forEach(obj => testObjectsToMigrate.add(obj));
}
for (const declaration of declarations) {
@@ -78,24 +78,23 @@ export function toStandalone(
/**
* Converts a single declaration defined through an NgModule to standalone.
- * @param ref References to the declaration being converted.
+ * @param decl Declaration being converted.
* @param tracker Tracker used to track the file changes.
* @param allDeclarations All the declarations that are being converted as a part of this migration.
* @param typeChecker
* @param importRemapper
*/
export function convertNgModuleDeclarationToStandalone(
- ref: Reference, allDeclarations: Reference[],
- tracker: ChangeTracker, typeChecker: TemplateTypeChecker,
- importRemapper?: ComponentImportsRemapper): void {
- const directiveMeta = typeChecker.getDirectiveMetadata(ref.node);
+ decl: ts.ClassDeclaration, allDeclarations: Set, tracker: ChangeTracker,
+ typeChecker: TemplateTypeChecker, importRemapper?: ComponentImportsRemapper): void {
+ const directiveMeta = typeChecker.getDirectiveMetadata(decl);
if (directiveMeta && directiveMeta.decorator && !directiveMeta.isStandalone) {
let decorator = addStandaloneToDecorator(directiveMeta.decorator);
if (directiveMeta.isComponent) {
- const importsToAdd =
- getComponentImportExpressions(ref, allDeclarations, tracker, typeChecker, importRemapper);
+ const importsToAdd = getComponentImportExpressions(
+ decl, allDeclarations, tracker, typeChecker, importRemapper);
if (importsToAdd.length > 0) {
decorator = addPropertyToAngularDecorator(
@@ -107,7 +106,7 @@ export function convertNgModuleDeclarationToStandalone(
tracker.replaceNode(directiveMeta.decorator, decorator);
} else {
- const pipeMeta = typeChecker.getPipeMetadata(ref.node);
+ const pipeMeta = typeChecker.getPipeMetadata(decl);
if (pipeMeta && pipeMeta.decorator && !pipeMeta.isStandalone) {
tracker.replaceNode(pipeMeta.decorator, addStandaloneToDecorator(pipeMeta.decorator));
@@ -118,26 +117,25 @@ export function convertNgModuleDeclarationToStandalone(
/**
* Gets the expressions that should be added to a component's
* `imports` array based on its template dependencies.
- * @param ref Reference to the component class.
+ * @param decl Component class declaration.
* @param allDeclarations All the declarations that are being converted as a part of this migration.
* @param tracker
* @param typeChecker
* @param importRemapper
*/
function getComponentImportExpressions(
- ref: Reference, allDeclarations: Reference[],
- tracker: ChangeTracker, typeChecker: TemplateTypeChecker,
- importRemapper?: ComponentImportsRemapper): ts.Expression[] {
- const templateDependencies = findTemplateDependencies(ref, typeChecker);
- const usedDependenciesInMigration = new Set(templateDependencies.filter(
- dep => allDeclarations.find(current => current.node === dep.node)));
+ decl: ts.ClassDeclaration, allDeclarations: Set, tracker: ChangeTracker,
+ typeChecker: TemplateTypeChecker, importRemapper?: ComponentImportsRemapper): ts.Expression[] {
+ const templateDependencies = findTemplateDependencies(decl, typeChecker);
+ const usedDependenciesInMigration =
+ new Set(templateDependencies.filter(dep => allDeclarations.has(dep.node)));
const imports: ts.Expression[] = [];
const seenImports = new Set();
const resolvedDependencies: PotentialImport[] = [];
for (const dep of templateDependencies) {
const importLocation = findImportLocation(
- dep as Reference, ref,
+ dep as Reference, decl,
usedDependenciesInMigration.has(dep) ? PotentialImportMode.ForceDirect :
PotentialImportMode.Normal,
typeChecker);
@@ -149,19 +147,19 @@ function getComponentImportExpressions(
}
const processedDependencies =
- importRemapper ? importRemapper(resolvedDependencies, ref) : resolvedDependencies;
+ importRemapper ? importRemapper(resolvedDependencies, decl) : resolvedDependencies;
for (const importLocation of processedDependencies) {
if (importLocation.moduleSpecifier) {
const identifier = tracker.addImport(
- ref.node.getSourceFile(), importLocation.symbolName, importLocation.moduleSpecifier);
+ decl.getSourceFile(), importLocation.symbolName, importLocation.moduleSpecifier);
imports.push(identifier);
} else {
const identifier = ts.factory.createIdentifier(importLocation.symbolName);
if (importLocation.isForwardReference) {
const forwardRefExpression =
- tracker.addImport(ref.node.getSourceFile(), 'forwardRef', '@angular/core');
+ tracker.addImport(decl.getSourceFile(), 'forwardRef', '@angular/core');
const arrowFunction = ts.factory.createArrowFunction(
undefined, undefined, [], undefined, undefined, identifier);
imports.push(
@@ -184,15 +182,13 @@ function getComponentImportExpressions(
* @param templateTypeChecker
*/
function migrateNgModuleClass(
- node: ts.ClassDeclaration, allDeclarations: Reference[],
- tracker: ChangeTracker, typeChecker: ts.TypeChecker, templateTypeChecker: TemplateTypeChecker) {
+ node: ts.ClassDeclaration, allDeclarations: Set, tracker: ChangeTracker,
+ typeChecker: ts.TypeChecker, templateTypeChecker: TemplateTypeChecker) {
const decorator = templateTypeChecker.getNgModuleMetadata(node)?.decorator;
const metadata = decorator ? extractMetadataLiteral(decorator) : null;
if (metadata) {
- moveDeclarationsToImports(
- metadata, allDeclarations.map(decl => decl.node), typeChecker, templateTypeChecker,
- tracker);
+ moveDeclarationsToImports(metadata, allDeclarations, typeChecker, templateTypeChecker, tracker);
}
}
@@ -205,7 +201,7 @@ function migrateNgModuleClass(
* @param tracker
*/
function moveDeclarationsToImports(
- literal: ts.ObjectLiteralExpression, allDeclarations: ts.ClassDeclaration[],
+ literal: ts.ObjectLiteralExpression, allDeclarations: Set,
typeChecker: ts.TypeChecker, templateTypeChecker: TemplateTypeChecker,
tracker: ChangeTracker): void {
const declarationsProp = findLiteralProperty(literal, 'declarations');
@@ -347,9 +343,9 @@ function isNamedPropertyAssignment(node: ts.Node): node is ts.PropertyAssignment
* @param typeChecker
*/
function findImportLocation(
- target: Reference, inComponent: Reference,
+ target: Reference, inComponent: ts.ClassDeclaration,
importMode: PotentialImportMode, typeChecker: TemplateTypeChecker): PotentialImport|null {
- const importLocations = typeChecker.getPotentialImportsFor(target, inComponent.node, importMode);
+ const importLocations = typeChecker.getPotentialImportsFor(target, inComponent, importMode);
let firstSameFileImport: PotentialImport|null = null;
let firstModuleImport: PotentialImport|null = null;
@@ -439,15 +435,14 @@ export function findTestObjectsToMigrate(sourceFile: ts.SourceFile, typeChecker:
/**
* Finds the classes corresponding to dependencies used in a component's template.
- * @param ref Component in whose template we're looking for dependencies.
+ * @param decl Component in whose template we're looking for dependencies.
* @param typeChecker
*/
-function findTemplateDependencies(
- ref: Reference,
- typeChecker: TemplateTypeChecker): Reference[] {
+function findTemplateDependencies(decl: ts.ClassDeclaration, typeChecker: TemplateTypeChecker):
+ Reference[] {
const results: Reference[] = [];
- const usedDirectives = typeChecker.getUsedDirectives(ref.node);
- const usedPipes = typeChecker.getUsedPipes(ref.node);
+ const usedDirectives = typeChecker.getUsedDirectives(decl);
+ const usedPipes = typeChecker.getUsedPipes(decl);
if (usedDirectives !== null) {
for (const dir of usedDirectives) {
@@ -458,7 +453,7 @@ function findTemplateDependencies(
}
if (usedPipes !== null) {
- const potentialPipes = typeChecker.getPotentialPipes(ref.node);
+ const potentialPipes = typeChecker.getPotentialPipes(decl);
for (const pipe of potentialPipes) {
if (ts.isClassDeclaration(pipe.ref.node) &&
@@ -480,7 +475,7 @@ function findTemplateDependencies(
* @param typeChecker
*/
function filterNonBootstrappedDeclarations(
- declarations: Reference[], ngModule: ts.ClassDeclaration,
+ declarations: ts.ClassDeclaration[], ngModule: ts.ClassDeclaration,
templateTypeChecker: TemplateTypeChecker, typeChecker: ts.TypeChecker) {
const metadata = templateTypeChecker.getNgModuleMetadata(ngModule);
const metaLiteral =
@@ -513,7 +508,7 @@ function filterNonBootstrappedDeclarations(
}
}
- return declarations.filter(ref => !bootstrappedClasses.has(ref.node));
+ return declarations.filter(ref => !bootstrappedClasses.has(ref));
}
/**
@@ -523,10 +518,10 @@ function filterNonBootstrappedDeclarations(
*/
export function extractDeclarationsFromModule(
ngModule: ts.ClassDeclaration,
- templateTypeChecker: TemplateTypeChecker): Reference[] {
+ templateTypeChecker: TemplateTypeChecker): ts.ClassDeclaration[] {
const metadata = templateTypeChecker.getNgModuleMetadata(ngModule);
- return metadata ? metadata.declarations.filter(decl => ts.isClassDeclaration(decl.node)) as
- Reference[] :
+ return metadata ? metadata.declarations.filter(decl => ts.isClassDeclaration(decl.node))
+ .map(decl => decl.node) as ts.ClassDeclaration[] :
[];
}
@@ -539,12 +534,11 @@ export function extractDeclarationsFromModule(
* @param typeChecker
*/
export function migrateTestDeclarations(
- testObjects: ts.ObjectLiteralExpression[],
- declarationsOutsideOfTestFiles: Reference[], tracker: ChangeTracker,
+ testObjects: Set,
+ declarationsOutsideOfTestFiles: Set, tracker: ChangeTracker,
templateTypeChecker: TemplateTypeChecker, typeChecker: ts.TypeChecker) {
const {decorators, componentImports} = analyzeTestingModules(testObjects, typeChecker);
- const allDeclarations: ts.ClassDeclaration[] =
- declarationsOutsideOfTestFiles.map(ref => ref.node);
+ const allDeclarations = new Set(declarationsOutsideOfTestFiles);
for (const decorator of decorators) {
const closestClass = closestNode(decorator.node, ts.isClassDeclaration);
@@ -553,14 +547,14 @@ export function migrateTestDeclarations(
tracker.replaceNode(decorator.node, addStandaloneToDecorator(decorator.node));
if (closestClass) {
- allDeclarations.push(closestClass);
+ allDeclarations.add(closestClass);
}
} else if (decorator.name === 'Component') {
const newDecorator = addStandaloneToDecorator(decorator.node);
const importsToAdd = componentImports.get(decorator.node);
if (closestClass) {
- allDeclarations.push(closestClass);
+ allDeclarations.add(closestClass);
}
if (importsToAdd && importsToAdd.size > 0) {
@@ -588,7 +582,7 @@ export function migrateTestDeclarations(
* @param testObjects Object literals that should be analyzed.
*/
function analyzeTestingModules(
- testObjects: ts.ObjectLiteralExpression[], typeChecker: ts.TypeChecker) {
+ testObjects: Set, typeChecker: ts.TypeChecker) {
const seenDeclarations = new Set();
const decorators: NgDecorator[] = [];
const componentImports = new Map>();
@@ -685,9 +679,9 @@ function extractMetadataLiteral(decorator: ts.Decorator): ts.ObjectLiteralExpres
* @param templateTypeChecker
*/
function isStandaloneDeclaration(
- node: ts.ClassDeclaration, declarationsInMigration: ts.ClassDeclaration[],
+ node: ts.ClassDeclaration, declarationsInMigration: Set,
templateTypeChecker: TemplateTypeChecker): boolean {
- if (declarationsInMigration.includes(node)) {
+ if (declarationsInMigration.has(node)) {
return true;
}
diff --git a/packages/core/schematics/ng-generate/standalone-migration/util.ts b/packages/core/schematics/ng-generate/standalone-migration/util.ts
index e28a2c15d03c..94be0d3ab626 100644
--- a/packages/core/schematics/ng-generate/standalone-migration/util.ts
+++ b/packages/core/schematics/ng-generate/standalone-migration/util.ts
@@ -175,6 +175,10 @@ export class UniqueItemTracker {
}
}
+ get(key: K): Set|undefined {
+ return this._nodes.get(key);
+ }
+
getEntries(): IterableIterator<[K, Set]> {
return this._nodes.entries();
}
diff --git a/packages/core/schematics/test/standalone_migration_spec.ts b/packages/core/schematics/test/standalone_migration_spec.ts
index 4e434b62544e..f01447e9bd6f 100644
--- a/packages/core/schematics/test/standalone_migration_spec.ts
+++ b/packages/core/schematics/test/standalone_migration_spec.ts
@@ -2245,6 +2245,122 @@ describe('standalone migration', () => {
`));
});
+ it('should remove barrel export if the corresponding file is deleted', async () => {
+ writeFile('app.module.ts', `
+ import {NgModule} from '@angular/core';
+ import {MyComp} from './comp';
+
+ @NgModule({imports: [MyComp]})
+ export class AppModule {}
+ `);
+
+ writeFile('button.module.ts', `
+ import {NgModule} from '@angular/core';
+ import {MyButton} from './button';
+
+ @NgModule({imports: [MyButton], exports: [MyButton]})
+ export class ButtonModule {}
+ `);
+
+ writeFile('comp.ts', `
+ import {Component} from '@angular/core';
+ import {MyButton} from './button';
+
+ @Component({
+ selector: 'my-comp',
+ template: 'Hello',
+ standalone: true,
+ imports: [MyButton]
+ })
+ export class MyComp {}
+ `);
+
+ writeFile('button.ts', `
+ import {Component} from '@angular/core';
+
+ @Component({selector: 'my-button', template: '', standalone: true})
+ export class MyButton {}
+ `);
+
+ writeFile('index.ts', `
+ export * from './app.module';
+ export {MyComp} from './comp';
+ export {ButtonModule} from './button.module';
+ `);
+
+ await runMigration('prune-ng-modules');
+
+ expect(tree.exists('app.module.ts')).toBe(false);
+ expect(tree.exists('button.module.ts')).toBe(false);
+ expect(stripWhitespace(tree.readContent('index.ts'))).toBe(stripWhitespace(`
+ export {MyComp} from './comp';
+ `));
+ });
+
+ it('should remove barrel files referring to other barrel files that were deleted', async () => {
+ writeFile('app.module.ts', `
+ import {NgModule} from '@angular/core';
+ import {MyDir} from './dir';
+
+ @NgModule({imports: [MyDir]})
+ export class AppModule {}
+ `);
+
+ writeFile('dir.ts', `
+ import {Directive} from '@angular/core';
+
+ @Directive({selector: '[dir]', standalone: true})
+ export class MyDir {}
+ `);
+
+ writeFile('index.ts', `export * from './app.module';`);
+ writeFile('index-2.ts', `export * from './index';`);
+ writeFile('index-3.ts', `export * from './index-2';`);
+
+ await runMigration('prune-ng-modules');
+
+ expect(tree.exists('index.ts')).toBe(false);
+ expect(tree.exists('index-2.ts')).toBe(false);
+ expect(tree.exists('index-3.ts')).toBe(false);
+ });
+
+ it('should not delete dependent barrel files if they have some barrel exports that will not be removed',
+ async () => {
+ writeFile('app.module.ts', `
+ import {NgModule} from '@angular/core';
+ import {MyDir} from './dir';
+
+ @NgModule({imports: [MyDir]})
+ export class AppModule {}
+ `);
+
+ writeFile('dir.ts', `
+ import {Directive} from '@angular/core';
+
+ @Directive({selector: '[dir]', standalone: true})
+ export class MyDir {}
+ `);
+
+ writeFile('utils.ts', `
+ export function sum(a: number, b: number) { return a + b; }
+ `);
+
+ writeFile('index.ts', `export * from './app.module';`);
+ writeFile('index-2.ts', `
+ export * from './index';
+ export * from './utils';
+ `);
+ writeFile('index-3.ts', `export * from './index-2';`);
+
+ await runMigration('prune-ng-modules');
+
+ expect(tree.exists('index.ts')).toBe(false);
+ expect(stripWhitespace(tree.readContent('index-2.ts')))
+ .toBe(stripWhitespace(`export * from './utils';`));
+ expect(stripWhitespace(tree.readContent('index-3.ts')))
+ .toBe(stripWhitespace(`export * from './index-2';`));
+ });
+
it('should add a comment to locations that cannot be removed automatically', async () => {
writeFile('app.module.ts', `
import {NgModule} from '@angular/core';
diff --git a/packages/core/src/core_render3_private_export.ts b/packages/core/src/core_render3_private_export.ts
index b9832acda5e9..45ddfb5c3457 100644
--- a/packages/core/src/core_render3_private_export.ts
+++ b/packages/core/src/core_render3_private_export.ts
@@ -248,6 +248,9 @@ export {
export {
compilePipe as ɵcompilePipe,
} from './render3/jit/pipe';
+export {
+ isNgModule as ɵisNgModule
+} from './render3/jit/util';
export { Profiler as ɵProfiler, ProfilerEvent as ɵProfilerEvent } from './render3/profiler';
export {
publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils
diff --git a/packages/core/src/linker/query_list.ts b/packages/core/src/linker/query_list.ts
index d0353b168c20..9784784e01dc 100644
--- a/packages/core/src/linker/query_list.ts
+++ b/packages/core/src/linker/query_list.ts
@@ -10,10 +10,10 @@ import {Observable} from 'rxjs';
import {EventEmitter} from '../event_emitter';
import {arrayEquals, flatten} from '../util/array_utils';
-import {getSymbolIterator} from '../util/symbol';
function symbolIterator(this: QueryList): Iterator {
- return ((this as any as {_results: Array})._results as any)[getSymbolIterator()]();
+ // @ts-expect-error accessing a private member
+ return this._results[Symbol.iterator]();
}
/**
@@ -68,10 +68,9 @@ export class QueryList implements Iterable {
// This function should be declared on the prototype, but doing so there will cause the class
// declaration to have side-effects and become not tree-shakable. For this reason we do it in
// the constructor.
- // [getSymbolIterator()](): Iterator { ... }
- const symbol = getSymbolIterator();
- const proto = QueryList.prototype as any;
- if (!proto[symbol]) proto[symbol] = symbolIterator;
+ // [Symbol.iterator](): Iterator { ... }
+ const proto = QueryList.prototype;
+ if (!proto[Symbol.iterator]) proto[Symbol.iterator] = symbolIterator;
}
/**
diff --git a/packages/core/src/render3/instructions/element.ts b/packages/core/src/render3/instructions/element.ts
index 31b96b5d007f..31c3ee872793 100644
--- a/packages/core/src/render3/instructions/element.ts
+++ b/packages/core/src/render3/instructions/element.ts
@@ -26,8 +26,8 @@ import {createDirectivesInstances, executeContentQueries, getOrCreateTNode, reso
function elementStartFirstCreatePass(
- index: number, tView: TView, lView: LView, native: RElement, name: string,
- attrsIndex?: number|null, localRefsIndex?: number): TElementNode {
+ index: number, tView: TView, lView: LView, name: string, attrsIndex?: number|null,
+ localRefsIndex?: number): TElementNode {
ngDevMode && assertFirstCreatePass(tView);
ngDevMode && ngDevMode.firstCreatePass++;
@@ -35,11 +35,7 @@ function elementStartFirstCreatePass(
const attrs = getConstant(tViewConsts, attrsIndex);
const tNode = getOrCreateTNode(tView, index, TNodeType.Element, name, attrs);
- const hasDirectives =
- resolveDirectives(tView, lView, tNode, getConstant(tViewConsts, localRefsIndex));
- if (ngDevMode) {
- validateElementIsKnown(native, lView, tNode.value, tView.schemas, hasDirectives);
- }
+ resolveDirectives(tView, lView, tNode, getConstant(tViewConsts, localRefsIndex));
if (tNode.attrs !== null) {
computeStaticStyling(tNode, tNode.attrs, false);
@@ -85,11 +81,16 @@ export function ɵɵelementStart(
ngDevMode && assertIndexInRange(lView, adjustedIndex);
const renderer = lView[RENDERER];
- const native = lView[adjustedIndex] = createElementNode(renderer, name, getNamespace());
const tNode = tView.firstCreatePass ?
- elementStartFirstCreatePass(
- adjustedIndex, tView, lView, native, name, attrsIndex, localRefsIndex) :
+ elementStartFirstCreatePass(adjustedIndex, tView, lView, name, attrsIndex, localRefsIndex) :
tView.data[adjustedIndex] as TElementNode;
+ const native = lView[adjustedIndex] = createElementNode(renderer, name, getNamespace());
+ const hasDirectives = isDirectiveHost(tNode);
+
+ if (ngDevMode && tView.firstCreatePass) {
+ validateElementIsKnown(native, lView, tNode.value, tView.schemas, hasDirectives);
+ }
+
setCurrentTNode(tNode, true);
setupStaticAttributes(renderer, native, tNode);
@@ -107,8 +108,7 @@ export function ɵɵelementStart(
}
increaseElementDepthCount();
-
- if (isDirectiveHost(tNode)) {
+ if (hasDirectives) {
createDirectivesInstances(tView, lView, tNode);
executeContentQueries(tView, tNode, lView);
}
diff --git a/packages/core/src/render3/instructions/shared.ts b/packages/core/src/render3/instructions/shared.ts
index 306188203a4c..96b19703d384 100644
--- a/packages/core/src/render3/instructions/shared.ts
+++ b/packages/core/src/render3/instructions/shared.ts
@@ -235,6 +235,7 @@ export function createTNodeAtIndex(
// In the case of i18n the `currentTNode` may already be linked, in which case we don't want
// to break the links which i18n created.
currentTNode.next = tNode;
+ tNode.prev = currentTNode;
}
}
}
@@ -759,6 +760,7 @@ export function createTNode(
outputs: null,
tViews: null,
next: null,
+ prev: null,
projectionNext: null,
child: null,
parent: tParent,
@@ -986,12 +988,11 @@ export function setNgReflectProperties(
*/
export function resolveDirectives(
tView: TView, lView: LView, tNode: TElementNode|TContainerNode|TElementContainerNode,
- localRefs: string[]|null): boolean {
+ localRefs: string[]|null): void {
// Please make sure to have explicit type for `exportsMap`. Inferred type triggers bug in
// tsickle.
ngDevMode && assertFirstCreatePass(tView);
- let hasDirectives = false;
if (getBindingsEnabled()) {
const exportsMap: ({[key: string]: number}|null) = localRefs === null ? null : {'': -1};
const matchResult = findDirectiveDefMatches(tView, tNode);
@@ -1005,14 +1006,12 @@ export function resolveDirectives(
}
if (directiveDefs !== null) {
- hasDirectives = true;
initializeDirectives(tView, lView, tNode, directiveDefs, exportsMap, hostDirectiveDefs);
}
if (exportsMap) cacheMatchingLocalNames(tNode, localRefs, exportsMap);
}
// Merge the template attrs last so that they have the highest priority.
tNode.mergedAttrs = mergeHostAttrs(tNode.mergedAttrs, tNode.attrs);
- return hasDirectives;
}
/** Initializes the data structures necessary for a list of directives to be instantiated. */
diff --git a/packages/core/src/render3/interfaces/node.ts b/packages/core/src/render3/interfaces/node.ts
index f0dee4376347..25c2f10127d5 100644
--- a/packages/core/src/render3/interfaces/node.ts
+++ b/packages/core/src/render3/interfaces/node.ts
@@ -559,6 +559,12 @@ export interface TNode {
*/
next: TNode|null;
+ /**
+ * The previous sibling node.
+ * This simplifies operations when we need a pointer to the previous node.
+ */
+ prev: TNode|null;
+
/**
* The next projected sibling. Since in Angular content projection works on the node-by-node
* basis the act of projecting nodes might change nodes relationship at the insertion point
diff --git a/packages/core/src/util/iterable.ts b/packages/core/src/util/iterable.ts
index 4266fb3c635a..6c4b8b667ff5 100644
--- a/packages/core/src/util/iterable.ts
+++ b/packages/core/src/util/iterable.ts
@@ -6,24 +6,21 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {getSymbolIterator} from './symbol';
-
-
export function isIterable(obj: any): obj is Iterable {
- return obj !== null && typeof obj === 'object' && (obj as any)[getSymbolIterator()] !== undefined;
+ return obj !== null && typeof obj === 'object' && obj[Symbol.iterator] !== undefined;
}
export function isListLikeIterable(obj: any): boolean {
if (!isJsObject(obj)) return false;
return Array.isArray(obj) ||
- (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]
- getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
+ (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]
+ Symbol.iterator in obj); // JS Iterable have a Symbol.iterator prop
}
-export function areIterablesEqual(
- a: any, b: any, comparator: (a: any, b: any) => boolean): boolean {
- const iterator1 = a[getSymbolIterator()]();
- const iterator2 = b[getSymbolIterator()]();
+export function areIterablesEqual(
+ a: Iterable, b: Iterable, comparator: (a: T, b: T) => boolean): boolean {
+ const iterator1 = a[Symbol.iterator]();
+ const iterator2 = b[Symbol.iterator]();
while (true) {
const item1 = iterator1.next();
@@ -34,14 +31,14 @@ export function areIterablesEqual(
}
}
-export function iterateListLike(obj: any, fn: (p: any) => any) {
+export function iterateListLike(obj: Iterable, fn: (p: T) => void) {
if (Array.isArray(obj)) {
for (let i = 0; i < obj.length; i++) {
fn(obj[i]);
}
} else {
- const iterator = obj[getSymbolIterator()]();
- let item: any;
+ const iterator = obj[Symbol.iterator]();
+ let item: IteratorResult;
while (!((item = iterator.next()).done)) {
fn(item.value);
}
diff --git a/packages/core/src/util/symbol.ts b/packages/core/src/util/symbol.ts
deleted file mode 100644
index a057d2884e59..000000000000
--- a/packages/core/src/util/symbol.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-import {global as _global} from './global';
-
-// When Symbol.iterator doesn't exist, retrieves the key used in es6-shim
-declare const Symbol: any;
-let _symbolIterator: any = null;
-export function getSymbolIterator(): string|symbol {
- if (!_symbolIterator) {
- const Symbol = _global['Symbol'];
- if (Symbol && Symbol.iterator) {
- _symbolIterator = Symbol.iterator;
- } else {
- // es6-shim specific logic
- const keys = Object.getOwnPropertyNames(Map.prototype);
- for (let i = 0; i < keys.length; ++i) {
- const key = keys[i];
- if (key !== 'entries' && key !== 'size' &&
- (Map as any).prototype[key] === Map.prototype['entries']) {
- _symbolIterator = key;
- }
- }
- }
- }
- return _symbolIterator;
-}
diff --git a/packages/core/test/bundling/animations/bundle.golden_symbols.json b/packages/core/test/bundling/animations/bundle.golden_symbols.json
index d22d16084f51..454abe59403c 100644
--- a/packages/core/test/bundling/animations/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/animations/bundle.golden_symbols.json
@@ -1005,7 +1005,7 @@
"name": "getStyleAttributeString"
},
{
- "name": "getSymbolIterator2"
+ "name": "getSymbolIterator"
},
{
"name": "getTNode"
diff --git a/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json b/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json
index 93ca56679674..111b9cba5423 100644
--- a/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json
@@ -759,7 +759,7 @@
"name": "getSimpleChangesStore"
},
{
- "name": "getSymbolIterator2"
+ "name": "getSymbolIterator"
},
{
"name": "getTNodeFromLView"
diff --git a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json
index 91b416af3dca..872c04e9612f 100644
--- a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json
@@ -641,9 +641,6 @@
{
"name": "_randomChar"
},
- {
- "name": "_symbolIterator"
- },
{
"name": "_testabilityGetter"
},
@@ -1058,9 +1055,6 @@
{
"name": "getSymbolIterator"
},
- {
- "name": "getSymbolIterator2"
- },
{
"name": "getTNode"
},
diff --git a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json
index 7875e214e668..cfdd630be017 100644
--- a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json
@@ -629,9 +629,6 @@
{
"name": "_randomChar"
},
- {
- "name": "_symbolIterator"
- },
{
"name": "_testabilityGetter"
},
@@ -1022,9 +1019,6 @@
{
"name": "getSymbolIterator"
},
- {
- "name": "getSymbolIterator2"
- },
{
"name": "getTNode"
},
diff --git a/packages/core/test/bundling/hello_world/bundle.golden_symbols.json b/packages/core/test/bundling/hello_world/bundle.golden_symbols.json
index 95f2743fe6b3..88ef4362ee78 100644
--- a/packages/core/test/bundling/hello_world/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/hello_world/bundle.golden_symbols.json
@@ -585,7 +585,7 @@
"name": "getSimpleChangesStore"
},
{
- "name": "getSymbolIterator2"
+ "name": "getSymbolIterator"
},
{
"name": "getTNodeFromLView"
diff --git a/packages/core/test/bundling/router/bundle.golden_symbols.json b/packages/core/test/bundling/router/bundle.golden_symbols.json
index 98db4b1744f9..cd4ed6e1b8b8 100644
--- a/packages/core/test/bundling/router/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/router/bundle.golden_symbols.json
@@ -833,9 +833,6 @@
{
"name": "_stripIndexHtml"
},
- {
- "name": "_symbolIterator"
- },
{
"name": "_wrapInTimeout"
},
@@ -1352,9 +1349,6 @@
{
"name": "getSymbolIterator"
},
- {
- "name": "getSymbolIterator2"
- },
{
"name": "getTNode"
},
diff --git a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json
index ae36db4e12fd..f5d200d1aa8f 100644
--- a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json
@@ -678,7 +678,7 @@
"name": "getSimpleChangesStore"
},
{
- "name": "getSymbolIterator2"
+ "name": "getSymbolIterator"
},
{
"name": "getTNodeFromLView"
diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json
index e54f53362310..d1d8d60b0988 100644
--- a/packages/core/test/bundling/todo/bundle.golden_symbols.json
+++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json
@@ -551,9 +551,6 @@
{
"name": "_randomChar"
},
- {
- "name": "_symbolIterator"
- },
{
"name": "_testabilityGetter"
},
@@ -908,9 +905,6 @@
{
"name": "getSymbolIterator"
},
- {
- "name": "getSymbolIterator2"
- },
{
"name": "getTNode"
},
diff --git a/packages/core/test/render3/is_shape_of.ts b/packages/core/test/render3/is_shape_of.ts
index 3c4361a423dc..b40b7dbdd9e8 100644
--- a/packages/core/test/render3/is_shape_of.ts
+++ b/packages/core/test/render3/is_shape_of.ts
@@ -167,6 +167,7 @@ const ShapeOfTNode: ShapeOf = {
outputs: true,
tViews: true,
next: true,
+ prev: true,
projectionNext: true,
child: true,
parent: true,
diff --git a/packages/core/test/util/iterable.ts b/packages/core/test/util/iterable.ts
index 8839827ee99d..c3ccd842a2c2 100644
--- a/packages/core/test/util/iterable.ts
+++ b/packages/core/test/util/iterable.ts
@@ -6,15 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {getSymbolIterator} from '@angular/core/src/util/symbol';
-
export class TestIterable {
list: number[];
constructor() {
this.list = [];
}
- [getSymbolIterator()]() {
- return (this.list as any)[getSymbolIterator()]();
+ [Symbol.iterator]() {
+ return this.list[Symbol.iterator]();
}
}
diff --git a/packages/elements/test/create-custom-element_spec.ts b/packages/elements/test/create-custom-element_spec.ts
index 862a580f1801..0424d295b237 100644
--- a/packages/elements/test/create-custom-element_spec.ts
+++ b/packages/elements/test/create-custom-element_spec.ts
@@ -276,7 +276,6 @@ describe('createCustomElement', () => {
})
class TestComponent {
@Input() fooFoo: string = 'foo';
- // TODO(issue/24571): remove '!'.
@Input('barbar') barBar!: string;
@Output() bazBaz = new EventEmitter();
diff --git a/packages/examples/common/pipes/ts/lowerupper_pipe.ts b/packages/examples/common/pipes/ts/lowerupper_pipe.ts
index 1bd6d37a2c71..29c92af801d3 100644
--- a/packages/examples/common/pipes/ts/lowerupper_pipe.ts
+++ b/packages/examples/common/pipes/ts/lowerupper_pipe.ts
@@ -18,8 +18,7 @@ import {Component} from '@angular/core';
`
})
export class LowerUpperPipeComponent {
- // TODO(issue/24571): remove '!'.
- value!: string;
+ value: string = '';
change(value: string) {
this.value = value;
}
diff --git a/packages/platform-browser/src/browser/transfer_state.ts b/packages/platform-browser/src/browser/transfer_state.ts
index 899327884604..0c665accc50e 100644
--- a/packages/platform-browser/src/browser/transfer_state.ts
+++ b/packages/platform-browser/src/browser/transfer_state.ts
@@ -83,20 +83,15 @@ export function makeStateKey(key: string): StateKey {
*
* @publicApi
*/
-@Injectable({
- providedIn: 'root',
- useFactory: () => {
- const doc = inject(DOCUMENT);
- const appId = inject(APP_ID);
- const state = new TransferState();
- state.store = retrieveTransferredState(doc, appId);
- return state;
- }
-})
+@Injectable({providedIn: 'root'})
export class TransferState {
private store: {[k: string]: unknown|undefined} = {};
private onSerializeCallbacks: {[k: string]: () => unknown | undefined} = {};
+ constructor() {
+ this.store = retrieveTransferredState(inject(DOCUMENT), inject(APP_ID));
+ }
+
/**
* Get the value corresponding to a key. Return `defaultValue` if key is not found.
*/
diff --git a/packages/platform-server/test/integration_spec.ts b/packages/platform-server/test/integration_spec.ts
index 8c27b8703e05..be11b06fb5e2 100644
--- a/packages/platform-server/test/integration_spec.ts
+++ b/packages/platform-server/test/integration_spec.ts
@@ -390,7 +390,6 @@ function createFalseAttributesComponents(standalone: boolean) {
template: 'Works!',
})
class MyChildComponent {
- // TODO(issue/24571): remove '!'.
@Input() public attr!: boolean;
}
diff --git a/packages/router/src/models.ts b/packages/router/src/models.ts
index 478989f04de6..64a4112aebd5 100644
--- a/packages/router/src/models.ts
+++ b/packages/router/src/models.ts
@@ -31,10 +31,10 @@ import {UrlSegment, UrlSegmentGroup, UrlTree} from './url_tree';
* (configured by `runGuardsAndResolvers`).
*
* @publicApi
- * @see RouteReuseStrategy
- * @see RunGuardsAndResolvers
- * @see NavigationBehaviorOptions
- * @see RouterConfigOptions
+ * @see `RouteReuseStrategy`
+ * @see `RunGuardsAndResolvers`
+ * @see `NavigationBehaviorOptions`
+ * @see `RouterConfigOptions`
*/
export type OnSameUrlNavigation = 'reload'|'ignore';
@@ -45,13 +45,13 @@ export type OnSameUrlNavigation = 'reload'|'ignore';
* using `inject`: `canActivate: [() => inject(myGuard).canActivate()]`.
*
* @deprecated
- * @see CanMatchFn
- * @see CanLoadFn
- * @see CanActivateFn
- * @see CanActivateChildFn
- * @see CanDeactivateFn
- * @see ResolveFn
- * @see inject
+ * @see `CanMatchFn`
+ * @see `CanLoadFn`
+ * @see `CanActivateFn`
+ * @see `CanActivateChildFn`
+ * @see `CanDeactivateFn`
+ * @see `ResolveFn`
+ * @see `inject`
* @publicApi
*/
export type DeprecatedGuard = ProviderToken|any;
@@ -177,6 +177,7 @@ export interface DefaultExport {
* path: 'lazy',
* loadChildren: () => import('./lazy-route/lazy.routes'),
* }];
+ * ```
*
* @see [Route.loadChildren](api/router/Route#loadChildren)
* @publicApi
@@ -607,7 +608,7 @@ export interface Route {
* - `pathParamsOrQueryParamsChange` : Rerun guards and resolvers when the path params
* change or query params have changed. This does not include matrix parameters.
*
- * @see RunGuardsAndResolvers
+ * @see `RunGuardsAndResolvers`
*/
runGuardsAndResolvers?: RunGuardsAndResolvers;
@@ -697,8 +698,10 @@ export interface LoadedRouterConfig {
* ```
*
* @publicApi
- * @deprecated Use plain JavaScript functions instead.
- * @see CanActivateFn
+ * @deprecated Class-based `Route` guards are deprecated in favor of functional guards. An
+ * injectable class can be used as a functional guard using the `inject` function:
+ * `canActivate: [() => inject(myGuard).canActivate()]`.
+ * @see `CanActivateFn`
*/
export interface CanActivate {
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):
@@ -788,7 +791,7 @@ export type CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSn
* @deprecated Class-based `Route` guards are deprecated in favor of functional guards. An
* injectable class can be used as a functional guard using the `inject` function:
* `canActivateChild: [() => inject(myGuard).canActivateChild()]`.
- * @see CanActivateChildFn
+ * @see `CanActivateChildFn`
*/
export interface CanActivateChild {
canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot):
@@ -871,7 +874,7 @@ export type CanActivateChildFn = (childRoute: ActivatedRouteSnapshot, state: Rou
* @deprecated Class-based `Route` guards are deprecated in favor of functional guards. An
* injectable class can be used as a functional guard using the `inject` function:
* `canDeactivate: [() => inject(myGuard).canDeactivate()]`.
- * @see CanDeactivateFn
+ * @see `CanDeactivateFn`
*/
export interface CanDeactivate {
canDeactivate(
@@ -963,7 +966,7 @@ export type CanDeactivateFn =
* @deprecated Class-based `Route` guards are deprecated in favor of functional guards. An
* injectable class can be used as a functional guard using the `inject` function:
* `canMatch: [() => inject(myGuard).canMatch()]`.
- * @see CanMatchFn
+ * @see `CanMatchFn`
*/
export interface CanMatch {
canMatch(route: Route, segments: UrlSegment[]):
@@ -1082,7 +1085,7 @@ export type CanMatchFn = (route: Route, segments: UrlSegment[]) =>
* @deprecated Class-based `Route` resolvers are deprecated in favor of functional resolvers. An
* injectable class can be used as a functional guard using the `inject` function: `resolve:
* {'user': () => inject(UserResolver).resolve()}`.
- * @see ResolveFn
+ * @see `ResolveFn`
*/
export interface Resolve {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable|Promise|T;
@@ -1127,7 +1130,7 @@ export interface Resolve {
* The order of execution is: baseGuard, childGuard, baseDataResolver, childDataResolver.
*
* @publicApi
- * @see Route
+ * @see `Route`
*/
export type ResolveFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) =>
Observable|Promise|T;
@@ -1184,7 +1187,7 @@ export type ResolveFn = (route: ActivatedRouteSnapshot, state: RouterStateSna
* ```
*
* @publicApi
- * @deprecated Use `CanMatchFn` instead
+ * @deprecated Use {@link CanMatchFn} instead
*/
export interface CanLoad {
canLoad(route: Route, segments: UrlSegment[]):
diff --git a/packages/router/src/utils/config.ts b/packages/router/src/utils/config.ts
index 87460271d111..38d4835b28bc 100644
--- a/packages/router/src/utils/config.ts
+++ b/packages/router/src/utils/config.ts
@@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
-import {createEnvironmentInjector, EnvironmentInjector, isStandalone, Type, ɵRuntimeError as RuntimeError} from '@angular/core';
+import {createEnvironmentInjector, EnvironmentInjector, isStandalone, Type, ɵisNgModule as isNgModule, ɵRuntimeError as RuntimeError} from '@angular/core';
import {EmptyOutletComponent} from '../components/empty_outlet';
import {RuntimeErrorCode} from '../errors';
@@ -57,7 +57,13 @@ export function validateConfig(
}
export function assertStandalone(fullPath: string, component: Type|undefined) {
- if (component && !isStandalone(component)) {
+ if (component && isNgModule(component)) {
+ throw new RuntimeError(
+ RuntimeErrorCode.INVALID_ROUTE_CONFIG,
+ `Invalid configuration of route '${
+ fullPath}'. You are using 'loadComponent' with a module, ` +
+ `but it must be used with standalone components. Use 'loadChildren' instead.`);
+ } else if (component && !isStandalone(component)) {
throw new RuntimeError(
RuntimeErrorCode.INVALID_ROUTE_CONFIG,
`Invalid configuration of route '${fullPath}'. The component must be standalone.`);
diff --git a/packages/router/test/standalone.spec.ts b/packages/router/test/standalone.spec.ts
index 3f1a959c92ba..09750953d6f7 100644
--- a/packages/router/test/standalone.spec.ts
+++ b/packages/router/test/standalone.spec.ts
@@ -337,6 +337,23 @@ describe('standalone in Router API', () => {
TestBed.inject(Router).navigateByUrl('/home');
expect(() => advance(root)).toThrowError(/.*home.*component must be standalone/);
}));
+
+ it('throws error when loadComponent is used with a module', fakeAsync(() => {
+ @NgModule()
+ class LazyModule {
+ }
+
+ TestBed.configureTestingModule({
+ imports: [RouterTestingModule.withRoutes([{
+ path: 'home',
+ loadComponent: () => LazyModule,
+ }])],
+ });
+
+ const root = TestBed.createComponent(RootCmp);
+ TestBed.inject(Router).navigateByUrl('/home');
+ expect(() => advance(root)).toThrowError(/.*home.*Use 'loadChildren' instead/);
+ }));
});
describe('default export unwrapping', () => {
it('should work for loadComponent', async () => {
diff --git a/renovate.json b/renovate.json
index 8dcef0ca272a..b240e856e9f8 100644
--- a/renovate.json
+++ b/renovate.json
@@ -38,7 +38,22 @@
"remark",
"remark-html",
"selenium-webdriver",
- "watchr"
+ "watchr",
+ "rxjs",
+ "glob",
+ "chalk",
+ "convert-source-map",
+ "@rollup/plugin-node-resolve",
+ "hast-util-is-element",
+ "hast-util-has-property",
+ "hast-util-to-string",
+ "rehype-slug",
+ "rollup",
+ "systemjs",
+ "unist-util-filter",
+ "unist-util-source",
+ "unist-util-visit",
+ "unist-util-visit-parents"
],
"packageRules": [
{
diff --git a/tslint.json b/tslint.json
index b32658ba38b5..a0f6be8a7f34 100644
--- a/tslint.json
+++ b/tslint.json
@@ -1,7 +1,7 @@
{
"rulesDirectory": [
"tools/tslint",
- "node_modules/@angular/build-tooling/tslint-rules",
+ "node_modules/@angular/build-tooling/lint-rules/tslint",
"node_modules/vrsource-tslint-rules/rules",
"node_modules/tslint-eslint-rules/dist/rules",
"node_modules/tslint-no-toplevel-property-access/rules"
diff --git a/yarn.lock b/yarn.lock
index 2de0db39c2bc..6fd26532263d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,7 +2,7 @@
# yarn lockfile v1
-"@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0":
+"@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0":
version "2.2.0"
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
@@ -10,14 +10,6 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@angular-devkit/architect@0.1502.0-next.3":
- version "0.1502.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.3.tgz#511bfaaed25c330a86822bd5dd346a54622d0a66"
- integrity sha512-CyHqCDI8mHdeJATRRd4VeJUjw4HJmTDPwbPfFuT6onkrD2R7TJlqiTiesjLk/RxaECoF+f55eIPk734mVhw9VA==
- dependencies:
- "@angular-devkit/core" "15.2.0-next.3"
- rxjs "6.6.7"
-
"@angular-devkit/architect@0.1502.0-next.4":
version "0.1502.0-next.4"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.4.tgz#476aeb2136e3392ab598b440525b6dd4ffed889c"
@@ -26,15 +18,23 @@
"@angular-devkit/core" "15.2.0-next.4"
rxjs "6.6.7"
-"@angular-devkit/build-angular@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.3.tgz#a74d77afdb8750f86c53969fa3fb64d09c48eb8b"
- integrity sha512-K4BmtMYZIwxh4sgEnBQE3BibAZ22sGU7iA1Z041KyjL5x41+6Fqt/QpJNk9F4LvMsaYnuNAt/UA+8ZSPXushGA==
+"@angular-devkit/architect@0.1600.0-next.1":
+ version "0.1600.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1600.0-next.1.tgz#048e97cfb3d0c63638e1a833094824fcc7b045a8"
+ integrity sha512-7GSeGEEJTfDCaB8eyaYAjNCFZl0qUo+ThJp4/u1ALO2xKOwBPEN9Pg6SlHgm1UN2WQ1yU+ipp842WM1EI6bdGw==
+ dependencies:
+ "@angular-devkit/core" "16.0.0-next.1"
+ rxjs "7.8.0"
+
+"@angular-devkit/build-angular@15.2.0-next.4":
+ version "15.2.0-next.4"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.4.tgz#e3e700c8447b721f630d5f415294dd574d32616a"
+ integrity sha512-F7iWNWV6gHushoxYfqLNHtjkcyCs7lFhG5Wq/ZyD3jdSbsEon1Yuhl3O9751R8NyCPAhEAEVhSStfHwsF1Nu+g==
dependencies:
"@ampproject/remapping" "2.2.0"
- "@angular-devkit/architect" "0.1502.0-next.3"
- "@angular-devkit/build-webpack" "0.1502.0-next.3"
- "@angular-devkit/core" "15.2.0-next.3"
+ "@angular-devkit/architect" "0.1502.0-next.4"
+ "@angular-devkit/build-webpack" "0.1502.0-next.4"
+ "@angular-devkit/core" "15.2.0-next.4"
"@babel/core" "7.20.12"
"@babel/generator" "7.20.14"
"@babel/helper-annotate-as-pure" "7.18.6"
@@ -45,7 +45,7 @@
"@babel/runtime" "7.20.13"
"@babel/template" "7.20.7"
"@discoveryjs/json-ext" "0.5.7"
- "@ngtools/webpack" "15.2.0-next.3"
+ "@ngtools/webpack" "15.2.0-next.4"
ansi-colors "4.1.3"
autoprefixer "10.4.13"
babel-loader "9.1.2"
@@ -56,7 +56,7 @@
copy-webpack-plugin "11.0.0"
critters "0.0.16"
css-loader "6.7.3"
- esbuild-wasm "0.17.5"
+ esbuild-wasm "0.17.6"
glob "8.1.0"
https-proxy-agent "5.0.1"
inquirer "8.2.4"
@@ -68,7 +68,7 @@
loader-utils "3.2.1"
magic-string "0.27.0"
mini-css-extract-plugin "2.7.2"
- open "8.4.0"
+ open "8.4.1"
ora "5.4.1"
parse5-html-rewriting-stream "6.0.1"
piscina "3.2.0"
@@ -76,12 +76,12 @@
postcss-loader "7.0.2"
resolve-url-loader "5.0.0"
rxjs "6.6.7"
- sass "1.57.1"
+ sass "1.58.0"
sass-loader "13.2.0"
semver "7.3.8"
source-map-loader "4.0.1"
source-map-support "0.5.21"
- terser "5.16.2"
+ terser "5.16.3"
text-table "0.2.0"
tree-kill "1.2.2"
tslib "2.5.0"
@@ -91,28 +91,29 @@
webpack-merge "5.8.0"
webpack-subresource-integrity "5.1.0"
optionalDependencies:
- esbuild "0.17.5"
+ esbuild "0.17.6"
-"@angular-devkit/build-angular@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.4.tgz#e3e700c8447b721f630d5f415294dd574d32616a"
- integrity sha512-F7iWNWV6gHushoxYfqLNHtjkcyCs7lFhG5Wq/ZyD3jdSbsEon1Yuhl3O9751R8NyCPAhEAEVhSStfHwsF1Nu+g==
+"@angular-devkit/build-angular@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-16.0.0-next.1.tgz#c95d38fdb1058c6e5e27529884312794dcfd1884"
+ integrity sha512-zTWeeYT+EhL5DNTbTH0qgBlj/YF/3cQQiClE2bDvaXenXhRZwYJ9c56583hE9DxLe+BFuCImX0Ym3eZQWErxNA==
dependencies:
"@ampproject/remapping" "2.2.0"
- "@angular-devkit/architect" "0.1502.0-next.4"
- "@angular-devkit/build-webpack" "0.1502.0-next.4"
- "@angular-devkit/core" "15.2.0-next.4"
- "@babel/core" "7.20.12"
- "@babel/generator" "7.20.14"
+ "@angular-devkit/architect" "0.1600.0-next.1"
+ "@angular-devkit/build-webpack" "0.1600.0-next.1"
+ "@angular-devkit/core" "16.0.0-next.1"
+ "@babel/core" "7.21.0"
+ "@babel/generator" "7.21.1"
"@babel/helper-annotate-as-pure" "7.18.6"
+ "@babel/helper-split-export-declaration" "7.18.6"
"@babel/plugin-proposal-async-generator-functions" "7.20.7"
"@babel/plugin-transform-async-to-generator" "7.20.7"
- "@babel/plugin-transform-runtime" "7.19.6"
+ "@babel/plugin-transform-runtime" "7.21.0"
"@babel/preset-env" "7.20.2"
- "@babel/runtime" "7.20.13"
+ "@babel/runtime" "7.21.0"
"@babel/template" "7.20.7"
"@discoveryjs/json-ext" "0.5.7"
- "@ngtools/webpack" "15.2.0-next.4"
+ "@ngtools/webpack" "16.0.0-next.1"
ansi-colors "4.1.3"
autoprefixer "10.4.13"
babel-loader "9.1.2"
@@ -123,7 +124,7 @@
copy-webpack-plugin "11.0.0"
critters "0.0.16"
css-loader "6.7.3"
- esbuild-wasm "0.17.6"
+ esbuild-wasm "0.17.10"
glob "8.1.0"
https-proxy-agent "5.0.1"
inquirer "8.2.4"
@@ -133,22 +134,22 @@
less-loader "11.1.0"
license-webpack-plugin "4.0.2"
loader-utils "3.2.1"
- magic-string "0.27.0"
+ magic-string "0.30.0"
mini-css-extract-plugin "2.7.2"
- open "8.4.1"
+ open "8.4.2"
ora "5.4.1"
- parse5-html-rewriting-stream "6.0.1"
+ parse5-html-rewriting-stream "7.0.0"
piscina "3.2.0"
postcss "8.4.21"
postcss-loader "7.0.2"
resolve-url-loader "5.0.0"
- rxjs "6.6.7"
- sass "1.58.0"
+ rxjs "7.8.0"
+ sass "1.58.3"
sass-loader "13.2.0"
semver "7.3.8"
source-map-loader "4.0.1"
source-map-support "0.5.21"
- terser "5.16.3"
+ terser "5.16.4"
text-table "0.2.0"
tree-kill "1.2.2"
tslib "2.5.0"
@@ -158,7 +159,7 @@
webpack-merge "5.8.0"
webpack-subresource-integrity "5.1.0"
optionalDependencies:
- esbuild "0.17.6"
+ esbuild "0.17.10"
"@angular-devkit/build-optimizer@0.14.0-beta.5":
version "0.14.0-beta.5"
@@ -170,14 +171,6 @@
typescript "3.2.4"
webpack-sources "1.3.0"
-"@angular-devkit/build-webpack@0.1502.0-next.3":
- version "0.1502.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.3.tgz#4d47497ce645cdae9ef7ae95d346aa2c5279e9e9"
- integrity sha512-uUfqhVerwLKvHbzW4xC1kS+kNiAPV0krWlC+P/DTpzlgmV4wSkV9CSLW+/ar5GNcxhafsNxStXaUcWy/HdH6gQ==
- dependencies:
- "@angular-devkit/architect" "0.1502.0-next.3"
- rxjs "6.6.7"
-
"@angular-devkit/build-webpack@0.1502.0-next.4":
version "0.1502.0-next.4"
resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.4.tgz#8e4f68627dca010cd6d0aa5b5b3dae93088abe3a"
@@ -186,16 +179,13 @@
"@angular-devkit/architect" "0.1502.0-next.4"
rxjs "6.6.7"
-"@angular-devkit/core@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.2.0-next.3.tgz#669a90be9137eed5d8fb1af1da2dbf7e3938f01b"
- integrity sha512-LF/vCK9OK2vc6zhZFTh3DMwkcQYWlmMBH9zibR6HntinugeihzhqoY+n7ZXbOULXXA2eMQjb7otZs8QApi81OQ==
+"@angular-devkit/build-webpack@0.1600.0-next.1":
+ version "0.1600.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1600.0-next.1.tgz#ecf96034328af887b9eadb95e339c1cbe24020ee"
+ integrity sha512-hSBgr7W02baPY/YE9bVZElTBa3RGyKhSI+J6y/LCMh+PR3XTNt/VUXrjhgRRaXVU8zyU+P7POHu3xooxPMHXGw==
dependencies:
- ajv "8.12.0"
- ajv-formats "2.1.1"
- jsonc-parser "3.2.0"
- rxjs "6.6.7"
- source-map "0.7.4"
+ "@angular-devkit/architect" "0.1600.0-next.1"
+ rxjs "7.8.0"
"@angular-devkit/core@15.2.0-next.4":
version "15.2.0-next.4"
@@ -208,6 +198,17 @@
rxjs "6.6.7"
source-map "0.7.4"
+"@angular-devkit/core@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-16.0.0-next.1.tgz#caacbce13196f14ce1e503cfd982106c5f38069d"
+ integrity sha512-sbMPTsQk72vMPEXhP7nwtqYJcjnz6ddBWwLMPyCfDS8J/+KYadwBvhcjQ2Ymb+OzAkOkiLKDINW8mj6Mm456Jw==
+ dependencies:
+ ajv "8.12.0"
+ ajv-formats "2.1.1"
+ jsonc-parser "3.2.0"
+ rxjs "7.8.0"
+ source-map "0.7.4"
+
"@angular-devkit/schematics@15.2.0-next.4":
version "15.2.0-next.4"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-15.2.0-next.4.tgz#a48510038ed7a5a3ec3bf6bdf1160edab5daab35"
@@ -234,23 +235,22 @@
"@angular/core" "^13.0.0 || ^14.0.0-0"
reflect-metadata "^0.1.13"
-"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100":
- version "0.0.0-accc3c96df0d40ff639070132acb0699a58bfcf8"
- uid "8b49b0b38e67191b52367d8d0a6317d00b7d5100"
- resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#8b49b0b38e67191b52367d8d0a6317d00b7d5100"
+"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311":
+ version "0.0.0-c12a0ca820b97029279dbc3c71c25da5de5bab26"
+ resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c57ba78b57b1a8e43b051e4f2225109b9a64e311"
dependencies:
- "@angular-devkit/build-angular" "15.2.0-next.3"
+ "@angular-devkit/build-angular" "16.0.0-next.1"
"@angular/benchpress" "0.3.0"
"@babel/core" "^7.16.0"
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/plugin-proposal-async-generator-functions" "^7.20.1"
"@bazel/buildifier" "6.0.1"
- "@bazel/concatjs" "5.7.3"
- "@bazel/esbuild" "5.7.3"
- "@bazel/protractor" "5.7.3"
- "@bazel/runfiles" "5.7.3"
- "@bazel/terser" "5.7.3"
- "@bazel/typescript" "5.7.3"
+ "@bazel/concatjs" "5.8.1"
+ "@bazel/esbuild" "5.8.1"
+ "@bazel/protractor" "5.8.1"
+ "@bazel/runfiles" "5.8.1"
+ "@bazel/terser" "5.8.1"
+ "@bazel/typescript" "5.8.1"
"@microsoft/api-extractor" "7.34.4"
"@types/browser-sync" "^2.26.3"
"@types/node" "16.10.9"
@@ -264,7 +264,7 @@
clang-format "1.8.0"
prettier "2.8.4"
protractor "^7.0.0"
- selenium-webdriver "4.8.0"
+ selenium-webdriver "4.8.1"
send "^0.18.0"
source-map "^0.7.4"
tmp "^0.2.1"
@@ -274,10 +274,10 @@
uuid "^9.0.0"
yargs "^17.0.0"
-"@angular/cdk@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.2.0-next.4.tgz#336e4d518c37acfea8ff9eee73e5aafff99f6c76"
- integrity sha512-FavihEg6yVGRPAlTdVzpDxjbr2yonQTF2hWE8DGeETGjYbqtwSuLNtZa6i3ALF5yjj8Z/f6/Or0M0aJcFX5VMg==
+"@angular/cdk@15.2.0-rc.0":
+ version "15.2.0-rc.0"
+ resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.2.0-rc.0.tgz#4199c2156deccfd5b4d881635cb1922ef1c1171c"
+ integrity sha512-WJ0XHeFdtl1cssj9DZTVgKBb1pthdf1tjrFPdHq/tQ2MTbL+8/WOtklGZfqdFdom/inUzroUMmgayiFY3Jk8bg==
dependencies:
tslib "^2.3.0"
optionalDependencies:
@@ -335,10 +335,10 @@
dependencies:
tslib "^2.2.0"
-"@angular/material@15.2.0-next.4":
- version "15.2.0-next.4"
- resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.2.0-next.4.tgz#d6212e5172cd3bafbcac980cdf15791903010f17"
- integrity sha512-dmMiK7QRnYqjCX5Mqh8bl7YStiYpIuVbG4958U8IzwfVmllvhS+rHpNnTuRSfPk9VAfNTSQo2I6Y/rEr2xmBzg==
+"@angular/material@15.2.0-rc.0":
+ version "15.2.0-rc.0"
+ resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.2.0-rc.0.tgz#efe6f615de4f837ff54ebce3161238064c65106c"
+ integrity sha512-lekoWYQQrjhL0sXm0evBCOr/cD8gl3yT7xda/LZytmMcZ+5xuvLJERe0USUw2tsT+uieas667LmRUThBieS7ZA==
dependencies:
"@material/animation" "15.0.0-canary.684e33d25.0"
"@material/auto-init" "15.0.0-canary.684e33d25.0"
@@ -389,10 +389,9 @@
"@material/typography" "15.0.0-canary.684e33d25.0"
tslib "^2.3.0"
-"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#045097fc5c47d0241b157d3b904df316c737d654":
- version "0.0.0-accc3c96df0d40ff639070132acb0699a58bfcf8"
- uid "045097fc5c47d0241b157d3b904df316c737d654"
- resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#045097fc5c47d0241b157d3b904df316c737d654"
+"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#99a6d6b96288d3c51b3a99164c16704788b7cb22":
+ version "0.0.0-c12a0ca820b97029279dbc3c71c25da5de5bab26"
+ resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#99a6d6b96288d3c51b3a99164c16704788b7cb22"
dependencies:
"@yarnpkg/lockfile" "^1.1.0"
typescript "~4.9.0"
@@ -537,6 +536,27 @@
json5 "^2.2.2"
semver "^6.3.0"
+"@babel/core@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13"
+ integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==
+ dependencies:
+ "@ampproject/remapping" "^2.2.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.21.0"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.21.0"
+ "@babel/helpers" "^7.21.0"
+ "@babel/parser" "^7.21.0"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.2"
+ semver "^6.3.0"
+
"@babel/core@^7.12.3", "@babel/core@^7.16.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d"
@@ -576,6 +596,16 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
+"@babel/generator@7.21.1", "@babel/generator@^7.21.0", "@babel/generator@^7.21.1":
+ version "7.21.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd"
+ integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==
+ dependencies:
+ "@babel/types" "^7.21.0"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
+ jsesc "^2.5.1"
+
"@babel/generator@^7.18.10":
version "7.18.12"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4"
@@ -797,6 +827,14 @@
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
+"@babel/helper-function-name@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
+ integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/types" "^7.21.0"
+
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -881,6 +919,20 @@
"@babel/traverse" "^7.20.10"
"@babel/types" "^7.20.7"
+"@babel/helper-module-transforms@^7.21.0":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
+ integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.2"
+ "@babel/types" "^7.21.2"
+
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
@@ -982,7 +1034,7 @@
dependencies:
"@babel/types" "^7.18.9"
-"@babel/helper-split-export-declaration@^7.18.6":
+"@babel/helper-split-export-declaration@7.18.6", "@babel/helper-split-export-declaration@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
@@ -1061,6 +1113,15 @@
"@babel/traverse" "^7.20.7"
"@babel/types" "^7.20.7"
+"@babel/helpers@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e"
+ integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
+
"@babel/highlight@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
@@ -1110,6 +1171,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+"@babel/parser@^7.21.0", "@babel/parser@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3"
+ integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
@@ -1684,6 +1750,18 @@
babel-plugin-polyfill-regenerator "^0.4.1"
semver "^6.3.0"
+"@babel/plugin-transform-runtime@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz#2a884f29556d0a68cd3d152dcc9e6c71dfb6eee8"
+ integrity sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ babel-plugin-polyfill-corejs2 "^0.3.3"
+ babel-plugin-polyfill-corejs3 "^0.6.0"
+ babel-plugin-polyfill-regenerator "^0.4.1"
+ semver "^6.3.0"
+
"@babel/plugin-transform-shorthand-properties@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
@@ -1923,6 +2001,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
+ integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/runtime@^7.8.4":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580"
@@ -2085,6 +2170,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75"
+ integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.21.1"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.21.0"
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/parser" "^7.21.2"
+ "@babel/types" "^7.21.2"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@7.19.4", "@babel/types@^7.19.4":
version "7.19.4"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7"
@@ -2155,6 +2256,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.21.0", "@babel/types@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1"
+ integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==
+ dependencies:
+ "@babel/helper-string-parser" "^7.19.4"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ to-fast-properties "^2.0.0"
+
"@bazel/bazelisk@^1.7.5":
version "1.12.0"
resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50"
@@ -2179,10 +2289,10 @@
source-map-support "0.5.9"
tsutils "3.21.0"
-"@bazel/concatjs@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e"
- integrity sha512-fhqIwX3DT5p9Gy1K6gzBNXHxUmcERKampdsHE2ew5dbXSCFrShwvur3sIuMnp6YVYbHZBUGnx7HtUw5Z34q8mg==
+"@bazel/concatjs@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.8.1.tgz#dd20882429e382cae79c08cbd3238dfc680d2d67"
+ integrity sha512-TkARsNUxgi3bjFeGwIGlffmQglNhuR9qK9uE7uKhdBZvQE5caAWVCjYiMTzo3viKDhwKn5QNRcHY5huuJMVFfA==
dependencies:
protobufjs "6.8.8"
source-map-support "0.5.9"
@@ -2193,10 +2303,10 @@
resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.1.tgz#3e72ad6d71ab868429a7f02f914bba8958c2e05e"
integrity sha512-mNi5AaXQ5h6kwIkgXCtwZIvzhf+iEgj54PS4riHyWmk3qwFa+XqgLK+b//9tdjNVtisrIoyiZ0+J2Q6dU5YQsA==
-"@bazel/esbuild@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.3.tgz#98a82b69bafd9b68dcf9aba340d67727a777bcbc"
- integrity sha512-SzOmPlvI3rzYz73tHNVl3GlvfSo+NFZzuQQeJWhUq3JMHLYjUU14A9nY0WhBKTamD4MatJg9mUJOdOnXvOVtxQ==
+"@bazel/esbuild@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.8.1.tgz#74668d33bfb29652cbe8e2852aa8dca5e0839e73"
+ integrity sha512-8k4LL8P3ivCnFeBOcjiFxL8U+M5VtEGuOyIqm2hfEiP8xDWsZLS7YQ7KhshKJy7Elh2dlK9oGgMtl0D/x9kxxg==
"@bazel/ibazel@^0.16.0":
version "0.16.2"
@@ -2216,10 +2326,10 @@
resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.1.tgz#4f9e95ea7b54e02910efdc52807bfaf226cb303e"
integrity sha512-zskjl1yBVNTUPcdxmvi13h2+KT9YY/1+7SSaG/PkutmZVeJhp9JL2s43Rdp2DQhjVaWhTDWNHyRur6dSMImmVg==
-"@bazel/protractor@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.3.tgz#848d874a5f7d504bfeaebfdd6a7cc90a69eb7aeb"
- integrity sha512-7/qwN7fnj8AspaMBqQv9kf//+CvbpIJwQKidLq2e1djJZ5EDBfcHbCKy16s5nrecwl3q7IMJXyxj4jh4k41OTg==
+"@bazel/protractor@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.8.1.tgz#d006187e132721e607e8f49a49eb160511554be5"
+ integrity sha512-6JpP4uQLVRu3m0GrpexDjICKK8YJW/9voc8rZFQxVf3sm8yNjapUVN/b/PBAwua+nDY3uMe3W9aHgStZFOST0A==
"@bazel/rollup@5.7.1":
version "5.7.1"
@@ -2233,27 +2343,27 @@
resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.1.tgz#1929078bebafcea7a813a0ea8db8720dcf67a6dd"
integrity sha512-lMovXi/ENs+I8OWcUwAiV+0ZAv5pZJfKM70i2KdVZ5vU3Roc+pgPntH77ArEcPfFh0bJjuiSAgidr6KAMdTZiQ==
-"@bazel/runfiles@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.3.tgz#d359bb9fae52ff0fb1bea870bc74b6ded357fda2"
- integrity sha512-GKN9mdquGwZZroVJTItoNgzDxjZihQZ78C3dDlLpZVlBqm0FyXsYnKOPpEGrtbuFehO0LSMdqVhS390o/vvTSQ==
+"@bazel/runfiles@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.8.1.tgz#737d5b3dc9739767054820265cfe432a80564c82"
+ integrity sha512-NDdfpdQ6rZlylgv++iMn5FkObC/QlBQvipinGLSOguTYpRywmieOyJ29XHvUilspwTFSILWpoE9CqMGkHXug1g==
"@bazel/terser@5.7.1":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.1.tgz#2f247472d65fd53350f1366009b8c5245e23f705"
integrity sha512-WAy2LG7lU6M4CLHBe7UWAFpILCb0k4KpLnBp8uiQFCovSYgmhB7kThWGNwkx/dgmr8mI+aSZ8tBcv0CQc+C0ZQ==
-"@bazel/terser@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.3.tgz#28411aaa8f6bb1bb5543d7f5d39ee2ce84443bd9"
- integrity sha512-tk3/iEYspWego6ICBKEttEUH/dsTpV88BhHYLCpkMIzF6JIUc7hKagek3dpjOA1UHAPOGX9gx5dsp181jPfp6Q==
+"@bazel/terser@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.8.1.tgz#729a0ec6dcc83e99c4f6d3f2bebb0ff254c10c48"
+ integrity sha512-TPjSDhw1pSZt9P2hd/22IJwl8KCZiJL+u2gB5mghBTCFDVdC5Dgsx135pFtvlqc6LjjOvd3s6dzcQr0YJo2HSg==
-"@bazel/typescript@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.3.tgz#4378ab66837fb0aba0031b362c80c6523bc6a707"
- integrity sha512-GuDTCtEZcxOXZTJAZi0gfi/i3wm4r6Ny6I7NZLj4Xk9tX+yyRG8SBuUHN972S8/NmT5fFxnPymKfJiurXM4Txg==
+"@bazel/typescript@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.8.1.tgz#74a76af434fad7930893cf3e98b4cc201e52dc65"
+ integrity sha512-NAJ8WQHZL1WE1YmRoCrq/1hhG15Mvy/viWh6TkvFnBeEhNUiQUsA5GYyhU1ztnBIYW03nATO3vwhAEfO7Q0U5g==
dependencies:
- "@bazel/worker" "5.7.3"
+ "@bazel/worker" "5.8.1"
semver "5.6.0"
source-map-support "0.5.9"
tsutils "3.21.0"
@@ -2265,10 +2375,10 @@
dependencies:
google-protobuf "^3.6.1"
-"@bazel/worker@5.7.3":
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.3.tgz#cfe01294a0a98b0bcf3e736d66b1ed1535cbcf4c"
- integrity sha512-P3Qo3bTw/NgxkcUNdUTb5j8jm6qIzRvKmFYMMyUyUBN0b7sAB6Qlk0QAP9Lok9+G9TbCXmmbT0dauftsH2x5fQ==
+"@bazel/worker@5.8.1":
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.8.1.tgz#65af7a70dd2f1aaedd6c19330abd9a198f96e7b2"
+ integrity sha512-GMyZSNW3F34f9GjbJqvs1aHyed5BNrNeiDzNJhC1fIizo/UeBM21oBBONIYLBDoBtq936U85VyPZ76JaP/83hw==
dependencies:
google-protobuf "^3.6.1"
@@ -2303,220 +2413,220 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
-"@esbuild/android-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2"
- integrity sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw==
+"@esbuild/android-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz#ad2ee47dd021035abdfb0c38848ff77a1e1918c4"
+ integrity sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==
"@esbuild/android-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b"
integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==
-"@esbuild/android-arm@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251"
- integrity sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ==
+"@esbuild/android-arm@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.10.tgz#bb5a68af8adeb94b30eadee7307404dc5237d076"
+ integrity sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==
"@esbuild/android-arm@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26"
integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==
-"@esbuild/android-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef"
- integrity sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA==
+"@esbuild/android-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.10.tgz#751d5d8ae9ece1efa9627b689c888eb85b102360"
+ integrity sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==
"@esbuild/android-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462"
integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==
-"@esbuild/darwin-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49"
- integrity sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw==
+"@esbuild/darwin-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz#85601ee7efb2129cd3218d5bcbe8da1173bc1e8b"
+ integrity sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==
"@esbuild/darwin-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646"
integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==
-"@esbuild/darwin-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d"
- integrity sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA==
+"@esbuild/darwin-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz#362c7e988c61fe72d5edef4f717e4b4fc728da98"
+ integrity sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==
"@esbuild/darwin-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569"
integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==
-"@esbuild/freebsd-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367"
- integrity sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg==
+"@esbuild/freebsd-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz#e8a85a46ede7c3a048a12f16b9d551d25adc8bb1"
+ integrity sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==
"@esbuild/freebsd-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4"
integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==
-"@esbuild/freebsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f"
- integrity sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg==
+"@esbuild/freebsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz#cd0a1b68bffbcb5b65e65b3fd542e8c7c3edd86b"
+ integrity sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==
"@esbuild/freebsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f"
integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==
-"@esbuild/linux-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f"
- integrity sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg==
+"@esbuild/linux-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz#13b183f432512ed9d9281cc89476caeebe9e9123"
+ integrity sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==
"@esbuild/linux-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079"
integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==
-"@esbuild/linux-arm@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07"
- integrity sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw==
+"@esbuild/linux-arm@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz#dd11e0a5faa3ea94dc80278a601c3be7b4fdf1da"
+ integrity sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==
"@esbuild/linux-arm@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110"
integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==
-"@esbuild/linux-ia32@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4"
- integrity sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ==
+"@esbuild/linux-ia32@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz#4d836f87b92807d9292379963c4888270d282405"
+ integrity sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==
"@esbuild/linux-ia32@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278"
integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==
-"@esbuild/linux-loong64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea"
- integrity sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g==
+"@esbuild/linux-loong64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz#92eb2ee200c17ef12c7fb3b648231948699e7a4c"
+ integrity sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==
"@esbuild/linux-loong64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad"
integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==
-"@esbuild/linux-mips64el@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4"
- integrity sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg==
+"@esbuild/linux-mips64el@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz#14f7d50c40fe7f7ee545a9bd07c6f6e4cba5570e"
+ integrity sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==
"@esbuild/linux-mips64el@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af"
integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==
-"@esbuild/linux-ppc64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c"
- integrity sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg==
+"@esbuild/linux-ppc64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz#1ab5802e93ae511ce9783e1cb95f37df0f84c4af"
+ integrity sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==
"@esbuild/linux-ppc64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19"
integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==
-"@esbuild/linux-riscv64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c"
- integrity sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ==
+"@esbuild/linux-riscv64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz#4fae25201ef7ad868731d16c8b50b0e386c4774a"
+ integrity sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==
"@esbuild/linux-riscv64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a"
integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==
-"@esbuild/linux-s390x@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735"
- integrity sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw==
+"@esbuild/linux-s390x@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz#126254d8335bb3586918b1ca60beb4abb46e6d54"
+ integrity sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==
"@esbuild/linux-s390x@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc"
integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==
-"@esbuild/linux-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050"
- integrity sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g==
+"@esbuild/linux-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz#7fa4667b2df81ea0538e1b75e607cf04e526ce91"
+ integrity sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==
"@esbuild/linux-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0"
integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==
-"@esbuild/netbsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a"
- integrity sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA==
+"@esbuild/netbsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz#2d24727ddc2305619685bf237a46d6087a02ee9a"
+ integrity sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==
"@esbuild/netbsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9"
integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==
-"@esbuild/openbsd-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a"
- integrity sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw==
+"@esbuild/openbsd-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz#bf3fc38ee6ecf028c1f0cfe11f61d53cc75fef12"
+ integrity sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==
"@esbuild/openbsd-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083"
integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==
-"@esbuild/sunos-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0"
- integrity sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw==
+"@esbuild/sunos-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz#8deabd6dfec6256f80bb101bc59d29dbae99c69b"
+ integrity sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==
"@esbuild/sunos-x64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73"
integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==
-"@esbuild/win32-arm64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850"
- integrity sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg==
+"@esbuild/win32-arm64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz#1ec1ee04c788c4c57a83370b6abf79587b3e4965"
+ integrity sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==
"@esbuild/win32-arm64@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21"
integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==
-"@esbuild/win32-ia32@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0"
- integrity sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ==
+"@esbuild/win32-ia32@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz#a362528d7f3ad5d44fa8710a96764677ef92ebe9"
+ integrity sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==
"@esbuild/win32-ia32@0.17.6":
version "0.17.6"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e"
integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==
-"@esbuild/win32-x64@0.17.5":
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be"
- integrity sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw==
+"@esbuild/win32-x64@0.17.10":
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz#ac779220f2da96afd480fb3f3148a292f66e7fc3"
+ integrity sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==
"@esbuild/win32-x64@0.17.6":
version "0.17.6"
@@ -2591,18 +2701,6 @@
protobufjs "^6.11.3"
yargs "^16.2.0"
-"@hapi/hoek@^9.0.0":
- version "9.3.0"
- resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
- integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
-
-"@hapi/topo@^5.0.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
- integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
"@hutson/parse-repository-url@^3.0.0":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340"
@@ -2672,6 +2770,14 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
+"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.17"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
+ integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
+ dependencies:
+ "@jridgewell/resolve-uri" "3.1.0"
+ "@jridgewell/sourcemap-codec" "1.4.14"
+
"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.8":
version "0.3.14"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed"
@@ -2680,14 +2786,6 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/trace-mapping@^0.3.9":
- version "0.3.17"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
- integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
- dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
-
"@jsdevtools/ono@^7.1.3":
version "7.1.3"
resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796"
@@ -3473,16 +3571,16 @@
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb"
integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==
-"@ngtools/webpack@15.2.0-next.3":
- version "15.2.0-next.3"
- resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.3.tgz#3fc8b605d1be5ad6a66b908b89847681319ee95e"
- integrity sha512-Je7rwxLPcpmkHIvOzzdhWr9xqK6FMi1lGh5rEW49E9O9E1ESfh5OMnC3pgC8gOEzrhcnOuXgV7JZ5AjJwCgmgQ==
-
"@ngtools/webpack@15.2.0-next.4":
version "15.2.0-next.4"
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.4.tgz#354d6096329a7f33e787d218385dbb610ad42bee"
integrity sha512-Ftqqo9AHVVbDLKS5q5AzN+InimGwCZQTCPfnA5WoDOPHjEDoA0Ekg+7IaRjRWpOd7lPYr9fh62KQLXVc2vIydg==
+"@ngtools/webpack@16.0.0-next.1":
+ version "16.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-16.0.0-next.1.tgz#2ec19632fcbf7a375722ddd1dfa366b96ba655d9"
+ integrity sha512-xtp8xRf7BlrobHz2bzUWuyNvbRPfiNaj4FfOzis+0FGpQLy6zNnzpiwhJezUjdcYArU8Mx8OZQznoV2YfVD+XQ==
+
"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3":
version "2.1.8-no-fsevents.3"
resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b"
@@ -3838,23 +3936,6 @@
"@angular-devkit/schematics" "15.2.0-next.4"
jsonc-parser "3.2.0"
-"@sideway/address@^4.1.3":
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
- integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
-"@sideway/formula@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c"
- integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==
-
-"@sideway/pinpoint@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
- integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
-
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -5344,7 +5425,7 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
-axios@0.21.4, axios@^0.21.1:
+axios@0.21.4:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
@@ -5532,7 +5613,7 @@ blocking-proxy@^1.0.0:
dependencies:
minimist "^1.2.0"
-bluebird@3.7.2, bluebird@^3.7.2:
+bluebird@^3.7.2:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -6158,11 +6239,6 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-check-more-types@2.24.0:
- version "2.24.0"
- resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
- integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==
-
check-side-effects@0.0.23:
version "0.0.23"
resolved "https://registry.yarnpkg.com/check-side-effects/-/check-side-effects-0.0.23.tgz#0daa99d6c26be01467483f3ae0bdb3c4b22d59b2"
@@ -7965,11 +8041,6 @@ duplexer3@^0.1.4:
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e"
integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==
-duplexer@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
- integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
-
duplexify@^3.6.0:
version "3.7.1"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
@@ -8149,7 +8220,7 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-entities@^4.4.0:
+entities@^4.3.0, entities@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
@@ -8231,43 +8302,43 @@ es6-weak-map@^2.0.1, es6-weak-map@^2.0.3:
es6-iterator "^2.0.3"
es6-symbol "^3.1.1"
-esbuild-wasm@0.17.5:
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819"
- integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g==
+esbuild-wasm@0.17.10:
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.10.tgz#a39d9828783a458edfdad83fe9a7227c05864518"
+ integrity sha512-iDPIYZXoY6RWXIt3BpnENIdgKvkfYv8YdvrdjK3n8c1reGq3d38h8ETWvrpy1+0r5gR74vEb73TMonh5FbVZxw==
esbuild-wasm@0.17.6:
version "0.17.6"
resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.6.tgz#f5935d90c1104a1c04a3fbe5daaf7f79beaeb2fc"
integrity sha512-9Ldow2+kulEnGtOTbngHyiFIneIi+g7pJOz8cZQhW1KWKqsu9nCYDba2JlwsH/PJtAGNSTCrKBmaKYf8rJYvgQ==
-esbuild@0.17.5:
- version "0.17.5"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930"
- integrity sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ==
+esbuild@0.17.10:
+ version "0.17.10"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.10.tgz#3be050561b34c5dc05b46978f4e1f326d5cc9437"
+ integrity sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==
optionalDependencies:
- "@esbuild/android-arm" "0.17.5"
- "@esbuild/android-arm64" "0.17.5"
- "@esbuild/android-x64" "0.17.5"
- "@esbuild/darwin-arm64" "0.17.5"
- "@esbuild/darwin-x64" "0.17.5"
- "@esbuild/freebsd-arm64" "0.17.5"
- "@esbuild/freebsd-x64" "0.17.5"
- "@esbuild/linux-arm" "0.17.5"
- "@esbuild/linux-arm64" "0.17.5"
- "@esbuild/linux-ia32" "0.17.5"
- "@esbuild/linux-loong64" "0.17.5"
- "@esbuild/linux-mips64el" "0.17.5"
- "@esbuild/linux-ppc64" "0.17.5"
- "@esbuild/linux-riscv64" "0.17.5"
- "@esbuild/linux-s390x" "0.17.5"
- "@esbuild/linux-x64" "0.17.5"
- "@esbuild/netbsd-x64" "0.17.5"
- "@esbuild/openbsd-x64" "0.17.5"
- "@esbuild/sunos-x64" "0.17.5"
- "@esbuild/win32-arm64" "0.17.5"
- "@esbuild/win32-ia32" "0.17.5"
- "@esbuild/win32-x64" "0.17.5"
+ "@esbuild/android-arm" "0.17.10"
+ "@esbuild/android-arm64" "0.17.10"
+ "@esbuild/android-x64" "0.17.10"
+ "@esbuild/darwin-arm64" "0.17.10"
+ "@esbuild/darwin-x64" "0.17.10"
+ "@esbuild/freebsd-arm64" "0.17.10"
+ "@esbuild/freebsd-x64" "0.17.10"
+ "@esbuild/linux-arm" "0.17.10"
+ "@esbuild/linux-arm64" "0.17.10"
+ "@esbuild/linux-ia32" "0.17.10"
+ "@esbuild/linux-loong64" "0.17.10"
+ "@esbuild/linux-mips64el" "0.17.10"
+ "@esbuild/linux-ppc64" "0.17.10"
+ "@esbuild/linux-riscv64" "0.17.10"
+ "@esbuild/linux-s390x" "0.17.10"
+ "@esbuild/linux-x64" "0.17.10"
+ "@esbuild/netbsd-x64" "0.17.10"
+ "@esbuild/openbsd-x64" "0.17.10"
+ "@esbuild/sunos-x64" "0.17.10"
+ "@esbuild/win32-arm64" "0.17.10"
+ "@esbuild/win32-ia32" "0.17.10"
+ "@esbuild/win32-x64" "0.17.10"
esbuild@0.17.6:
version "0.17.6"
@@ -8419,19 +8490,6 @@ event-emitter@^0.3.5:
d "1"
es5-ext "~0.10.14"
-event-stream@=3.3.4:
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
- integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==
- dependencies:
- duplexer "~0.1.1"
- from "~0"
- map-stream "~0.1.0"
- pause-stream "0.0.11"
- split "0.3"
- stream-combiner "~0.0.4"
- through "~2.3.1"
-
event-target-shim@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
@@ -8457,7 +8515,7 @@ events@^3.2.0:
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-execa@5.1.1, execa@^5.0.0:
+execa@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
@@ -9129,11 +9187,6 @@ from2@^2.1.1:
inherits "^2.0.1"
readable-stream "^2.0.0"
-from@~0:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
- integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==
-
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
@@ -11059,17 +11112,6 @@ jju@^1.1.0, jju@~1.4.0:
resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==
-joi@^17.4.0:
- version "17.6.0"
- resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
- integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
- dependencies:
- "@hapi/hoek" "^9.0.0"
- "@hapi/topo" "^5.0.0"
- "@sideway/address" "^4.1.3"
- "@sideway/formula" "^3.0.0"
- "@sideway/pinpoint" "^2.0.0"
-
join-path@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/join-path/-/join-path-1.1.1.tgz#10535a126d24cbd65f7ffcdf15ef2e631076b505"
@@ -11471,11 +11513,6 @@ latest-version@^5.0.0, latest-version@^5.1.0:
dependencies:
package-json "^6.3.0"
-lazy-ass@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
- integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==
-
lazystream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
@@ -11939,6 +11976,13 @@ magic-string@0.27.0, magic-string@^0.27.0:
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.13"
+magic-string@0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529"
+ integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.13"
+
magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
@@ -12039,11 +12083,6 @@ map-obj@^4.0.0:
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
-map-stream@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
- integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==
-
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -12090,11 +12129,6 @@ matcher@^3.0.0:
dependencies:
escape-string-regexp "^4.0.0"
-materialize-css@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/materialize-css/-/materialize-css-1.0.0.tgz#8d5db1c4a81c6d65f3b2e2ca83a8e08daa24d1be"
- integrity sha512-4/oecXl8y/1i8RDZvyvwAICyqwNoKU4or5uf8uoAd74k76KzZ0Llym4zhJ5lLNUskcqjO0AuMcvNyDkpz8Z6zw==
-
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -12953,19 +12987,19 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
-open@8.4.0, open@^8.0.9:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
- integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+open@8.4.1:
+ version "8.4.1"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff"
+ integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==
dependencies:
define-lazy-prop "^2.0.0"
is-docker "^2.1.1"
is-wsl "^2.2.0"
-open@8.4.1:
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff"
- integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==
+open@8.4.2:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9"
+ integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
dependencies:
define-lazy-prop "^2.0.0"
is-docker "^2.1.1"
@@ -12986,6 +13020,15 @@ open@^7.4.2:
is-docker "^2.0.0"
is-wsl "^2.1.1"
+open@^8.0.9:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
+ integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
+
openapi3-ts@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/openapi3-ts/-/openapi3-ts-2.0.2.tgz#a200dd838bf24c9086c8eedcfeb380b7eb31e82a"
@@ -13301,6 +13344,15 @@ parse5-html-rewriting-stream@6.0.1:
parse5 "^6.0.1"
parse5-sax-parser "^6.0.1"
+parse5-html-rewriting-stream@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz#e376d3e762d2950ccbb6bb59823fc1d7e9fdac36"
+ integrity sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==
+ dependencies:
+ entities "^4.3.0"
+ parse5 "^7.0.0"
+ parse5-sax-parser "^7.0.0"
+
parse5-htmlparser2-tree-adapter@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
@@ -13315,12 +13367,19 @@ parse5-sax-parser@^6.0.1:
dependencies:
parse5 "^6.0.1"
+parse5-sax-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#4c05064254f0488676aca75fb39ca069ec96dee5"
+ integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==
+ dependencies:
+ parse5 "^7.0.0"
+
parse5@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
-parse5@^7.1.2:
+parse5@^7.0.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==
@@ -13470,13 +13529,6 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-pause-stream@0.0.11:
- version "0.0.11"
- resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
- integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==
- dependencies:
- through "~2.3"
-
pegjs@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd"
@@ -13875,13 +13927,6 @@ prr@~1.0.1:
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
-ps-tree@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd"
- integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==
- dependencies:
- event-stream "=3.3.4"
-
psl@^1.1.28:
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
@@ -14673,6 +14718,13 @@ rxjs@6.6.7, rxjs@^6.6.7:
dependencies:
tslib "^1.9.0"
+rxjs@7.8.0:
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
+ dependencies:
+ tslib "^2.1.0"
+
rxjs@^5.5.6:
version "5.5.12"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc"
@@ -14680,7 +14732,7 @@ rxjs@^5.5.6:
dependencies:
symbol-observable "1.0.1"
-rxjs@^7.1.0, rxjs@^7.5.5:
+rxjs@^7.5.5:
version "7.5.6"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc"
integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==
@@ -14734,19 +14786,19 @@ sass-lookup@^3.0.0:
dependencies:
commander "^2.16.0"
-sass@1.57.1:
- version "1.57.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5"
- integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==
+sass@1.58.0:
+ version "1.58.0"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc"
+ integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
-sass@1.58.0:
- version "1.58.0"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc"
- integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==
+sass@1.58.3:
+ version "1.58.3"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d"
+ integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
@@ -14830,10 +14882,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1:
tmp "0.0.30"
xml2js "^0.4.17"
-selenium-webdriver@4.8.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.0.tgz#386d57f23fe8edf5178f5bd06aae9ffaffbcb692"
- integrity sha512-s/HL8WNwy1ggHR244+tAhjhyKMJnZLt1HKJ6Gn7nQgVjB/ybDF+46Uui0qI2J7AjPNJzlUmTncdC/jg/kKkn0A==
+selenium-webdriver@4.8.1:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz#4b0a546c4ea747c44e9688c108f7a46b8d8244ab"
+ integrity sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==
dependencies:
jszip "^3.10.0"
tmp "^0.2.1"
@@ -15430,13 +15482,6 @@ split2@^3.0.0:
dependencies:
readable-stream "^3.0.0"
-split@0.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
- integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==
- dependencies:
- through "2"
-
split@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
@@ -15488,19 +15533,6 @@ stack-trace@0.0.10, stack-trace@0.0.x:
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
-start-server-and-test@^1.10.11:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.14.0.tgz#c57f04f73eac15dd51733b551d775b40837fdde3"
- integrity sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==
- dependencies:
- bluebird "3.7.2"
- check-more-types "2.24.0"
- debug "4.3.2"
- execa "5.1.1"
- lazy-ass "1.6.0"
- ps-tree "1.2.0"
- wait-on "6.0.0"
-
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -15534,13 +15566,6 @@ stream-chain@^2.2.4, stream-chain@^2.2.5:
resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09"
integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==
-stream-combiner@~0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
- integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==
- dependencies:
- duplexer "~0.1.1"
-
stream-exhaust@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d"
@@ -15884,20 +15909,20 @@ terser-webpack-plugin@^5.1.3:
serialize-javascript "^6.0.0"
terser "^5.7.2"
-terser@5.16.2:
- version "5.16.2"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2"
- integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==
+terser@5.16.3, terser@^5.0.0, terser@^5.7.2, terser@^5.8.0:
+ version "5.16.3"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
+ integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"
commander "^2.20.0"
source-map-support "~0.5.20"
-terser@5.16.3, terser@^5.0.0, terser@^5.7.2, terser@^5.8.0:
- version "5.16.3"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
- integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
+terser@5.16.4:
+ version "5.16.4"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.4.tgz#51284b440b93242291a98f2a9903c024cfb70e6e"
+ integrity sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"
@@ -15959,7 +15984,7 @@ through2@^4.0.0:
dependencies:
readable-stream "3"
-through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1:
+through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
@@ -16888,17 +16913,6 @@ vrsource-tslint-rules@6.0.0:
resolved "https://registry.yarnpkg.com/vrsource-tslint-rules/-/vrsource-tslint-rules-6.0.0.tgz#a4e25e8f3fdd487684174f423c090c35d60f37a9"
integrity sha512-pmcnJdIVziZTk1V0Cqehmh3gIabBRkBYXkv9vx+1CZDNEa41kNGUBFwQLzw21erYOd2QnD8jJeZhBGqnlT1HWw==
-wait-on@6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.0.tgz#7e9bf8e3d7fe2daecbb7a570ac8ca41e9311c7e7"
- integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==
- dependencies:
- axios "^0.21.1"
- joi "^17.4.0"
- lodash "^4.17.21"
- minimist "^1.2.5"
- rxjs "^7.1.0"
-
walkdir@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39"