11 Commits
Author SHA1 Message Date
Ninosaurier 856fea304a chore: scope workspace commands with pnpm filter
CI / lint-and-format (push) Successful in 36s
CI / changeset-check (push) Successful in 32s
CI / unit-tests (push) Successful in 38s
CI / component-tests (push) Failing after 28s
2026-08-02 15:39:19 +02:00
Ninosaurier 3b9a78bf9d style: format luna charts source 2026-08-02 15:38:45 +02:00
Ninosaurier 75d4632052 chore: update prettier configuration 2026-08-02 15:38:24 +02:00
Ninosaurier 9089a4ef60 fix(eslint): fix: allow stencil jsx helper in eslint
CI / changeset-check (push) Canceled after 0s
CI / unit-tests (push) Canceled after 0s
CI / component-tests (push) Canceled after 0s
CI / lint-and-format (push) Canceled after 4m4s
2026-08-02 15:26:15 +02:00
Ninosaurier 88154775de eslint(error): removed double line 2026-08-02 15:25:53 +02:00
Ninosaurier 5211b5f76a fix(ci): adjust root lint script to execute eslint directly within project directory 2026-08-02 15:25:31 +02:00
Ninosaurier b0ae34dbaa chore(lint): improve monorepo workspace scripts 2026-08-02 15:03:49 +02:00
Ninosaurier a92d83a5f4 fix(ci):
CI / lint-and-format (push) Failing after 34s
CI / changeset-check (push) Successful in 31s
CI / unit-tests (push) Successful in 42s
CI / component-tests (push) Failing after 25s
trigger workflow on all branch pushes and fix component tests setup
2026-08-02 14:35:50 +02:00
Ninosaurier 35747ec681 ci: trigger workflow on all branch pushes and fix component tests setup
- Changed push branch filter to wildcard '*' to test feature branches before merging
- Kept the missing pnpm/node setup fix for the component-tests job
2026-08-02 14:33:03 +02:00
Ninosaurier 6d1aeb6ee2 ci: trigger workflow on all branch pushes and fix component tests setup
- Changed push branch filter to wildcard '*' to test feature branches before merging
- Kept the missing pnpm/node setup fix for the component-tests job
2026-08-02 14:32:24 +02:00
Ninosaurier 768a43d9b6 fix(ci): add missing node and pnpm setup to component tests
Every job runs in an isolated container. The component-tests job
was missing the Node.js and pnpm installation steps, causing
command not found errors (exit code 127) during local execution.
2026-08-02 14:30:05 +02:00
21 changed files with 258 additions and 114 deletions
+12 -1
View File
@@ -2,7 +2,8 @@ name: CI
on: on:
push: push:
branches: [dev, main] branches:
- '**'
pull_request: pull_request:
branches: [dev, main] branches: [dev, main]
@@ -69,5 +70,15 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- run: corepack enable
- run: corepack prepare pnpm@11.11.0 --activate
- run: pnpm install --frozen-lockfile
# ========================================================
- name: Run component tests (Docker) - name: Run component tests (Docker)
run: pnpm test:component run: pnpm test:component
+2 -1
View File
@@ -2,5 +2,6 @@
"singleQuote": true, "singleQuote": true,
"semi": true, "semi": true,
"trailingComma": "es5", "trailingComma": "es5",
"printWidth": 100 "printWidth": 100,
"bracketSameLine": true
} }
+30 -4
View File
@@ -1,8 +1,34 @@
// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format // For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format
import storybook from "eslint-plugin-storybook"; import storybook from "eslint-plugin-storybook";
import js from "@eslint/js";
import tseslint from "typescript-eslint";
import js from '@eslint/js'; export default [
{
ignores: [
"**/dist/**",
"**/www/**",
"**/node_modules/**",
"**/.stencil/**",
"**/loader/**",
],
},
export default [js.configs.recommended, { js.configs.recommended,
ignores: ['**/dist/**', '**/www/**', '**/node_modules/**', '**/.stencil/**'],
}, ...storybook.configs["flat/recommended"]]; ...tseslint.configs.recommended,
...storybook.configs["flat/recommended"],
{
files: ["**/*.tsx"],
rules: {
"@typescript-eslint/no-unused-vars": [
"error",
{
varsIgnorePattern: "^h$",
},
],
},
},
];
+7 -3
View File
@@ -5,9 +5,9 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"docs": "pnpm --filter docs run dev", "docs": "pnpm --filter docs run dev",
"lint": "eslint .", "lint": "pnpm --filter luna-charts run lint",
"format": "prettier --write .", "format": "prettier --write .",
"format:check": "prettier --check .", "format:check": "pnpm --filter luna-charts run format:check",
"changeset": "changeset", "changeset": "changeset",
"version": "changeset version", "version": "changeset version",
"release": "changeset publish", "release": "changeset publish",
@@ -32,7 +32,11 @@
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {
"@changesets/cli": "^2.31.0", "@changesets/cli": "^2.31.0",
"@eslint/js": "^10.0.1",
"eslint": "^10.6.0", "eslint": "^10.6.0",
"prettier": "^3.9.4" "eslint-config-prettier": "^10.1.8",
"eslint-plugin-storybook": "10.5.0",
"prettier": "^3.9.4",
"typescript-eslint": "^8.65.0"
} }
} }
+3 -4
View File
@@ -1,4 +1,3 @@
/** /**
* This is an autogenerated file created by the Stencil compiler. * This is an autogenerated file created by the Stencil compiler.
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
@@ -29,7 +28,7 @@ interface ComponentCompilerTypeReference {
* - globally * - globally
* - by importing it into a file (and is defined elsewhere) * - by importing it into a file (and is defined elsewhere)
*/ */
location: "local" | "global" | "import"; location: 'local' | 'global' | 'import';
/** /**
* The path to the type reference, if applicable (global types should not need a path associated with them) * The path to the type reference, if applicable (global types should not need a path associated with them)
*/ */
@@ -152,7 +151,7 @@ export interface JsonDocsComponent {
/** /**
* The encapsulation strategy for a component * The encapsulation strategy for a component
*/ */
encapsulation: "shadow" | "scoped" | "none"; encapsulation: 'shadow' | 'scoped' | 'none';
/** /**
* The tag name for the component, for use in HTML * The tag name for the component, for use in HTML
*/ */
@@ -467,7 +466,7 @@ export interface StyleDoc {
* Used to inform Stencil where the start of a new property's description starts (and where the previous description * Used to inform Stencil where the start of a new property's description starts (and where the previous description
* ends). * ends).
*/ */
annotation: "prop"; annotation: 'prop';
/** /**
* The Stencil style-mode that is associated with this property. * The Stencil style-mode that is associated with this property.
*/ */
+3
View File
@@ -32,6 +32,9 @@
"loader/" "loader/"
], ],
"scripts": { "scripts": {
"lint": "eslint .",
"format:check": "prettier --check .",
"format": "prettier --write .",
"build": "stencil build", "build": "stencil build",
"start": "stencil build --dev --watch --serve", "start": "stencil build --dev --watch --serve",
"test": "stencil-test --prod", "test": "stencil-test --prod",
+1 -5
View File
@@ -95,11 +95,7 @@ function App() {
return ( return (
<> <>
<div> <div>
<my-component <my-component first="Stencil" middle="'Don't call me a framework'" last="JS"></my-component>
first="Stencil"
middle="'Don't call me a framework'"
last="JS"
></my-component>
</div> </div>
</> </>
); );
+52 -52
View File
@@ -1,68 +1,68 @@
/* eslint-disable */
/* tslint:disable */ /* tslint:disable */
/** /**
* This is an autogenerated file created by the Stencil compiler. * This is an autogenerated file created by the Stencil compiler.
* It contains typing information for all components that exist in this project. * It contains typing information for all components that exist in this project.
*/ */
import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; import { HTMLStencilElement, JSXBase } from '@stencil/core/internal';
export namespace Components { export namespace Components {
interface MyComponent { interface MyComponent {
/** /**
* The first name * The first name
*/ */
"first"?: string; first?: string;
/** /**
* The last name * The last name
*/ */
"last"?: string; last?: string;
/** /**
* The middle name * The middle name
*/ */
"middle"?: string; middle?: string;
} }
} }
declare global { declare global {
interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement { interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {}
} var HTMLMyComponentElement: {
var HTMLMyComponentElement: { prototype: HTMLMyComponentElement;
prototype: HTMLMyComponentElement; new (): HTMLMyComponentElement;
new (): HTMLMyComponentElement; };
}; interface HTMLElementTagNameMap {
interface HTMLElementTagNameMap { 'my-component': HTMLMyComponentElement;
"my-component": HTMLMyComponentElement; }
}
} }
declare namespace LocalJSX { declare namespace LocalJSX {
interface MyComponent { interface MyComponent {
/** /**
* The first name * The first name
*/ */
"first"?: string; first?: string;
/** /**
* The last name * The last name
*/ */
"last"?: string; last?: string;
/** /**
* The middle name * The middle name
*/ */
"middle"?: string; middle?: string;
} }
interface MyComponentAttributes { interface MyComponentAttributes {
"first": string; first: string;
"middle": string; middle: string;
"last": string; last: string;
} }
interface IntrinsicElements { interface IntrinsicElements {
"my-component": Omit<MyComponent, keyof MyComponentAttributes> & { [K in keyof MyComponent & keyof MyComponentAttributes]?: MyComponent[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `attr:${K}`]?: MyComponentAttributes[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `prop:${K}`]?: MyComponent[K] }; 'my-component': Omit<MyComponent, keyof MyComponentAttributes> & { [K in keyof MyComponent & keyof MyComponentAttributes]?: MyComponent[K] } & {
} [K in keyof MyComponent & keyof MyComponentAttributes as `attr:${K}`]?: MyComponentAttributes[K];
} & { [K in keyof MyComponent & keyof MyComponentAttributes as `prop:${K}`]?: MyComponent[K] };
}
} }
export { LocalJSX as JSX }; export { LocalJSX as JSX };
declare module "@stencil/core" { declare module '@stencil/core' {
export namespace JSX { export namespace JSX {
interface IntrinsicElements { interface IntrinsicElements {
"my-component": LocalJSX.IntrinsicElements["my-component"] & JSXBase.HTMLAttributes<HTMLMyComponentElement>; 'my-component': LocalJSX.IntrinsicElements['my-component'] & JSXBase.HTMLAttributes<HTMLMyComponentElement>;
}
} }
}
} }
@@ -26,7 +26,7 @@ export const Primary: Story = {
last: 'Doe', last: 'Doe',
middle: 'Michael', middle: 'Michael',
}, },
render: (props) => <my-component {...props} />, render: props => <my-component {...props} />,
}; };
/** /**
@@ -1,10 +1,7 @@
# my-component # my-component
<!-- Auto Generated Below --> <!-- Auto Generated Below -->
## Properties ## Properties
| Property | Attribute | Description | Type | Default | | Property | Attribute | Description | Type | Default |
@@ -13,7 +10,6 @@
| `last` | `last` | The last name | `string \| undefined` | `undefined` | | `last` | `last` | The last name | `string \| undefined` | `undefined` |
| `middle` | `middle` | The middle name | `string \| undefined` | `undefined` | | `middle` | `middle` | The middle name | `string \| undefined` | `undefined` |
---
---------------------------------------------- _Built with [StencilJS](https://stenciljs.com/)_
*Built with [StencilJS](https://stenciljs.com/)*
+1 -1
View File
@@ -1,4 +1,4 @@
<!DOCTYPE html> <!doctype html>
<html dir="ltr" lang="en"> <html dir="ltr" lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
@@ -9,12 +9,12 @@ export const axeCoreChecker: A11yChecker = {
return { return {
checkerName: 'axe-core', checkerName: 'axe-core',
violations: results.violations.map((violations) => ({ violations: results.violations.map(violations => ({
id: violations.id, id: violations.id,
impact: violations.impact ?? null, impact: violations.impact ?? null,
description: violations.help, description: violations.help,
helpUrl: violations.helpUrl, helpUrl: violations.helpUrl,
nodes: violations.nodes.map((node) => node.target.join(' ')), nodes: violations.nodes.map(node => node.target.join(' ')),
})), })),
}; };
}, },
@@ -1,12 +1,10 @@
import type { A11yChecker, A11yCheckResult } from './checkers/types'; import type { A11yChecker, A11yCheckResult } from './checkers/types';
import { axeCoreChecker } from './checkers/axe-core.checker'; import { axeCoreChecker } from './checkers/axe-core.checker';
const a11yCheckerRegistry: A11yChecker[] = [ const a11yCheckerRegistry: A11yChecker[] = [axeCoreChecker];
axeCoreChecker,
];
export async function runA11yChecks(rootElement: Element): Promise<A11yCheckResult[]> { export async function runA11yChecks(rootElement: Element): Promise<A11yCheckResult[]> {
return Promise.all(a11yCheckerRegistry.map((a11yChecker) => a11yChecker.run(rootElement))); return Promise.all(a11yCheckerRegistry.map(a11yChecker => a11yChecker.run(rootElement)));
} }
export type { A11yChecker, A11yCheckResult, A11yViolation } from './checkers/types'; export type { A11yChecker, A11yCheckResult, A11yViolation } from './checkers/types';
@@ -3,7 +3,7 @@ import type { A11yCheckResult } from './checkers/types';
expect.extend({ expect.extend({
toHaveNoA11yViolations(results: A11yCheckResult[]) { toHaveNoA11yViolations(results: A11yCheckResult[]) {
const failing = results.filter((results) => results.violations.length > 0); const failing = results.filter(results => results.violations.length > 0);
if (failing.length === 0) { if (failing.length === 0) {
return { return {
@@ -14,11 +14,9 @@ expect.extend({
const message = failing const message = failing
.map( .map(
(results) => results =>
`[${results.checkerName}] ${results.violations.length} violation(s):\n` + `[${results.checkerName}] ${results.violations.length} violation(s):\n` +
results.violations results.violations.map(validation => ` - ${validation.id} (${validation.impact}): ${validation.description}\n affected: ${validation.nodes.join(', ')}`).join('\n'),
.map((validation) => ` - ${validation.id} (${validation.impact}): ${validation.description}\n affected: ${validation.nodes.join(', ')}`)
.join('\n')
) )
.join('\n\n'); .join('\n\n');
+4 -13
View File
@@ -5,10 +5,7 @@
"allowUnreachableCode": false, "allowUnreachableCode": false,
"declaration": false, "declaration": false,
"experimentalDecorators": true, "experimentalDecorators": true,
"lib": [ "lib": ["dom", "es2022"],
"dom",
"es2022"
],
"moduleResolution": "bundler", "moduleResolution": "bundler",
"module": "esnext", "module": "esnext",
"target": "es2022", "target": "es2022",
@@ -18,14 +15,8 @@
"jsx": "react", "jsx": "react",
"jsxFactory": "h", "jsxFactory": "h",
"jsxFragmentFactory": "h.Fragment", "jsxFragmentFactory": "h.Fragment",
"types": [ "types": ["@stencil/vitest/globals"]
"@stencil/vitest/globals"
]
}, },
"include": [ "include": ["src"],
"src" "exclude": ["node_modules"]
],
"exclude": [
"node_modules"
]
} }
+1 -1
View File
@@ -1,4 +1,4 @@
import { defineCustomElements } from "./loader"; import { defineCustomElements } from './loader';
import './src/testing/a11y/matchers'; import './src/testing/a11y/matchers';
defineCustomElements(); defineCustomElements();
+121
View File
@@ -210,12 +210,24 @@ importers:
'@changesets/cli': '@changesets/cli':
specifier: ^2.31.0 specifier: ^2.31.0
version: 2.31.1(@types/node@24.13.3) version: 2.31.1(@types/node@24.13.3)
'@eslint/js':
specifier: ^10.0.1
version: 10.0.1(eslint@10.8.0(jiti@2.7.0))
eslint: eslint:
specifier: ^10.6.0 specifier: ^10.6.0
version: 10.8.0(jiti@2.7.0) version: 10.8.0(jiti@2.7.0)
eslint-config-prettier:
specifier: ^10.1.8
version: 10.1.8(eslint@10.8.0(jiti@2.7.0))
eslint-plugin-storybook:
specifier: 10.5.0
version: 10.5.0(eslint@10.8.0(jiti@2.7.0))(storybook@10.5.5(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(typescript@5.9.3)
prettier: prettier:
specifier: ^3.9.4 specifier: ^3.9.4
version: 3.9.6 version: 3.9.6
typescript-eslint:
specifier: ^8.65.0
version: 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
docs: docs:
dependencies: dependencies:
@@ -745,6 +757,15 @@ packages:
resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/js@10.0.1':
resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: ^10.0.0
peerDependenciesMeta:
eslint:
optional: true
'@eslint/object-schema@3.0.5': '@eslint/object-schema@3.0.5':
resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
@@ -1692,6 +1713,21 @@ packages:
'@types/unist@3.0.3': '@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
'@typescript-eslint/eslint-plugin@8.65.0':
resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.65.0
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/parser@8.65.0':
resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/project-service@8.65.0': '@typescript-eslint/project-service@8.65.0':
resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1708,6 +1744,13 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.1.0' typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/type-utils@8.65.0':
resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
'@typescript-eslint/types@8.65.0': '@typescript-eslint/types@8.65.0':
resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2146,6 +2189,12 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'} engines: {node: '>=12'}
eslint-config-prettier@10.1.8:
resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
eslint-plugin-storybook@10.5.0: eslint-plugin-storybook@10.5.0:
resolution: {integrity: sha512-UyhbK11baKAYqzyDUHlwDlm1aP/wxPMR0vFmsxA5984BGaPwarhoXUWng1Xa0cd9BdPbQ+zr/y8ADk6XxtwkYg==} resolution: {integrity: sha512-UyhbK11baKAYqzyDUHlwDlm1aP/wxPMR0vFmsxA5984BGaPwarhoXUWng1Xa0cd9BdPbQ+zr/y8ADk6XxtwkYg==}
peerDependencies: peerDependencies:
@@ -2445,6 +2494,10 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
ignore@7.0.6:
resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==}
engines: {node: '>= 4'}
imurmurhash@0.1.4: imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'} engines: {node: '>=0.8.19'}
@@ -3456,6 +3509,13 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
typescript-eslint@8.65.0:
resolution: {integrity: sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
typescript@5.9.3: typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
@@ -4316,6 +4376,10 @@ snapshots:
dependencies: dependencies:
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
'@eslint/js@10.0.1(eslint@10.8.0(jiti@2.7.0))':
optionalDependencies:
eslint: 10.8.0(jiti@2.7.0)
'@eslint/object-schema@3.0.5': {} '@eslint/object-schema@3.0.5': {}
'@eslint/plugin-kit@0.7.2': '@eslint/plugin-kit@0.7.2':
@@ -5068,6 +5132,34 @@ snapshots:
'@types/unist@3.0.3': {} '@types/unist@3.0.3': {}
'@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.65.0
'@typescript-eslint/type-utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.65.0
eslint: 10.8.0(jiti@2.7.0)
ignore: 7.0.6
natural-compare: 1.4.0
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.65.0
'@typescript-eslint/types': 8.65.0
'@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.65.0
debug: 4.4.3
eslint: 10.8.0(jiti@2.7.0)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/project-service@8.65.0(typescript@5.9.3)': '@typescript-eslint/project-service@8.65.0(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/tsconfig-utils': 8.65.0(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@5.9.3)
@@ -5086,6 +5178,18 @@ snapshots:
dependencies: dependencies:
typescript: 5.9.3 typescript: 5.9.3
'@typescript-eslint/type-utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.65.0
'@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
'@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
debug: 4.4.3
eslint: 10.8.0(jiti@2.7.0)
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.65.0': {} '@typescript-eslint/types@8.65.0': {}
'@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3)': '@typescript-eslint/typescript-estree@8.65.0(typescript@5.9.3)':
@@ -5622,6 +5726,10 @@ snapshots:
escape-string-regexp@5.0.0: {} escape-string-regexp@5.0.0: {}
eslint-config-prettier@10.1.8(eslint@10.8.0(jiti@2.7.0)):
dependencies:
eslint: 10.8.0(jiti@2.7.0)
eslint-plugin-storybook@10.5.0(eslint@10.8.0(jiti@2.7.0))(storybook@10.5.5(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(typescript@5.9.3): eslint-plugin-storybook@10.5.0(eslint@10.8.0(jiti@2.7.0))(storybook@10.5.5(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(typescript@5.9.3):
dependencies: dependencies:
'@typescript-eslint/types': 8.65.0 '@typescript-eslint/types': 8.65.0
@@ -6083,6 +6191,8 @@ snapshots:
ignore@5.3.2: {} ignore@5.3.2: {}
ignore@7.0.6: {}
imurmurhash@0.1.4: {} imurmurhash@0.1.4: {}
indent-string@4.0.0: {} indent-string@4.0.0: {}
@@ -7468,6 +7578,17 @@ snapshots:
dependencies: dependencies:
prelude-ls: 1.2.1 prelude-ls: 1.2.1
typescript-eslint@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/typescript-estree': 8.65.0(typescript@5.9.3)
'@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@5.9.3)
eslint: 10.8.0(jiti@2.7.0)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
typescript@5.9.3: {} typescript@5.9.3: {}
ufo@1.6.4: {} ufo@1.6.4: {}