From 04f55b1d1cfb24408a332054a3f57f8f7fe972d0 Mon Sep 17 00:00:00 2001 From: machty Date: Wed, 20 Mar 2024 03:36:57 +0800 Subject: [PATCH 01/15] WIP: rm GlimmerX --- ARCHITECTURE.md | 4 +- CONTRIBUTING.md | 2 +- README.md | 6 +- docs/configuration/_index.md | 3 +- docs/configuration/project-references.md | 3 +- docs/contents.md | 4 - docs/getting-started.md | 1 - docs/glimmerx/component-signatures.md | 37 --- docs/glimmerx/installation.md | 48 ---- docs/glimmerx/template-components.md | 25 -- docs/migrating.md | 9 - docs/overview.md | 3 +- docs/using-glint/glimmerx/README.md | 2 - docs/with-js.md | 38 ++- .../core/__tests__/config/environment.test.ts | 14 -- .../-private/dsl/globals.d.ts | 18 -- .../-private/dsl/index.d.ts | 65 ----- .../dsl/integration-declarations.d.ts | 119 --------- .../-private/environment/index.ts | 41 ---- .../environment-glimmerx/-private/index.ts | 7 - packages/environment-glimmerx/.gitignore | 6 - packages/environment-glimmerx/README.md | 5 - .../__tests__/component.test.ts | 229 ------------------ .../__tests__/globals.test.ts | 23 -- .../__tests__/helper.test.ts | 143 ----------- .../__tests__/modifier.test.ts | 57 ----- .../__tests__/resolve.test.ts | 13 - .../__tests__/tsconfig.json | 7 - .../environment-glimmerx/globals/index.d.ts | 4 - packages/environment-glimmerx/package.json | 58 ----- packages/environment-glimmerx/tsconfig.json | 5 - .../__fixtures__/js-glimmerx-app/.eslintrc | 13 - .../js-glimmerx-app/jsconfig.json | 12 - .../__fixtures__/js-glimmerx-app/package.json | 4 - .../js-glimmerx-app/src/SimpleComponent.js | 14 -- .../__fixtures__/js-glimmerx-app/src/index.js | 6 - .../tests/integration/component-test.js | 24 -- .../__tests__/smoketest-js-glimmerx.test.ts | 113 --------- test-packages/js-glimmerx-app/.babelrc.js | 6 - test-packages/js-glimmerx-app/.editorconfig | 20 -- test-packages/js-glimmerx-app/.gitignore | 7 - test-packages/js-glimmerx-app/README.md | 5 - test-packages/js-glimmerx-app/index.html | 17 -- test-packages/js-glimmerx-app/jsconfig.json | 16 -- test-packages/js-glimmerx-app/package.json | 102 -------- .../js-glimmerx-app/public/favicon.png | Bin 2093 -> 0 bytes .../js-glimmerx-app/public/logo192.png | Bin 6104 -> 0 bytes .../js-glimmerx-app/public/logo512.png | Bin 17414 -> 0 bytes .../js-glimmerx-app/public/manifest.json | 25 -- .../js-glimmerx-app/public/robots.txt | 3 - test-packages/js-glimmerx-app/src/App.css | 10 - test-packages/js-glimmerx-app/src/App.js | 72 ------ .../js-glimmerx-app/src/GreetingHeader.js | 29 --- .../js-glimmerx-app/src/SimpleComponent.js | 0 test-packages/js-glimmerx-app/src/index.js | 6 - test-packages/js-glimmerx-app/testem.js | 31 --- .../js-glimmerx-app/tests/index.html | 14 -- .../tests/rendering/App.test.js | 11 - .../tests/rendering/component.test.js | 25 -- test-packages/js-glimmerx-app/tests/util.js | 39 --- .../js-glimmerx-app/webpack.config.js | 72 ------ test-packages/ts-glimmerx-app/.babelrc.js | 10 - test-packages/ts-glimmerx-app/.editorconfig | 20 -- test-packages/ts-glimmerx-app/.gitignore | 7 - test-packages/ts-glimmerx-app/README.md | 23 -- test-packages/ts-glimmerx-app/index.html | 17 -- test-packages/ts-glimmerx-app/package.json | 138 ----------- .../ts-glimmerx-app/public/favicon.png | Bin 2093 -> 0 bytes .../ts-glimmerx-app/public/logo192.png | Bin 6104 -> 0 bytes .../ts-glimmerx-app/public/logo512.png | Bin 17414 -> 0 bytes .../ts-glimmerx-app/public/manifest.json | 25 -- .../ts-glimmerx-app/public/robots.txt | 3 - test-packages/ts-glimmerx-app/src/App.css | 35 --- test-packages/ts-glimmerx-app/src/App.ts | 56 ----- .../ts-glimmerx-app/src/GreetingHeader.ts | 22 -- test-packages/ts-glimmerx-app/src/index.ts | 6 - test-packages/ts-glimmerx-app/src/logo.svg | 21 -- test-packages/ts-glimmerx-app/testem.js | 31 --- .../ts-glimmerx-app/tests/index.html | 14 -- .../tests/rendering/App.test.js | 14 -- test-packages/ts-glimmerx-app/tests/util.ts | 47 ---- test-packages/ts-glimmerx-app/tsconfig.json | 16 -- .../ts-glimmerx-app/types/global.d.ts | 4 - .../ts-glimmerx-app/types/index.d.ts | 13 - .../ts-glimmerx-app/webpack.config.js | 80 ------ tsconfig.json | 1 - 86 files changed, 26 insertions(+), 2272 deletions(-) delete mode 100644 docs/glimmerx/component-signatures.md delete mode 100644 docs/glimmerx/installation.md delete mode 100644 docs/glimmerx/template-components.md delete mode 100644 docs/using-glint/glimmerx/README.md delete mode 100644 packages/environment-glimmerx/-private/dsl/globals.d.ts delete mode 100644 packages/environment-glimmerx/-private/dsl/index.d.ts delete mode 100644 packages/environment-glimmerx/-private/dsl/integration-declarations.d.ts delete mode 100644 packages/environment-glimmerx/-private/environment/index.ts delete mode 100644 packages/environment-glimmerx/-private/index.ts delete mode 100644 packages/environment-glimmerx/.gitignore delete mode 100644 packages/environment-glimmerx/README.md delete mode 100644 packages/environment-glimmerx/__tests__/component.test.ts delete mode 100644 packages/environment-glimmerx/__tests__/globals.test.ts delete mode 100644 packages/environment-glimmerx/__tests__/helper.test.ts delete mode 100644 packages/environment-glimmerx/__tests__/modifier.test.ts delete mode 100644 packages/environment-glimmerx/__tests__/resolve.test.ts delete mode 100644 packages/environment-glimmerx/__tests__/tsconfig.json delete mode 100644 packages/environment-glimmerx/globals/index.d.ts delete mode 100644 packages/environment-glimmerx/package.json delete mode 100644 packages/environment-glimmerx/tsconfig.json delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/.eslintrc delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/jsconfig.json delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/package.json delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/src/SimpleComponent.js delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/src/index.js delete mode 100644 packages/vscode/__fixtures__/js-glimmerx-app/tests/integration/component-test.js delete mode 100644 packages/vscode/__tests__/smoketest-js-glimmerx.test.ts delete mode 100644 test-packages/js-glimmerx-app/.babelrc.js delete mode 100644 test-packages/js-glimmerx-app/.editorconfig delete mode 100644 test-packages/js-glimmerx-app/.gitignore delete mode 100644 test-packages/js-glimmerx-app/README.md delete mode 100644 test-packages/js-glimmerx-app/index.html delete mode 100644 test-packages/js-glimmerx-app/jsconfig.json delete mode 100644 test-packages/js-glimmerx-app/package.json delete mode 100644 test-packages/js-glimmerx-app/public/favicon.png delete mode 100644 test-packages/js-glimmerx-app/public/logo192.png delete mode 100644 test-packages/js-glimmerx-app/public/logo512.png delete mode 100644 test-packages/js-glimmerx-app/public/manifest.json delete mode 100644 test-packages/js-glimmerx-app/public/robots.txt delete mode 100644 test-packages/js-glimmerx-app/src/App.css delete mode 100644 test-packages/js-glimmerx-app/src/App.js delete mode 100644 test-packages/js-glimmerx-app/src/GreetingHeader.js delete mode 100644 test-packages/js-glimmerx-app/src/SimpleComponent.js delete mode 100644 test-packages/js-glimmerx-app/src/index.js delete mode 100644 test-packages/js-glimmerx-app/testem.js delete mode 100644 test-packages/js-glimmerx-app/tests/index.html delete mode 100644 test-packages/js-glimmerx-app/tests/rendering/App.test.js delete mode 100644 test-packages/js-glimmerx-app/tests/rendering/component.test.js delete mode 100644 test-packages/js-glimmerx-app/tests/util.js delete mode 100644 test-packages/js-glimmerx-app/webpack.config.js delete mode 100644 test-packages/ts-glimmerx-app/.babelrc.js delete mode 100644 test-packages/ts-glimmerx-app/.editorconfig delete mode 100644 test-packages/ts-glimmerx-app/.gitignore delete mode 100644 test-packages/ts-glimmerx-app/README.md delete mode 100644 test-packages/ts-glimmerx-app/index.html delete mode 100644 test-packages/ts-glimmerx-app/package.json delete mode 100644 test-packages/ts-glimmerx-app/public/favicon.png delete mode 100644 test-packages/ts-glimmerx-app/public/logo192.png delete mode 100644 test-packages/ts-glimmerx-app/public/logo512.png delete mode 100644 test-packages/ts-glimmerx-app/public/manifest.json delete mode 100644 test-packages/ts-glimmerx-app/public/robots.txt delete mode 100644 test-packages/ts-glimmerx-app/src/App.css delete mode 100644 test-packages/ts-glimmerx-app/src/App.ts delete mode 100644 test-packages/ts-glimmerx-app/src/GreetingHeader.ts delete mode 100644 test-packages/ts-glimmerx-app/src/index.ts delete mode 100644 test-packages/ts-glimmerx-app/src/logo.svg delete mode 100644 test-packages/ts-glimmerx-app/testem.js delete mode 100644 test-packages/ts-glimmerx-app/tests/index.html delete mode 100644 test-packages/ts-glimmerx-app/tests/rendering/App.test.js delete mode 100644 test-packages/ts-glimmerx-app/tests/util.ts delete mode 100644 test-packages/ts-glimmerx-app/tsconfig.json delete mode 100644 test-packages/ts-glimmerx-app/types/global.d.ts delete mode 100644 test-packages/ts-glimmerx-app/types/index.d.ts delete mode 100644 test-packages/ts-glimmerx-app/webpack.config.js diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 53f377618..3eb875667 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -48,7 +48,7 @@ Note: The fact that the synthesized module is _not_ persisted to disk means that **Invariants:** -- The core **template DSL** has no knowledge of semantics that are particular to a given environment (e.g. GlimmerX's functions-as-modifiers), nor of any built-in globals or keywords.[^dsl-invariants] +- The core **template DSL** has no knowledge of semantics that are particular to a given environment, nor of any built-in globals or keywords.[^dsl-invariants] - Code emitted by the **transform** layer never directly references `@glint/template`. Rather, **environment** packages re-export the contents of `@glint/template` with tweaks or additions to the types that reflect their runtime behavior. This typically includes declaring the set of available `Globals` and defining appropriate semantics for `resolve`. [^dsl-invariants]: It does have _definitions_ for a small number of keywords that are core to the VM, but it's still up to individual environments to expose them. @@ -124,4 +124,4 @@ This relationship looks roughly like this: [matklad]: https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html -[^env]: Each environment is specific to a single context (β€œenvironment”) like Ember, GlimmerX, etc. Accordingly, they are likely to move _out_ of the Glint monorepo in the long-term, but will remain part of the Glint ecosystem and working model. +[^env]: Each environment is specific to a single context (β€œenvironment”) like Ember, etc. Accordingly, they are likely to move _out_ of the Glint monorepo in the long-term, but will remain part of the Glint ecosystem and working model. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 215879285..c0faa13cb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,7 +42,7 @@ There are a few VSCode Launch Configurations within `./vscode/launch.json` that - In this mode, both language servers will provide duplicate completions and suggestions, which can be useful for testing out feature parity between Glint and TS - Debug Extension (Glint Only) - This is useful for testing out the "takeover" mode of running Glint, where Glint is responsible for providing all of the language features (debugging, diagnostics, etc); this is the ideal way to run Glint, but at the time of writing we have not yet achieved feature parity with built-in TS -- By default these extensions will launch the VSCode Extension Host in the `test-packages` subfolder, which have Ember and Glimmerx apps that you can do some basic testing on +- By default these extensions will launch the VSCode Extension Host in the `test-packages` subfolder, which have Ember apps that you can do some basic testing on - _TIP_: you can open any workspace with the Extension Host, meaning you can even debug the language server with breakpoints on a totally separate Ember repo, for example. - _NOTE_: debugging takes place within the `glint` workspace, i.e. if you are debugging completions, you'd trigger a completion within the Extension Host, and the breakpoint would pause within the Glint workspace VSCode instance. diff --git a/README.md b/README.md index 327cc5ba6..1ed71a46d 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,10 @@ TypeScript-powered tooling for Glimmer templates. ## Overview -[Glint] is a set of tools to aid in developing code that uses the Glimmer VM for rendering, such as [Ember.js] v3.24+ and [GlimmerX] projects. Similar to [Vetur] for Vue projects or [Svelte Language Tools], Glint consists of a CLI and a language server to provide feedback and enforce correctness both locally during editing and project-wide in CI. +[Glint] is a set of tools to aid in developing code that uses the Glimmer VM for rendering, such as [Ember.js] v3.24+. Similar to [Vetur] for Vue projects or [Svelte Language Tools], Glint consists of a CLI and a language server to provide feedback and enforce correctness both locally during editing and project-wide in CI. [glint]: https://typed-ember.gitbook.io/glint [ember.js]: https://www.emberjs.com -[glimmerx]: https://github.com/glimmerjs/glimmer-experimental [vetur]: https://github.com/vuejs/vetur [svelte language tools]: https://github.com/sveltejs/language-tools @@ -16,11 +15,10 @@ TypeScript-powered tooling for Glimmer templates. Glint is broken into several different packages that you may use, depending on the details of your project. Typically you'll add `@glint/core`, `@glint/template` and a Glint environment package that reflects the type of project you're working on, then add a `"glint"` key to your `tsconfig.json` that tells Glint what it should look at. -For more specific details on setting up Glint in your project, take a look at [the documentation], in particular the Installation pages [for Ember.js projects] and [for GlimmerX projects]. +For more specific details on setting up Glint in your project, take a look at [the documentation], in particular the Installation pages [for Ember.js projects]. [the documentation]: https://typed-ember.gitbook.io/glint [for ember.js projects]: https://typed-ember.gitbook.io/glint/environments/ember/installation -[for glimmerx projects]: https://typed-ember.gitbook.io/glint/environments/glimmerx/installation ## Using Glint diff --git a/docs/configuration/_index.md b/docs/configuration/_index.md index a66c9ba51..f4309c62c 100644 --- a/docs/configuration/_index.md +++ b/docs/configuration/_index.md @@ -34,8 +34,7 @@ Some environments may accept user-specified configuration. To pass configuration ```javascript "glint" { "environment": { - "ember-loose": {}, - "glimmerx": { + "ember-loose": { "additionalGlobals": ["my-special-template-macro"] } } diff --git a/docs/configuration/project-references.md b/docs/configuration/project-references.md index 7efe192f7..5996870f1 100644 --- a/docs/configuration/project-references.md +++ b/docs/configuration/project-references.md @@ -38,14 +38,13 @@ Then each project within can use the `extends` key to reuse both TypeScript and ## Per-project configuration -To work with Glint, each sub-project needs to include the Glint environment imports it uses. (See [Ember: Installation][ei] and [GlimmerX: Installation][gi] for details.) For example, a project using `ember-template-imports` should have this import visible somewhere: +To work with Glint, each sub-project needs to include the Glint environment imports it uses. (See [Ember: Installation][ei] for details.) For example, a project using `ember-template-imports` should have this import visible somewhere: ```ts import '@glint/environment-ember-template-imports'; ``` [ei]: ../ember/installation.md -[gi]: ../glimmerx/installation.md The easiest way to do this is to add it to a shared file all projects can reference using the `include` key in each sub-project's `tsconfig.json`. If you do not already have something filling this role, you should introduce a `local-types` directory (named however you like) in the root of your project, with an `index.d.ts` in it. diff --git a/docs/contents.md b/docs/contents.md index 7ac3fc3ee..f6e54df31 100644 --- a/docs/contents.md +++ b/docs/contents.md @@ -24,10 +24,6 @@ * [Using Addons](ember/using-addons.md) * [Authoring Addons](ember/authoring-addons.md) * [Template Imports](ember/template-imports.md) -* [GlimmerX](using-glint/glimmerx/README.md) - * [Installation](glimmerx/installation.md) - * [Component Signatures](glimmerx/component-signatures.md) - * [Template Components](glimmerx/template-components.md) ## Troubleshooting * [Migration Notes](migrating.md) diff --git a/docs/getting-started.md b/docs/getting-started.md index 3f40a08c7..58d39438a 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -6,7 +6,6 @@ Then, add a `"glint"` key in your `tsconfig.json` that tells Glint what environm See the [Configuration](configuration/_index.md) page for more details about options you can specify under the `"glint"` key. For setup instructions specific to your project type, check out the links below: -- [GlimmerX Installation](glimmerx/installation.md) - [Ember.js Installation](ember/installation.md) ## Using Glint diff --git a/docs/glimmerx/component-signatures.md b/docs/glimmerx/component-signatures.md deleted file mode 100644 index 3025cedb8..000000000 --- a/docs/glimmerx/component-signatures.md +++ /dev/null @@ -1,37 +0,0 @@ -While GlimmerX components accept `Args` as a type parameter, the Glint version accepts `Signature`, which contains types for `Element`, `Args` and `Yields`. - -The `Element` field declares what type of element(s), if any, the component applies its passed `...attributes` to. This is often the component's root element. Tracking this type ensures any modifiers used on your component will be compatible with the DOM element(s) they're ultimately attached to. If no `Element` is specified, it will be a type error to set any HTML attributes when invoking your component. - -The `Blocks` field specifies the names of any blocks the component yields to, as well as the type of any parameter(s) they'll receive. See the [Yieldable Named Blocks RFC] for further details. -(Note that the `inverse` block is an alias for `else`. These should be defined in `Yields` as `else`, though `{{yield to="inverse"}}` will continue to work.) - -```typescript -import Component, { hbs } from '@glimmerx/component'; - -export interface ShoutSignature { - // We have a `
` as our root element - Element: HTMLDivElement; - // We accept one required argument, `message` - Args: { - message: string; - }; - // We yield a single string to the default block, `shoutedMessage` - Blocks: { - default?: [shoutedMessage: string]; - }; -} - -export class Shout extends Component { - private get louderPlease() { - return `${this.args.message.toUpperCase()}!`; - } - - public static template = hbs` -
- {{yield this.louderPlease}} -
- `; -} -``` - -[yieldable named blocks rfc]: https://github.com/emberjs/rfcs/blob/master/text/0460-yieldable-named-blocks.md diff --git a/docs/glimmerx/installation.md b/docs/glimmerx/installation.md deleted file mode 100644 index 01615ff49..000000000 --- a/docs/glimmerx/installation.md +++ /dev/null @@ -1,48 +0,0 @@ -To use Glint with [GlimmerX](https://github.com/glimmerjs/glimmer-experimental), you'll add the `@glint/core`, `@glint/template` and `@glint/environment-glimmerx` packages to your project's `devDependencies`, then add a `"glint"` key to your project's `tsconfig.json`. - -{% tabs %} -{% tab title="Yarn" %} - -```sh -yarn add --dev @glint/core @glint/template @glint/environment-glimmerx -``` - -{% endtab %} -{% tab title="npm" %} - -```sh -npm install -D @glint/core @glint/template @glint/environment-glimmerx -``` - -{% endtab %} -{% endtabs %} - -{% code title="tsconfig.json" %} - -```javascript -{ - "compilerOptions": { /* ... */ }, - "glint": { - "environment": "glimmerx" - } -} -``` - -{% endcode %} - -Note that, by default, Glint will assume you want it to analyze all templates in the codebase that are covered by your `tsconfig.json`. To ignore any type errors up front so that you can incrementally migrate your project to typesafe templates, consider using [the `auto-glint-nocheck` script](https://github.com/typed-ember/glint/tree/main/packages/scripts#auto-glint-nocheck) to add [`@glint-nocheck` comments](../directives.md#glint-nocheck) to your existing templates that would produce errors. - -{% hint style="info" %} - -To minimize spurious errors when typechecking with vanilla `tsc` or your editor's TypeScript integration, you should add `import '@glint/environment-glimmerx';` somewhere in your project's source or type declarations. You may also choose to disable TypeScript's "unused symbol" warnings in your editor, since `tsserver` won't understand that templates actually are using them. - -{% endhint %} - -## Version Requirements - -Because Glint uses your project-local copy of TypeScript and the packages whose types it augments for use in templates, it requires certain minimum versions of those packages for compatibility. - -| Package | Minimum Version | -| ------------- | --------------- | -| `typescript` | 4.8.0 | -| `@glimmerx/*` | 0.6.7 | diff --git a/docs/glimmerx/template-components.md b/docs/glimmerx/template-components.md deleted file mode 100644 index 894ce3d67..000000000 --- a/docs/glimmerx/template-components.md +++ /dev/null @@ -1,25 +0,0 @@ -In GlimmerX, standalone templates can be invoked as components. Like class-based components, you can declare a signature for a template component in order for Glint to understand how it can be used. - -The class-based component above could as a template component like so: - -```typescript -import type { TemplateComponent } from '@glimmerx/component'; - -interface ShoutSignature { - /* same as above */ -} - -const shout = (message: string) => `${message.toUpperCase()}!`; - -const Shout: TemplateComponent = hbs` -
- {{yield (shout @message)}} -
-`; -``` - -Note that, similar to React's `FunctionComponent` and `FC`, you can also import and use the `TC` type alias as a shorthand for `TemplateComponent`: - -```typescript -import type { TC } from '@glimmerx/component'; -``` diff --git a/docs/migrating.md b/docs/migrating.md index 14bc4717d..a0669797a 100644 --- a/docs/migrating.md +++ b/docs/migrating.md @@ -236,20 +236,11 @@ When you've finished your migration, you can update to Glint 0.8 and remove the `import '@glint/environment-ember-loose/native-integration';` line from your project, leaving only `import '@glint/environment-ember-loose';`. -{% hint style="warning" %} -Note: `@glint/environment-glimmerx` currently does not support native imports and has been held back temporarily from -release for version 0.8.0. Until a new release of GlimmerX is available, please remain on Glint 0.7 for projects using -GlimmerX. -{% endhint %} - ## Native Signatures and Imports This guide provides direction for migrating from custom Glint-specific import paths and signature formats to the native imports and standardized signatures for `@ember/component`, `@glimmer/component` and `ember-modifier`. -Note that this guide applies to `@glint/environment-ember-loose`, but `@glint/environment-glimmerx` doesn't yet support -native imports, pending an upgrade of GlimmerX's own dependencies. - ### Background Prior to version `0.7.4`, Glint required users to import the factories and base classes for components, helpers and diff --git a/docs/overview.md b/docs/overview.md index e4bf4c22b..8f88a9899 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,4 +1,4 @@ -Glint is a set of tools to aid in developing code that uses the Glimmer VM for rendering, such as [Ember.js] v3.24+ and [GlimmerX] projects. Similar to [Vetur] for Vue projects or [Svelte Language Tools], Glint consists of a CLI and a language server to provide feedback and enforce correctness both locally during editing and project-wide in CI. +Glint is a set of tools to aid in developing code that uses the Glimmer VM for rendering, such as [Ember.js] v3.24+. Similar to [Vetur] for Vue projects or [Svelte Language Tools], Glint consists of a CLI and a language server to provide feedback and enforce correctness both locally during editing and project-wide in CI. ## Glint CLI @@ -19,7 +19,6 @@ The Glint language server implements the standardized [Language Server Protocol] ![Suggesting component arguments in typeahead with type information and documentation](https://user-images.githubusercontent.com/108688/111070948-3f9b2f00-84d4-11eb-9eaa-077cadf6f380.png) [ember.js]: https://www.emberjs.com -[glimmerx]: https://github.com/glimmerjs/glimmer-experimental [vetur]: https://github.com/vuejs/vetur [svelte language tools]: https://github.com/sveltejs/language-tools [language server protocol]: https://microsoft.github.io/language-server-protocol/ diff --git a/docs/using-glint/glimmerx/README.md b/docs/using-glint/glimmerx/README.md deleted file mode 100644 index 1918d1603..000000000 --- a/docs/using-glint/glimmerx/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# GlimmerX - diff --git a/docs/with-js.md b/docs/with-js.md index 37d04e8a2..1b64b8882 100644 --- a/docs/with-js.md +++ b/docs/with-js.md @@ -45,34 +45,32 @@ You can also use a `tsconfig.json` file with `compilerOptions.allowJs: true`. To receive equivalent rich editor support for component JS files in your project, you will need to document your components with valid JSDoc. For example: -```javascript -// SimpleComponent.js - -import Component from '@glint/environment-glimmerx/component'; -import { hbs } from '@glimmerx/component'; -import { helper } from '@glint/environment-glimmerx/helper'; - -const or = helper( - /** - * @template T - * @template U - * @param {[a: T, b: U]} param - * @returns T | U - */ - ([a, b]) => a || b -); +```gjs +// SimpleComponent.gjs + +import Component from '@glimmer/component'; + +/** + * Multiplies two numbers + * @param {number} a - The first operand + * @param {number} b - The second operand + * @returns {number} The multiplied value. + */ +const multiply = (a, b) => a * b; /** * @typedef SimpleComponentSignature * @property {object} Args - * @property {string} Args.message + * @property {number} Args.num */ /** @extends {Component} */ export default class SimpleComponent extends Component { - static template = hbs` -

This is my simple message: {{or @message 'hello'}}

- `; + foo = 5 + + } ``` diff --git a/packages/core/__tests__/config/environment.test.ts b/packages/core/__tests__/config/environment.test.ts index ff34994ef..5e8bc86ae 100644 --- a/packages/core/__tests__/config/environment.test.ts +++ b/packages/core/__tests__/config/environment.test.ts @@ -43,20 +43,6 @@ describe('Config: Environments', () => { env.moduleMayHaveEmbeddedTemplates('foo.ts', 'import { hbs } from "another-env"\n') ).toBe(false); }); - - test('getting specified template tag config', () => { - let tags = { - '@glimmerx/component': { - hbs: { - typesModule: '@glint/environment-glimmerx/-private/dsl', - }, - }, - }; - - let env = new GlintEnvironment(['test-env'], { tags }); - - expect(env.getConfiguredTemplateTags()).toBe(tags); - }); }); describe('standalone template config', () => { diff --git a/packages/environment-glimmerx/-private/dsl/globals.d.ts b/packages/environment-glimmerx/-private/dsl/globals.d.ts deleted file mode 100644 index 0ea5b795b..000000000 --- a/packages/environment-glimmerx/-private/dsl/globals.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as VM from '@glint/template/-private/keywords'; -import Globals from '../../globals'; - -interface Keywords { - component: VM.ComponentKeyword; - debugger: VM.DebuggerKeyword; - each: VM.EachKeyword; - 'has-block': VM.HasBlockKeyword; - 'has-block-params': VM.HasBlockParamsKeyword; - if: void; // the `if` keyword is implemented directly in `@glint/core` - 'in-element': VM.InElementKeyword; - let: VM.LetKeyword; - unless: void; // the `unless` keyword is implemented directly in `@glint/core` - with: VM.WithKeyword; - yield: void; // the `yield` keyword is implemented directly in `@glint/core` -} - -export declare const Globals: Keywords & Globals; diff --git a/packages/environment-glimmerx/-private/dsl/index.d.ts b/packages/environment-glimmerx/-private/dsl/index.d.ts deleted file mode 100644 index 93b1a1060..000000000 --- a/packages/environment-glimmerx/-private/dsl/index.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -export * from '@glint/template/-private/dsl'; -export { Globals } from './globals'; - -import './integration-declarations'; - -/* - * Since GlimmerX supports using bare functions as helpers that only - * accept positional parameters, we can't just use the core definitions - * of `resolve` and `resolveOrReturn`. Instead we need to export versions - * with additional overloads at the correct point in the chain to handle - * those functions correctly. - * - * In order, we have: - * - explicit `DirectInvokable` - * - constructor for an `Invokable` - * - a plain type guard - * - any other kind of plain function - * - * And in the case of `resolveOrReturn`, a final fallback for any other - * type of value. See the upstream definitions in `@glint/template` for - * further details on resolution. - */ - -import { ResolveOrReturn } from '@glint/template/-private/dsl'; -import { - ComponentReturn, - AnyContext, - AnyFunction, - DirectInvokable, - HasContext, - InvokableInstance, - Invoke, - InvokeDirect, - TemplateContext, - ModifierReturn, -} from '@glint/template/-private/integration'; - -export declare function resolve(item: T): T[typeof InvokeDirect]; -export declare function resolve( - item: abstract new (...args: Args) => Instance | null | undefined -): (...args: Parameters) => ReturnType; -export declare function resolve any) | null | undefined>( - item: T -): NonNullable; - -export declare const resolveOrReturn: ResolveOrReturn; - -// We customize the top-level `templateExpression` wrapper function for this environment to -// return a type that's assignable to `TemplateComponent` from '@glimmerx/component'. -// Longer term we should rationalize this to a type that doesn't carry extra baggage -// and likely comes from a more sensible path. - -import { TemplateComponentInstance } from '@glimmerx/component'; - -export declare function templateExpression< - Signature extends AnyFunction = () => ComponentReturn<{}>, - Context extends AnyContext = TemplateContext ->( - f: (πšͺ: Context, Ο‡: never) => void -): abstract new () => TemplateComponentInstance & - InvokableInstance & - HasContext; - -// We customize `applyModifier` to accept `void | () => void` as a valid modifier return type -export function applyModifier(modifierResult: ModifierReturn | void | (() => void)): void; diff --git a/packages/environment-glimmerx/-private/dsl/integration-declarations.d.ts b/packages/environment-glimmerx/-private/dsl/integration-declarations.d.ts deleted file mode 100644 index 5c1d7a91e..000000000 --- a/packages/environment-glimmerx/-private/dsl/integration-declarations.d.ts +++ /dev/null @@ -1,119 +0,0 @@ -// This module is responsible for augmenting the upstream definitions of entities that interact -// with templates to include the information necessary for Glint to typecheck them. -import { ComponentLike, HelperLike, ModifierLike } from '@glint/template'; -import { - Context, - DirectInvokable, - FlattenBlockParams, - TemplateContext, -} from '@glint/template/-private/integration'; - -////////////////////////////////////////////////////////////////////// -// Components - -import '@glimmerx/component'; - -// Declaring that `hbs` returns a `TemplateComponent` prevents vanilla `tsc` from freaking out when -// it sees code like `const MyThing: TC = hbs...`. Glint itself will never see `hbs` get used, as -// it's transformed to the template DSL before typechecking. -type ComponentContext = TemplateContext< - This, - ComponentSignatureArgs['Named'], - FlattenBlockParams>, - ComponentSignatureElement ->; - -declare module '@glimmerx/component' { - export default interface Component extends InstanceType> { - [Context]: ComponentContext; - } - - export interface TemplateComponentInstance extends InstanceType> { - [Context]: ComponentContext; - } -} - -////////////////////////////////////////////////////////////////////// -// Helpers - -import '@glimmerx/helper'; - -type _FnHelper = DirectInvokable<{ - (f: (...rest: Args) => Ret): (...rest: Args) => Ret; - (f: (a: A, ...rest: Args) => Ret, a: A): (...rest: Args) => Ret; - (f: (a: A, b: B, ...rest: Args) => Ret, a: A, b: B): ( - ...rest: Args - ) => Ret; - ( - f: (a: A, b: B, c: C, ...rest: Args) => Ret, - a: A, - b: B, - c: C - ): (...rest: Args) => Ret; - ( - f: (a: A, b: B, c: C, d: D, ...rest: Args) => Ret, - a: A, - b: B, - c: C, - d: D - ): (...rest: Args) => Ret; - ( - f: (a: A, b: B, c: C, d: D, e: E, ...rest: Args) => Ret, - a: A, - b: B, - c: C, - d: D, - e: E - ): (...rest: Args) => Ret; - ( - f: (a: A, b: B, c: C, d: D, e: E, g: G, ...rest: Args) => Ret, - a: A, - b: B, - c: C, - d: D, - e: E, - g: G - ): (...rest: Args) => Ret; -}>; - -declare module '@glimmerx/helper/dist/commonjs/src/helper' { - export interface HelperInstance extends InstanceType> {} -} - -declare module '@glimmerx/helper' { - export interface FnHelper extends _FnHelper {} -} - -////////////////////////////////////////////////////////////////////// -// Modifiers - -import '@glimmerx/modifier'; -import { - ComponentSignatureArgs, - ComponentSignatureBlocks, - ComponentSignatureElement, -} from '@glint/template/-private/signature'; - -export interface OnModifierArgs { - capture?: boolean; - once?: boolean; - passive?: boolean; -} - -type EventForName = Name extends keyof HTMLElementEventMap - ? HTMLElementEventMap[Name] - : Event; - -type _OnModifier = abstract new () => InstanceType< - ModifierLike<{ - Element: Element; - Args: { - Named: OnModifierArgs; - Positional: [name: Name, callback: (event: EventForName) => void]; - }; - }> ->; - -declare module '@glimmerx/modifier' { - export interface OnModifier extends _OnModifier {} -} diff --git a/packages/environment-glimmerx/-private/environment/index.ts b/packages/environment-glimmerx/-private/environment/index.ts deleted file mode 100644 index 9b8daa3ba..000000000 --- a/packages/environment-glimmerx/-private/environment/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { GlintEnvironmentConfig, GlintTagConfig } from '@glint/core/config-types'; - -export default function glimmerxEnvironment( - config: Record -): GlintEnvironmentConfig { - let additionalGlobals = Array.isArray(config['additionalGlobals']) - ? config['additionalGlobals'] - : []; - - let tagConfig: GlintTagConfig = { - typesModule: '@glint/environment-glimmerx/-private/dsl', - specialForms: { - globals: { - if: 'if', - unless: 'if-not', - yield: 'yield', - component: 'bind-invokable', - }, - }, - globals: [ - 'component', - 'debugger', - 'each', - 'has-block', - 'has-block-params', - 'if', - 'in-element', - 'let', - 'unless', - 'with', - 'yield', - ...additionalGlobals, - ], - }; - - return { - tags: { - '@glimmerx/component': { hbs: tagConfig }, - }, - }; -} diff --git a/packages/environment-glimmerx/-private/index.ts b/packages/environment-glimmerx/-private/index.ts deleted file mode 100644 index 76b60f7c5..000000000 --- a/packages/environment-glimmerx/-private/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Reference the scaffolding for our merged declarations for third party modules so -// that vanilla TS will see those as long as authors have -// `import '@glint/environment-glimmerx'` somewhere in their project. - -/// -/// -export {}; diff --git a/packages/environment-glimmerx/.gitignore b/packages/environment-glimmerx/.gitignore deleted file mode 100644 index a6fb3c7fb..000000000 --- a/packages/environment-glimmerx/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.js -*.d.ts -tsconfig.tsbuildinfo - -!-private/dsl/**/*.d.ts -!globals/**/*.d.ts \ No newline at end of file diff --git a/packages/environment-glimmerx/README.md b/packages/environment-glimmerx/README.md deleted file mode 100644 index df4ce671e..000000000 --- a/packages/environment-glimmerx/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# `@glint/environment-glimmerx` - -This package contains the information necessary for glint to typecheck a [glimmer-experimental](https://github.com/glimmerjs/glimmer-experimental) project. - -See [the Glint documentation](https://typed-ember.gitbook.io/glint/using-glint/glimmerx/installation) for more detailed instructions on working with GlimmerX projects in Glint. diff --git a/packages/environment-glimmerx/__tests__/component.test.ts b/packages/environment-glimmerx/__tests__/component.test.ts deleted file mode 100644 index 7a6c5428b..000000000 --- a/packages/environment-glimmerx/__tests__/component.test.ts +++ /dev/null @@ -1,229 +0,0 @@ -import Component, { TemplateComponent as TC } from '@glimmerx/component'; -import { - templateForBackingValue, - templateExpression, - resolve, - yieldToBlock, - emitComponent, - NamedArgsMarker, -} from '@glint/environment-glimmerx/-private/dsl'; -import { expectTypeOf } from 'expect-type'; -import { ComponentReturn } from '@glint/template/-private/integration'; - -{ - class NoArgsComponent extends Component { - static template = templateForBackingValue(this, function (πšͺ) { - πšͺ; - }); - } - - resolve(NoArgsComponent)( - // @ts-expect-error: bad positional arg - 'oops' - ); - - { - const component = emitComponent(resolve(NoArgsComponent)()); - - { - // @ts-expect-error: never yields, so shouldn't accept blocks - component.blockParams.default; - } - } - - emitComponent(resolve(NoArgsComponent)()); -} - -{ - class StatefulComponent extends Component { - private foo = 'hello'; - - static template = templateForBackingValue(this, function (πšͺ) { - expectTypeOf(πšͺ.this.foo).toEqualTypeOf(); - expectTypeOf(πšͺ.this).toEqualTypeOf(); - expectTypeOf(πšͺ.args).toEqualTypeOf<{}>(); - }); - } - - emitComponent(resolve(StatefulComponent)()); -} - -{ - interface YieldingComponentSignature { - Args: { - values: Array; - }; - Blocks: { - default: [T]; - else?: []; - }; - } - - class YieldingComponent extends Component> { - static template = templateForBackingValue(this, function (πšͺ) { - // We can't directly assert on the type of e.g. `@values` here, as we don't - // have a name for it in scope: the type `T` is present on the class instance, - // but not in a `static` block. However, the yields below confirm that the - // `@values` arg, since the only information we have about that type is that - // the array element and the yielded value are the same. - yieldToBlock( - πšͺ, - 'default' - )( - // @ts-expect-error: only a `T` is a valid yield - 123 - ); - - if (πšͺ.args.values.length) { - yieldToBlock(πšͺ, 'default')(πšͺ.args.values[0]); - } else { - yieldToBlock(πšͺ, 'else')(); - } - }); - } - - resolve(YieldingComponent)( - // @ts-expect-error: missing required arg - { ...NamedArgsMarker } - ); - - resolve(YieldingComponent)({ - // @ts-expect-error: incorrect type for arg - values: 'hello', - ...NamedArgsMarker, - }); - - resolve(YieldingComponent)({ - values: [1, 2, 3], - // @ts-expect-error: extra arg - oops: true, - ...NamedArgsMarker, - }); - - type InferSignature = T extends Component ? Signature : never; - expectTypeOf>>().toEqualTypeOf< - YieldingComponentSignature - >(); - - { - const component = emitComponent(resolve(YieldingComponent)({ values: [], ...NamedArgsMarker })); - - { - // @ts-expect-error: invalid block name - component.blockParams.foo; - } - } - - { - const component = emitComponent( - resolve(YieldingComponent)({ values: [1, 2, 3], ...NamedArgsMarker }) - ); - - { - const [value] = component.blockParams.default; - expectTypeOf(value).toEqualTypeOf(); - } - } - - { - const component = emitComponent( - resolve(YieldingComponent)({ values: [1, 2, 3], ...NamedArgsMarker }) - ); - - { - const [...args] = component.blockParams.default; - expectTypeOf(args).toEqualTypeOf<[number]>(); - } - - { - const [...args] = component.blockParams.else; - expectTypeOf(args).toEqualTypeOf<[]>(); - } - } -} - -{ - const NoAnnotationTC = templateExpression(function (πšͺ) { - expectTypeOf(πšͺ.this).toBeVoid(); - expectTypeOf(πšͺ.element).toBeVoid(); - expectTypeOf(πšͺ.args).toEqualTypeOf<{}>(); - expectTypeOf(πšͺ.blocks).toEqualTypeOf<{}>(); - }); - - expectTypeOf(resolve(NoAnnotationTC)).toEqualTypeOf<() => ComponentReturn<{}>>(); -} - -{ - interface YieldingTCSignature { - Args: { - values: Array; - }; - Blocks: { - default: [number]; - else?: []; - }; - } - - let YieldingTC: TC = templateExpression(function (πšͺ) { - expectTypeOf(πšͺ.this).toEqualTypeOf(null); - expectTypeOf(πšͺ.args).toEqualTypeOf<{ values: Array }>(); - expectTypeOf(πšͺ.element).toBeUnknown(); - expectTypeOf(πšͺ.blocks).toEqualTypeOf(); - - if (πšͺ.args.values.length) { - yieldToBlock(πšͺ, 'default')(πšͺ.args.values[0]); - } else { - yieldToBlock(πšͺ, 'else')(); - } - }); - - resolve(YieldingTC)( - // @ts-expect-error: missing required arg - { ...NamedArgsMarker } - ); - - resolve(YieldingTC)({ - // @ts-expect-error: incorrect type for arg - values: 'hello', - ...NamedArgsMarker, - }); - - resolve(YieldingTC)({ - values: [1, 2, 3], - // @ts-expect-error: extra arg - oops: true, - ...NamedArgsMarker, - }); - - { - const component = emitComponent(resolve(YieldingTC)({ values: [], ...NamedArgsMarker })); - - { - // @ts-expect-error: invalid block name - component.blockParams.foo; - } - } - - { - const component = emitComponent(resolve(YieldingTC)({ values: [1, 2, 3], ...NamedArgsMarker })); - - { - const [value] = component.blockParams.default; - expectTypeOf(value).toEqualTypeOf(); - } - } - - { - const component = emitComponent(resolve(YieldingTC)({ values: [1, 2, 3], ...NamedArgsMarker })); - - { - const [...args] = component.blockParams.default; - expectTypeOf(args).toEqualTypeOf<[number]>(); - } - - { - const [...args] = component.blockParams.else; - expectTypeOf(args).toEqualTypeOf<[]>(); - } - } -} diff --git a/packages/environment-glimmerx/__tests__/globals.test.ts b/packages/environment-glimmerx/__tests__/globals.test.ts deleted file mode 100644 index a5a4a2f9e..000000000 --- a/packages/environment-glimmerx/__tests__/globals.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { expectTypeOf } from 'expect-type'; -import { DebuggerKeyword } from '@glint/template/-private/keywords/debugger'; -import { EachKeyword } from '@glint/template/-private/keywords/each'; -import { HasBlockKeyword } from '@glint/template/-private/keywords/has-block'; -import { HasBlockParamsKeyword } from '@glint/template/-private/keywords/has-block-params'; -import { InElementKeyword } from '@glint/template/-private/keywords/in-element'; -import { LetKeyword } from '@glint/template/-private/keywords/let'; -import { WithKeyword } from '@glint/template/-private/keywords/with'; -import { ComponentKeyword } from '@glint/template/-private/keywords'; - -import { Globals } from '@glint/environment-glimmerx/-private/dsl'; - -expectTypeOf(Globals['debugger']).toEqualTypeOf(); -expectTypeOf(Globals['each']).toEqualTypeOf(); -expectTypeOf(Globals['has-block']).toEqualTypeOf(); -expectTypeOf(Globals['has-block-params']).toEqualTypeOf(); -expectTypeOf(Globals['in-element']).toEqualTypeOf(); -expectTypeOf(Globals['let']).toEqualTypeOf(); -expectTypeOf(Globals['with']).toEqualTypeOf(); -expectTypeOf(Globals['component']).toEqualTypeOf(); - -// TODO: either add a keyword type or implement directly in the transformation layer -expectTypeOf(Globals['unless']).toEqualTypeOf(); diff --git a/packages/environment-glimmerx/__tests__/helper.test.ts b/packages/environment-glimmerx/__tests__/helper.test.ts deleted file mode 100644 index 6038db441..000000000 --- a/packages/environment-glimmerx/__tests__/helper.test.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { emitContent, NamedArgsMarker, resolve } from '@glint/environment-glimmerx/-private/dsl'; -import { helper, fn as fnDefinition } from '@glimmerx/helper'; -import { NamedArgs } from '@glint/template/-private/integration'; -import { expectTypeOf } from 'expect-type'; -import '@glint/environment-glimmerx'; - -// Built-in helper: `fn` -{ - let fn = resolve(fnDefinition); - - fn( - (t: string) => t, - // @ts-expect-error: invalid arg - 123 - ); - - expectTypeOf(fn(() => true)).toEqualTypeOf<() => boolean>(); - expectTypeOf(fn((arg: string) => arg.length)).toEqualTypeOf<(arg: string) => number>(); - expectTypeOf(fn((arg: string) => arg.length, 'hi')).toEqualTypeOf<() => number>(); - - let identity = (x: T): T => x; - - // Bound type parameters are reflected in the output - expectTypeOf(fn(identity, 'hi')).toEqualTypeOf<() => string>(); - - // Unbound type parameters survive to the output - expectTypeOf(fn(identity)).toEqualTypeOf<{ (x: T): T }>(); -} - -// Custom helper: positional params -{ - let definition = helper(([a, b]: [T, U]) => a || b); - let or = resolve(definition); - - expectTypeOf(or).toEqualTypeOf<{ (t: T, u: U): T | U }>(); - - or( - 'a', - 'b', - // @ts-expect-error: unexpected named args - { hello: true, ...NamedArgsMarker } - ); - - // @ts-expect-error: missing positional arg - or('a'); - - or( - 'a', - 'b', - // @ts-expect-error: extra positional arg - 'c' - ); - - expectTypeOf(or('a', 'b')).toEqualTypeOf(); - expectTypeOf(or('a' as string, true as boolean)).toEqualTypeOf(); - expectTypeOf(or(false, true)).toEqualTypeOf(); -} - -// Custom helper: named params -{ - let definition = helper((_: [], { word, count }: { word: string; count?: number }) => { - return Array.from({ length: count ?? 2 }, () => word); - }); - - let repeat = resolve(definition); - - expectTypeOf(repeat).toEqualTypeOf< - (args: NamedArgs<{ word: string; count?: number }>) => Array - >(); - - // @ts-expect-error: extra positional arg - repeat(123, { word: 'hi', ...NamedArgsMarker }); - - // @ts-expect-error: missing required named arg - repeat({ count: 3, ...NamedArgsMarker }); - - repeat({ - word: 'hello', - // @ts-expect-error: extra named arg - foo: true, - ...NamedArgsMarker, - }); - - expectTypeOf(repeat({ word: 'hi', ...NamedArgsMarker })).toEqualTypeOf>(); - expectTypeOf(repeat({ word: 'hi', count: 3, ...NamedArgsMarker })).toEqualTypeOf>(); -} - -// Custom helper: bare function -{ - let definition = (item: T, count?: number): Array => { - return Array.from({ length: count ?? 2 }, () => item); - }; - - let repeat = resolve(definition); - - expectTypeOf(repeat).toEqualTypeOf<{ - (item: T, count?: number): Array; - }>(); - - repeat( - 123, - 12, - // @ts-expect-error: unexpected named arg - { word: 'hi', ...NamedArgsMarker } - ); - - // @ts-expect-error: missing required positional arg - repeat(); - - // @ts-expect-error: extra positional arg - repeat('hi', 12, 'ok'); - - expectTypeOf(repeat(123)).toEqualTypeOf>(); - expectTypeOf(repeat('hi', 5)).toEqualTypeOf>(); -} - -// Custom helper: type guard -{ - let definition = (arg: unknown): arg is string => typeof arg === 'string'; - - let isString = resolve(definition); - - expectTypeOf(isString).toEqualTypeOf<(arg: unknown) => arg is string>(); - - let x = 'hi' as string | number; - if (isString(x)) { - expectTypeOf(x).toEqualTypeOf(); - } else { - expectTypeOf(x).toEqualTypeOf(); - } -} - -// Custom helper that accepts `unknown` -// (and therefore plausibly could be interpreted as a modifier, but shouldn't be) -{ - let definition = (_arg: unknown, callback: () => void): void => callback(); - - let hackyOnChange = resolve(definition); - - expectTypeOf(hackyOnChange).toEqualTypeOf<(arg: unknown, callback: () => void) => void>(); - - emitContent(hackyOnChange('hello', () => console.log('change!'))); -} diff --git a/packages/environment-glimmerx/__tests__/modifier.test.ts b/packages/environment-glimmerx/__tests__/modifier.test.ts deleted file mode 100644 index 4113f80ab..000000000 --- a/packages/environment-glimmerx/__tests__/modifier.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { on as onDefinition } from '@glimmerx/modifier'; -import { resolve, applyModifier, NamedArgsMarker } from '@glint/environment-glimmerx/-private/dsl'; -import { expectTypeOf } from 'expect-type'; - -// Built-in modifier: `on` -{ - const el = new HTMLDivElement(); - const on = resolve(onDefinition); - - on(el, 'click', () => {}, { - // @ts-expect-error: extra named arg - foo: 'bar', - ...NamedArgsMarker, - }); - - // @ts-expect-error: missing positional arg - on(el, 'click'); - - on( - el, - 'click', - () => {}, - // @ts-expect-error: extra positional arg - 'hello' - ); - - on(el, 'unknown', (event) => { - expectTypeOf(event).toEqualTypeOf(); - }); - - on(el, 'click', (event) => { - expectTypeOf(event).toEqualTypeOf(); - }); - - applyModifier(on(el, 'click', () => {})); -} - -// Custom modifier with a specific element type -{ - const fetchImageData = resolve( - (element: HTMLImageElement, callback: (data: ImageData | undefined) => void): void => { - let context = document.createElement('canvas').getContext('2d'); - context?.drawImage(element, 0, 0); - callback(context?.getImageData(0, 0, element.naturalWidth, element.naturalHeight)); - } - ); - - applyModifier(fetchImageData(new HTMLImageElement(), (data) => console.log(data))); - - applyModifier( - fetchImageData( - // @ts-expect-error: invalid element type - new HTMLDivElement(), - (data) => console.log(data) - ) - ); -} diff --git a/packages/environment-glimmerx/__tests__/resolve.test.ts b/packages/environment-glimmerx/__tests__/resolve.test.ts deleted file mode 100644 index ebb85cb28..000000000 --- a/packages/environment-glimmerx/__tests__/resolve.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { expectTypeOf } from 'expect-type'; -import { resolve, resolveOrReturn } from '@glint/environment-glimmerx/-private/dsl'; - -{ - const shout = (arg: string): string => arg.toUpperCase(); - - expectTypeOf(resolve(shout)).toEqualTypeOf<(arg: string) => string>(); - expectTypeOf(resolveOrReturn(shout)).toEqualTypeOf<(arg: string) => string>(); - - // @ts-expect-error: strings are not resolvable - resolve('hello'); - expectTypeOf(resolveOrReturn('hello')).toEqualTypeOf<() => string>(); -} diff --git a/packages/environment-glimmerx/__tests__/tsconfig.json b/packages/environment-glimmerx/__tests__/tsconfig.json deleted file mode 100644 index bfaf313de..000000000 --- a/packages/environment-glimmerx/__tests__/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../../tsconfig.compileroptions.json", - "compilerOptions": { - "composite": false, - "noEmit": true - } -} diff --git a/packages/environment-glimmerx/globals/index.d.ts b/packages/environment-glimmerx/globals/index.d.ts deleted file mode 100644 index cbaadbaa1..000000000 --- a/packages/environment-glimmerx/globals/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ - -export default interface Globals { - // used to hang any macros off of that are provided by config.additionalGlobals -} \ No newline at end of file diff --git a/packages/environment-glimmerx/package.json b/packages/environment-glimmerx/package.json deleted file mode 100644 index 04409dda1..000000000 --- a/packages/environment-glimmerx/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "@glint/environment-glimmerx", - "version": "1.3.0", - "repository": "typed-ember/glint", - "description": "A Glint environment to support GlimmerX projects", - "license": "MIT", - "author": "Dan Freeman (https://github.com/dfreeman)", - "main": "./-private/index.js", - "exports": { - ".": "./-private/index.js", - "./globals": "./globals/index.js", - "./glint-environment-definition": "./-private/environment/index.js", - "./-private/dsl": "./-private/dsl/index.js" - }, - "keywords": [ - "glint-environment" - ], - "scripts": { - "test": "tsc --project __tests__", - "build": "tsc --build", - "prepack": "yarn build" - }, - "files": [ - "README.md", - "globals/index.d.ts", - "-private/**/*.{js,d.ts}", - "environment/**/*.{js,d.ts}", - "modifier/**/*.{js,d.ts}", - "helper/**/*.{js,d.ts}", - "component/**/*.{js,d.ts}" - ], - "peerDependencies": { - "@glint/template": "^1.3.0", - "@glimmerx/component": "^0.6.7", - "@glimmerx/modifier": "^0.6.7", - "@glimmerx/helper": "^0.6.7" - }, - "peerDependenciesMeta": { - "@glimmerx/component": { - "optional": true - }, - "@glimmerx/helper": { - "optional": true - }, - "@glimmerx/modifier": { - "optional": true - } - }, - "devDependencies": { - "@glimmerx/component": "^0.6.7", - "@glimmerx/modifier": "^0.6.7", - "@glimmerx/helper": "^0.6.7", - "expect-type": "^0.15.0" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/environment-glimmerx/tsconfig.json b/packages/environment-glimmerx/tsconfig.json deleted file mode 100644 index b0007505c..000000000 --- a/packages/environment-glimmerx/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "../../tsconfig.compileroptions.json", - "exclude": ["__tests__"], - "references": [{ "path": "../template" }, { "path": "../core" }] -} diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/.eslintrc b/packages/vscode/__fixtures__/js-glimmerx-app/.eslintrc deleted file mode 100644 index 17863d1dd..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/.eslintrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parser": "babel-eslint", - "parserOptions": { - "sourceType": "module" - }, - "env": { - "browser": true - }, - "plugins": ["@glimmerx"], - "rules": { - "@glimmerx/template-vars": "error" - } -} diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/jsconfig.json b/packages/vscode/__fixtures__/js-glimmerx-app/jsconfig.json deleted file mode 100644 index cf6afea25..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "module": "es2015", - "moduleResolution": "node", - "experimentalDecorators": true, - "checkJs": true - }, - "glint": { - "environment": "glimmerx" - } -} diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/package.json b/packages/vscode/__fixtures__/js-glimmerx-app/package.json deleted file mode 100644 index 25d06a408..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test-js-glimmerx-app", - "private": true -} diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/src/SimpleComponent.js b/packages/vscode/__fixtures__/js-glimmerx-app/src/SimpleComponent.js deleted file mode 100644 index 2e2b8583c..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/src/SimpleComponent.js +++ /dev/null @@ -1,14 +0,0 @@ -import Component, { hbs } from '@glimmerx/component'; - -/** - * @typedef SimpleComponentSignature - * @property {object} Args - * @property {string} Args.message - */ - -/** @extends {Component} */ -export default class SimpleComponent extends Component { - static template = hbs` -

This is my message: {{@message}}

- `; -} diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/src/index.js b/packages/vscode/__fixtures__/js-glimmerx-app/src/index.js deleted file mode 100644 index 69b2ed552..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { renderComponent } from '@glimmerx/core'; -import SimpleComponent from './SimpleComponent'; - -const containerElement = document.getElementById('app'); - -renderComponent(SimpleComponent, containerElement); diff --git a/packages/vscode/__fixtures__/js-glimmerx-app/tests/integration/component-test.js b/packages/vscode/__fixtures__/js-glimmerx-app/tests/integration/component-test.js deleted file mode 100644 index c8f4eebbd..000000000 --- a/packages/vscode/__fixtures__/js-glimmerx-app/tests/integration/component-test.js +++ /dev/null @@ -1,24 +0,0 @@ -import Component, { hbs } from '@glimmerx/component'; -import { renderComponent } from '@glimmerx/core'; -import { module, test } from 'qunit'; - -const getTestRoot = () => document.getElementById('qunit-fixture') || document.body; - -module('Integration | component test', function () { - test('typechecking', async (assert) => { - class TestComponent extends Component { - static template = hbs` - {{this.message}} - `; - - get message() { - return 'hi'; - } - } - - const container = getTestRoot(); - await renderComponent(TestComponent, container); - - assert.equal(container.textContent.trim(), 'hi'); - }); -}); diff --git a/packages/vscode/__tests__/smoketest-js-glimmerx.test.ts b/packages/vscode/__tests__/smoketest-js-glimmerx.test.ts deleted file mode 100644 index 74f250d04..000000000 --- a/packages/vscode/__tests__/smoketest-js-glimmerx.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - commands, - languages, - Position, - ViewColumn, - window, - Uri, - Range, - CodeAction, - workspace, -} from 'vscode'; -import * as path from 'path'; -import { describe, afterEach, test } from 'mocha'; -import { expect } from 'expect'; -import { waitUntil } from './helpers/async'; - -describe('Smoke test: js-glimmerx', () => { - const rootDir = path.resolve(__dirname, '../../__fixtures__/js-glimmerx-app'); - - afterEach(async () => { - while (window.activeTextEditor) { - await commands.executeCommand('workbench.action.files.revert'); - await commands.executeCommand('workbench.action.closeActiveEditor'); - } - }); - - describe('diagnostics for errors', () => { - test('component template', async () => { - let scriptURI = Uri.file(`${rootDir}/src/SimpleComponent.js`); - - // Open the script and the template - let scriptEditor = await window.showTextDocument(scriptURI, { viewColumn: ViewColumn.One }); - - // Ensure neither has any diagnostic messages - expect(languages.getDiagnostics(scriptURI)).toEqual([]); - - // Comment out a property in the script that's referenced in the template - await scriptEditor.edit((edit) => { - edit.insert(new Position(11, 27), ' {{@undocumentedProperty}}'); - }); - - // Wait for a diagnostic to appear in the template - await waitUntil(() => languages.getDiagnostics(scriptURI).length); - - // Ensure the diagnostic is the error we expect - expect(languages.getDiagnostics(scriptURI)).toMatchObject([ - { - message: "Property 'undocumentedProperty' does not exist on type '{ message: string; }'.", - source: 'glint', - code: 2339, - range: new Range(11, 31, 11, 51), - }, - ]); - }); - - test('rendering test', async () => { - let scriptURI = Uri.file(`${rootDir}/tests/integration/component-test.js`); - let scriptEditor = await window.showTextDocument(scriptURI); - - // Ensure everything is clean to start - expect(languages.getDiagnostics(scriptURI)).toEqual([]); - - // Replace "message" in `{{this.message}}` with "foo" - await scriptEditor.edit((edit) => { - edit.replace(new Range(10, 15, 10, 22), 'foo'); - }); - - // Wait for a diagnostic to appear - await waitUntil(() => languages.getDiagnostics(scriptURI).length); - - expect(languages.getDiagnostics(scriptURI)).toMatchObject([ - { - message: "Property 'foo' does not exist on type 'TestComponent'.", - source: 'glint', - code: 2339, - range: new Range(10, 15, 10, 18), - }, - ]); - }); - - test('glint-ignore codeaction in JS files', async () => { - let scriptURI = Uri.file(`${rootDir}/src/SimpleComponent.js`); - - // Open the script and the template - let scriptEditor = await window.showTextDocument(scriptURI, { viewColumn: ViewColumn.One }); - - // Ensure neither has any diagnostic messages - expect(languages.getDiagnostics(scriptURI)).toEqual([]); - - // Comment out a property in the script that's referenced in the template - await scriptEditor.edit((edit) => { - edit.insert(new Position(11, 27), ' {{@undocumentedProperty}}'); - }); - - // Wait for a diagnostic to appear in the template - await waitUntil(() => { - const diagnostics = languages.getDiagnostics(scriptURI); - return diagnostics.length; - }); - - const fixes = await commands.executeCommand( - 'vscode.executeCodeActionProvider', - scriptURI, - new Range(new Position(11, 32), new Position(11, 32)) - ); - - // select ignore - await workspace.applyEdit(fixes![0].edit!); - - await waitUntil(() => scriptEditor.document.getText().includes('glint-ignore')); - }); - }); -}); diff --git a/test-packages/js-glimmerx-app/.babelrc.js b/test-packages/js-glimmerx-app/.babelrc.js deleted file mode 100644 index 289cb2f0e..000000000 --- a/test-packages/js-glimmerx-app/.babelrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = function (api) { - return { - plugins: [['@glimmer/babel-plugin-glimmer-env', { DEBUG: !api.env('production') }]], - presets: ['@babel/preset-env', '@glimmerx/babel-preset'], - }; -}; diff --git a/test-packages/js-glimmerx-app/.editorconfig b/test-packages/js-glimmerx-app/.editorconfig deleted file mode 100644 index 2f883fb55..000000000 --- a/test-packages/js-glimmerx-app/.editorconfig +++ /dev/null @@ -1,20 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 2 -max_line_length = 100 - -[*.hbs] -insert_final_newline = false - -[*.{diff,md}] -trim_trailing_whitespace = false diff --git a/test-packages/js-glimmerx-app/.gitignore b/test-packages/js-glimmerx-app/.gitignore deleted file mode 100644 index 4b08f9255..000000000 --- a/test-packages/js-glimmerx-app/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -tmp/* -dist - -glint.log -yarn-error.log -.eslintcache diff --git a/test-packages/js-glimmerx-app/README.md b/test-packages/js-glimmerx-app/README.md deleted file mode 100644 index 647b80830..000000000 --- a/test-packages/js-glimmerx-app/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# js-glimmerx-app - -This application is used for development of the Glint language server in an untyped GlimmerX project. - -This README will be updated as functionality is added. diff --git a/test-packages/js-glimmerx-app/index.html b/test-packages/js-glimmerx-app/index.html deleted file mode 100644 index 5164e41e5..000000000 --- a/test-packages/js-glimmerx-app/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - js-glimmerx-app - - - - - - - -
- - diff --git a/test-packages/js-glimmerx-app/jsconfig.json b/test-packages/js-glimmerx-app/jsconfig.json deleted file mode 100644 index 3e31f7966..000000000 --- a/test-packages/js-glimmerx-app/jsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "module": "es2015", - "inlineSourceMap": true, - "inlineSources": true, - "moduleResolution": "node", - "experimentalDecorators": true, - "types": ["qunit"], - "checkJs": true - }, - "exclude": ["node_modules", "tmp", "dist"], - "glint": { - "environment": "glimmerx" - } -} diff --git a/test-packages/js-glimmerx-app/package.json b/test-packages/js-glimmerx-app/package.json deleted file mode 100644 index 02f2e573d..000000000 --- a/test-packages/js-glimmerx-app/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "name": "js-glimmerx-app", - "version": "1.3.0", - "description": "A brand new Glimmer app.", - "directories": { - "doc": "doc", - "test": "tests" - }, - "scripts": { - "build": "NODE_ENV=production webpack", - "start": "webpack-dev-server", - "test": "true # TODO: we'll make this do type-checking soon!" - }, - "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.0", - "@glimmerx/babel-preset": "^0.6.7", - "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.12", - "@glimmer/env": "^0.1.7", - "@glimmer/syntax": "^0.84.3", - "@glimmerx/component": "^0.6.7", - "@glimmerx/core": "^0.6.7", - "@glimmerx/eslint-plugin": "^0.6.7", - "@glimmerx/helper": "^0.6.7", - "@glimmerx/modifier": "^0.6.7", - "@glint/core": "^1.3.0", - "babel-loader": "^8.1.0", - "clean-webpack-plugin": "^3.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.4.2", - "eslint": "^6.8.0", - "file-loader": "^6.0.0", - "glob": "7.1.6", - "html-webpack-plugin": "^4.0.4", - "npm-run-all": "^4.1.5", - "prettier": "^2.0.2", - "qunit": "^2.9.3", - "qunit-dom": "^1.1.0", - "style-loader": "^1.1.3", - "testem": "^3.0.3", - "webpack": "^4.42.1", - "webpack-cli": "^3.3.11", - "webpack-dev-server": "^3.10.3" - }, - "eslintConfig": { - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2022, - "sourceType": "module", - "ecmaFeatures": { - "impliedStrict": true - } - }, - "rules": { - "no-unused-vars": "off" - }, - "env": { - "browser": true - }, - "ignorePatterns": [ - "dist/", - "node_modules/", - "!.*" - ], - "overrides": [ - { - "files": [ - ".babelrc.js", - "testem.js", - "webpack.config.js" - ], - "env": { - "node": true - } - } - ] - }, - "prettier": { - "singleQuote": true, - "trailingComma": "es5" - }, - "browserslist": { - "production": [ - "last 2 Edge versions", - "last 2 Chrome versions", - "last 2 Firefox versions", - "last 2 Safari versions" - ], - "development": [ - "last 1 Chrome version", - "last 1 Firefox version", - "last 1 Safari version" - ] - }, - "engines": { - "node": ">= 14.0" - }, - "private": true, - "volta": { - "extends": "../../package.json" - } -} diff --git a/test-packages/js-glimmerx-app/public/favicon.png b/test-packages/js-glimmerx-app/public/favicon.png deleted file mode 100644 index 30f8eefa0317e39fff128bb9a3b8cd2eed218e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 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 y(R6xq9VNe8@74)?oz{ud@+4p)5;r|Duq5-`C diff --git a/test-packages/js-glimmerx-app/public/manifest.json b/test-packages/js-glimmerx-app/public/manifest.json deleted file mode 100644 index f5669184f..000000000 --- a/test-packages/js-glimmerx-app/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "js-glimmerx-app", - "name": "A brand new Glimmer app.", - "icons": [ - { - "src": "favicon.png", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/test-packages/js-glimmerx-app/public/robots.txt b/test-packages/js-glimmerx-app/public/robots.txt deleted file mode 100644 index f5916452e..000000000 --- a/test-packages/js-glimmerx-app/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# http://www.robotstxt.org -User-agent: * -Disallow: diff --git a/test-packages/js-glimmerx-app/src/App.css b/test-packages/js-glimmerx-app/src/App.css deleted file mode 100644 index e62f5a6fe..000000000 --- a/test-packages/js-glimmerx-app/src/App.css +++ /dev/null @@ -1,10 +0,0 @@ -body { - margin: 0; - font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif; -} - -#app { - min-height: 100vh; - width: 800px; - margin: auto; -} diff --git a/test-packages/js-glimmerx-app/src/App.js b/test-packages/js-glimmerx-app/src/App.js deleted file mode 100644 index cdaa8b67a..000000000 --- a/test-packages/js-glimmerx-app/src/App.js +++ /dev/null @@ -1,72 +0,0 @@ -import Component, { hbs, tracked } from '@glimmerx/component'; -import { on, action } from '@glimmerx/modifier'; - -import './App.css'; -import GreetingHeader from './GreetingHeader'; - -/** - * Formats a name to include "the Great and Powerful" afterwards. This is - * a ridiculous helper! - * - * @param {string} name the name to format - * @returns {string} the formatted name - */ -function formatName(name) { - return `${name} the Great and Powerful`; -} - -/** - * @typedef FormattedNameSignature - * @property {object} Args - * @property {string} Args.name The name to be formatted - */ -/** @extends {Component} */ -class FormattedName extends Component { - static template = hbs` - {{formatName this.args.name}}! - `; -} - -const I_AM_CONSTANT = 'and I am a constant'; - -/** - * @typedef ComponentAsArgSignature - * @property {object} Args - * @property {import('@glint/template').WithBoundArgs, 'name'>} Args.title I really can't think of a good description - */ -/** - * @type {import('@glimmerx/component').TemplateComponent} - */ -const ComponentAsArg = hbs` -

I am {{@title}}

- {{I_AM_CONSTANT}} -`; - -export default class HelloWorld extends Component { - static template = hbs` - - - - `; -} - -/** - * @typedef IncrementableButtonSignature - * @property {object} Args - * @property {number} Args.startCount The count to start at - */ - -/** @extends {Component} */ -class IncrementableButton extends Component { - /** @type {number} the incrementable count */ - @tracked count = this.args.startCount; - - @action increment() { - this.count++; - } - - static template = hbs` -

You have clicked the button {{this.count}} times.

- - `; -} diff --git a/test-packages/js-glimmerx-app/src/GreetingHeader.js b/test-packages/js-glimmerx-app/src/GreetingHeader.js deleted file mode 100644 index b4a2f2fd7..000000000 --- a/test-packages/js-glimmerx-app/src/GreetingHeader.js +++ /dev/null @@ -1,29 +0,0 @@ -import Component, { hbs } from '@glimmerx/component'; -import { helper } from '@glimmerx/helper'; - -const or = helper( - /** @param {[a: *, b: *]} param */ - ([a, b]) => a || b -); - -/** - * @typedef GreetingHeaderSignature - * @property {object} Args - * @property {string} Args.greeting A really polite greeting (hopefully) - * @property {string} [Args.src] A really nice photo - * @property {string} [Args.target] Indicates who the greeting is for - */ - -/** @extends {Component} */ -export default class GreetingHeader extends Component { - static template = hbs` -

{{@greeting}}, {{or @target 'glimmerx'}}

- - {{@age}} - {{@onion}} - `; - - get src() { - return this.args.src || 'https://picsum.photos/250'; - } -} diff --git a/test-packages/js-glimmerx-app/src/SimpleComponent.js b/test-packages/js-glimmerx-app/src/SimpleComponent.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/js-glimmerx-app/src/index.js b/test-packages/js-glimmerx-app/src/index.js deleted file mode 100644 index e71218cd2..000000000 --- a/test-packages/js-glimmerx-app/src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { renderComponent } from '@glimmerx/core'; -import App from './App'; - -const containerElement = document.getElementById('app'); - -renderComponent(App, containerElement); diff --git a/test-packages/js-glimmerx-app/testem.js b/test-packages/js-glimmerx-app/testem.js deleted file mode 100644 index 49360c97e..000000000 --- a/test-packages/js-glimmerx-app/testem.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - framework: 'qunit', - test_page: 'dist/tests/index.html', - routes: { - '/tests.bundle.js': 'dist/tests.bundle.js', - '/public': 'dist/public', - '/images': 'dist/images', - }, - on_start: { - command: 'webpack', - wait_for_text: 'Built at:', - }, - watch_files: ['dist/tests.bundle.js'], - browser_start_timeout: 120, - browser_args: { - Chrome: { - ci: [ - // --no-sandbox is needed when running Chrome inside a container - process.env.CI ? '--no-sandbox' : null, - '--headless', - '--disable-dev-shm-usage', - '--disable-software-rasterizer', - '--mute-audio', - '--remote-debugging-port=0', - '--window-size=1440,900', - ].filter(Boolean), - }, - }, - launch_in_ci: ['Chrome'], - launch_in_dev: ['Chrome'], -}; diff --git a/test-packages/js-glimmerx-app/tests/index.html b/test-packages/js-glimmerx-app/tests/index.html deleted file mode 100644 index c34cd8aec..000000000 --- a/test-packages/js-glimmerx-app/tests/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - js-glimmerx-app Tests - - - -
-
- - - diff --git a/test-packages/js-glimmerx-app/tests/rendering/App.test.js b/test-packages/js-glimmerx-app/tests/rendering/App.test.js deleted file mode 100644 index aab787161..000000000 --- a/test-packages/js-glimmerx-app/tests/rendering/App.test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { module, test, renderComponent } from '../util'; - -import App from '../../src/App'; - -module('App test', () => { - test('it works', async (assert) => { - await renderComponent(App); - - assert.dom('h1').containsText('I am Oz the Great and Powerful!'); - }); -}); diff --git a/test-packages/js-glimmerx-app/tests/rendering/component.test.js b/test-packages/js-glimmerx-app/tests/rendering/component.test.js deleted file mode 100644 index 444b126e8..000000000 --- a/test-packages/js-glimmerx-app/tests/rendering/component.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import Component from '@glimmerx/component'; -import { hbs } from '@glimmerx/component'; -import { renderComponent } from '@glimmerx/core'; -import { module, test } from 'qunit'; - -const getTestRoot = () => document.getElementById('qunit-fixture') || document.body; - -module('Integration | component test', function () { - test('typechecking', async (assert) => { - class TestComponent extends Component { - static template = hbs` - {{this.message}} - `; - - get message() { - return 'hi'; - } - } - - const container = getTestRoot(); - await renderComponent(TestComponent, container); - - assert.equal(container.textContent.trim(), 'hi'); - }); -}); diff --git a/test-packages/js-glimmerx-app/tests/util.js b/test-packages/js-glimmerx-app/tests/util.js deleted file mode 100644 index e01a5986c..000000000 --- a/test-packages/js-glimmerx-app/tests/util.js +++ /dev/null @@ -1,39 +0,0 @@ -import { renderComponent as glimmerRenderComponent, didRender } from '@glimmerx/core'; - -// Bootstrap QUnit -import QUnit from 'qunit'; -import 'qunit/qunit/qunit.css'; -import 'qunit-dom/dist/qunit-dom'; - -QUnit.start(); - -const getTestRoot = () => document.getElementById('qunit-fixture') || document.body; - -// Setup QUnit.dom -Object.defineProperty(QUnit.assert.dom, 'rootElement', { get: getTestRoot }); - -// This renderComponent helper will automatically find the root of the test -// context and render to it, so you don't have to do that for every test. You -// can still override the element by passing it directly, in cases where that -// is necessary. -export async function renderComponent(component, elementOrOptions = {}) { - let options; - - if (elementOrOptions instanceof HTMLElement) { - options = { element: elementOrOptions }; - } else { - const element = - elementOrOptions.element instanceof HTMLElement ? elementOrOptions.element : getTestRoot(); - - options = { ...elementOrOptions, element }; - } - - await glimmerRenderComponent(component, options); -} - -// re-export QUnit modules for convenience -export const module = QUnit.module; -export const test = QUnit.test; - -// Re-export didRender for convenience -export { didRender }; diff --git a/test-packages/js-glimmerx-app/webpack.config.js b/test-packages/js-glimmerx-app/webpack.config.js deleted file mode 100644 index e9c18c746..000000000 --- a/test-packages/js-glimmerx-app/webpack.config.js +++ /dev/null @@ -1,72 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); - -module.exports = () => { - const IS_PRODUCTION = process.env.NODE_ENV === 'production'; - - const entry = { - app: './src/index.js', - }; - - const plugins = [ - new CleanWebpackPlugin(), - new HtmlWebpackPlugin({ - template: './index.html', - excludeChunks: ['tests'], - }), - new CopyPlugin([{ from: 'public', to: 'public' }]), - ]; - - // Include tests in development builds - if (!IS_PRODUCTION) { - entry.tests = glob.sync('./tests/**/*.test.js'); - - plugins.push( - new HtmlWebpackPlugin({ - filename: 'tests/index.html', - template: './tests/index.html', - inject: 'head', - chunks: ['tests'], - }) - ); - } - - return { - mode: IS_PRODUCTION ? 'production' : 'development', - entry, - plugins, - module: { - rules: [ - { - test: /\.(js|mjs)$/, - use: 'babel-loader', - }, - { - test: /\.css$/, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.(png|svg|jpg|gif)$/, - loader: 'file-loader', - options: { - outputPath: 'images', - }, - }, - ], - }, - resolve: { - extensions: ['.js', '.json'], - }, - output: { - filename: '[name].bundle.js', - path: path.resolve(__dirname, 'dist'), - publicPath: '/', - }, - devServer: { - contentBase: path.resolve(__dirname, 'dist'), - }, - }; -}; diff --git a/test-packages/ts-glimmerx-app/.babelrc.js b/test-packages/ts-glimmerx-app/.babelrc.js deleted file mode 100644 index dd8e84df7..000000000 --- a/test-packages/ts-glimmerx-app/.babelrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = function (api) { - return { - plugins: [['@glimmer/babel-plugin-glimmer-env', { DEBUG: !api.env('production') }]], - presets: [ - '@babel/preset-env', - '@glimmerx/babel-preset', - ['@babel/preset-typescript', { onlyRemoveTypeImports: true }], - ], - }; -}; diff --git a/test-packages/ts-glimmerx-app/.editorconfig b/test-packages/ts-glimmerx-app/.editorconfig deleted file mode 100644 index 2f883fb55..000000000 --- a/test-packages/ts-glimmerx-app/.editorconfig +++ /dev/null @@ -1,20 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 2 -max_line_length = 100 - -[*.hbs] -insert_final_newline = false - -[*.{diff,md}] -trim_trailing_whitespace = false diff --git a/test-packages/ts-glimmerx-app/.gitignore b/test-packages/ts-glimmerx-app/.gitignore deleted file mode 100644 index 4b08f9255..000000000 --- a/test-packages/ts-glimmerx-app/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -tmp/* -dist - -glint.log -yarn-error.log -.eslintcache diff --git a/test-packages/ts-glimmerx-app/README.md b/test-packages/ts-glimmerx-app/README.md deleted file mode 100644 index 066ec7a1c..000000000 --- a/test-packages/ts-glimmerx-app/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# ts-glimmerx-app - -This application demonstrates the usage of glint in a GlimmerX project. - -It supports one-off typechecking via the `glint` executable: - -![image](https://user-images.githubusercontent.com/108688/85793967-1f54f580-b736-11ea-9dec-93aa80d2bd5a.png) - -And exposes the same errors inline in the editor via the language server: - -![image](https://user-images.githubusercontent.com/108688/85796347-1108d880-b73a-11ea-81fc-55655dcdec42.png) - -That plugin also supports (a limited amount of) typeahead and completion: - -![image](https://user-images.githubusercontent.com/108688/85796413-34cc1e80-b73a-11ea-8877-441574da99b5.png) - -As well as jump-to-definition: - -![image](https://i.imgur.com/N3LCD2X.gif) - -And renaming symbols: - -![image](https://i.imgur.com/hJsEKNS.gif) diff --git a/test-packages/ts-glimmerx-app/index.html b/test-packages/ts-glimmerx-app/index.html deleted file mode 100644 index 39d5bab24..000000000 --- a/test-packages/ts-glimmerx-app/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - ts-glimmerx-app - - - - - - - -
- - diff --git a/test-packages/ts-glimmerx-app/package.json b/test-packages/ts-glimmerx-app/package.json deleted file mode 100644 index 2f4adb742..000000000 --- a/test-packages/ts-glimmerx-app/package.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "name": "ts-glimmerx-app", - "version": "1.3.0", - "description": "A brand new Glimmer app.", - "directories": { - "doc": "doc", - "test": "tests" - }, - "scripts": { - "build": "NODE_ENV=production webpack", - "start": "webpack-dev-server", - "test": "npm-run-all test:*", - "test:tsc": "tsc --noEmit", - "test:typecheck": "glint" - }, - "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.0", - "@babel/preset-typescript": "^7.10.1", - "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.12", - "@glimmer/env": "^0.1.7", - "@glimmer/syntax": "^0.84.3", - "@glimmerx/babel-preset": "^0.6.7", - "@glimmerx/component": "^0.6.7", - "@glimmerx/core": "^0.6.7", - "@glimmerx/eslint-plugin": "^0.6.7", - "@glimmerx/helper": "^0.6.7", - "@glimmerx/modifier": "^0.6.7", - "@glimmerx/service": "^0.6.7", - "@glint/core": "^1.3.0", - "@glint/environment-glimmerx": "^1.3.0", - "@types/qunit": "^2.9.1", - "babel-loader": "^8.1.0", - "clean-webpack-plugin": "^3.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.4.2", - "eslint": "^7.15.0", - "eslint-config-prettier": "^7.0.0", - "eslint-plugin-prettier": "^3.2.0", - "file-loader": "^6.0.0", - "glob": "7.1.6", - "html-webpack-plugin": "^4.0.4", - "npm-run-all": "^4.1.5", - "prettier": "^2.1.1", - "qunit": "^2.9.3", - "qunit-dom": "^1.1.0", - "string-replace-loader": "^3.1.0", - "style-loader": "^1.1.3", - "testem": "^3.0.3", - "webpack": "^4.42.1", - "webpack-cli": "^3.3.11", - "webpack-dev-server": "^3.10.3" - }, - "eslintConfig": { - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2021, - "sourceType": "module" - }, - "env": { - "browser": true - }, - "plugins": [ - "@glimmerx", - "@typescript-eslint", - "prettier" - ], - "extends": [ - "eslint:recommended", - "plugin:prettier/recommended" - ], - "ignorePatterns": [ - "dist/", - "node_modules/", - "!.*" - ], - "rules": { - "@glimmerx/template-vars": [ - 2, - "all", - { - "nativeTokens": [ - "t" - ] - } - ] - }, - "overrides": [ - { - "files": [ - "**/*.ts" - ], - "extends": [ - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "prettier/@typescript-eslint" - ], - "rules": { - "@typescript-eslint/ban-types": "off" - } - }, - { - "files": [ - ".babelrc.js", - "testem.js", - "webpack.config.js" - ], - "env": { - "node": true - } - } - ] - }, - "prettier": { - "singleQuote": true, - "trailingComma": "es5" - }, - "browserslist": { - "production": [ - "last 2 Edge versions", - "last 2 Chrome versions", - "last 2 Firefox versions", - "last 2 Safari versions" - ], - "development": [ - "last 1 Chrome version", - "last 1 Firefox version", - "last 1 Safari version" - ] - }, - "engines": { - "node": ">= 14.0" - }, - "private": true, - "volta": { - "extends": "../../package.json" - } -} diff --git a/test-packages/ts-glimmerx-app/public/favicon.png b/test-packages/ts-glimmerx-app/public/favicon.png deleted file mode 100644 index 30f8eefa0317e39fff128bb9a3b8cd2eed218e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 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 y(R6xq9VNe8@74)?oz{ud@+4p)5;r|Duq5-`C diff --git a/test-packages/ts-glimmerx-app/public/manifest.json b/test-packages/ts-glimmerx-app/public/manifest.json deleted file mode 100644 index 4d9900bdf..000000000 --- a/test-packages/ts-glimmerx-app/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "ts-glimmerx-app", - "name": "A brand new Glimmer app.", - "icons": [ - { - "src": "favicon.png", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/test-packages/ts-glimmerx-app/public/robots.txt b/test-packages/ts-glimmerx-app/public/robots.txt deleted file mode 100644 index f5916452e..000000000 --- a/test-packages/ts-glimmerx-app/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# http://www.robotstxt.org -User-agent: * -Disallow: diff --git a/test-packages/ts-glimmerx-app/src/App.css b/test-packages/ts-glimmerx-app/src/App.css deleted file mode 100644 index 56799ef05..000000000 --- a/test-packages/ts-glimmerx-app/src/App.css +++ /dev/null @@ -1,35 +0,0 @@ -body { - margin: 0; -} - -#app { - background: #1e293b; - min-height: 100vh; - - display: grid; - align-items: center; - justify-content: center; -} - -#intro { - width: 34em; -} - -#intro h1, -#intro h3 { - font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-style: italic; - - color: #ffffff; - margin: 0.35em; -} - -#intro img { - float: left; - width: 6.5em; - margin: 0.5em 2em; -} - -#intro a { - color: #ffffff; -} diff --git a/test-packages/ts-glimmerx-app/src/App.ts b/test-packages/ts-glimmerx-app/src/App.ts deleted file mode 100644 index 2abacbc73..000000000 --- a/test-packages/ts-glimmerx-app/src/App.ts +++ /dev/null @@ -1,56 +0,0 @@ -import Component, { TemplateComponent as TC, hbs } from '@glimmerx/component'; - -import logo from './logo.svg'; -import './App.css'; -import GreetingHeader, { TestingComponentHelper } from './GreetingHeader'; - -export default class App extends Component { - private logo = logo; - private letters = ['a', 'b', 'c']; - - public static template = hbs` -
- {{t "DOESNT EXIST"}} - - - - - - you can get started by editing src/App.js, - and run tests by visiting /tests - - - Some letters: - - {{item}} - -
- `; -} - -interface SubHeaderSignature { - Blocks: { default: [] }; -} - -const SubHeader: TC = hbs` -

{{yield}}

-`; - -interface ListSignature { - Args: { - items: Array; - }; - Blocks: { - default: [item: T]; - }; -} - -class List extends Component> { - public static template = hbs` -
    - {{#each @items as |item|}} -
  1. {{yield item}}
  2. - {{/each}} -
- `; -} diff --git a/test-packages/ts-glimmerx-app/src/GreetingHeader.ts b/test-packages/ts-glimmerx-app/src/GreetingHeader.ts deleted file mode 100644 index 6e3aa5974..000000000 --- a/test-packages/ts-glimmerx-app/src/GreetingHeader.ts +++ /dev/null @@ -1,22 +0,0 @@ -import Component, { hbs } from '@glimmerx/component'; -import { helper } from '@glimmerx/helper'; -import type { WithBoundArgs } from '@glint/template'; - -const or = helper(([a, b]: [T, U]) => a || b); - -export interface GreetingHeaderSignature { - Args: { - greeting: WithBoundArgs; - target?: string; - }; -} - -export default class GreetingHeader extends Component { - public static template = hbs` -

{{@greeting}}, welcome to {{or @target 'glimmerx'}}

- `; -} - -export class TestingComponentHelper extends Component<{ Args: { name: string } }> { - static template = hbs`hello {{@name}}`; -} diff --git a/test-packages/ts-glimmerx-app/src/index.ts b/test-packages/ts-glimmerx-app/src/index.ts deleted file mode 100644 index 1388cc441..000000000 --- a/test-packages/ts-glimmerx-app/src/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { renderComponent } from '@glimmerx/core'; -import App from './App'; - -const containerElement = document.getElementById('app') || document.body; - -renderComponent(App, containerElement); diff --git a/test-packages/ts-glimmerx-app/src/logo.svg b/test-packages/ts-glimmerx-app/src/logo.svg deleted file mode 100644 index 90a757101..000000000 --- a/test-packages/ts-glimmerx-app/src/logo.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - glint - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test-packages/ts-glimmerx-app/testem.js b/test-packages/ts-glimmerx-app/testem.js deleted file mode 100644 index 49360c97e..000000000 --- a/test-packages/ts-glimmerx-app/testem.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - framework: 'qunit', - test_page: 'dist/tests/index.html', - routes: { - '/tests.bundle.js': 'dist/tests.bundle.js', - '/public': 'dist/public', - '/images': 'dist/images', - }, - on_start: { - command: 'webpack', - wait_for_text: 'Built at:', - }, - watch_files: ['dist/tests.bundle.js'], - browser_start_timeout: 120, - browser_args: { - Chrome: { - ci: [ - // --no-sandbox is needed when running Chrome inside a container - process.env.CI ? '--no-sandbox' : null, - '--headless', - '--disable-dev-shm-usage', - '--disable-software-rasterizer', - '--mute-audio', - '--remote-debugging-port=0', - '--window-size=1440,900', - ].filter(Boolean), - }, - }, - launch_in_ci: ['Chrome'], - launch_in_dev: ['Chrome'], -}; diff --git a/test-packages/ts-glimmerx-app/tests/index.html b/test-packages/ts-glimmerx-app/tests/index.html deleted file mode 100644 index 03ee75fff..000000000 --- a/test-packages/ts-glimmerx-app/tests/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - ts-glimmerx-app Tests - - - -
-
- - - diff --git a/test-packages/ts-glimmerx-app/tests/rendering/App.test.js b/test-packages/ts-glimmerx-app/tests/rendering/App.test.js deleted file mode 100644 index e895575d2..000000000 --- a/test-packages/ts-glimmerx-app/tests/rendering/App.test.js +++ /dev/null @@ -1,14 +0,0 @@ -import { module, test, renderComponent } from '../util'; - -import App from '../../src/App'; - -module('App test', () => { - test('it works', async (assert) => { - await renderComponent(App); - - assert.dom('h1').containsText('hello chris, welcome to glint'); - assert.dom('h3').containsText('you can get started by editing src/App.js'); - - assert.dom('img').exists(); - }); -}); diff --git a/test-packages/ts-glimmerx-app/tests/util.ts b/test-packages/ts-glimmerx-app/tests/util.ts deleted file mode 100644 index 0f3c8c2a2..000000000 --- a/test-packages/ts-glimmerx-app/tests/util.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { - renderComponent as glimmerRenderComponent, - ComponentDefinition, - RenderComponentOptions, - didRender, -} from '@glimmerx/core'; - -// Bootstrap QUnit -import 'qunit'; -import 'qunit/qunit/qunit.css'; -import 'qunit-dom/dist/qunit-dom'; - -QUnit.start(); - -const getTestRoot = (): HTMLElement => document.getElementById('qunit-fixture') || document.body; - -// Setup QUnit.dom -Object.defineProperty(QUnit.assert.dom, 'rootElement', { get: getTestRoot }); - -// This renderComponent helper will automatically find the root of the test -// context and render to it, so you don't have to do that for every test. You -// can still override the element by passing it directly, in cases where that -// is necessary. -export async function renderComponent( - component: ComponentDefinition, - elementOrOptions: HTMLElement | Partial = {} -): Promise { - let options: RenderComponentOptions; - - if (elementOrOptions instanceof HTMLElement) { - options = { element: elementOrOptions }; - } else { - const element = - elementOrOptions.element instanceof HTMLElement ? elementOrOptions.element : getTestRoot(); - - options = { ...elementOrOptions, element }; - } - - await glimmerRenderComponent(component, options); -} - -// re-export QUnit modules for convenience -export const module = QUnit.module; -export const test = QUnit.test; - -// Re-export didRender for convenience -export { didRender }; diff --git a/test-packages/ts-glimmerx-app/tsconfig.json b/test-packages/ts-glimmerx-app/tsconfig.json deleted file mode 100644 index cca3c659e..000000000 --- a/test-packages/ts-glimmerx-app/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.compileroptions.json", - "compilerOptions": { - "composite": false, - "noEmit": true, - "types": ["qunit"] - }, - "exclude": ["node_modules", "tmp", "dist"], - "glint": { - "environment": { - "glimmerx": { - "additionalGlobals": ["t"] - } - } - } -} diff --git a/test-packages/ts-glimmerx-app/types/global.d.ts b/test-packages/ts-glimmerx-app/types/global.d.ts deleted file mode 100644 index c53865421..000000000 --- a/test-packages/ts-glimmerx-app/types/global.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.svg' { - const contents: string; - export default contents; -} diff --git a/test-packages/ts-glimmerx-app/types/index.d.ts b/test-packages/ts-glimmerx-app/types/index.d.ts deleted file mode 100644 index 093b72f29..000000000 --- a/test-packages/ts-glimmerx-app/types/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import '@glint/environment-glimmerx'; -import type { Helper } from '@glimmerx/helper'; -declare module '@glint/environment-glimmerx/globals' { - export default interface Globals { - t: Helper<{ - Args: { - Positional: string[]; - Named: Record; - }; - Return: string; - }>; - } -} diff --git a/test-packages/ts-glimmerx-app/webpack.config.js b/test-packages/ts-glimmerx-app/webpack.config.js deleted file mode 100644 index 91922bc9d..000000000 --- a/test-packages/ts-glimmerx-app/webpack.config.js +++ /dev/null @@ -1,80 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); - -module.exports = () => { - const IS_PRODUCTION = process.env.NODE_ENV === 'production'; - - const entry = { - app: './src/index.ts', - }; - - const plugins = [ - new CleanWebpackPlugin(), - new HtmlWebpackPlugin({ - template: './index.html', - excludeChunks: ['tests'], - }), - new CopyPlugin([{ from: 'public', to: 'public' }]), - ]; - - // Include tests in development builds - if (!IS_PRODUCTION) { - entry.tests = glob.sync('./tests/**/*.test.js'); - - plugins.push( - new HtmlWebpackPlugin({ - filename: 'tests/index.html', - template: './tests/index.html', - inject: 'head', - chunks: ['tests'], - }) - ); - } - - return { - mode: IS_PRODUCTION ? 'production' : 'development', - entry, - plugins, - module: { - rules: [ - { - test: /\.(js|mjs|ts)$/, - use: 'babel-loader', - }, - { - test: /\.css$/, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.(png|svg|jpg|gif)$/, - loader: 'file-loader', - options: { - outputPath: 'images', - }, - }, - { - test: /App\.(js|ts)$/, - loader: 'string-replace-loader', - options: { - search: '{{t "DOESNT EXIST"}}', - replace: '', - }, - }, - ], - }, - resolve: { - extensions: ['.js', '.ts', '.json'], - }, - output: { - filename: '[name].bundle.js', - path: path.resolve(__dirname, 'dist'), - publicPath: '/', - }, - devServer: { - contentBase: path.resolve(__dirname, 'dist'), - }, - }; -}; diff --git a/tsconfig.json b/tsconfig.json index df0e55c35..2b80a2bab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,6 @@ { "path": "./packages/core" }, { "path": "./packages/environment-ember-loose" }, { "path": "./packages/environment-ember-template-imports" }, - { "path": "./packages/environment-glimmerx" }, { "path": "./packages/template" }, { "path": "./packages/type-test" }, { "path": "./packages/vscode" }, From 0dae917abe6903bf013f948a5954e4b5e357a624 Mon Sep 17 00:00:00 2001 From: machty Date: Wed, 20 Mar 2024 04:02:32 +0800 Subject: [PATCH 02/15] check-test --- packages/core/__tests__/cli/check.test.ts | 31 +- .../template/template-to-typescript.ts | 2 +- .../scripts/__tests__/migrate-glintrc.test.ts | 475 --- packages/template/-private/dsl/resolve.d.ts | 4 +- packages/template/package.json | 1 - .../__tests__/support/launch-from-cli.mts | 1 - test-packages/test-utils/src/project.ts | 2 +- yarn.lock | 2777 +---------------- 8 files changed, 148 insertions(+), 3145 deletions(-) delete mode 100644 packages/scripts/__tests__/migrate-glintrc.test.ts diff --git a/packages/core/__tests__/cli/check.test.ts b/packages/core/__tests__/cli/check.test.ts index bc4b52d2d..f7a59b7e5 100644 --- a/packages/core/__tests__/cli/check.test.ts +++ b/packages/core/__tests__/cli/check.test.ts @@ -15,7 +15,7 @@ describe('CLI: single-pass typechecking', () => { test('passes a valid project', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -24,14 +24,14 @@ describe('CLI: single-pass typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let checkResult = await project.check(); @@ -101,7 +101,7 @@ describe('CLI: single-pass typechecking', () => { test('reports diagnostics for a template syntax error', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -110,21 +110,21 @@ describe('CLI: single-pass typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let checkResult = await project.check({ reject: false }); expect(checkResult.exitCode).toBe(1); expect(checkResult.stdout).toEqual(''); expect(stripAnsi(checkResult.stderr)).toMatchInlineSnapshot(` - "index.ts:11:24 - error TS0: Parse error on line 2: + "index.gts:11:24 - error TS0: Parse error on line 2: ...e to app v{{@version}. The current t -----------------------^ Expecting 'CLOSE_RAW_BLOCK', 'CLOSE', 'CLOSE_UNESCAPED', 'OPEN_SEXPR', 'CLOSE_SEXPR', 'ID', 'OPEN_BLOCK_PARAMS', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', 'SEP', got 'INVALID' @@ -137,7 +137,7 @@ describe('CLI: single-pass typechecking', () => { test('reports diagnostics for an inline template type error', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -146,26 +146,27 @@ describe('CLI: single-pass typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let checkResult = await project.check({ reject: false }); expect(checkResult.exitCode).toBe(1); expect(checkResult.stdout).toEqual(''); + expect(stripAnsi(checkResult.stderr)).toMatchInlineSnapshot(` - "index.ts:12:32 - error TS2551: Property 'startupTimee' does not exist on type 'Application'. Did you mean 'startupTime'? + "index.gts:12:32 - error TS2551: Property 'startupTimee' does not exist on type 'Application'. Did you mean 'startupTime'? 12 The current time is {{this.startupTimee}}. ~~~~~~~~~~~~ - index.ts:8:11 + index.gts:8:11 8 private startupTime = new Date().toISOString(); ~~~~~~~~~~~ 'startupTime' is declared here. diff --git a/packages/core/src/transform/template/template-to-typescript.ts b/packages/core/src/transform/template/template-to-typescript.ts index 5157b4c51..6f6d54bd3 100644 --- a/packages/core/src/transform/template/template-to-typescript.ts +++ b/packages/core/src/transform/template/template-to-typescript.ts @@ -543,7 +543,7 @@ export function templateToTypescript( // If we have a known set of global identifiers, we should only treat // members of that set as global and assume everything else is local. // This is typically true in environments that capture scope, like - // GlimmerX or strict-mode Ember. + // strict-mode Ember. return globals.includes(name); } else { // Otherwise, we assume everything is global unless we can see it diff --git a/packages/scripts/__tests__/migrate-glintrc.test.ts b/packages/scripts/__tests__/migrate-glintrc.test.ts deleted file mode 100644 index 43ee51cff..000000000 --- a/packages/scripts/__tests__/migrate-glintrc.test.ts +++ /dev/null @@ -1,475 +0,0 @@ -import * as fs from 'fs'; -import * as path from 'path'; -import { fileURLToPath } from 'url'; - -import { parse } from 'json5'; -import { afterEach, beforeEach, describe, test, expect } from 'vitest'; - -import { migrate, normalizePathString } from '../src/lib/_migrate-glintrc.js'; -import jsYaml from 'js-yaml'; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); - -const ROOT = path.resolve(__dirname, '../../../../test-packages/ephemeral'); - -function makeTsconfig(inDir: string, content: unknown = VALID_TS_CONFIG): string { - let tsconfigPath = path.join(inDir, 'tsconfig.json'); - fs.writeFileSync(tsconfigPath, JSON.stringify(content)); - return tsconfigPath; -} - -function readTsconfig(tsconfigPath: string): string { - return parse(fs.readFileSync(tsconfigPath, { encoding: 'utf-8' })); -} - -function makeGlintrc(inDir: string, content: unknown): string { - let rcPath = path.join(inDir, '.glintrc.yml'); - fs.writeFileSync(rcPath, jsYaml.dump(content)); - return rcPath; -} - -// Minimally useful configs -const VALID_TS_CONFIG = {}; -const INVALID_TS_CONFIG = ['a load of nonsense']; -const VALID_GLINT_RC = { environment: 'test' }; -const INVALID_GLINT_RC = ['even more nonsense']; - -describe('migrate-glintrc', () => { - let projectDir!: string; - beforeEach(() => { - projectDir = path.join(ROOT, Math.random().toString(16).slice(2)); - fs.rmSync(projectDir, { recursive: true, force: true }); - fs.mkdirSync(projectDir, { recursive: true }); - }); - - afterEach(() => { - fs.rmSync(projectDir, { recursive: true, force: true }); - }); - - describe('valid configs', () => { - describe('`environment`', () => { - test('with a single string for environment', async () => { - let config = { - environment: 'simple', - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - - test('with a list of environments', async () => { - let config = { - environment: ['complicated', 'but-useful'], - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - - describe('as objects', () => { - describe('with a single environment', async () => { - test('which is empty', async () => { - let config = { - environment: { - complicated: {}, - }, - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - - test('which is populated', async () => { - let config = { - environment: { - complicated: { - additionalGlobals: ['yeppers', 'peppers'], - }, - }, - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - }); - - describe('with multiple environments', () => { - test('where both are empty', async () => { - let config = { - environment: { - complicated: {}, - 'but-useful': {}, - }, - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - - test('where one is populated', async () => { - let config = { - environment: { - complicated: { - additionalGlobals: ['yeppers', 'peppers'], - }, - 'but-useful': {}, - }, - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - - test('where both are populated', async () => { - let config = { - environment: { - complicated: { - additionalGlobals: ['yeppers', 'peppers'], - }, - 'but-useful': {}, - }, - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - }, - }); - }); - }); - }); - }); - - describe('`transforms`', async () => { - test('with just `include`', async () => { - let config = { - include: ['a', 'b'], - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - transform: { - include: config.include, - }, - }, - }); - }); - - test('with just `exclude`', async () => { - let config = { - exclude: ['c', 'd'], - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - transform: { - exclude: config.exclude, - }, - }, - }); - }); - - test('with both `include` and `exclude`', async () => { - let config = { - include: ['a', 'b'], - exclude: ['c', 'd'], - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - transform: { - exclude: config.exclude, - }, - }, - }); - }); - }); - - test('smoke test a full config', async () => { - let config = { - environment: { - 'ember-loose': {}, - glimmerx: { - additionalGlobals: ['fun-fun'], - }, - }, - checkStandaloneTemplates: false, - include: ['a', 'b'], - exclude: ['c', 'd'], - }; - - let rcPath = makeGlintrc(projectDir, config); - let tsconfigPath = makeTsconfig(projectDir); - - let result = await migrate([rcPath]); - - expect(result.successes.length).toBe(1); - let migrated = readTsconfig(tsconfigPath); - expect(migrated).toMatchObject({ - glint: { - environment: config.environment, - checkStandaloneTemplates: config.checkStandaloneTemplates, - transform: { - include: config.include, - exclude: config.exclude, - }, - }, - }); - }); - }); - - describe('error reporting', () => { - test('when there are no config files supplied', async () => { - let result = await migrate([]); - expect(result.failures.length).toBe(1); - expect(result.failures[0]).toMatch('you must supply at least one path'); - }); - - test('when both configs are empty', async () => { - let tsconfigPath = makeTsconfig(projectDir); - let rcPath = makeGlintrc(projectDir, ''); - - let { successes, failures } = await migrate([rcPath]); - expect(successes.length).toBe(0); - expect(failures.length).toBe(1); - expect(failures[0]).toMatch('Could not parse data as a Glint config'); - - let tsconfig = readTsconfig(tsconfigPath); - expect(tsconfig).not.toHaveProperty('glint'); - }); - - test('when the .glintrc.yml', async () => { - let tsconfigPath = makeTsconfig(projectDir); - let rcPath = makeGlintrc(projectDir, { environment: 123 }); - - let { successes, failures } = await migrate([rcPath]); - expect(successes.length).toBe(0); - expect(failures.length).toBe(1); - expect(failures[0]).toMatch('Could not parse data as a Glint config'); - expect(failures[0]).toMatch(normalizePathString(rcPath)); - - let tsconfig = readTsconfig(tsconfigPath); - expect(tsconfig).not.toHaveProperty('glint'); - }); - - describe('for invalid config files', () => { - test('when tsconfig.json is invalid', async () => { - let tsconfigPath = makeTsconfig(projectDir, INVALID_TS_CONFIG); - let rcPath = makeGlintrc(projectDir, VALID_GLINT_RC); - - let { successes, failures } = await migrate([rcPath]); - expect(successes.length).toBe(0); - expect(failures.length).toBe(1); - expect(failures[0]).toMatch('invalid contents of tsconfig.json file'); - - let tsconfig = readTsconfig(tsconfigPath); - expect(tsconfig).not.toHaveProperty('glint'); - }); - - test('when .glintrc.yml is invalid', async () => { - let tsconfigPath = makeTsconfig(projectDir, VALID_TS_CONFIG); - let rcPath = makeGlintrc(projectDir, INVALID_GLINT_RC); - - let { successes, failures } = await migrate([rcPath]); - expect(successes.length).toBe(0); - expect(failures.length).toBe(1); - expect(failures[0]).toMatch('Could not parse data as a Glint config'); - - let tsconfig = readTsconfig(tsconfigPath); - expect(tsconfig).not.toHaveProperty('glint'); - }); - - test('when both .glintrc.yml and tsconfig.json files are invalid', async () => { - let tsconfigPath = makeTsconfig(projectDir, INVALID_TS_CONFIG); - let rcPath = makeGlintrc(projectDir, INVALID_GLINT_RC); - - let { successes, failures } = await migrate([rcPath]); - expect(successes.length).toBe(0); - expect(failures.length).toBe(1); - expect(failures[0]).toMatch('Could not parse data as a Glint config'); - - let tsconfig = readTsconfig(tsconfigPath); - expect(tsconfig).not.toHaveProperty('glint'); - }); - }); - }); - - describe('multiple configs', async () => { - let nestedDir!: string; - beforeEach(() => { - nestedDir = path.join(projectDir, Math.random().toString(16).slice(2)); - fs.rmSync(nestedDir, { recursive: true, force: true }); - fs.mkdirSync(nestedDir, { recursive: true }); - }); - - afterEach(() => { - fs.rmSync(nestedDir, { recursive: true, force: true }); - }); - - test('two valid configs', async () => { - let rootTsconfigPath = makeTsconfig(projectDir); - let nestedTsconfigPath = makeTsconfig(nestedDir); - - let rootGlintrc = makeGlintrc(projectDir, VALID_GLINT_RC); - let nestedGlintrc = makeGlintrc(nestedDir, VALID_GLINT_RC); - - let { successes, failures } = await migrate([rootGlintrc, nestedGlintrc]); - - expect(successes.length).toBe(2); - expect(failures.length).toBe(0); - - let rootTsconfig = readTsconfig(rootTsconfigPath); - expect(rootTsconfig).toHaveProperty('glint'); - - let nestedTsconfig = readTsconfig(nestedTsconfigPath); - expect(nestedTsconfig).toHaveProperty('glint'); - }); - - test('two invalid configs', async () => { - let rootTsconfigPath = makeTsconfig(projectDir); - let nestedTsconfigPath = makeTsconfig(nestedDir); - - let rootGlintrc = makeGlintrc(projectDir, INVALID_GLINT_RC); - let nestedGlintrc = makeGlintrc(nestedDir, INVALID_GLINT_RC); - - let { successes, failures } = await migrate([rootGlintrc, nestedGlintrc]); - - expect(successes.length).toBe(0); - expect(failures.length).toBe(2); - - let rootTsconfig = readTsconfig(rootTsconfigPath); - expect(rootTsconfig).not.toHaveProperty('glint'); - - let nestedTsconfig = readTsconfig(nestedTsconfigPath); - expect(nestedTsconfig).not.toHaveProperty('glint'); - }); - - describe('mixed validity', () => { - test('valid root, invalid nested', async () => { - let rootTsconfigPath = makeTsconfig(projectDir); - let nestedTsconfigPath = makeTsconfig(nestedDir); - - let rootGlintrc = makeGlintrc(projectDir, VALID_GLINT_RC); - let nestedGlintrc = makeGlintrc(nestedDir, INVALID_GLINT_RC); - - let { successes, failures } = await migrate([rootGlintrc, nestedGlintrc]); - - expect(successes.length).toBe(1); - expect(failures.length).toBe(1); - - let rootTsconfig = readTsconfig(rootTsconfigPath); - expect(rootTsconfig).toHaveProperty('glint'); - - let nestedTsconfig = readTsconfig(nestedTsconfigPath); - expect(nestedTsconfig).not.toHaveProperty('glint'); - }); - - test('invalid root, valid nested', async () => { - let rootTsconfigPath = makeTsconfig(projectDir); - let nestedTsconfigPath = makeTsconfig(nestedDir); - - let rootGlintrc = makeGlintrc(projectDir, INVALID_GLINT_RC); - let nestedGlintrc = makeGlintrc(nestedDir, VALID_GLINT_RC); - - let { successes, failures } = await migrate([rootGlintrc, nestedGlintrc]); - - expect(successes.length).toBe(1); - expect(failures.length).toBe(1); - - let rootTsconfig = readTsconfig(rootTsconfigPath); - expect(rootTsconfig).not.toHaveProperty('glint'); - - let nestedTsconfig = readTsconfig(nestedTsconfigPath); - expect(nestedTsconfig).toHaveProperty('glint'); - }); - }); - }); -}); diff --git a/packages/template/-private/dsl/resolve.d.ts b/packages/template/-private/dsl/resolve.d.ts index e56702db6..b817d9298 100644 --- a/packages/template/-private/dsl/resolve.d.ts +++ b/packages/template/-private/dsl/resolve.d.ts @@ -27,8 +27,8 @@ import { ResolveOrReturn } from './types'; * down to their most general form, which breaks complex declarations like `fn` that * rely on having multiple overrides to be typed correctly. * - * In GlimmerX (and potentially other future environments), plain functions can themselves - * be invokables with their own particular resolution semantics. + * In modern Ember.js, plain functions can themselves be invokables with their + * own particular resolution semantics. */ export declare function resolve(item: T): T[typeof InvokeDirect]; diff --git a/packages/template/package.json b/packages/template/package.json index 79f25544b..a86026953 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -16,7 +16,6 @@ ], "devDependencies": { "@glimmer/component": "^1.1.2", - "@glimmerx/component": "^0.6.7", "@types/ember__component": "~4.0.8", "expect-type": "^0.15.0", "sums-up": "^2.1.0" diff --git a/packages/vscode/__tests__/support/launch-from-cli.mts b/packages/vscode/__tests__/support/launch-from-cli.mts index 1629d8db9..be7014ad7 100644 --- a/packages/vscode/__tests__/support/launch-from-cli.mts +++ b/packages/vscode/__tests__/support/launch-from-cli.mts @@ -25,7 +25,6 @@ try { emptyTempDir, // Load the app fixtures `${packageRoot}/__fixtures__/ember-app`, - `${packageRoot}/__fixtures__/js-glimmerx-app`, `${packageRoot}/__fixtures__/template-imports-app`, ], }); diff --git a/test-packages/test-utils/src/project.ts b/test-packages/test-utils/src/project.ts index 1e2098043..942852f39 100644 --- a/test-packages/test-utils/src/project.ts +++ b/test-packages/test-utils/src/project.ts @@ -81,7 +81,7 @@ export class Project { ...config.compilerOptions, }, glint: config.glint ?? { - environment: 'glimmerx', + environment: ["ember-loose", "ember-template-imports"] }, }; diff --git a/yarn.lock b/yarn.lock index b51b332de..afcec871f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,7 +35,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.12.0", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.17.9", "@babel/core@^7.3.4", "@babel/core@^7.5.5", "@babel/core@^7.9.0": +"@babel/core@^7.12.0", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.17.9", "@babel/core@^7.3.4": version "7.23.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== @@ -232,7 +232,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": +"@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== @@ -293,7 +293,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.16.5", "@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.8.3": +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.16.5", "@babel/plugin-proposal-class-properties@^7.16.7": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -301,7 +301,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7", "@babel/plugin-proposal-decorators@^7.8.3": +"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7": version "7.23.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz#1d827902cbd3d9054e54fb2f2056cdd1eaa0e368" integrity sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng== @@ -310,7 +310,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-decorators" "^7.23.3" -"@babel/plugin-proposal-private-methods@^7.13.0", "@babel/plugin-proposal-private-methods@^7.16.5", "@babel/plugin-proposal-private-methods@^7.16.7": +"@babel/plugin-proposal-private-methods@^7.16.5", "@babel/plugin-proposal-private-methods@^7.16.7": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== @@ -403,13 +403,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -850,7 +843,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.13.0", "@babel/plugin-transform-typescript@^7.16.8", "@babel/plugin-transform-typescript@^7.23.3": +"@babel/plugin-transform-typescript@^7.13.0", "@babel/plugin-transform-typescript@^7.16.8": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== @@ -916,7 +909,7 @@ core-js "^2.6.5" regenerator-runtime "^0.13.4" -"@babel/preset-env@^7.16.5", "@babel/preset-env@^7.16.7", "@babel/preset-env@^7.9.0": +"@babel/preset-env@^7.16.5", "@babel/preset-env@^7.16.7": version "7.23.8" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.8.tgz#7d6f8171ea7c221ecd28059e65ad37c20e441e3e" integrity sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA== @@ -1011,17 +1004,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.10.1": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - "@babel/regjsgen@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" @@ -1238,57 +1220,6 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@glimmer/babel-plugin-glimmer-env@~2.0.0-beta.12": - version "2.0.0-beta.12" - resolved "https://registry.yarnpkg.com/@glimmer/babel-plugin-glimmer-env/-/babel-plugin-glimmer-env-2.0.0-beta.12.tgz#6ce9d10fa737848e705b7ec19a42f2db54a6eef4" - integrity sha512-GnDPsQqyVg8N9+qjg7bd1e43uyBeuBmTGkVe7UHWCWfGzoNJZ4Hmm5NONfHFrMKqpM2fdua/375XTpePicEZsw== - dependencies: - "@babel/core" "^7.5.5" - babel-plugin-debug-macros "^0.3.3" - -"@glimmer/babel-preset@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/babel-preset/-/babel-preset-2.0.0-beta.21.tgz#fe7f066fd609f7dd64e3beec82ff89c40f25aee7" - integrity sha512-3xVEzdcTqyDyB1TSOENdu+O2evkcDbb7LHuNm85HBxzllEdOqrQJGzNnvBDeF240oOVq16BxNWTBDXdWCiGLIQ== - dependencies: - "@babel/plugin-proposal-class-properties" "^7.8.3" - "@babel/plugin-proposal-decorators" "^7.8.3" - "@babel/plugin-proposal-private-methods" "^7.13.0" - "@glimmer/compiler" "0.84.0" - "@glimmer/vm-babel-plugins" "0.84.0" - babel-plugin-debug-macros "^0.3.4" - babel-plugin-htmlbars-inline-precompile "^5.2.0" - -"@glimmer/compiler@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.84.0.tgz#58b7027d83707e9805a7b7832a9aa59e57d855c6" - integrity sha512-DVO8KLgw8dQQF/r1tR3XDBgVsVdCE8e5CyeiCLYTQR5X48Js0LE0bQiY0EtsopyXeswcURf+OVNsNIyHuXAwKQ== - dependencies: - "@glimmer/interfaces" "0.84.0" - "@glimmer/syntax" "0.84.0" - "@glimmer/util" "0.84.0" - "@glimmer/wire-format" "0.84.0" - "@simple-dom/interface" "^1.4.0" - -"@glimmer/component@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/component/-/component-2.0.0-beta.21.tgz#c9285d2d4a1f4b224dcaba18536e8d2c5e934c5b" - integrity sha512-8SuyUhVv1wb58KcXPd9eTDwf4zMT/jdkujojTWMZRLw6HxwLdVeS7pKhzGhqsyYmhA4fx2zFJuWpRkONYam/uw== - dependencies: - "@glimmer/core" "2.0.0-beta.21" - "@glimmer/env" "^0.1.7" - "@glimmer/util" "0.84.0" - broccoli-file-creator "^2.1.1" - broccoli-merge-trees "^3.0.2" - ember-cli-babel "^7.23.0" - ember-cli-get-component-path-option "^1.0.0" - ember-cli-is-package-missing "^1.0.0" - ember-cli-normalize-entity-name "^1.0.0" - ember-cli-path-utils "^1.0.0" - ember-cli-string-utils "^1.1.0" - ember-cli-typescript "^5.0.0" - ember-compatibility-helpers "^1.1.2" - "@glimmer/component@^1.1.0", "@glimmer/component@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@glimmer/component/-/component-1.1.2.tgz#892ec0c9f0b6b3e41c112be502fde073cf24d17c" @@ -1309,29 +1240,6 @@ ember-cli-version-checker "^3.1.3" ember-compatibility-helpers "^1.1.2" -"@glimmer/core@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/core/-/core-2.0.0-beta.21.tgz#806a3c2e407dd485371d196751dadd89a535a735" - integrity sha512-a4FZmYSQ7YCF85C5SriqldR6wDRbvLFYBzr8AwGikjxLeYKWWYj2tdzh0iQ8VUuGP5jn9CIBLAPKIWgmxGlc7w== - dependencies: - "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.84.0" - "@glimmer/interfaces" "0.84.0" - "@glimmer/manager" "0.84.0" - "@glimmer/opcode-compiler" "0.84.0" - "@glimmer/owner" "0.84.0" - "@glimmer/program" "0.84.0" - "@glimmer/runtime" "0.84.0" - "@glimmer/validator" "0.84.0" - "@simple-dom/interface" "^1.4.0" - -"@glimmer/debug@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/debug/-/debug-2.0.0-beta.21.tgz#892e189cbd7fee4b041fdcaf381a105eb254ac67" - integrity sha512-yf9/IvYQNs1mC0TCRIyAGmgUTZNYU+i9Lne8hxqRk+vThBo6IoyQYACvkYlUVKqIU+jvjeiB8fL2FGpiPq8r/A== - dependencies: - "@glimmer/global-context" "0.84.0" - "@glimmer/destroyable@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.84.3.tgz#a837ef59bfd64a7b991c76747586205a4a363e41" @@ -1347,15 +1255,6 @@ resolved "https://registry.yarnpkg.com/@glimmer/di/-/di-0.1.11.tgz#a6878c07a13a2c2c76fcde598a5c97637bfc4280" integrity sha512-moRwafNDwHTnTHzyyZC9D+mUSvYrs1Ak0tRPjjmCghdoHHIvMshVbEnwKb/1WmW5CUlKc2eL9rlAV32n3GiItg== -"@glimmer/encoder@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.84.0.tgz#64f0eed6f3ef54149547a29bdf0613cb819be9c2" - integrity sha512-DA6I1D7j/Qk9+Ay6d7/4uKB1kydrRutuIHCVmS2MMyzryznfqMXNFKhzl6i1xMxWc8EYRsK/WJnkAcvm01f6Yw== - dependencies: - "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.84.0" - "@glimmer/vm" "0.84.0" - "@glimmer/encoder@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.84.3.tgz#3c7291243e6cd595bf22fc2771286d570dc24d47" @@ -1370,13 +1269,6 @@ resolved "https://registry.yarnpkg.com/@glimmer/env/-/env-0.1.7.tgz#fd2d2b55a9029c6b37a6c935e8c8871ae70dfa07" integrity sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw== -"@glimmer/global-context@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.84.0.tgz#48c58e3f28572bef5972d61dd69ed78b7b23558a" - integrity sha512-xfq8CwHYifqP6ZfpYwIrBAZt1y6waObQHguWs1GfwLj9njoFaq29/9Ri42srq67ge/qGm3cIlXCvrEhk4AovmA== - dependencies: - "@glimmer/env" "^0.1.7" - "@glimmer/global-context@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.84.3.tgz#f8bf2cda9562716f2ddf3f96837e7559600635c4" @@ -1384,16 +1276,7 @@ dependencies: "@glimmer/env" "^0.1.7" -"@glimmer/helper@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/helper/-/helper-2.0.0-beta.21.tgz#e74dc74692630d08b728229f329ed7d14b699a96" - integrity sha512-x8jnMecIc+r2X6c1Ej0DR4x4VBfjFJSaOYRFkRQzshQrSDInLmmeaTTXtXzYKWJb1SzJPJQffFZOHqAbsQRdXA== - dependencies: - "@glimmer/component" "2.0.0-beta.21" - "@glimmer/core" "2.0.0-beta.21" - "@glimmer/runtime" "0.84.0" - -"@glimmer/interfaces@0.84.0", "@glimmer/interfaces@0.84.3": +"@glimmer/interfaces@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.84.3.tgz#629777a4abe373b0785656f6c8d08989f5784805" integrity sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg== @@ -1405,7 +1288,7 @@ resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.78.2.tgz#bca5f666760ce98345e87c5b3e37096e772cb2de" integrity sha512-0S6TWOOd0fzLLysw1pWZN0TgasaHmYs1Sjz9Til1mTByIXU1S+1rhdyr2veSQPO/aRjPuEQyKXZQHvx23Zax6w== -"@glimmer/manager@0.84.0", "@glimmer/manager@0.84.3", "@glimmer/manager@>= 0.83.0": +"@glimmer/manager@0.84.3", "@glimmer/manager@>= 0.83.0": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.84.3.tgz#5be61728713e6c893836540353989462492ca9fe" integrity sha512-FtcwvrQ3HWlGRGChwlXiisMeKf9+XcCkMwVrrO0cxQavT01tIHx40OFtPOhXKGbgXGtRKcJI8XR41aK9t2kvyg== @@ -1418,26 +1301,6 @@ "@glimmer/util" "0.84.3" "@glimmer/validator" "0.84.3" -"@glimmer/modifier@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/modifier/-/modifier-2.0.0-beta.21.tgz#842a7e56628c52b60e6ced66112ae91a4e81edee" - integrity sha512-7TSDoW36jESEO4YyseFuuGn54Y7sVTOpQJs1/DDAA0VwO9ufjAiQvLWl+tsdPmY/cIsrKwngC7OOJxasOOLRtA== - dependencies: - "@glimmer/runtime" "0.84.0" - -"@glimmer/opcode-compiler@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.84.0.tgz#4484caad08381ed8d653e82e3dfae08e36ca7894" - integrity sha512-8V3+mOpfbc6X9L2iVLpbgUDf4ZTua+kx3b4g4G7S3iN5/6AFW8JWKRNmEpQwanoUUjCdr4Xjhf/lIgEIpmVVww== - dependencies: - "@glimmer/encoder" "0.84.0" - "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.84.0" - "@glimmer/reference" "0.84.0" - "@glimmer/util" "0.84.0" - "@glimmer/vm" "0.84.0" - "@glimmer/wire-format" "0.84.0" - "@glimmer/opcode-compiler@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.84.3.tgz#aa95000034d10786cb8fdbd199d66fb5498e90f3" @@ -1451,13 +1314,6 @@ "@glimmer/vm" "0.84.3" "@glimmer/wire-format" "0.84.3" -"@glimmer/owner@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.84.0.tgz#71c6ebbd369c8c4a3cdf91bc53e445d2e92572fa" - integrity sha512-JH00K54PSQ14rsTLKj3bZ2fVS0n6OeHdd6rWWogWWA/RCvPPmHi9bRz9KeyVhXiebgy5p/0Fvc0xFcrmMdJwnw== - dependencies: - "@glimmer/util" "0.84.0" - "@glimmer/owner@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.84.3.tgz#e64083b692452031bdf30cba4124d1fc64e6e5e2" @@ -1465,18 +1321,6 @@ dependencies: "@glimmer/util" "0.84.3" -"@glimmer/program@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.84.0.tgz#0191ad46dc29a1e78bada5c7a2d3538db767c971" - integrity sha512-PHhUhs1UMe4thXYx167cwIUlIaQ8hLEBRQDxnS+rsIs7NtyuigsMFrm5zMqgyCrysOcsZtmnn550Vjl1aysy2Q== - dependencies: - "@glimmer/encoder" "0.84.0" - "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.84.0" - "@glimmer/manager" "0.84.0" - "@glimmer/opcode-compiler" "0.84.0" - "@glimmer/util" "0.84.0" - "@glimmer/program@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.84.3.tgz#a93d5e2ecd1cb7b9e4582cc4d41d0f92b16f9cf5" @@ -1489,7 +1333,7 @@ "@glimmer/opcode-compiler" "0.84.3" "@glimmer/util" "0.84.3" -"@glimmer/reference@0.84.0", "@glimmer/reference@0.84.3", "@glimmer/reference@^0.84.3": +"@glimmer/reference@0.84.3", "@glimmer/reference@^0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.84.3.tgz#6420ad9c102633ac83939fd1b2457269d21fb632" integrity sha512-lV+p/aWPVC8vUjmlvYVU7WQJsLh319SdXuAWoX/SE3pq340BJlAJiEcAc6q52y9JNhT57gMwtjMX96W5Xcx/qw== @@ -1500,7 +1344,7 @@ "@glimmer/util" "0.84.3" "@glimmer/validator" "0.84.3" -"@glimmer/runtime@0.84.0", "@glimmer/runtime@0.84.3", "@glimmer/runtime@>= 0.83.0": +"@glimmer/runtime@0.84.3", "@glimmer/runtime@>= 0.83.0": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.84.3.tgz#d84c02b21ac127fe3da85c7722371406beb6763a" integrity sha512-LzlJbPDCUH/wjsgJ5kRImvOkqAImSyVRW37t34n/1Qd3v7ZoI8xVQg92lS+2kHZe030sT49ZwKkEIeVZiBreBw== @@ -1519,16 +1363,6 @@ "@glimmer/wire-format" "0.84.3" "@simple-dom/interface" "^1.4.0" -"@glimmer/syntax@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.84.0.tgz#bf5104fc2be7c853f1e3897dda16a655f6fd7d5f" - integrity sha512-TAo1vaO5SPWtstU3XOAeiG5izhlw2v2ASns7f5dwe0hzGPRHPGuatmsVCtw/CS6FH86weboLrOGz0KQwjMaKfQ== - dependencies: - "@glimmer/interfaces" "0.84.0" - "@glimmer/util" "0.84.0" - "@handlebars/parser" "~2.0.0" - simple-html-tokenizer "^0.5.11" - "@glimmer/syntax@^0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.84.3.tgz#4045a1708cef7fd810cff42fe6deeba40c7286d0" @@ -1539,14 +1373,6 @@ "@handlebars/parser" "~2.0.0" simple-html-tokenizer "^0.5.11" -"@glimmer/tracking@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-2.0.0-beta.21.tgz#f57419387c130b62dbac73b68c543cdd8fbb8ee4" - integrity sha512-7QNWukWWtE+NWEWZzpQIPip4/vk08ki17Ct9CqQjv2qPz+A4Jqj/iMjMagztXY2vgMINYcWtszkhxY0idrmPSA== - dependencies: - "@glimmer/env" "^0.1.7" - "@glimmer/validator" "0.84.0" - "@glimmer/tracking@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-1.1.2.tgz#74e71be07b0a7066518d24044d2665d0cf8281eb" @@ -1555,7 +1381,7 @@ "@glimmer/env" "^0.1.7" "@glimmer/validator" "^0.44.0" -"@glimmer/util@0.84.0", "@glimmer/util@0.84.3", "@glimmer/util@^0.44.0": +"@glimmer/util@0.84.3", "@glimmer/util@^0.44.0": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.84.3.tgz#9ae0166982c0b48aa94b02d6ba8c2c81976ade4b" integrity sha512-qFkh6s16ZSRuu2rfz3T4Wp0fylFj3HBsONGXQcrAdZjdUaIS6v3pNj6mecJ71qRgcym9Hbaq/7/fefIwECUiKw== @@ -1564,7 +1390,7 @@ "@glimmer/interfaces" "0.84.3" "@simple-dom/interface" "^1.4.0" -"@glimmer/validator@0.84.0", "@glimmer/validator@0.84.3", "@glimmer/validator@^0.44.0", "@glimmer/validator@^0.84.3": +"@glimmer/validator@0.84.3", "@glimmer/validator@^0.44.0", "@glimmer/validator@^0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.84.3.tgz#cd83b7f9ab78953f23cc11a32d83d7f729c54df2" integrity sha512-RTBV4TokUB0vI31UC7ikpV7lOYpWUlyqaKV//pRC4pexYMlmqnVhkFrdiimB/R1XyNdUOQUmnIAcdic39NkbhQ== @@ -1579,13 +1405,6 @@ dependencies: babel-plugin-debug-macros "^0.3.4" -"@glimmer/vm-babel-plugins@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.84.0.tgz#c3598efe9184277980ba116364c128b4b8012dc7" - integrity sha512-aze+hbXy67XHotHLLsf1e/uZ/Yfjl8qeIY2jh4EvrD5O0NaQxwDCohAdSxcIe2RT7X0fdhw/rttrqa9rHkzXxA== - dependencies: - babel-plugin-debug-macros "^0.3.4" - "@glimmer/vm-babel-plugins@0.84.2": version "0.84.2" resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.84.2.tgz#653ce82a6656b4396d87a479d8699450d35a17f0" @@ -1593,14 +1412,6 @@ dependencies: babel-plugin-debug-macros "^0.3.4" -"@glimmer/vm@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.84.0.tgz#f57df05f46b95ca5612b82de7477c0ff6e79e8e7" - integrity sha512-nnMwsnPn+mFoWPDiKtxxqL+WOcA+Be6hJMYdoP7yzzu6y1Heb18LAou96OtySD7++cCuW/HWq2obGuaVe6ke8g== - dependencies: - "@glimmer/interfaces" "0.84.0" - "@glimmer/util" "0.84.0" - "@glimmer/vm@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.84.3.tgz#45724ba7b4f90383de78a59071222bdc391ada98" @@ -1609,14 +1420,6 @@ "@glimmer/interfaces" "0.84.3" "@glimmer/util" "0.84.3" -"@glimmer/wire-format@0.84.0": - version "0.84.0" - resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.84.0.tgz#d70bd970ff877752c1d5e46eabec4a5c6583a319" - integrity sha512-vvagH+UteM1A5g0lLPBWmbNTbDfs9wzQUgNFzygX4WxuEwXfGyxDvfFPoRifyrdV1Eft/h/yKtZ/b6WyCLdDLA== - dependencies: - "@glimmer/interfaces" "0.84.0" - "@glimmer/util" "0.84.0" - "@glimmer/wire-format@0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.84.3.tgz#d31ac85e5f51e67636efe9c5fbd8ae3d5097d8b5" @@ -1625,69 +1428,6 @@ "@glimmer/interfaces" "0.84.3" "@glimmer/util" "0.84.3" -"@glimmerx/babel-preset@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/babel-preset/-/babel-preset-0.6.8.tgz#c7a69df9728135784f96e87f40d8899d9e4bd109" - integrity sha512-sx1W9BtfSEyi9WBC5YSwGS30Q2z42aC4uKWLXDD+VKZkIJOzgIO8QqZjze5as5hlUq7/s/VCKzlzGocPm4g6/w== - dependencies: - "@glimmer/babel-preset" "2.0.0-beta.21" - -"@glimmerx/component@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/component/-/component-0.6.8.tgz#92eb46a31e94c38e3ffa1a7c065da7fc31b8f936" - integrity sha512-d1PpF3D/MfM69aznvSptGNJ4Nb+rxsjYPCOdpxeh4XC6UyWKNzRAtwdm+XsMSzGocbXjiLI2gKtewOKrNi9HMQ== - dependencies: - "@glimmer/component" "2.0.0-beta.21" - "@glimmer/tracking" "2.0.0-beta.21" - ember-cli-babel "^7.26.2" - ember-cli-babel-plugin-helpers "^1.1.0" - ember-cli-htmlbars "^5.7.1" - ember-cli-version-checker "5.1.2" - ember-template-imports "^1.1.1" - -"@glimmerx/core@0.6.8", "@glimmerx/core@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/core/-/core-0.6.8.tgz#6ec090287093bad747a5ab4de47270364b406dd3" - integrity sha512-bEpQQPdMvfZQbQtJ8oaTR/6gI3h04J4RAK75C2o6cl7gEUWHlaUwWWni502yf3+zwVA8nMvtl/ZUtEtTzWgetg== - dependencies: - "@glimmer/core" "2.0.0-beta.21" - "@glimmer/interfaces" "0.84.0" - "@glimmer/manager" "0.84.0" - -"@glimmerx/eslint-plugin@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/eslint-plugin/-/eslint-plugin-0.6.8.tgz#a13d381c3a7349f0148a3b7c8c28ea52a5f5c9c6" - integrity sha512-rm8wY5tIJpahEStAZPDnJ/daDZaOtGIWOme2zxeB4NFOmoaTQK7nXzcxqzY00aXNtThRGRtLI/zpJOAm0CbVhw== - -"@glimmerx/helper@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/helper/-/helper-0.6.8.tgz#c66937e24340acf8cbc3d8294912d9377e9126d7" - integrity sha512-CF4vrYMOF9VS1WnTu4qtif4pYJmSDc14NEyqFDpr93BzFNZOKTziBjgMwMqtxKO4AU0lO2m4APjJjcJ+MkDBQw== - dependencies: - "@glimmer/helper" "2.0.0-beta.21" - "@glimmer/interfaces" "0.84.0" - "@glimmerx/core" "0.6.8" - ember-cli-babel "^7.26.2" - -"@glimmerx/modifier@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/modifier/-/modifier-0.6.8.tgz#f2948abd55c291375687bb5915ac48a9532a2b35" - integrity sha512-R4IveAcOc+5BlmTTeet1QbIAWH/cA3Oz6oMS0MeHxMJDsWsl5Hly47c8YdgLvKUUFvduruK2QhWBzUF0Tbaitw== - dependencies: - "@glimmer/core" "2.0.0-beta.21" - "@glimmer/modifier" "2.0.0-beta.21" - ember-cli-babel "^7.26.2" - -"@glimmerx/service@^0.6.7": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@glimmerx/service/-/service-0.6.8.tgz#e1fe9c856b0acb577143a9dad3dbf3b1fffd24b2" - integrity sha512-6MprIkh1zcKkRf94gv+SoqSBYZ2le2XUyZ2yKcee+NbtUyb74ez2vVuyFYzjUKvbm4tUHo2ul989WYfpDzk10g== - dependencies: - "@glimmer/debug" "2.0.0-beta.21" - "@glimmer/env" "^0.1.7" - "@glimmerx/core" "0.6.8" - ember-cli-babel "^7.26.2" - "@handlebars/parser@~2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5" @@ -2369,11 +2109,6 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== - "@types/http-cache-semantics@^4.0.2": version "4.0.4" resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" @@ -2462,7 +2197,7 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== -"@types/qunit@^2.11.1", "@types/qunit@^2.9.1": +"@types/qunit@^2.11.1": version "2.19.9" resolved "https://registry.yarnpkg.com/@types/qunit/-/qunit-2.19.9.tgz#7bf85138519d0c2ca5cecaf9522290781fdcb804" integrity sha512-Ym6B8Ewt1R1b0EgSqISSrAKp2Pg5MNgKK3/d2Fbls3PN7kNnucVSGaRx9Prxeo78HfQofYJMWDWLPlfAuwx7IQ== @@ -2507,11 +2242,6 @@ "@types/mime" "*" "@types/node" "*" -"@types/source-list-map@*": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.6.tgz#164e169dd061795b50b83c19e4d3be09f8d3a454" - integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g== - "@types/stack-utils@^2.0.0": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" @@ -2522,18 +2252,6 @@ resolved "https://registry.yarnpkg.com/@types/symlink-or-copy/-/symlink-or-copy-1.2.2.tgz#51b1c00b516a5774ada5d611e65eb123f988ef8d" integrity sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA== -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.12.tgz#bc2cab12e87978eee89fb21576b670350d6d86ab" - integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q== - -"@types/uglify-js@*": - version "3.17.4" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.4.tgz#3c70021f08023e5a760ce133d22966f200e1d31c" - integrity sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg== - dependencies: - source-map "^0.6.1" - "@types/unist@^2", "@types/unist@^2.0.0": version "2.0.10" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" @@ -2549,27 +2267,6 @@ resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.85.0.tgz#46beb07f0f626665b52d1e2294382b2bc63b602e" integrity sha512-CF/RBon/GXwdfmnjZj0WTUMZN5H6YITOfBCP4iEZlOtVQXuzw6t7Le7+cR+7JzdMrnlm7Mfp49Oj2TuSXIWo3g== -"@types/webpack-sources@*": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.3.tgz#b667bd13e9fa15a9c26603dce502c7985418c3d8" - integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.4.31", "@types/webpack@^4.41.8": - version "4.41.38" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.38.tgz#5a40ac81bdd052bf405e8bdcf3e1236f6db6dc26" - integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - "@types/yargs-parser@*": version "21.0.3" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" @@ -2724,64 +2421,21 @@ "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@webassemblyjs/floating-point-hex-parser@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - "@webassemblyjs/helper-api-error@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - "@webassemblyjs/helper-buffer@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" @@ -2796,11 +2450,6 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - "@webassemblyjs/helper-wasm-section@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" @@ -2811,16 +2460,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/ieee754@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" @@ -2828,13 +2467,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/leb128@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" @@ -2842,37 +2474,11 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/utf8@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - "@webassemblyjs/wasm-edit@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" @@ -2898,17 +2504,6 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - "@webassemblyjs/wasm-opt@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" @@ -2919,16 +2514,6 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/wasm-parser" "1.11.6" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" @@ -2941,30 +2526,6 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" @@ -2973,15 +2534,6 @@ "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - "@xmldom/xmldom@^0.8.0": version "0.8.10" resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" @@ -3027,7 +2579,7 @@ acorn-import-assertions@^1.9.0: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3042,12 +2594,7 @@ acorn@^5.0.0, acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -3086,11 +2633,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -3098,7 +2640,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3110,7 +2652,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3155,11 +2697,6 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -3177,11 +2714,6 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: dependencies: type-fest "^0.21.3" -ansi-html-community@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -3217,7 +2749,7 @@ ansi-styles@^2.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== -ansi-styles@^3.0.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.0.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -3266,7 +2798,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.0, anymatch@^3.1.1, anymatch@~3.1.2: +anymatch@^3.1.1, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -3279,11 +2811,6 @@ anymatch@^3.0.0, anymatch@^3.1.1, anymatch@~3.1.2: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - are-we-there-yet@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" @@ -3344,11 +2871,6 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - array-to-error@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/array-to-error/-/array-to-error-1.1.1.tgz#d68812926d14097a205579a667eeaf1856a44c07" @@ -3361,23 +2883,11 @@ array-to-sentence@^1.1.0: resolved "https://registry.yarnpkg.com/array-to-sentence/-/array-to-sentence-1.1.0.tgz#c804956dafa53232495b205a9452753a258d39fc" integrity sha512-YkwkMmPA2+GSGvXj1s9NZ6cc2LBtR+uSeWTy2IGi5MR1Wag4DdrcjTxA/YV/Fw+qKlBeXomneZgThEbm/wvZbw== -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -3394,17 +2904,6 @@ array.prototype.map@^1.0.5: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" -array.prototype.reduce@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" - integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - arraybuffer.prototype.slice@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" @@ -3418,29 +2917,11 @@ arraybuffer.prototype.slice@^1.0.2: is-array-buffer "^3.0.2" is-shared-array-buffer "^1.0.2" -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - assert-never@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== -assert@^1.1.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76" - integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A== - dependencies: - object.assign "^4.1.4" - util "^0.10.4" - assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" @@ -3463,11 +2944,6 @@ ast-types@^0.13.4: dependencies: tslib "^2.0.1" -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -3499,16 +2975,6 @@ async-disk-cache@^2.0.0: rsvp "^4.8.5" username-sync "^1.0.2" -async-each@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - async-promise-queue@^1.0.3, async-promise-queue@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/async-promise-queue/-/async-promise-queue-1.0.5.tgz#cb23bce9fce903a133946a700cc85f27f09ea49d" @@ -3581,7 +3047,7 @@ babel-import-util@^2.0.0: resolved "https://registry.yarnpkg.com/babel-import-util/-/babel-import-util-2.0.1.tgz#263a2963ee9208428c04f05326c6ea32b2206ac6" integrity sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw== -babel-loader@^8.0.6, babel-loader@^8.1.0: +babel-loader@^8.0.6: version "8.3.0" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== @@ -3598,7 +3064,7 @@ babel-plugin-debug-macros@^0.2.0: dependencies: semver "^5.3.0" -babel-plugin-debug-macros@^0.3.3, babel-plugin-debug-macros@^0.3.4: +babel-plugin-debug-macros@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.3.4.tgz#22961d0cb851a80654cece807a8b4b73d85c6075" integrity sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw== @@ -3635,7 +3101,7 @@ babel-plugin-filter-imports@^4.0.0: "@babel/types" "^7.7.2" lodash "^4.17.15" -babel-plugin-htmlbars-inline-precompile@^5.2.0, babel-plugin-htmlbars-inline-precompile@^5.2.1, babel-plugin-htmlbars-inline-precompile@^5.3.0: +babel-plugin-htmlbars-inline-precompile@^5.2.1, babel-plugin-htmlbars-inline-precompile@^5.3.0: version "5.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-5.3.1.tgz#5ba272e2e4b6221522401f5f1d98a73b1de38787" integrity sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA== @@ -3709,7 +3175,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -3744,11 +3210,6 @@ basic-ftp@^5.0.2: resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.4.tgz#28aeab7bfbbde5f5d0159cd8bb3b8e633bbb091d" integrity sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA== -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - before-after-hook@^2.2.0: version "2.2.3" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" @@ -3764,11 +3225,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -3779,13 +3235,6 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -3809,21 +3258,11 @@ blank-object@^1.0.1: resolved "https://registry.yarnpkg.com/blank-object/-/blank-object-1.0.2.tgz#f990793fbe9a8c8dd013fb3219420bec81d5f4b9" integrity sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ== -bluebird@^3.4.6, bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@^3.4.6, 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== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -3852,18 +3291,6 @@ body@^5.1.0: raw-body "~1.1.0" safe-json-parse "~1.0.1" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -3922,7 +3349,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: +braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -4375,77 +3802,11 @@ broccoli@^3.5.2: underscore.string "^3.2.2" watch-detector "^1.0.0" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" - integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.4" - inherits "^2.0.4" - parse-asn1 "^5.1.6" - readable-stream "^3.6.2" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.22.2: version "4.22.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" @@ -4473,25 +3834,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -4508,11 +3850,6 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -4540,27 +3877,6 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" @@ -4639,19 +3955,6 @@ callsites@^3.0.0, callsites@^3.1.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" @@ -4799,7 +4102,7 @@ cheerio@^1.0.0-rc.9: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -chokidar@3.5.3, chokidar@^3.4.1: +chokidar@3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -4814,25 +4117,6 @@ chokidar@3.5.3, chokidar@^3.4.1: optionalDependencies: fsevents "~2.3.2" -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -4853,14 +4137,6 @@ ci-info@^3.2.0, ci-info@^3.3.0, ci-info@^3.4.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -4893,13 +4169,6 @@ clean-css@^3.4.5: commander "2.8.x" source-map "0.4.x" -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== - dependencies: - source-map "~0.6.0" - clean-stack@^2.0.0, clean-stack@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -4910,14 +4179,6 @@ clean-up-path@^1.0.0: resolved "https://registry.yarnpkg.com/clean-up-path/-/clean-up-path-1.0.0.tgz#de9e8196519912e749c9eaf67c13d64fac72a3e5" integrity sha512-PHGlEF0Z6976qQyN6gM7kKH6EH0RdfZcc8V+QhFe36eRxV0SMH5OUBZG7Bxa9YcreNzyNbK63cGiZxdSZgosRw== -clean-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" - integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== - dependencies: - "@types/webpack" "^4.4.31" - del "^4.1.1" - cli-boxes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" @@ -4983,15 +4244,6 @@ cli-width@^4.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -5139,16 +4391,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - config-chain@^1.1.11: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" @@ -5180,11 +4422,6 @@ configstore@^6.0.0: write-file-atomic "^3.0.3" xdg-basedir "^5.0.1" -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - connect@^3.6.6: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" @@ -5195,11 +4432,6 @@ connect@^3.6.6: parseurl "~1.3.3" utils-merge "1.0.1" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -5223,11 +4455,6 @@ consolidate@^0.16.0: dependencies: bluebird "^3.7.2" -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -5270,18 +4497,6 @@ cookie@~0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - copy-dereference@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/copy-dereference/-/copy-dereference-1.0.0.tgz#6b131865420fd81b413ba994b44d3655311152b6" @@ -5292,24 +4507,6 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -copy-webpack-plugin@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" - integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== - dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" - normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - webpack-log "^2.0.0" - core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.35.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.0.tgz#c149a3d1ab51e743bc1da61e39cb51f461a41873" @@ -5352,37 +4549,6 @@ cosmiconfig@8.1.3: parse-json "^5.0.0" path-type "^4.0.0" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -5403,23 +4569,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -5432,25 +4581,6 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" -css-loader@^3.4.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" - css-loader@^5.2.0: version "5.2.7" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" @@ -5467,17 +4597,6 @@ css-loader@^5.2.0: schema-utils "^3.0.0" semver "^7.3.5" -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - css-select@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" @@ -5497,7 +4616,7 @@ css-tree@^2.0.4: mdn-data "2.0.30" source-map-js "^1.0.1" -css-what@^6.0.1, css-what@^6.1.0: +css-what@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== @@ -5507,11 +4626,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cyclist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3" - integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA== - dag-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/dag-map/-/dag-map-2.0.2.tgz#9714b472de82a1843de2fba9b6876938cab44c68" @@ -5562,11 +4676,6 @@ debug@^3.0.1, debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -5598,18 +4707,6 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" - integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== - dependencies: - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - object-is "^1.1.5" - object-keys "^1.1.1" - regexp.prototype.flags "^1.5.1" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5638,14 +4735,6 @@ default-browser@^4.0.0: execa "^7.1.1" titleize "^3.0.0" -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - defaults@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" @@ -5672,7 +4761,7 @@ define-lazy-prop@^3.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== -define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -5713,19 +4802,6 @@ degenerator@^4.0.4: esprima "^4.0.1" vm2 "^3.9.19" -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -5751,14 +4827,6 @@ dequal@^2.0.0, dequal@^2.0.3: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -5784,11 +4852,6 @@ detect-newline@3.1.0, detect-newline@^3.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - diff-sequences@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" @@ -5804,22 +4867,6 @@ diff@^5.0.0: resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5827,26 +4874,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== - dependencies: - buffer-indexof "^1.0.0" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -5854,22 +4881,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -5879,23 +4890,11 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: +domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" @@ -5903,15 +4902,6 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - domutils@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" @@ -5943,16 +4933,6 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -5981,19 +4961,6 @@ electron-to-chromium@^1.4.601: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz#1d9f4169653784997bec98975e11a2c05214ce39" integrity sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg== -elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - ember-auto-import@^2.4.0, ember-auto-import@^2.4.1, ember-auto-import@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/ember-auto-import/-/ember-auto-import-2.7.2.tgz#5e74b6a8839fab25e23af6cff6f74b1b424d8f25" @@ -6034,12 +5001,12 @@ ember-auto-import@^2.4.0, ember-auto-import@^2.4.1, ember-auto-import@^2.6.0: typescript-memoize "^1.0.0-alpha.3" walk-sync "^3.0.0" -ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.0, ember-cli-babel-plugin-helpers@^1.1.1: +ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz#5016b80cdef37036c4282eef2d863e1d73576879" integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw== -ember-cli-babel@^7.13.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.23.1, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.2, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: +ember-cli-babel@^7.13.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.23.1, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: version "7.26.11" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.11.tgz#50da0fe4dcd99aada499843940fec75076249a9f" integrity sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA== @@ -6091,7 +5058,7 @@ ember-cli-get-component-path-option@^1.0.0: resolved "https://registry.yarnpkg.com/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz#0d7b595559e2f9050abed804f1d8eff1b08bc771" integrity sha512-k47TDwcJ2zPideBCZE8sCiShSxQSpebY2BHcX2DdipMmBox5gsfyVrbKJWIHeSTTKyEUgmBIvQkqTOozEziCZA== -ember-cli-htmlbars@^5.7.1, ember-cli-htmlbars@^6.0.1, ember-cli-htmlbars@^6.1.1: +ember-cli-htmlbars@^6.0.1, ember-cli-htmlbars@^6.1.1: version "6.3.0" resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-6.3.0.tgz#ac85f2bbd09788992ab7f9ca832cd044fb8e5798" integrity sha512-N9Y80oZfcfWLsqickMfRd9YByVcTGyhYRnYQ2XVPVrp6jyUyOeRWmEAPh7ERSXpp8Ws4hr/JB9QVQrn/yZa+Ag== @@ -6222,31 +5189,6 @@ ember-cli-typescript@^4.0.0, ember-cli-typescript@^4.1.0: stagehand "^1.0.0" walk-sync "^2.2.0" -ember-cli-typescript@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-5.2.1.tgz#553030f1ce3e8958b8e4fc34909acd1218cb35f2" - integrity sha512-qqp5TAIuPHxHiGXJKL+78Euyhy0zSKQMovPh8sJpN/ZBYx0H90pONufHR3anaMcp1snVfx4B+mb9+7ijOik8ZA== - dependencies: - ansi-to-html "^0.6.15" - broccoli-stew "^3.0.0" - debug "^4.0.0" - execa "^4.0.0" - fs-extra "^9.0.1" - resolve "^1.5.0" - rsvp "^4.8.1" - semver "^7.3.2" - stagehand "^1.0.0" - walk-sync "^2.2.0" - -ember-cli-version-checker@5.1.2, ember-cli-version-checker@^5.1.1, ember-cli-version-checker@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-5.1.2.tgz#649c7b6404902e3b3d69c396e054cea964911ab0" - integrity sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q== - dependencies: - resolve-package-path "^3.1.0" - semver "^7.3.4" - silent-error "^1.1.1" - ember-cli-version-checker@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz#7c9b4f5ff30fdebcd480b1c06c4de43bb51c522c" @@ -6264,6 +5206,15 @@ ember-cli-version-checker@^4.1.0: semver "^6.3.0" silent-error "^1.1.1" +ember-cli-version-checker@^5.1.1, ember-cli-version-checker@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-5.1.2.tgz#649c7b6404902e3b3d69c396e054cea964911ab0" + integrity sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q== + dependencies: + resolve-package-path "^3.1.0" + semver "^7.3.4" + silent-error "^1.1.1" + ember-cli@~4.4.0: version "4.4.1" resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-4.4.1.tgz#6cd8e571808cf283a780c5c0f5eeeef6c11e055e" @@ -6541,15 +5492,6 @@ ember-source@~4.8.2: semver "^7.3.7" silent-error "^1.1.1" -ember-template-imports@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ember-template-imports/-/ember-template-imports-1.1.1.tgz#41600ee044f2a9d5b7882c814cf25b260e31bac7" - integrity sha512-T6BMhEYIiYQK2/FI6Nn8WgidZagUAUjdLX4uKIaNY4+4ZmczD3gnVlR6sx4BU8DNAIi33S45ElPNjnUYgrjYpw== - dependencies: - broccoli-stew "^3.0.0" - ember-cli-version-checker "^5.1.2" - validate-peer-dependencies "^1.1.0" - ember-template-imports@^3.4.0: version "3.4.2" resolved "https://registry.yarnpkg.com/ember-template-imports/-/ember-template-imports-3.4.2.tgz#6cf7de7d4b8348a0fddf3aaec4947aa1211289e6" @@ -6612,11 +5554,6 @@ ember-welcome-page@^6.2.0: dependencies: "@embroider/addon-shim" "^1.5.0" -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -6644,7 +5581,7 @@ encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -6672,15 +5609,6 @@ engine.io@~6.5.2: engine.io-parser "~5.2.1" ws "~8.11.0" -enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" @@ -6732,13 +5660,6 @@ errlop@^2.0.0: resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -7016,11 +5937,6 @@ escodegen@^1.14.3: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9" - integrity sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg== - eslint-config-prettier@^8.5.0: version "8.10.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" @@ -7060,13 +5976,6 @@ eslint-plugin-node@^11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-prettier@^3.2.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - eslint-plugin-prettier@^4.0.0: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" @@ -7082,7 +5991,7 @@ eslint-plugin-qunit@^7.2.0: eslint-utils "^3.0.0" requireindex "^1.2.0" -eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -7090,14 +5999,6 @@ eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" @@ -7106,13 +6007,6 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -7142,50 +6036,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.15.0, eslint@^7.32.0: +eslint@^7.32.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== @@ -7280,15 +6131,6 @@ esm@^3.2.4: resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -7317,14 +6159,14 @@ esprima@~3.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" integrity sha512-xoBq/MIShSydNZOkjkoCEjqod963yHNXTLC40ypBhop6yPqflPz/vTinmCfSrGcywVLnSftRf6a0kJLdFdzemw== -esquery@^1.0.1, esquery@^1.4.0, esquery@^1.4.2: +esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -7366,24 +6208,11 @@ events-to-array@^1.0.1: resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6" integrity sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA== -events@^3.0.0, events@^3.2.0: +events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" - integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - exec-sh@^0.3.2, exec-sh@^0.3.4: version "0.3.6" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" @@ -7523,7 +6352,7 @@ expect@^29.5.0: jest-message-util "^29.7.0" jest-util "^29.7.0" -express@^4.10.7, express@^4.17.1, express@^4.17.2: +express@^4.10.7, express@^4.17.2: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -7661,7 +6490,7 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@^0.11.3, faye-websocket@^0.11.4: +faye-websocket@^0.11.3: version "0.11.4" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== @@ -7690,11 +6519,6 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -7717,13 +6541,6 @@ figures@^5.0.0: escape-string-regexp "^5.0.0" is-unicode-supported "^1.2.0" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -7731,19 +6548,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - filesize@^8.0.6: version "8.0.7" resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" @@ -7800,15 +6604,6 @@ find-babel-config@^1.1.0, find-babel-config@^1.2.0: json5 "^0.5.1" path-exists "^3.0.0" -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -7876,16 +6671,6 @@ find-yarn-workspace-root@^2.0.0: dependencies: micromatch "^4.0.2" -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - findup-sync@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" @@ -7947,15 +6732,6 @@ fixturify@^2.1.0: matcher-collection "^2.0.1" walk-sync "^2.0.2" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -7970,24 +6746,11 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - flatted@^3.2.9: version "3.2.9" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - follow-redirects@^1.0.0: version "1.15.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" @@ -8042,14 +6805,6 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -8170,29 +6925,11 @@ fs-updater@^1.0.4: heimdalljs-logger "^0.1.9" rimraf "^2.6.2" -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -8247,7 +6984,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -8349,15 +7086,7 @@ github-from-package@0.0.0: resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -8376,22 +7105,10 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -8422,7 +7139,7 @@ glob@^5.0.10: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.4, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.0.0, glob@^7.0.4, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -8450,13 +7167,6 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -8468,27 +7178,11 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" @@ -8556,29 +7250,6 @@ globby@^13.1.2: merge2 "^1.4.1" slash "^4.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - globrex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" @@ -8618,7 +7289,7 @@ graceful-fs@4.2.10: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -8638,11 +7309,6 @@ growly@^1.3.0: resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - handlebars@^4.0.4, handlebars@^4.3.1, handlebars@^4.7.3: version "4.7.8" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" @@ -8749,15 +7415,6 @@ has-yarn@^3.0.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - hash-for-dep@^1.0.2, hash-for-dep@^1.4.7, hash-for-dep@^1.5.0, hash-for-dep@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/hash-for-dep/-/hash-for-dep-1.5.1.tgz#497754b39bee2f1c4ade4521bfd2af0a7c1196e3" @@ -8770,14 +7427,6 @@ hash-for-dep@^1.0.2, hash-for-dep@^1.4.7, hash-for-dep@^1.5.0, hash-for-dep@^1.5 resolve "^1.10.0" resolve-package-path "^1.0.11" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hasown@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" @@ -8785,7 +7434,7 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" -he@1.2.0, he@^1.2.0: +he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -8826,15 +7475,6 @@ highlight.js@^10.7.1: resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -8854,59 +7494,6 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1, hosted-git-info@^4.0.2: dependencies: lru-cache "^6.0.0" -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-webpack-plugin@^4.0.4: - version "4.5.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - htmlparser2@^8.0.1: version "8.0.2" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" @@ -8922,11 +7509,6 @@ http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -8970,17 +7552,7 @@ http-proxy-agent@^7.0.0: agent-base "^7.1.0" debug "^4.3.4" -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.13.1, http-proxy@^1.17.0, http-proxy@^1.18.1: +http-proxy@^1.13.1, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -8997,11 +7569,6 @@ http2-wrapper@^2.1.10: quick-lru "^5.1.1" resolve-alpn "^1.2.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -9059,33 +7626,16 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -9114,14 +7664,6 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -9132,7 +7674,7 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infer-owner@^1.0.3, infer-owner@^1.0.4: +infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -9165,7 +7707,7 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -9221,7 +7763,7 @@ inquirer@^6: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^7.0.0, inquirer@^7.3.3: +inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== @@ -9240,14 +7782,6 @@ inquirer@^7.0.0, inquirer@^7.3.3: strip-ansi "^6.0.0" through "^2.3.6" -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - internal-slot@^1.0.4, internal-slot@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" @@ -9257,17 +7791,12 @@ internal-slot@^1.0.4, internal-slot@^1.0.5: hasown "^2.0.0" side-channel "^1.0.4" -interpret@^1.0.0, interpret@^1.4.0: +interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== - -ip@^1.1.0, ip@^1.1.5, ip@^1.1.8: +ip@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== @@ -9277,16 +7806,11 @@ ip@^2.0.0: resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: +ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - is-accessor-descriptor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" @@ -9323,13 +7847,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -9376,7 +7893,7 @@ is-data-descriptor@^1.0.1: dependencies: hasown "^2.0.0" -is-date-object@^1.0.1, is-date-object@^1.0.5: +is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -9421,7 +7938,7 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== @@ -9441,13 +7958,6 @@ is-git-url@^1.0.0: resolved "https://registry.yarnpkg.com/is-git-url/-/is-git-url-1.0.0.tgz#53f684cd143285b52c3244b4e6f28253527af66b" integrity sha512-UCFta9F9rWFSavp9H3zHEHrARUfZbdJvmHKeEpds4BK3v7W2LdXoNypMtXXi5w5YBDEBCTYmbI+vsSwI8LYJaQ== -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -9531,25 +8041,6 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -9676,11 +8167,6 @@ is-windows@^1.0.1, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -9882,7 +8368,7 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -9922,13 +8408,6 @@ json5@^0.5.1: resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" @@ -9992,11 +8471,6 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -10068,14 +8542,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -10084,6 +8550,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + lie@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" @@ -10133,25 +8607,11 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" - integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - loader-utils@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" @@ -10406,7 +8866,7 @@ lodash.uniqby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== -lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: +lodash@4.17.21, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10434,11 +8894,6 @@ log-symbols@^5.1.0: chalk "^5.0.0" is-unicode-supported "^1.1.0" -loglevel@^1.6.8: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - loupe@^2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" @@ -10501,14 +8956,6 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -10605,15 +9052,6 @@ matcher-collection@^2.0.0, matcher-collection@^2.0.1: "@types/minimatch" "^3.0.3" minimatch "^3.0.2" -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - mdast-util-from-markdown@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" @@ -10654,22 +9092,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - memory-streams@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/memory-streams/-/memory-streams-0.1.3.tgz#d9b0017b4b87f1d92f55f2745c9caacb1dc93ceb" @@ -10904,7 +9326,7 @@ micromark@^3.0.0: micromark-util-types "^1.0.1" uvu "^0.5.0" -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -10931,20 +9353,12 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@2.1.35, mime-types@^2.1.18, mime-types@^2.1.26, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@2.1.35, mime-types@^2.1.18, mime-types@^2.1.26, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -10956,11 +9370,6 @@ mime@1.6.0, mime@^1.3.4: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -10993,16 +9402,6 @@ mini-css-extract-plugin@^2.5.2: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -11113,22 +9512,6 @@ minizlib@^2.0.0, minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -11142,7 +9525,7 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@^0.5.6: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -11207,18 +9590,6 @@ mout@^1.0.0: resolved "https://registry.yarnpkg.com/mout/-/mout-1.2.4.tgz#9ffd261c4d6509e7ebcbf6b641a89b36ecdf8155" integrity sha512-mZb9uOruMWgn/fw28DG4/yE3Kehfk1zKCLhuDU2O3vlKdnBBr4XaOCqVTflJ5aODavGUPqFHZgrFX3NJVuxGhQ== -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - mri@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -11244,19 +9615,6 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - mustache@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" @@ -11286,11 +9644,6 @@ mz@^2.4.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.12.1: - version "2.18.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" - integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== - nanoid@3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" @@ -11338,7 +9691,7 @@ negotiator@0.6.3, negotiator@^0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: +neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -11401,45 +9754,11 @@ node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-modules-path@^1.0.0, node-modules-path@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/node-modules-path/-/node-modules-path-1.0.2.tgz#e3acede9b7baf4bc336e3496b58e5b40d517056e" @@ -11594,14 +9913,6 @@ object-inspect@^1.13.1, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -11624,17 +9935,6 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.0.3: - version "2.1.7" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" - integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - safe-array-concat "^1.0.0" - object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -11642,11 +9942,6 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -11704,14 +9999,7 @@ open@9.1.0: is-inside-container "^1.0.0" is-wsl "^2.2.0" -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optionator@^0.8.1, optionator@^0.8.3: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -11777,11 +10065,6 @@ ora@^5.4.0, ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -11835,7 +10118,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -11891,11 +10174,6 @@ p-locate@^6.0.0: dependencies: p-limit "^4.0.0" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - p-map@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" @@ -11910,13 +10188,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -11959,28 +10230,11 @@ package-json@^8.1.0: registry-url "^6.0.0" semver "^7.3.7" -pako@~1.0.2, pako@~1.0.5: +pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -11988,17 +10242,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -12085,34 +10328,16 @@ parse5@^7.0.0: dependencies: entities "^4.4.0" -parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -12133,11 +10358,6 @@ path-is-absolute@1.0.1, path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -12205,27 +10425,11 @@ pathval@^1.1.1: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -12241,21 +10445,11 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -12268,13 +10462,6 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -12296,7 +10483,7 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" -portfinder@^1.0.26, portfinder@^1.0.28: +portfinder@^1.0.28: version "1.0.32" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== @@ -12310,28 +10497,11 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - postcss-modules-local-by-default@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" @@ -12341,14 +10511,6 @@ postcss-modules-local-by-default@^4.0.0: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-modules-scope@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz#fbfddfda93a31f310f1d152c2bb4d3f3c5592ee0" @@ -12356,14 +10518,6 @@ postcss-modules-scope@^3.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - postcss-modules-values@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" @@ -12371,7 +10525,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.15" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== @@ -12384,14 +10538,6 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - postcss@^8.2.15, postcss@^8.4.18: version "8.4.33" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" @@ -12436,19 +10582,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.0.2, prettier@^2.1.1, prettier@^2.5.1, prettier@^2.6.2: +prettier@^2.1.1, prettier@^2.5.1, prettier@^2.6.2: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" @@ -12487,11 +10625,6 @@ process-relative-require@^1.0.0: dependencies: node-modules-path "^1.0.0" -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -12585,31 +10718,6 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -12618,20 +10726,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -12651,23 +10745,13 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.11.2, qs@^6.4.0, qs@^6.9.1: +qs@^6.4.0, qs@^6.9.1: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== dependencies: side-channel "^1.0.4" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -12687,16 +10771,6 @@ quick-temp@^0.1.2, quick-temp@^0.1.3, quick-temp@^0.1.5, quick-temp@^0.1.8: rimraf "^2.5.4" underscore.string "~3.3.4" -qunit-dom@^1.1.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/qunit-dom/-/qunit-dom-1.6.0.tgz#a4bea6a46329d221e4a317d712cb40709107b977" - integrity sha512-YwSqcLjQcRI0fUFpaSWwU10KIJPFW5Qh+d3cT5DOgx81dypRuUSiPkKFmBY/CDs/R1KdHRadthkcXg2rqAon8Q== - dependencies: - broccoli-funnel "^3.0.3" - broccoli-merge-trees "^4.2.0" - ember-cli-babel "^7.23.0" - ember-cli-version-checker "^5.1.1" - qunit-dom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/qunit-dom/-/qunit-dom-2.0.0.tgz#c4d7f7676dbb57f54151b72f8366d862134cd1c0" @@ -12707,7 +10781,7 @@ qunit-dom@^2.0.0: ember-cli-babel "^7.23.0" ember-cli-version-checker "^5.1.1" -qunit@^2.19.1, qunit@^2.9.3: +qunit@^2.19.1: version "2.20.0" resolved "https://registry.yarnpkg.com/qunit/-/qunit-2.20.0.tgz#66a404a0142781316bbda91535869ce5671555b1" integrity sha512-N8Fp1J55waE+QG1KwX2LOyqulZUToRrrPBqDOfYfuAMkEglFL15uwvmH1P4Tq/omQ/mGbBI8PEB3PhIfvUb+jg== @@ -12716,22 +10790,14 @@ qunit@^2.19.1, qunit@^2.9.3: node-watch "0.7.3" tiny-glob "0.2.9" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -12785,20 +10851,7 @@ read@^1.0.7: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -"readable-stream@2 || 3", readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@^3.6.2: +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -12817,14 +10870,18 @@ readable-stream@~1.0.2: isarray "0.0.1" string_decoder "~0.10.x" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" readdirp@~3.6.0: version "3.6.0" @@ -12903,11 +10960,6 @@ regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: define-properties "^1.2.0" set-function-name "^2.0.0" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - regexpp@^3.0.0, regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -12946,11 +10998,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - release-it@^15.5.0: version "15.11.0" resolved "https://registry.yarnpkg.com/release-it/-/release-it-15.11.0.tgz#389cf1e8f367b51f3f3bc4dc3e01046b6bdb166c" @@ -12999,17 +11046,6 @@ remove-types@^1.0.0: "@babel/plugin-transform-typescript" "^7.16.8" prettier "^2.5.1" -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" @@ -13030,11 +11066,6 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - require-relative@^0.8.7: version "0.8.7" resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" @@ -13065,13 +11096,6 @@ resolve-alpn@^1.2.0: resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== - dependencies: - resolve-from "^3.0.0" - resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -13080,11 +11104,6 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -13194,13 +11213,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3, rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -13215,13 +11227,12 @@ rimraf@^3.0.0, rimraf@^3.0.1, rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== +rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" + glob "^7.1.3" rollup-pluginutils@^2.0.1: version "2.8.2" @@ -13293,13 +11304,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - rxjs@^6.4.0, rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" @@ -13321,7 +11325,7 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: +safe-array-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== @@ -13336,7 +11340,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -13367,7 +11371,7 @@ safe-stable-stringify@^2.3.1: resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -13407,16 +11411,7 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5, schema-utils@^2.7.0: +schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -13444,18 +11439,6 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^1.10.8: - version "1.10.14" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" - integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== - dependencies: - node-forge "^0.10.0" - semver-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" @@ -13475,7 +11458,7 @@ semver@7.5.1: dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== @@ -13513,13 +11496,6 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -13527,19 +11503,6 @@ serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" @@ -13584,7 +11547,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -13599,14 +11562,6 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -13704,11 +11659,6 @@ sirv@^2.0.2: mrmime "^2.0.0" totalist "^3.0.0" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -13719,15 +11669,6 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -13808,26 +11749,6 @@ socket.io@^4.1.2: socket.io-adapter "~2.5.2" socket.io-parser "~4.2.4" -sockjs-client@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.6.1.tgz#350b8eda42d6d52ddc030c39943364c11dcad806" - integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw== - dependencies: - debug "^3.2.7" - eventsource "^2.0.2" - faye-websocket "^0.11.4" - inherits "^2.0.4" - url-parse "^1.5.10" - -sockjs@^0.3.21: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - socks-proxy-agent@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" @@ -13871,11 +11792,6 @@ sort-package-json@^1.55.0: is-plain-obj "2.1.0" sort-object-keys "^1.1.3" -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -13892,7 +11808,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -13922,16 +11838,11 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -13968,29 +11879,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -14008,13 +11896,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - ssri@^8.0.0, ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" @@ -14068,46 +11949,6 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.2.tgz#548bff71c92322e1ade886979f7f67c0723eb9e4" - integrity sha512-rV4Bovi9xx0BFzOb/X0B2GqoIjvqPCttZdu0Wgtx2Dxkj7ETyWl9gmqJ4EutWRLvtZWm8dxE+InQZX1IryZn/w== - -string-replace-loader@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-replace-loader/-/string-replace-loader-3.1.0.tgz#11ac6ee76bab80316a86af358ab773193dd57a4f" - integrity sha512-5AOMUZeX5HE/ylKDnEa/KKBqvlnFmRZudSOjVJHxhoJg9QYTwl1rECx7SLR8BBH7tfxb4Rp7EM2XVfQFxIhsbQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - string-template@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" @@ -14130,15 +11971,6 @@ string-width@^2.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -14204,7 +12036,7 @@ string_decoder@0.10, string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -14225,7 +12057,7 @@ string_decoder@~1.1.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== @@ -14239,7 +12071,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -14273,7 +12105,7 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-json-comments@3.1.1, strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -14283,14 +12115,6 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -style-loader@^1.1.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" - integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.7.0" - style-loader@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" @@ -14335,13 +12159,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -14381,16 +12198,6 @@ sync-disk-cache@^2.0.0: rimraf "^3.0.0" username-sync "^1.0.2" -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - table@^6.0.9: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" @@ -14411,11 +12218,6 @@ tap-parser@^7.0.0: js-yaml "^3.2.7" minipass "^2.2.0" -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" @@ -14462,21 +12264,6 @@ temp@0.9.4: mkdirp "^0.5.1" rimraf "~2.6.2" -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - terser-webpack-plugin@^5.3.7: version "5.3.10" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" @@ -14488,15 +12275,6 @@ terser-webpack-plugin@^5.3.7: serialize-javascript "^6.0.1" terser "^5.26.0" -terser@^4.1.2, terser@^4.6.3: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - terser@^5.26.0: version "5.26.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" @@ -14507,7 +12285,7 @@ terser@^5.26.0: commander "^2.20.0" source-map-support "~0.5.20" -testem@^3.0.3, testem@^3.6.0: +testem@^3.6.0: version "3.11.0" resolved "https://registry.yarnpkg.com/testem/-/testem-3.11.0.tgz#24f46528a9f7135eca88466b35ca8e09ad497399" integrity sha512-q0U126/nnRH54ZDrr6j1Ai5zK6vOm2rdY/5VJrbqcEPQgOWoLB6zrymWUs7BqN2/yRsdorocl9E9ZEwm7LLIZQ== @@ -14566,14 +12344,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - through2@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" @@ -14587,23 +12357,11 @@ through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - time-zone@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" integrity sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - tiny-glob@0.2.9: version "0.2.9" resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" @@ -14672,11 +12430,6 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -14773,11 +12526,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -14824,11 +12572,6 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-fest@^1.0.1: version "1.4.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" @@ -14902,11 +12645,6 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - typescript-memoize@^1.0.0-alpha.3, typescript-memoize@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.1.tgz#02737495d5df6ebf72c07ba0d002e8f4cf5ccfa0" @@ -15063,11 +12801,6 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - upath@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" @@ -15123,22 +12856,6 @@ url-join@^4.0.1: resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== -url-parse@^1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -15154,43 +12871,11 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@^0.10.4: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== - dependencies: - inherits "2.0.3" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -15206,7 +12891,7 @@ uvu@^0.5.0: kleur "^4.0.3" sade "^1.7.3" -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== @@ -15274,11 +12959,6 @@ vitest@^0.22.0: tinyspy "^1.0.2" vite "^2.9.12 || ^3.0.0-0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - vm2@^3.9.19: version "3.9.19" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.19.tgz#be1e1d7a106122c6c492b4d51c2e8b93d3ed6a4a" @@ -15384,24 +13064,6 @@ watch-detector@^1.0.0, watch-detector@^1.0.1: silent-error "^1.1.1" tmp "^0.1.0" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" @@ -15410,13 +13072,6 @@ watchpack@^2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -15434,123 +13089,11 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-cli@^3.3.11: - version "3.3.12" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== - dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.10.3: - version "3.11.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" - integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== - dependencies: - ansi-html-community "0.0.8" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^4.42.1: - version "4.47.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.47.0.tgz#8b8a02152d7076aeb03b61b47dad2eeed9810ebc" - integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - webpack@^5.72.1: version "5.89.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" @@ -15581,7 +13124,7 @@ webpack@^5.72.1: watchpack "^2.4.0" webpack-sources "^3.2.3" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -15619,11 +13162,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - which-typed-array@^1.1.11, which-typed-array@^1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" @@ -15635,7 +13173,7 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.13: gopd "^1.0.1" has-tostringtag "^1.0.0" -which@^1.2.14, which@^1.2.9, which@^1.3.1: +which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -15690,13 +13228,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - workerpool@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" @@ -15725,15 +13256,6 @@ workerpool@^6.2.0, workerpool@^6.4.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -15767,20 +13289,6 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - ws@~8.11.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" @@ -15809,16 +13317,11 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xtend@^4.0.0, xtend@~4.0.1: +xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -15857,14 +13360,6 @@ yargs-parser@21.1.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" @@ -15893,22 +13388,6 @@ yargs@16.2.0, yargs@^16.0.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^17.1.0, yargs@^17.5.1: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" From 30eaf0d2c0d2e7ba487f9d0537778735f0bda0e7 Mon Sep 17 00:00:00 2001 From: machty Date: Wed, 20 Mar 2024 04:13:33 +0800 Subject: [PATCH 03/15] fix more --- .../core/__tests__/cli/declaration.test.ts | 11 ++-- packages/core/__tests__/cli/watch.test.ts | 58 +++++++++---------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/packages/core/__tests__/cli/declaration.test.ts b/packages/core/__tests__/cli/declaration.test.ts index 537e10f47..5f0ba068a 100644 --- a/packages/core/__tests__/cli/declaration.test.ts +++ b/packages/core/__tests__/cli/declaration.test.ts @@ -14,7 +14,7 @@ describe('CLI: emitting declarations', () => { test('emit for a valid project with embedded templates', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export interface ApplicationArgs { version: string; @@ -23,21 +23,21 @@ describe('CLI: emitting declarations', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let emitResult = await project.check({ flags: ['--declaration'] }); expect(emitResult.exitCode).toBe(0); expect(project.read('index.d.ts')).toMatchInlineSnapshot(` - "import Component from '@glimmerx/component'; + "import Component from '@glimmer/component'; export interface ApplicationArgs { version: string; } @@ -45,7 +45,6 @@ describe('CLI: emitting declarations', () => { Args: ApplicationArgs; }> { private startupTime; - static template: abstract new () => unknown; } " `); diff --git a/packages/core/__tests__/cli/watch.test.ts b/packages/core/__tests__/cli/watch.test.ts index 090266961..965d1d53b 100644 --- a/packages/core/__tests__/cli/watch.test.ts +++ b/packages/core/__tests__/cli/watch.test.ts @@ -16,7 +16,7 @@ describe('CLI: watched typechecking', () => { test('passes a valid project', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -25,14 +25,14 @@ describe('CLI: watched typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let watch = project.watch({ reject: true }); let output = await watch.awaitOutput('Watching for file changes.'); @@ -44,7 +44,7 @@ describe('CLI: watched typechecking', () => { test('reports diagnostics for a template syntax error', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -53,14 +53,14 @@ describe('CLI: watched typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let watch = project.watch(); let output = await watch.awaitOutput('Watching for file changes.'); @@ -69,13 +69,13 @@ describe('CLI: watched typechecking', () => { let stripped = stripAnsi(output); let error = stripped.slice( - stripped.indexOf('index.ts'), + stripped.indexOf('index.gts'), stripped.lastIndexOf(`~~~${os.EOL}`) + 3 ); expect(output).toMatch('Found 1 error.'); expect(error.replace(/\r/g, '')).toMatchInlineSnapshot(` - "index.ts:11:24 - error TS0: Parse error on line 2: + "index.gts:11:24 - error TS0: Parse error on line 2: ...e to app v{{@version}. The current t -----------------------^ Expecting 'CLOSE_RAW_BLOCK', 'CLOSE', 'CLOSE_UNESCAPED', 'OPEN_SEXPR', 'CLOSE_SEXPR', 'ID', 'OPEN_BLOCK_PARAMS', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', 'SEP', got 'INVALID' @@ -87,7 +87,7 @@ describe('CLI: watched typechecking', () => { test('reports diagnostics for a template type error', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -96,14 +96,14 @@ describe('CLI: watched typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let watch = project.watch(); let output = await watch.awaitOutput('Watching for file changes.'); @@ -112,18 +112,18 @@ describe('CLI: watched typechecking', () => { let stripped = stripAnsi(output); let error = stripped.slice( - stripped.indexOf('index.ts'), + stripped.indexOf('index.gts'), stripped.lastIndexOf(`~~~${os.EOL}`) + 3 ); expect(output).toMatch('Found 1 error.'); expect(error.replace(/\r/g, '')).toMatchInlineSnapshot(` - "index.ts:12:32 - error TS2551: Property 'startupTimee' does not exist on type 'Application'. Did you mean 'startupTime'? + "index.gts:12:32 - error TS2551: Property 'startupTimee' does not exist on type 'Application'. Did you mean 'startupTime'? 12 The current time is {{this.startupTimee}}. ~~~~~~~~~~~~ - index.ts:8:11 + index.gts:8:11 8 private startupTime = new Date().toISOString(); ~~~~~~~~~~~" `); @@ -131,7 +131,7 @@ describe('CLI: watched typechecking', () => { test('reports on errors introduced and cleared during the watch', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -140,26 +140,26 @@ describe('CLI: watched typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let watch = project.watch({ reject: true }); let output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 0 errors.'); - project.write('index.ts', code.replace('this.startupTime', 'this.startupTimee')); + project.write('index.gts', code.replace('this.startupTime', 'this.startupTimee')); output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 1 error.'); - project.write('index.ts', code); + project.write('index.gts', code); output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 0 errors.'); @@ -293,7 +293,7 @@ describe('CLI: watched typechecking', () => { test('reports on errors introduced and cleared during the watch with --preserveWatchOutput', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type ApplicationArgs = { version: string; @@ -302,26 +302,26 @@ describe('CLI: watched typechecking', () => { export default class Application extends Component<{ Args: ApplicationArgs }> { private startupTime = new Date().toISOString(); - public static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let watch = project.watch({ flags: ['--preserveWatchOutput'], reject: true }); let output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 0 errors.'); - project.write('index.ts', code.replace('this.startupTime', 'this.startupTimee')); + project.write('index.gts', code.replace('this.startupTime', 'this.startupTimee')); output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 1 error.'); - project.write('index.ts', code); + project.write('index.gts', code); output = await watch.awaitOutput('Watching for file changes.'); expect(output).toMatch('Found 0 errors.'); From ec7befc22788e9af544780bd5ed406367f337b14 Mon Sep 17 00:00:00 2001 From: machty Date: Wed, 20 Mar 2024 04:24:08 +0800 Subject: [PATCH 04/15] mass replace --- .../language-server/completions.test.ts | 68 +-- .../language-server/definitions.test.ts | 34 +- .../language-server/diagnostics.test.ts | 18 +- .../__tests__/language-server/hover.test.ts | 18 +- .../language-server/organize-imports.test.ts | 4 +- .../language-server/references.test.ts | 24 +- .../__tests__/language-server/rename.test.ts | 32 +- .../language-server/symbol-search.test.ts | 10 +- .../core/__tests__/transform/debug.test.ts | 500 ------------------ .../transform/offset-mapping.test.ts | 18 +- .../core/__tests__/transform/rewrite.test.ts | 26 +- 11 files changed, 126 insertions(+), 626 deletions(-) delete mode 100644 packages/core/__tests__/transform/debug.test.ts diff --git a/packages/core/__tests__/language-server/completions.test.ts b/packages/core/__tests__/language-server/completions.test.ts index 3e92964f2..d1b14a230 100644 --- a/packages/core/__tests__/language-server/completions.test.ts +++ b/packages/core/__tests__/language-server/completions.test.ts @@ -35,21 +35,21 @@ describe('Language Server: Completions', () => { test('in unstructured text', () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class MyComponent extends Component { - static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 4, character: 4, }); @@ -99,21 +99,21 @@ describe('Language Server: Completions', () => { test('passing component args', () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class MyComponent extends Component { - static template = hbs\` + } class Inner extends Component<{ Args: { foo?: string; 'bar-baz'?: number | undefined } }> {} `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 4, character: 12, }); @@ -127,21 +127,21 @@ describe('Language Server: Completions', () => { test('referencing class properties', () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class MyComponent extends Component { private message = 'hello'; - static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 6, character: 13, }); @@ -292,23 +292,23 @@ describe('Language Server: Completions', () => { test('referencing own args', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; type MyComponentArgs = { items: Set; }; export default class MyComponent extends Component<{ Args: MyComponentArgs }> { - static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 8, character: 8, }); @@ -324,21 +324,21 @@ describe('Language Server: Completions', () => { test('referencing block params', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class MyComponent extends Component { - static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 5, character: 9, }); @@ -354,14 +354,14 @@ describe('Language Server: Completions', () => { test('referencing module-scope identifiers', async () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; const greeting: string = 'hello'; export default class MyComponent extends Component { - static template = hbs\` + } `; @@ -384,24 +384,24 @@ describe('Language Server: Completions', () => { test('immediately after a change', () => { let code = stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class MyComponent extends Component { - static template = hbs\` + } `; - project.write('index.ts', code); + project.write('index.gts', code); let server = project.startLanguageServer(); - server.updateFile(project.fileURI('index.ts'), code.replace('{{}}', '{{l}}')); + server.updateFile(project.fileURI('index.gts'), code.replace('{{}}', '{{l}}')); - let completions = server.getCompletions(project.fileURI('index.ts'), { + let completions = server.getCompletions(project.fileURI('index.gts'), { line: 5, character: 9, }); diff --git a/packages/core/__tests__/language-server/definitions.test.ts b/packages/core/__tests__/language-server/definitions.test.ts index 90830258a..7b7315b1d 100644 --- a/packages/core/__tests__/language-server/definitions.test.ts +++ b/packages/core/__tests__/language-server/definitions.test.ts @@ -37,19 +37,19 @@ describe('Language Server: Definitions', () => { test('component invocation', () => { project.write({ 'greeting.ts': stripIndent` - import Component, { hbs } from '@glimmerx/component'; + import Component from '@glimmer/component'; export default class Greeting extends Component<{ Args: { message: string } }> { - static template = hbs\`{{@message}}, World!\`; +