From e266bf9e84122ee107971650ea58ee2339477e5b Mon Sep 17 00:00:00 2001
From: Edward Faulkner
Date: Sun, 24 Dec 2023 12:44:17 -0500
Subject: [PATCH 1/3] Make feature discovery lazy
While working toward [strict-es-modules](https://github.com/emberjs/rfcs/pull/938), I found that under real ES modules, this feature-detection code will become eager, which makes it blow up inside all versions of ember-cli-htmlbars before https://github.com/ember-cli/ember-cli-htmlbars/pull/786, because ember-cli-htmlbars insists on evaluating the template compiler bundle inside a VM with no valid `URL` global.
While that is now fixed in an upcoming major of ember-cli-htmlbars, people can't benefit from that until their very last addon upgrades ember-cli-htmlbars.
So it's also good to fix this directly, by making the feature detection code explicitly lazy.
---
.../runtime/lib/dom/sanitized-values.ts | 103 ++++++++++--------
1 file changed, 55 insertions(+), 48 deletions(-)
diff --git a/packages/@glimmer/runtime/lib/dom/sanitized-values.ts b/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
index fd429bc10d..800a689c3e 100644
--- a/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
+++ b/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
@@ -37,55 +37,62 @@ interface NodeUrlModule {
parse(url: string): NodeUrlParseResult;
}
-let protocolForUrl: (url: string) => string;
-
-if (
- typeof URL === 'object' &&
- URL !== null &&
- // this is super annoying, TS thinks that URL **must** be a function so `URL.parse` check
- // thinks it is `never` without this `as unknown as any`
- typeof (URL as unknown as any).parse === 'function'
-) {
- // In Ember-land the `fastboot` package sets the `URL` global to `require('url')`
- // ultimately, this should be changed (so that we can either rely on the natural `URL` global
- // that exists) but for now we have to detect the specific `FastBoot` case first
- //
- // a future version of `fastboot` will detect if this legacy URL setup is required (by
- // inspecting Ember version) and if new enough, it will avoid shadowing the `URL` global
- // constructor with `require('url')`.
- let nodeURL = URL as NodeUrlModule;
-
- protocolForUrl = (url: string) => {
- let protocol = null;
-
- if (typeof url === 'string') {
- protocol = nodeURL.parse(url).protocol;
- }
+function findProtocolForURL() {
+ if (
+ typeof URL === 'object' &&
+ URL !== null &&
+ // this is super annoying, TS thinks that URL **must** be a function so `URL.parse` check
+ // thinks it is `never` without this `as unknown as any`
+ typeof (URL as unknown as any).parse === 'function'
+ ) {
+ // In Ember-land the `fastboot` package sets the `URL` global to `require('url')`
+ // ultimately, this should be changed (so that we can either rely on the natural `URL` global
+ // that exists) but for now we have to detect the specific `FastBoot` case first
+ //
+ // a future version of `fastboot` will detect if this legacy URL setup is required (by
+ // inspecting Ember version) and if new enough, it will avoid shadowing the `URL` global
+ // constructor with `require('url')`.
+ let nodeURL = URL as NodeUrlModule;
+
+ return (url: string) => {
+ let protocol = null;
+
+ if (typeof url === 'string') {
+ protocol = nodeURL.parse(url).protocol;
+ }
+
+ return protocol === null ? ':' : protocol;
+ };
+ } else if (typeof URL === 'function') {
+ return (_url: string) => {
+ try {
+ let url = new URL(_url);
+
+ return url.protocol;
+ } catch (error) {
+ // any non-fully qualified url string will trigger an error (because there is no
+ // baseURI that we can provide; in that case we **know** that the protocol is
+ // "safe" because it isn't specifically one of the `badProtocols` listed above
+ // (and those protocols can never be the default baseURI)
+ return ':';
+ }
+ };
+ } else {
+ // fallback for IE11 support
+ let parsingNode = document.createElement('a');
+ return (url: string) => {
+ parsingNode.href = url;
+ return parsingNode.protocol;
+ };
+ }
+}
- return protocol === null ? ':' : protocol;
- };
-} else if (typeof URL === 'function') {
- protocolForUrl = (_url: string) => {
- try {
- let url = new URL(_url);
-
- return url.protocol;
- } catch (error) {
- // any non-fully qualified url string will trigger an error (because there is no
- // baseURI that we can provide; in that case we **know** that the protocol is
- // "safe" because it isn't specifically one of the `badProtocols` listed above
- // (and those protocols can never be the default baseURI)
- return ':';
- }
- };
-} else {
- // fallback for IE11 support
- let parsingNode = document.createElement('a');
-
- protocolForUrl = (url: string) => {
- parsingNode.href = url;
- return parsingNode.protocol;
- };
+let _protocolForUrlImplementation: typeof protocolForUrl | undefined;
+function protocolForUrl(url: string): string {
+ if (!_protocolForUrlImplementation) {
+ _protocolForUrlImplementation = findProtocolForURL();
+ }
+ return _protocolForUrlImplementation(url);
}
export function sanitizeAttributeValue(
From 8fd30747c4f276ac4410949b4aa5ae249d9e28ba Mon Sep 17 00:00:00 2001
From: Edward Faulkner
Date: Sun, 24 Dec 2023 13:09:12 -0500
Subject: [PATCH 2/3] Dropping all explicitly-mentioned IE11 support code
---
.../lib/suites/initial-render.ts | 4 ++--
.../test/chaos-rehydration-test.ts | 13 +------------
.../integration-tests/test/initial-render-test.ts | 13 +------------
.../integration-tests/test/modifiers/on-test.ts | 15 ++-------------
packages/@glimmer/debug/lib/metadata.ts | 2 +-
.../@glimmer/runtime/lib/dom/sanitized-values.ts | 7 +------
.../@glimmer/util/test/debug-to-string-test.ts | 12 +++---------
packages/@glimmer/validator/lib/debug.ts | 3 +--
8 files changed, 12 insertions(+), 57 deletions(-)
diff --git a/packages/@glimmer-workspace/integration-tests/lib/suites/initial-render.ts b/packages/@glimmer-workspace/integration-tests/lib/suites/initial-render.ts
index af75252d2c..eb6d9df02f 100644
--- a/packages/@glimmer-workspace/integration-tests/lib/suites/initial-render.ts
+++ b/packages/@glimmer-workspace/integration-tests/lib/suites/initial-render.ts
@@ -1060,12 +1060,12 @@ export class InitialRenderSuite extends RenderTest {
@test
'Integer powers of 2'() {
const ints = [];
- let i = 9007199254740991; // Number.MAX_SAFE_INTEGER isn't available on IE11
+ let i = Number.MAX_SAFE_INTEGER;
while (i > 1) {
ints.push(i);
i = Math.round(i / 2);
}
- i = -9007199254740991; // Number.MIN_SAFE_INTEGER isn't available on IE11
+ i = Number.MIN_SAFE_INTEGER;
while (i < -1) {
ints.push(i);
i = Math.round(i / 2);
diff --git a/packages/@glimmer-workspace/integration-tests/test/chaos-rehydration-test.ts b/packages/@glimmer-workspace/integration-tests/test/chaos-rehydration-test.ts
index b8d9e5b339..4125cb148a 100644
--- a/packages/@glimmer-workspace/integration-tests/test/chaos-rehydration-test.ts
+++ b/packages/@glimmer-workspace/integration-tests/test/chaos-rehydration-test.ts
@@ -26,11 +26,6 @@ import {
test,
} from '..';
-// `window.ActiveXObject` is "falsey" in IE11 (but not `undefined` or `false`)
-// `"ActiveXObject" in window` returns `true` in all IE versions
-// only IE11 will pass _both_ of these conditions
-const isIE11 = !(window as any).ActiveXObject && 'ActiveXObject' in window;
-
abstract class AbstractChaosMonkeyTest extends RenderTest {
abstract renderClientSide(template: string | ComponentBlueprint, context: Dict): void;
@@ -247,13 +242,7 @@ class ChaosMonkeyRehydration extends AbstractChaosMonkeyTest {
const b = blockStack();
// assert that we are in a "browser corrected" state (note the `
` before the `world!
`)
- if (isIE11) {
- // IE11 doesn't behave the same as modern browsers
- this.assertServerOutput(`hello ${b(1)}
world!
${b(1)}`);
- } else {
- this.assertServerOutput(`hello ${b(1)}
world!
${b(1)}`);
- }
-
+ this.assertServerOutput(`hello ${b(1)}
world!
${b(1)}`);
this.runIterations(template, context, 'hello
world!
', 100);
}
}
diff --git a/packages/@glimmer-workspace/integration-tests/test/initial-render-test.ts b/packages/@glimmer-workspace/integration-tests/test/initial-render-test.ts
index ba572ec360..95e7e1ff37 100644
--- a/packages/@glimmer-workspace/integration-tests/test/initial-render-test.ts
+++ b/packages/@glimmer-workspace/integration-tests/test/initial-render-test.ts
@@ -29,11 +29,6 @@ import {
toTextContent,
} from '..';
-// `window.ActiveXObject` is "falsey" in IE11 (but not `undefined` or `false`)
-// `"ActiveXObject" in window` returns `true` in all IE versions
-// only IE11 will pass _both_ of these conditions
-const isIE11 = !(window as any).ActiveXObject && 'ActiveXObject' in window;
-
class RenderTests extends InitialRenderSuite {
static override suiteName = 'initial render (client)';
override name = 'client';
@@ -1062,13 +1057,7 @@ class RehydratingComponents extends AbstractRehydrationTests {
let id = this.testType === 'Dynamic' ? 3 : 2;
- // assert that we are in a "browser corrected" state (note the `` before the `world!
`)
- if (isIE11) {
- // IE11 doesn't behave the same as modern browsers
- this.assertServerComponent(`hello ${b(id)}
world!
${b(id)}`);
- } else {
- this.assertServerComponent(`hello ${b(id)}
world!
${b(id)}`);
- }
+ this.assertServerComponent(`hello ${b(id)}
world!
${b(id)}`);
this.renderClientSide(componentToRender, { show: true });
this.assertComponent('hello
world!
');
diff --git a/packages/@glimmer-workspace/integration-tests/test/modifiers/on-test.ts b/packages/@glimmer-workspace/integration-tests/test/modifiers/on-test.ts
index 14f7bfbed8..74ae5bbd9c 100644
--- a/packages/@glimmer-workspace/integration-tests/test/modifiers/on-test.ts
+++ b/packages/@glimmer-workspace/integration-tests/test/modifiers/on-test.ts
@@ -31,7 +31,6 @@ const isChrome = hasDom
? typeof global.chrome === 'object' && !(typeof global.opera === 'object')
: false;
const isFirefox = hasDom ? /Firefox|FxiOS/u.test(navigator.userAgent) : false;
-const isIE11 = !global.ActiveXObject && 'ActiveXObject' in window;
interface Counters {
adds: number;
@@ -82,8 +81,6 @@ if (hasDom) {
if (isChrome || isFirefox) {
assert.strictEqual(SUPPORTS_EVENT_OPTIONS, true, 'is true in chrome and firefox');
- } else if (isIE11) {
- assert.strictEqual(SUPPORTS_EVENT_OPTIONS, false, 'is false in IE11');
}
}
@@ -189,11 +186,7 @@ if (hasDom) {
assert.strictEqual(count, 1, 'has been called 1 times');
- if (isIE11) {
- this.assertCounts({ adds: 1, removes: 1 });
- } else {
- this.assertCounts({ adds: 1, removes: 0 });
- }
+ this.assertCounts({ adds: 1, removes: 0 });
}
@test
@@ -226,11 +219,7 @@ if (hasDom) {
button.click();
assert.strictEqual(count, 3, 'is not called again');
- if (isIE11) {
- this.assertCounts({ adds: 2, removes: 2 });
- } else {
- this.assertCounts({ adds: 2, removes: 1 });
- }
+ this.assertCounts({ adds: 2, removes: 1 });
}
@test
diff --git a/packages/@glimmer/debug/lib/metadata.ts b/packages/@glimmer/debug/lib/metadata.ts
index 1eb18f77bf..43399637e0 100644
--- a/packages/@glimmer/debug/lib/metadata.ts
+++ b/packages/@glimmer/debug/lib/metadata.ts
@@ -197,7 +197,7 @@ export function strip(strings: TemplateStringsArray, ...args: unknown[]) {
// eslint-disable-next-line regexp/no-super-linear-backtracking
out = /^\s*?\n?([\s\S]*?)\s*$/u.exec(out)![1] as string;
- let min = 9007199254740991; // Number.MAX_SAFE_INTEGER isn't available on IE11
+ let min = Number.MAX_SAFE_INTEGER;
for (let line of out.split('\n')) {
let leading = /^\s*/u.exec(line)![0].length;
diff --git a/packages/@glimmer/runtime/lib/dom/sanitized-values.ts b/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
index 800a689c3e..e22b258e5b 100644
--- a/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
+++ b/packages/@glimmer/runtime/lib/dom/sanitized-values.ts
@@ -78,12 +78,7 @@ function findProtocolForURL() {
}
};
} else {
- // fallback for IE11 support
- let parsingNode = document.createElement('a');
- return (url: string) => {
- parsingNode.href = url;
- return parsingNode.protocol;
- };
+ throw new Error(`@glimmer/runtime needs a valid "globalThis.URL"`);
}
}
diff --git a/packages/@glimmer/util/test/debug-to-string-test.ts b/packages/@glimmer/util/test/debug-to-string-test.ts
index 2c985dace4..faa9a5374d 100644
--- a/packages/@glimmer/util/test/debug-to-string-test.ts
+++ b/packages/@glimmer/util/test/debug-to-string-test.ts
@@ -1,8 +1,4 @@
import { debugToString as maybeDebugToString } from '@glimmer/util';
-// `window.ActiveXObject` is "falsey" in IE11 (but not `undefined` or `false`)
-// `"ActiveXObject" in window` returns `true` in all IE versions
-// only IE11 will pass _both_ of these conditions
-const isIE11 = !(window as any).ActiveXObject && 'ActiveXObject' in window;
QUnit.module('debug-to-string tests');
@@ -37,11 +33,9 @@ if (import.meta.env.DEV) {
QUnit.test('should return debug name for primitive [Infinity]', (assert) => {
assert.deepEqual(debugToString(Infinity), 'Infinity');
});
- if (!isIE11) {
- QUnit.test('should return debug name for primitive [Symbol]', (assert) => {
- assert.deepEqual(debugToString(Symbol('Foo')), 'Symbol(Foo)');
- });
- }
+ QUnit.test('should return debug name for primitive [Symbol]', (assert) => {
+ assert.deepEqual(debugToString(Symbol('Foo')), 'Symbol(Foo)');
+ });
QUnit.test('should return debug name for object', (assert) => {
assert.deepEqual(debugToString({}), 'Object');
});
diff --git a/packages/@glimmer/validator/lib/debug.ts b/packages/@glimmer/validator/lib/debug.ts
index f499086e03..3687636064 100644
--- a/packages/@glimmer/validator/lib/debug.ts
+++ b/packages/@glimmer/validator/lib/debug.ts
@@ -171,8 +171,7 @@ if (import.meta.env.DEV) {
current = current.parent;
}
- // TODO: Use String.prototype.repeat here once we can drop support for IE11
- return trackingStack.map((label, index) => Array(2 * index + 1).join(' ') + label).join('\n');
+ return trackingStack.map((label, index) => ' '.repeat(2*index) + label).join('\n');
};
debug.markTagAsConsumed = (_tag: Tag) => {
From 8ed044e1e64a789a64b0e7570610faa34e2875ac Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Sun, 24 Dec 2023 14:09:54 -0500
Subject: [PATCH 3/3] lintfix + reduceLock
---
packages/@glimmer/validator/lib/debug.ts | 2 +-
pnpm-lock.yaml | 463 +----------------------
2 files changed, 21 insertions(+), 444 deletions(-)
diff --git a/packages/@glimmer/validator/lib/debug.ts b/packages/@glimmer/validator/lib/debug.ts
index 3687636064..d68e108bb3 100644
--- a/packages/@glimmer/validator/lib/debug.ts
+++ b/packages/@glimmer/validator/lib/debug.ts
@@ -171,7 +171,7 @@ if (import.meta.env.DEV) {
current = current.parent;
}
- return trackingStack.map((label, index) => ' '.repeat(2*index) + label).join('\n');
+ return trackingStack.map((label, index) => ' '.repeat(2 * index) + label).join('\n');
};
debug.markTagAsConsumed = (_tag: Tag) => {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fdb2bda0a1..54cd99e799 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -217,21 +217,11 @@ importers:
version: 5.0.10(@types/node@20.9.4)
xo:
specifier: ^0.54.2
- version: 0.54.2(eslint-import-resolver-typescript@3.6.1)(webpack@5.89.0)
+ version: 0.54.2(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(webpack@5.89.0)
zx:
specifier: ^7.2.3
version: 7.2.3
- benchmark:
- dependencies:
- '@glimmer-workspace/benchmark-env':
- specifier: workspace:^
- version: link:../packages/@glimmer-workspace/benchmark-env
- devDependencies:
- '@glimmer/compiler':
- specifier: workspace:^
- version: link:../packages/@glimmer/compiler
-
benchmark/benchmarks/krausest:
dependencies:
'@glimmer-workspace/benchmark-env':
@@ -372,7 +362,7 @@ importers:
version: 8.54.0
eslint-plugin-import:
specifier: ^2.29.0
- version: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ version: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
eslint-plugin-json:
specifier: ^3.1.0
version: 3.1.0
@@ -439,7 +429,7 @@ importers:
version: 2.0.0(eslint@8.54.0)(typescript@5.2.2)
eslint-plugin-import:
specifier: ^2.28.0
- version: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ version: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
eslint-plugin-n:
specifier: ^16.3.1
version: 16.3.1(eslint@8.54.0)
@@ -2543,27 +2533,6 @@ packages:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- /@esbuild-kit/cjs-loader@2.4.2:
- resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
- dependencies:
- '@esbuild-kit/core-utils': 3.1.0
- get-tsconfig: 4.7.2
- dev: true
-
- /@esbuild-kit/core-utils@3.1.0:
- resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==}
- dependencies:
- esbuild: 0.17.18
- source-map-support: 0.5.21
- dev: true
-
- /@esbuild-kit/esm-loader@2.5.5:
- resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==}
- dependencies:
- '@esbuild-kit/core-utils': 3.1.0
- get-tsconfig: 4.7.2
- dev: true
-
/@esbuild/aix-ppc64@0.19.10:
resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==}
engines: {node: '>=12'}
@@ -2572,15 +2541,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/android-arm64@0.17.18:
- resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-arm64@0.18.20:
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
engines: {node: '>=12'}
@@ -2598,15 +2558,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/android-arm@0.17.18:
- resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-arm@0.18.20:
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
engines: {node: '>=12'}
@@ -2624,15 +2575,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/android-x64@0.17.18:
- resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-x64@0.18.20:
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
engines: {node: '>=12'}
@@ -2650,15 +2592,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/darwin-arm64@0.17.18:
- resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/darwin-arm64@0.18.20:
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
engines: {node: '>=12'}
@@ -2676,15 +2609,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/darwin-x64@0.17.18:
- resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/darwin-x64@0.18.20:
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
engines: {node: '>=12'}
@@ -2702,15 +2626,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/freebsd-arm64@0.17.18:
- resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/freebsd-arm64@0.18.20:
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
engines: {node: '>=12'}
@@ -2728,15 +2643,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/freebsd-x64@0.17.18:
- resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/freebsd-x64@0.18.20:
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
engines: {node: '>=12'}
@@ -2754,15 +2660,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-arm64@0.17.18:
- resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-arm64@0.18.20:
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
engines: {node: '>=12'}
@@ -2780,15 +2677,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-arm@0.17.18:
- resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-arm@0.18.20:
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
engines: {node: '>=12'}
@@ -2806,15 +2694,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-ia32@0.17.18:
- resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-ia32@0.18.20:
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
engines: {node: '>=12'}
@@ -2832,15 +2711,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-loong64@0.17.18:
- resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-loong64@0.18.20:
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
engines: {node: '>=12'}
@@ -2858,15 +2728,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-mips64el@0.17.18:
- resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-mips64el@0.18.20:
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
engines: {node: '>=12'}
@@ -2884,15 +2745,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-ppc64@0.17.18:
- resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-ppc64@0.18.20:
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
engines: {node: '>=12'}
@@ -2910,15 +2762,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-riscv64@0.17.18:
- resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-riscv64@0.18.20:
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
engines: {node: '>=12'}
@@ -2936,15 +2779,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-s390x@0.17.18:
- resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-s390x@0.18.20:
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
engines: {node: '>=12'}
@@ -2962,15 +2796,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/linux-x64@0.17.18:
- resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-x64@0.18.20:
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
engines: {node: '>=12'}
@@ -2988,15 +2813,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/netbsd-x64@0.17.18:
- resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/netbsd-x64@0.18.20:
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
engines: {node: '>=12'}
@@ -3014,15 +2830,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/openbsd-x64@0.17.18:
- resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/openbsd-x64@0.18.20:
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
engines: {node: '>=12'}
@@ -3040,15 +2847,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/sunos-x64@0.17.18:
- resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/sunos-x64@0.18.20:
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
engines: {node: '>=12'}
@@ -3066,15 +2864,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/win32-arm64@0.17.18:
- resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-arm64@0.18.20:
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
engines: {node: '>=12'}
@@ -3092,15 +2881,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/win32-ia32@0.17.18:
- resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-ia32@0.18.20:
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
engines: {node: '>=12'}
@@ -3118,15 +2898,6 @@ packages:
requiresBuild: true
optional: true
- /@esbuild/win32-x64@0.17.18:
- resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-x64@0.18.20:
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
engines: {node: '>=12'}
@@ -4400,34 +4171,6 @@ packages:
'@types/node': 20.9.4
optional: true
- /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2):
- resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/type-utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
- debug: 4.3.4(supports-color@8.1.1)
- eslint: 8.54.0
- graphemer: 1.4.0
- ignore: 5.3.0
- natural-compare-lite: 1.4.0
- semver: 7.5.4
- tsutils: 3.21.0(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4):
resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4485,25 +4228,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.2.2):
- resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
- debug: 4.3.4(supports-color@8.1.1)
- eslint: 8.54.0
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
-
/@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.0.4):
resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4523,7 +4247,6 @@ packages:
typescript: 5.0.4
transitivePeerDependencies:
- supports-color
- dev: true
/@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.2.2):
resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==}
@@ -4545,13 +4268,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@typescript-eslint/scope-manager@5.62.0:
- resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
-
/@typescript-eslint/scope-manager@6.12.0:
resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4559,26 +4275,6 @@ packages:
'@typescript-eslint/types': 6.12.0
'@typescript-eslint/visitor-keys': 6.12.0
- /@typescript-eslint/type-utils@5.62.0(eslint@8.54.0)(typescript@5.2.2):
- resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
- debug: 4.3.4(supports-color@8.1.1)
- eslint: 8.54.0
- tsutils: 3.21.0(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.0.4):
resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4618,34 +4314,10 @@ packages:
transitivePeerDependencies:
- supports-color
- /@typescript-eslint/types@5.62.0:
- resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
/@typescript-eslint/types@6.12.0:
resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==}
engines: {node: ^16.0.0 || >=18.0.0}
- /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2):
- resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
- debug: 4.3.4(supports-color@8.1.1)
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.5.4
- tsutils: 3.21.0(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
-
/@typescript-eslint/typescript-estree@6.12.0(typescript@5.0.4):
resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4665,7 +4337,6 @@ packages:
typescript: 5.0.4
transitivePeerDependencies:
- supports-color
- dev: true
/@typescript-eslint/typescript-estree@6.12.0(typescript@5.2.2):
resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==}
@@ -4687,26 +4358,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.2.2):
- resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.6
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
- eslint: 8.54.0
- eslint-scope: 5.1.1
- semver: 7.5.4
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
/@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@5.0.4):
resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4744,13 +4395,6 @@ packages:
- supports-color
- typescript
- /@typescript-eslint/visitor-keys@5.62.0:
- resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.62.0
- eslint-visitor-keys: 3.4.3
-
/@typescript-eslint/visitor-keys@6.12.0:
resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -8106,36 +7750,6 @@ packages:
es6-promise: 4.2.8
dev: true
- /esbuild@0.17.18:
- resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.17.18
- '@esbuild/android-arm64': 0.17.18
- '@esbuild/android-x64': 0.17.18
- '@esbuild/darwin-arm64': 0.17.18
- '@esbuild/darwin-x64': 0.17.18
- '@esbuild/freebsd-arm64': 0.17.18
- '@esbuild/freebsd-x64': 0.17.18
- '@esbuild/linux-arm': 0.17.18
- '@esbuild/linux-arm64': 0.17.18
- '@esbuild/linux-ia32': 0.17.18
- '@esbuild/linux-loong64': 0.17.18
- '@esbuild/linux-mips64el': 0.17.18
- '@esbuild/linux-ppc64': 0.17.18
- '@esbuild/linux-riscv64': 0.17.18
- '@esbuild/linux-s390x': 0.17.18
- '@esbuild/linux-x64': 0.17.18
- '@esbuild/netbsd-x64': 0.17.18
- '@esbuild/openbsd-x64': 0.17.18
- '@esbuild/sunos-x64': 0.17.18
- '@esbuild/win32-arm64': 0.17.18
- '@esbuild/win32-ia32': 0.17.18
- '@esbuild/win32-x64': 0.17.18
- dev: true
-
/esbuild@0.18.20:
resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
engines: {node: '>=12'}
@@ -8260,21 +7874,6 @@ packages:
dependencies:
eslint: 8.54.0
- /eslint-config-xo-typescript@0.57.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2):
- resolution: {integrity: sha512-u+qcTaADHn2/+hbDqZHRWiAps8JS6BcRsJKAADFxYHIPpYqQeQv9mXuhRe/1+ikfZAIz9hlG1V+Lkj8J7nf34A==}
- engines: {node: '>=12'}
- peerDependencies:
- '@typescript-eslint/eslint-plugin': '>=5.57.0'
- '@typescript-eslint/parser': '>=5.57.0'
- eslint: '>=8.0.0'
- typescript: '>=4.4 || 5'
- dependencies:
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
- eslint: 8.54.0
- typescript: 5.2.2
- dev: true
-
/eslint-config-xo@0.43.1(eslint@8.54.0):
resolution: {integrity: sha512-azv1L2PysRA0NkZOgbndUpN+581L7wPqkgJOgxxw3hxwXAbJgD6Hqb/SjHRiACifXt/AvxCzE/jIKFAlI7XjvQ==}
engines: {node: '>=12'}
@@ -8318,7 +7917,7 @@ packages:
debug: 4.3.4(supports-color@8.1.1)
enhanced-resolve: 5.15.0
eslint: 8.54.0
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
fast-glob: 3.3.1
get-tsconfig: 4.7.2
@@ -8340,8 +7939,8 @@ packages:
debug: 4.3.4(supports-color@8.1.1)
enhanced-resolve: 5.15.0
eslint: 8.54.0
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
- eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
fast-glob: 3.3.1
get-tsconfig: 4.7.2
is-core-module: 2.13.1
@@ -8363,7 +7962,7 @@ packages:
array-find: 1.0.0
debug: 3.2.7
enhanced-resolve: 0.9.1
- eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
find-root: 1.1.0
has: 1.0.4
interpret: 1.4.0
@@ -8376,7 +7975,7 @@ packages:
transitivePeerDependencies:
- supports-color
- /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0):
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@@ -8397,7 +7996,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4)
debug: 3.2.7
eslint: 8.54.0
eslint-import-resolver-node: 0.3.9
@@ -8480,7 +8079,7 @@ packages:
doctrine: 2.1.0
eslint: 8.54.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
get-tsconfig: 4.7.2
is-glob: 4.0.3
minimatch: 3.1.2
@@ -8492,7 +8091,7 @@ packages:
- eslint-import-resolver-webpack
- supports-color
- /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0):
+ /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0):
resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
engines: {node: '>=4'}
peerDependencies:
@@ -8502,7 +8101,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4)
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2
@@ -8511,7 +8110,7 @@ packages:
doctrine: 2.1.0
eslint: 8.54.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
hasown: 2.0.0
is-core-module: 2.13.1
is-glob: 4.0.3
@@ -8815,7 +8414,7 @@ packages:
resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==}
hasBin: true
dependencies:
- tsx: 3.12.7
+ tsx: 3.14.0
dev: true
/espree@9.6.1:
@@ -12568,12 +12167,6 @@ packages:
hasBin: true
dev: true
- /nanoid@3.3.6:
- resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: false
-
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -12598,10 +12191,6 @@ packages:
- supports-color
dev: true
- /natural-compare-lite@1.4.0:
- resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
- dev: true
-
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -13899,7 +13488,7 @@ packages:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
- nanoid: 3.3.6
+ nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
dev: false
@@ -14142,6 +13731,7 @@ packages:
/puppeteer@20.1.2(typescript@5.0.4):
resolution: {integrity: sha512-QYDp+iVMP30TwlkXFOocON9qR3Nac5ez7PdXbY90mfuEgZb9vf3/OXL2vHprxwPtb2hgD4AxXvLZhEIqfD2y8Q==}
+ deprecated: < 21.3.7 is no longer supported
requiresBuild: true
dependencies:
'@puppeteer/browsers': 1.1.0(typescript@5.0.4)
@@ -16263,7 +15853,6 @@ packages:
typescript: '>=4.2.0 || 5'
dependencies:
typescript: 5.0.4
- dev: true
/ts-api-utils@1.0.3(typescript@5.2.2):
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
@@ -16335,17 +15924,7 @@ packages:
dependencies:
tslib: 1.14.1
typescript: 5.2.2
-
- /tsx@3.12.7:
- resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==}
- hasBin: true
- dependencies:
- '@esbuild-kit/cjs-loader': 2.4.2
- '@esbuild-kit/core-utils': 3.1.0
- '@esbuild-kit/esm-loader': 2.5.5
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
+ dev: false
/tsx@3.14.0:
resolution: {integrity: sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==}
@@ -17263,7 +16842,7 @@ packages:
engines: {node: '>=12'}
dev: true
- /xo@0.54.2(eslint-import-resolver-typescript@3.6.1)(webpack@5.89.0):
+ /xo@0.54.2(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(webpack@5.89.0):
resolution: {integrity: sha512-1S3r+ecCg8OVPtu711as+cgwxOg+WQNRgSzqZ+OHzYlsa8CpW3ych0Ve9k8Q2QG6gqO3HSpaS5AXi9D0yPUffg==}
engines: {node: '>=14.16'}
hasBin: true
@@ -17274,20 +16853,17 @@ packages:
optional: true
dependencies:
'@eslint/eslintrc': 1.4.1
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2)
arrify: 3.0.0
cosmiconfig: 8.3.6(typescript@5.2.2)
define-lazy-prop: 3.0.0
eslint: 8.54.0
eslint-config-prettier: 8.10.0(eslint@8.54.0)
eslint-config-xo: 0.43.1(eslint@8.54.0)
- eslint-config-xo-typescript: 0.57.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2)
eslint-formatter-pretty: 5.0.0
eslint-import-resolver-webpack: 0.13.2(eslint-plugin-import@2.29.0)(webpack@5.89.0)
eslint-plugin-ava: 14.0.0(eslint@8.54.0)
eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0)
- eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
+ eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.2)(eslint@8.54.0)
eslint-plugin-n: 15.7.0(eslint@8.54.0)
eslint-plugin-no-use-extend-native: 0.5.0
eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.54.0)(prettier@2.8.8)
@@ -17311,6 +16887,7 @@ packages:
typescript: 5.2.2
webpack: 5.89.0
transitivePeerDependencies:
+ - '@typescript-eslint/parser'
- eslint-import-resolver-typescript
- supports-color
dev: true