diff --git a/apps/lit-override/.eslintrc.cjs b/apps/lit-override/.eslintrc.cjs
index 08ad21f4..52553898 100644
--- a/apps/lit-override/.eslintrc.cjs
+++ b/apps/lit-override/.eslintrc.cjs
@@ -1,7 +1,6 @@
module.exports = {
root: true,
extends: ['custom/ts.cjs', 'custom/lit.cjs'],
- plugins: ['lit'],
ignorePatterns: ['dist/**'],
parserOptions: {
ecmaVersion: 'latest',
diff --git a/configs/eslint-config-custom/chai.cjs b/configs/eslint-config-custom/chai.cjs
new file mode 100644
index 00000000..dc491919
--- /dev/null
+++ b/configs/eslint-config-custom/chai.cjs
@@ -0,0 +1,8 @@
+module.exports = {
+ plugins: ['chai-expect', 'chai-friendly'],
+ extends: ['plugin:chai-expect/recommended', 'plugin:chai-friendly/recommended'],
+ rules: {
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unused-expressions': 'off',
+ },
+};
diff --git a/configs/eslint-config-custom/lit.cjs b/configs/eslint-config-custom/lit.cjs
index c3cda6c6..e766db80 100644
--- a/configs/eslint-config-custom/lit.cjs
+++ b/configs/eslint-config-custom/lit.cjs
@@ -1,4 +1,4 @@
module.exports = {
- extends: ['plugin:wc/recommended', 'plugin:lit/recommended'],
- plugins: ['lit'],
+ plugins: ['lit', 'lit-a11y'],
+ extends: ['plugin:wc/recommended', 'plugin:lit/recommended', 'plugin:lit-a11y/recommended'],
};
diff --git a/configs/eslint-config-custom/package.json b/configs/eslint-config-custom/package.json
index 73f343d8..c3a3fe39 100644
--- a/configs/eslint-config-custom/package.json
+++ b/configs/eslint-config-custom/package.json
@@ -11,21 +11,24 @@
"@typescript-eslint/parser": "6.21.0",
"eslint-config-airbnb-base": "15.0.0",
"eslint-config-airbnb-typescript": "17.1.0",
+ "eslint-plugin-chai-expect": "3.0.0",
+ "eslint-plugin-chai-friendly": "0.7.4",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jest": "27.9.0",
"eslint-plugin-jest-dom": "5.2.0",
"eslint-plugin-jest-formatting": "3.1.0",
+ "eslint-plugin-lit": "1.12.0",
+ "eslint-plugin-lit-a11y": "1.1.0-next.1",
"eslint-plugin-mdx": "3.1.5",
"eslint-plugin-react": "7.34.1",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-react-refresh": "0.4.6",
- "eslint-plugin-storybook": "0.8.0"
+ "eslint-plugin-storybook": "0.8.0",
+ "eslint-plugin-vitest": "0.5.4",
+ "eslint-plugin-wc": "2.1.0"
},
"devDependencies": {
- "eslint": "8.57.0",
- "eslint-plugin-lit": "1.11.0",
- "eslint-plugin-vitest": "0.4.0",
- "eslint-plugin-wc": "2.0.4"
+ "eslint": "8.57.0"
},
"peerDependencies": {
"eslint": "8.57.0"
diff --git a/packages/lit-override/.eslintrc.cjs b/packages/lit-override/.eslintrc.cjs
index 268579af..a79b18a3 100644
--- a/packages/lit-override/.eslintrc.cjs
+++ b/packages/lit-override/.eslintrc.cjs
@@ -1,7 +1,6 @@
module.exports = {
root: true,
- extends: ['custom/ts.cjs', 'custom/jest.cjs', 'custom/lit.cjs'],
- plugins: ['lit'],
+ extends: ['custom/ts.cjs', 'custom/jest.cjs', 'custom/lit.cjs', 'custom/chai.cjs'],
ignorePatterns: ['dist/**', 'coverage'],
parserOptions: {
ecmaVersion: 'latest',
diff --git a/packages/lit-override/src/components/lit-override-component.spec.ts b/packages/lit-override/src/components/lit-override-component.spec.ts
index 391feb25..07d90a4a 100644
--- a/packages/lit-override/src/components/lit-override-component.spec.ts
+++ b/packages/lit-override/src/components/lit-override-component.spec.ts
@@ -59,7 +59,6 @@ describe('lit-override', () => {
const adoptedStyles = el.shadowRoot?.adoptedStyleSheets;
expect(adoptedStyles?.length).to.equal(1);
expect(el.innerHTML).to.not.contain('');
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(el.shadowRoot?.querySelector('style')).to.not.exist;
});
@@ -70,7 +69,6 @@ describe('lit-override', () => {
el.onConnectedCallback = callbackSpy;
el.connectedCallback();
await aTimeout(50);
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(callbackSpy).to.have.been.calledOnce;
});
@@ -80,7 +78,6 @@ describe('lit-override', () => {
el.addEventListener('connected-callback', eventSpy);
setTimeout(() => el.connectedCallback());
await aTimeout(50);
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(eventSpy).not.to.have.been.called;
});
@@ -88,7 +85,6 @@ describe('lit-override', () => {
const el = await fixture(html``);
setTimeout(() => el.connectedCallback());
const ev = await oneEvent(el, 'connected-callback', true);
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(ev).to.exist;
});
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 62de25fa..3aa31faf 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -172,6 +172,12 @@ importers:
eslint-config-airbnb-typescript:
specifier: 17.1.0
version: 17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-plugin-chai-expect:
+ specifier: 3.0.0
+ version: 3.0.0(eslint@8.57.0)
+ eslint-plugin-chai-friendly:
+ specifier: 0.7.4
+ version: 0.7.4(eslint@8.57.0)
eslint-plugin-import:
specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)
@@ -184,6 +190,12 @@ importers:
eslint-plugin-jest-formatting:
specifier: 3.1.0
version: 3.1.0(eslint@8.57.0)
+ eslint-plugin-lit:
+ specifier: 1.12.0
+ version: 1.12.0(eslint@8.57.0)
+ eslint-plugin-lit-a11y:
+ specifier: 1.1.0-next.1
+ version: 1.1.0-next.1(eslint@8.57.0)
eslint-plugin-mdx:
specifier: 3.1.5
version: 3.1.5(eslint@8.57.0)
@@ -199,19 +211,16 @@ importers:
eslint-plugin-storybook:
specifier: 0.8.0
version: 0.8.0(eslint@8.57.0)(typescript@5.4.3)
+ eslint-plugin-vitest:
+ specifier: 0.5.4
+ version: 0.5.4(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.3)
+ eslint-plugin-wc:
+ specifier: 2.1.0
+ version: 2.1.0(eslint@8.57.0)
devDependencies:
eslint:
specifier: 8.57.0
version: 8.57.0
- eslint-plugin-lit:
- specifier: 1.11.0
- version: 1.11.0(eslint@8.57.0)
- eslint-plugin-vitest:
- specifier: 0.4.0
- version: 0.4.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.3)
- eslint-plugin-wc:
- specifier: 2.0.4
- version: 2.0.4(eslint@8.57.0)
configs/jest-config:
dependencies:
@@ -418,7 +427,7 @@ importers:
version: link:../../configs/eslint-config-custom
jest:
specifier: 29.7.0
- version: 29.7.0
+ version: 29.7.0(@types/node@20.11.30)
jest-config:
specifier: workspace:*
version: link:../../configs/jest-config
@@ -1800,6 +1809,14 @@ packages:
resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
dev: true
+ /@babel/runtime-corejs3@7.24.5:
+ resolution: {integrity: sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ core-js-pure: 3.37.0
+ regenerator-runtime: 0.14.1
+ dev: false
+
/@babel/runtime@7.24.1:
resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
engines: {node: '>=6.9.0'}
@@ -6545,6 +6562,7 @@ packages:
/@types/json-schema@7.0.15:
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: false
/@types/json5@0.0.29:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
@@ -6636,6 +6654,12 @@ packages:
/@types/normalize-package-data@2.4.4:
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+ /@types/parse5@2.2.34:
+ resolution: {integrity: sha512-p3qOvaRsRpFyEmaS36RtLzpdxZZnmxGuT1GMgzkTtTJVFuEw7KFjGK83MFODpJExgX1bEzy9r0NYjMC3IMfi7w==}
+ dependencies:
+ '@types/node': 20.11.30
+ dev: false
+
/@types/parse5@6.0.3:
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
dev: true
@@ -6794,6 +6818,7 @@ packages:
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
+ dev: false
/@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
@@ -6814,6 +6839,7 @@ packages:
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
+ dev: false
/@typescript-eslint/scope-manager@5.62.0:
resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
@@ -6829,14 +6855,15 @@ packages:
dependencies:
'@typescript-eslint/types': 6.21.0
'@typescript-eslint/visitor-keys': 6.21.0
+ dev: false
- /@typescript-eslint/scope-manager@7.4.0:
- resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==}
+ /@typescript-eslint/scope-manager@7.8.0:
+ resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/visitor-keys': 7.4.0
- dev: true
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
+ dev: false
/@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
@@ -6856,6 +6883,7 @@ packages:
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
+ dev: false
/@typescript-eslint/types@5.62.0:
resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
@@ -6865,11 +6893,12 @@ packages:
/@typescript-eslint/types@6.21.0:
resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
engines: {node: ^16.0.0 || >=18.0.0}
+ dev: false
- /@typescript-eslint/types@7.4.0:
- resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==}
+ /@typescript-eslint/types@7.8.0:
+ resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
engines: {node: ^18.18.0 || >=20.0.0}
- dev: true
+ dev: false
/@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3):
resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
@@ -6912,9 +6941,10 @@ packages:
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
+ dev: false
- /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3):
- resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
+ /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.3):
+ resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
@@ -6922,18 +6952,18 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/visitor-keys': 7.4.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- minimatch: 9.0.3
+ minimatch: 9.0.4
semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.4.3)
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
- dev: true
+ dev: false
/@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
@@ -6972,9 +7002,10 @@ packages:
transitivePeerDependencies:
- supports-color
- typescript
+ dev: false
- /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
- resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
+ /@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -6982,15 +7013,15 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.4.0
- '@typescript-eslint/types': 7.4.0
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
+ '@typescript-eslint/scope-manager': 7.8.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.3)
eslint: 8.57.0
semver: 7.6.0
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
+ dev: false
/@typescript-eslint/visitor-keys@5.62.0:
resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
@@ -7006,14 +7037,15 @@ packages:
dependencies:
'@typescript-eslint/types': 6.21.0
eslint-visitor-keys: 3.4.3
+ dev: false
- /@typescript-eslint/visitor-keys@7.4.0:
- resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==}
+ /@typescript-eslint/visitor-keys@7.8.0:
+ resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
- '@typescript-eslint/types': 7.4.0
+ '@typescript-eslint/types': 7.8.0
eslint-visitor-keys: 3.4.3
- dev: true
+ dev: false
/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
@@ -7699,6 +7731,14 @@ packages:
tslib: 2.6.2
dev: true
+ /aria-query@4.2.2:
+ resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
+ engines: {node: '>=6.0'}
+ dependencies:
+ '@babel/runtime': 7.24.1
+ '@babel/runtime-corejs3': 7.24.5
+ dev: false
+
/aria-query@5.1.3:
resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
dependencies:
@@ -7924,7 +7964,6 @@ packages:
/axe-core@4.9.0:
resolution: {integrity: sha512-H5orY+M2Fr56DWmMFpMrq5Ge93qjNdPVqzBv5gWK3aD1OvjBEJlEzxf09z93dGVQeI0LiW+aCMIx1QtShC/zUw==}
engines: {node: '>=4'}
- dev: true
/axios@1.1.3:
resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==}
@@ -7946,6 +7985,10 @@ packages:
- debug
dev: false
+ /axobject-query@2.2.0:
+ resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
+ dev: false
+
/b4a@1.6.6:
resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
dev: true
@@ -8688,7 +8731,6 @@ packages:
/clone@2.1.2:
resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
engines: {node: '>=0.8'}
- dev: true
/cmd-shim@6.0.2:
resolution: {integrity: sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw==}
@@ -9045,6 +9087,11 @@ packages:
browserslist: 4.23.0
dev: true
+ /core-js-pure@3.37.0:
+ resolution: {integrity: sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==}
+ requiresBuild: true
+ dev: false
+
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
@@ -9110,25 +9157,6 @@ packages:
typescript: 5.4.3
dev: false
- /create-jest@29.7.0:
- resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.11.30)
- jest-util: 29.7.0
- prompts: 2.4.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
-
/create-jest@29.7.0(@types/node@20.11.30):
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -9600,6 +9628,14 @@ packages:
resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
dev: true
+ /dom5@3.0.1:
+ resolution: {integrity: sha512-JPFiouQIr16VQ4dX6i0+Hpbg3H2bMKPmZ+WZgBOSSvOPx9QHwwY8sPzeM2baUtViESYto6wC2nuZOMC/6gulcA==}
+ dependencies:
+ '@types/parse5': 2.2.34
+ clone: 2.1.2
+ parse5: 4.0.0
+ dev: false
+
/domexception@4.0.0:
resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
engines: {node: '>=12'}
@@ -10130,6 +10166,24 @@ packages:
- supports-color
dev: false
+ /eslint-plugin-chai-expect@3.0.0(eslint@8.57.0):
+ resolution: {integrity: sha512-NS0YBcToJl+BRKBSMCwRs/oHJIX67fG5Gvb4tGked+9Wnd1/PzKijd82B2QVKcSSOwRe+pp4RAJ2AULeck4eQw==}
+ engines: {node: 10.* || 12.* || >= 14.*}
+ peerDependencies:
+ eslint: '>=2.0.0 <= 8.x'
+ dependencies:
+ eslint: 8.57.0
+ dev: false
+
+ /eslint-plugin-chai-friendly@0.7.4(eslint@8.57.0):
+ resolution: {integrity: sha512-PGPjJ8diYgX1mjLxGJqRop2rrGwZRKImoEOwUOgoIhg0p80MkTaqvmFLe5TF7/iagZHggasvIfQlUyHIhK/PYg==}
+ engines: {node: '>=0.10.0'}
+ peerDependencies:
+ eslint: '>=3.0.0'
+ dependencies:
+ eslint: 8.57.0
+ dev: false
+
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0):
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
@@ -10210,8 +10264,26 @@ packages:
- typescript
dev: false
- /eslint-plugin-lit@1.11.0(eslint@8.57.0):
- resolution: {integrity: sha512-jVqy2juQTAtOzj1ILf+ZW5GpDobXlSw0kvpP2zu2r8ZbW7KISt7ikj1Gw9DhNeirEU1UlSJR0VIWpdr4lzjayw==}
+ /eslint-plugin-lit-a11y@1.1.0-next.1(eslint@8.57.0):
+ resolution: {integrity: sha512-OAv0W84maDyHs22/aXIFcc94SnoN0jnfUqNgxyJ1LMrdiMNQtkjTQa4Yq7g/IA/0Nf/TTGBRRjMP7YOIXBOGnA==}
+ peerDependencies:
+ eslint: '>= 5'
+ dependencies:
+ aria-query: 4.2.2
+ axe-core: 4.9.0
+ axobject-query: 2.2.0
+ dom5: 3.0.1
+ emoji-regex: 9.2.2
+ eslint: 8.57.0
+ eslint-rule-extender: 0.0.1
+ intl-list-format: 1.0.3
+ parse5: 5.1.1
+ parse5-htmlparser2-tree-adapter: 6.0.1
+ requireindex: 1.2.0
+ dev: false
+
+ /eslint-plugin-lit@1.12.0(eslint@8.57.0):
+ resolution: {integrity: sha512-wADj+b6ZksWs1qqASYBYzi4U6k0Tvhtp4GJupveZ7Z5IfVHMixxFueSSwIl/4ksov4jsahWbyHnhOpvJ5Z8M7w==}
engines: {node: '>= 12'}
peerDependencies:
eslint: '>= 5'
@@ -10220,7 +10292,7 @@ packages:
parse5: 6.0.1
parse5-htmlparser2-tree-adapter: 6.0.1
requireindex: 1.2.0
- dev: true
+ dev: false
/eslint-plugin-markdown@3.0.1(eslint@8.57.0):
resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==}
@@ -10313,12 +10385,12 @@ packages:
- typescript
dev: false
- /eslint-plugin-vitest@0.4.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.3):
- resolution: {integrity: sha512-3oWgZIwdWVBQ5plvkmOBjreIGLQRdYb7x54OP8uIRHeZyRVJIdOn9o/qWVb9292fDMC8jn7H7d9TSFBZqhrykQ==}
+ /eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.3):
+ resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
engines: {node: ^18.0.0 || >= 20.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': '*'
- eslint: '>=8.0.0'
+ eslint: ^8.57.0 || ^9.0.0
vitest: '*'
peerDependenciesMeta:
'@typescript-eslint/eslint-plugin':
@@ -10327,22 +10399,27 @@ packages:
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.3)
- '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
+ '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.3)
eslint: 8.57.0
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
+ dev: false
- /eslint-plugin-wc@2.0.4(eslint@8.57.0):
- resolution: {integrity: sha512-ORu7MBv0hXIvq894EJad70m+AvHGbmrDdKT6lcgtCVVhEbuIAyxg0ilfqqqHOmsh8PfcUBeEae3y7CElKvm1KQ==}
+ /eslint-plugin-wc@2.1.0(eslint@8.57.0):
+ resolution: {integrity: sha512-s/BGOtmpgQ2yifR6EC1OM9t0DwYLgg4ZAL07Kw4eXvBb5TYaPafI+65tswvnZvhH8FqcjERLbBZPPvYsvinkfg==}
peerDependencies:
eslint: '>=5'
dependencies:
eslint: 8.57.0
is-valid-element-name: 1.0.0
js-levenshtein-esm: 1.2.0
- dev: true
+ dev: false
+
+ /eslint-rule-extender@0.0.1:
+ resolution: {integrity: sha512-F0j1Twve3lamL3J0rRSVAynlp58sDPG39JFcQrM+u9Na7PmCgiPHNODh6YE9mduaGcsn3NBqbf6LZRj0cLr8Ng==}
+ engines: {node: '>=10'}
+ dev: false
/eslint-scope@5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
@@ -11758,6 +11835,11 @@ packages:
hasown: 2.0.2
side-channel: 1.0.6
+ /intl-list-format@1.0.3:
+ resolution: {integrity: sha512-VNF1Mh0K1xALXkz/5QsK1gfKRvEQO/jWaniTGAzQvbzGr5uyGDskQrRjnf6Qnbc9/JRbNE8BQtTg6iWuFrZorw==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
/invariant@2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
dependencies:
@@ -12064,6 +12146,7 @@ packages:
/is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ dev: false
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
@@ -12142,7 +12225,7 @@ packages:
resolution: {integrity: sha512-GZITEJY2LkSjQfaIPBha7eyZv+ge0PhBR7KITeCCWvy7VBQrCUdFkvpI+HrAPQjVtVjy1LvlEkqQTHckoszruw==}
dependencies:
is-potential-custom-element-name: 1.0.1
- dev: true
+ dev: false
/is-weakmap@2.0.2:
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
@@ -12338,34 +12421,6 @@ packages:
- babel-plugin-macros
- supports-color
- /jest-cli@29.7.0:
- resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
- dependencies:
- '@jest/core': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0
- exit: 0.1.2
- import-local: 3.1.0
- jest-config: 29.7.0(@types/node@20.11.30)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
-
/jest-cli@29.7.0(@types/node@20.11.30):
resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -12717,27 +12772,6 @@ packages:
merge-stream: 2.0.0
supports-color: 8.1.1
- /jest@29.7.0:
- resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
- dependencies:
- '@jest/core': 29.7.0
- '@jest/types': 29.6.3
- import-local: 3.1.0
- jest-cli: 29.7.0
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
-
/jest@29.7.0(@types/node@20.11.30):
resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -12773,7 +12807,7 @@ packages:
/js-levenshtein-esm@1.2.0:
resolution: {integrity: sha512-fzreKVq1eD7eGcQr7MtRpQH94f8gIfhdrc7yeih38xh684TNMK9v5aAu2wxfIRMk/GpAJRrzcirMAPIaSDaByQ==}
- dev: true
+ dev: false
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -14561,6 +14595,13 @@ packages:
dependencies:
brace-expansion: 2.0.1
+ /minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: false
+
/minimist-options@4.1.0:
resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
engines: {node: '>= 6'}
@@ -15622,11 +15663,18 @@ packages:
resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==}
dependencies:
parse5: 6.0.1
- dev: true
+ dev: false
+
+ /parse5@4.0.0:
+ resolution: {integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==}
+ dev: false
+
+ /parse5@5.1.1:
+ resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==}
+ dev: false
/parse5@6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
- dev: true
/parse5@7.1.2:
resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
@@ -16613,6 +16661,7 @@ packages:
/requireindex@1.2.0:
resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==}
engines: {node: '>=0.10.5'}
+ dev: false
/requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
@@ -17943,6 +17992,7 @@ packages:
typescript: '>=4.2.0'
dependencies:
typescript: 5.4.3
+ dev: false
/ts-dedent@2.2.0:
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}