diff --git a/commitlint.config.cjs b/commitlint.config.cjs
index ac9527b..e70436a 100644
--- a/commitlint.config.cjs
+++ b/commitlint.config.cjs
@@ -1,4 +1,3 @@
-
 module.exports = {
   extends: [
     "@commitlint/config-conventional",
@@ -6,4 +5,4 @@ module.exports = {
   rules: {
     "scope-empty": [2, "never"],
   },
-};
\ No newline at end of file
+};
diff --git a/eslint.config.js b/eslint.config.js
index b374aa3..a77412b 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -7,11 +7,11 @@ export default [
     ignores: ["**/dist/", "**/lib/", "packages/sea/bin/", "node_modules/"],
   },
   {
-    files: ["packages/*/examples/**/*.{ts,tsx}" ],
+    files: ["packages/*/examples/**/*.{ts,tsx}"],
     ...tsEslint.configs.disableTypeChecked,
   },
   {
-    files: ["packages/*/src/**/*.{ts,tsx}" ],
+    files: ["packages/*/src/**/*.{ts,tsx}"],
     languageOptions: {
       parserOptions: {
         tsconfigRootDir: import.meta.dirname,
@@ -21,4 +21,4 @@ export default [
       },
     },
   },
-];
\ No newline at end of file
+];
diff --git a/package.json b/package.json
index 6912937..8ce39f1 100644
--- a/package.json
+++ b/package.json
@@ -27,16 +27,16 @@
   },
   "dependencies": {
     "@chyzwar/eslint-config": "^0.2.0",
-    "@commitlint/cli": "^19.3.0",
-    "@commitlint/config-conventional": "^19.2.2",
-    "@lerna-lite/cli": "^3.7.1",
-    "@lerna-lite/publish": "^3.7.1",
-    "@lerna-lite/version": "^3.7.1",
-    "@types/node": "^22.0.0",
+    "@commitlint/cli": "^19.4.1",
+    "@commitlint/config-conventional": "^19.4.1",
+    "@lerna-lite/cli": "^3.9.0",
+    "@lerna-lite/publish": "^3.9.0",
+    "@lerna-lite/version": "^3.9.0",
+    "@types/node": "^22.5.4",
     "conventional-changelog-conventionalcommits": "^7.0.2",
-    "eslint": "^9.8.0",
-    "husky": "^9.1.4",
-    "lint-staged": "^15.2.7",
+    "eslint": "^9.9.1",
+    "husky": "^9.1.5",
+    "lint-staged": "^15.2.10",
     "ts-node": "^10.9.2",
     "typescript": "^5.5.4",
     "vitest": "^2.0.5"
diff --git a/packages/eslint-config/node.js b/packages/eslint-config/node.js
index 2f0a988..9e30b85 100644
--- a/packages/eslint-config/node.js
+++ b/packages/eslint-config/node.js
@@ -1,5 +1,6 @@
 import eslint from "@eslint/js";
 import tsEslint from "typescript-eslint";
+import stylistic from "@stylistic/eslint-plugin";
 import typescript from "./rules/typescript.js";
 import jest from "./rules/jest.js";
 import esm from "./rules/esm.js";
@@ -8,16 +9,22 @@ import globals from "globals";
 export default tsEslint.config(
   eslint.configs.recommended,
   ...tsEslint.configs.all,
-  ...tsEslint.configs.strictTypeChecked, 
+  ...tsEslint.configs.strictTypeChecked,
   ...typescript,
   ...jest,
-  ...esm, 
+  ...esm,
+  stylistic.configs.customize({
+    indent: 2,
+    quotes: "double",
+    semi: true,
+    jsx: true,
+  }),
   {
     files: [
-      "**/*.js", 
+      "**/*.js",
       "**/*.cjs",
       "**/*.mjs",
-      
+
       "**/drizzle.config.ts",
       "**/runner.config.ts",
       "**/vite.config.ts",
@@ -35,5 +42,5 @@ export default tsEslint.config(
         ...globals.node,
       },
     },
-  }
-);
\ No newline at end of file
+  },
+);
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 604ed20..90cb622 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -25,10 +25,11 @@
   },
   "dependencies": {
     "@chyzwar/tsconfig": "^0.2.28",
-    "@eslint/js": "^9.8.0",
-    "eslint-plugin-jest": "^28.6.0",
-    "globals": "^15.8.0",
-    "typescript-eslint": "^7.18.0"
+    "@eslint/js": "^9.9.1",
+    "@stylistic/eslint-plugin": "^2.7.2",
+    "eslint-plugin-jest": "^28.8.3",
+    "globals": "^15.9.0",
+    "typescript-eslint": "^8.4.0"
   },
   "peerDependencies": {
     "eslint": "^9.2.0"
diff --git a/packages/eslint-config/react.js b/packages/eslint-config/react.js
index bb43d64..d6094c6 100644
--- a/packages/eslint-config/react.js
+++ b/packages/eslint-config/react.js
@@ -1,6 +1,7 @@
 import eslint from "@eslint/js";
 import tsEslint from "typescript-eslint";
 import typescript from "./rules/typescript.js";
+import stylistic from "@stylistic/eslint-plugin";
 import jest from "./rules/jest.js";
 import esm from "./rules/esm.js";
 import globals from "globals";
@@ -11,13 +12,19 @@ export default tsEslint.config(
   ...tsEslint.configs.strictTypeChecked,
   ...typescript,
   ...jest,
-  ...esm, 
+  ...esm,
+  stylistic.configs.customize({
+    indent: 2,
+    quotes: "double",
+    semi: true,
+    jsx: true,
+  }),
   {
     files: [
-      "**/*.js", 
+      "**/*.js",
       "**/*.cjs",
       "**/*.mjs",
-      
+
       "**/drizzle.config.ts",
       "**/runner.config.ts",
       "**/vite.config.ts",
@@ -41,5 +48,5 @@ export default tsEslint.config(
         ...globals.browser,
       },
     },
-  }
-);
\ No newline at end of file
+  },
+);
diff --git a/packages/eslint-config/rules/eslint.js b/packages/eslint-config/rules/eslint.js
index cd83c72..8861dbf 100644
--- a/packages/eslint-config/rules/eslint.js
+++ b/packages/eslint-config/rules/eslint.js
@@ -1,4 +1,3 @@
-
 export default [{
   rules: {
   /**
@@ -17,12 +16,12 @@ export default [{
     "lines-between-class-members": "off",
 
     "no-console": "warn",
-    "space-before-blocks": [ "error", {
-      "functions": "always",
-      "keywords": "always",
-      "classes": "always",
+    "space-before-blocks": ["error", {
+      functions: "always",
+      keywords: "always",
+      classes: "always",
     }],
     "keyword-spacing": [
-      "error", {"before": true},
+      "error", { before: true },
     ],
-  }}];
\ No newline at end of file
+  } }];
diff --git a/packages/eslint-config/rules/esm.js b/packages/eslint-config/rules/esm.js
index c430093..5fc2a03 100644
--- a/packages/eslint-config/rules/esm.js
+++ b/packages/eslint-config/rules/esm.js
@@ -1,7 +1,6 @@
-
 export default [{
   rules: {
     "@typescript-eslint/no-var-requires": "error",
     "@typescript-eslint/no-require-imports": "error",
   },
-}];
\ No newline at end of file
+}];
diff --git a/packages/eslint-config/rules/jest.js b/packages/eslint-config/rules/jest.js
index 603c8a3..ad43f98 100644
--- a/packages/eslint-config/rules/jest.js
+++ b/packages/eslint-config/rules/jest.js
@@ -5,8 +5,8 @@ export default [
     files: ["**/*.test.ts", "**/*.test.tsx"],
     ...jest.configs["flat/recommended"],
     settings: {
-      "jest": {
-        "version": "latest",
+      jest: {
+        version: "latest",
       },
     },
     rules: {
@@ -17,4 +17,4 @@ export default [
       "jest/prefer-to-have-length": "warn",
       "jest/valid-expect": "error",
     },
-  }];
\ No newline at end of file
+  }];
diff --git a/packages/eslint-config/rules/typescript.js b/packages/eslint-config/rules/typescript.js
index b3e2862..65059f6 100644
--- a/packages/eslint-config/rules/typescript.js
+++ b/packages/eslint-config/rules/typescript.js
@@ -1,4 +1,3 @@
-
 export default [{
   rules: {
     /**
@@ -65,18 +64,6 @@ export default [{
      */
     "@typescript-eslint/prefer-enum-initializers": ["off"],
 
-    /**
-     * Use stroustrup style for braces
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/brace-style.md
-     */
-    "@typescript-eslint/brace-style": ["error", "stroustrup"],
-
-    /**
-     * Use double quotes everywhere
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/quotes.md
-     */
-    "@typescript-eslint/quotes": ["error", "double"],
-
     /**
      * Lets discuss this on PR
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-magic-numbers.md
@@ -88,16 +75,16 @@ export default [{
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/unbound-method.md
      */
     "@typescript-eslint/unbound-method": ["error", {
-      "ignoreStatic": true,
+      ignoreStatic: true,
     }],
 
     /**
      * Allow for arrow functions to omit annotation
-     * 
+     *
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/typedef.md
      */
     "@typescript-eslint/typedef": ["error", {
-      "arrowParameter": false,
+      arrowParameter: false,
     }],
 
     /**
@@ -105,8 +92,8 @@ export default [{
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md
      */
     "@typescript-eslint/no-explicit-any": ["error", {
-      "fixToUnknown": true,
-      "ignoreRestArgs": true,
+      fixToUnknown: true,
+      ignoreRestArgs: true,
     }],
 
     /**
@@ -114,83 +101,20 @@ export default [{
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/restrict-template-expressions.md
      */
     "@typescript-eslint/restrict-template-expressions": ["error", {
-      "allowNumber": true,
-      "allowBoolean": true,
+      allowNumber: true,
+      allowBoolean: true,
     }],
 
-    /**
-     * Enforce semicolons
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/semi.md
-     */
-    "@typescript-eslint/semi": ["error"],
-
-    /**
-     * Enforce 2 space indentation across project
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/indent.md
-     */
-    "@typescript-eslint/indent": ["error", 2],
-
     /**
      * Allow for type aliases only in unions
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-type-alias.md
      */
     "@typescript-eslint/no-type-alias": ["error", {
-      "allowAliases": "always",
-      "allowCallbacks": "always",
-      "allowLiterals": "always",
-      "allowTupleTypes": "always",
-      "allowGenerics": "always",
-    }],
-
-    /**
-     * I prefer not to add extra space before paren
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/space-before-function-paren.md
-     */
-    "@typescript-eslint/space-before-function-paren": ["error", {
-      "anonymous": "never",
-      "named": "never",
-      "asyncArrow": "never",
-    }],
-
-    /**
-     * Extends default option by allowing object and Function
-     * Revisit later
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md
-     */
-    "@typescript-eslint/ban-types": ["error", {
-      extendDefaults: false,
-      types: {
-        String: {
-          message: "Use string instead",
-          fixWith: "string",
-        },
-        Boolean: {
-          message: "Use boolean instead",
-          fixWith: "boolean",
-        },
-        Number: {
-          message: "Use number instead",
-          fixWith: "number",
-        },
-        Symbol: {
-          message: "Use symbol instead",
-          fixWith: "symbol",
-        },
-        Object: {
-          message: [
-            "The `Object` type actually means \"any non-nullish value\", so it is marginally better than `unknown`.",
-            "- If you want a type meaning \"any object\", you probably want `Record<string, unknown>` instead.",
-            "- If you want a type meaning \"any value\", you probably want `unknown` instead.",
-          ].join("\n"),
-        },
-        "{}": {
-          message: [
-            "`{}` actually means \"any non-nullish value\".",
-            "- If you want a type meaning \"any object\", you probably want `Record<string, unknown>` instead.",
-            "- If you want a type meaning \"any value\", you probably want `unknown` instead.",
-          ].join("\n"),
-        },
-      },
+      allowAliases: "always",
+      allowCallbacks: "always",
+      allowLiterals: "always",
+      allowTupleTypes: "always",
+      allowGenerics: "always",
     }],
 
     /**
@@ -200,8 +124,8 @@ export default [{
      */
     "@typescript-eslint/naming-convention": ["error",
       {
-        "selector": "variable",
-        "format": ["camelCase", "PascalCase", "UPPER_CASE"],
+        selector: "variable",
+        format: ["camelCase", "PascalCase", "UPPER_CASE"],
       },
     ],
 
@@ -209,23 +133,8 @@ export default [{
      * Allow typedefs
      * @see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-use-before-define.md
      */
-    "@typescript-eslint/no-use-before-define": ["error", { 
-      "typedefs": false,
-    }],
-
-    /**
-     * Extend comma dangle rules for ts
-     * @see https://github.com/typescript-eslint/typescript-eslint/blob/v4.6.0/packages/eslint-plugin/docs/rules/comma-dangle.md
-     */
-    "@typescript-eslint/comma-dangle": ["error", {
-      "arrays": "always-multiline",
-      "objects": "always-multiline",
-      "imports": "always-multiline",
-      "exports": "always-multiline",
-      "enums": "always-multiline",
-      "tuples": "always-multiline",
-      "generics": "always-multiline",
-      "functions": "never",
+    "@typescript-eslint/no-use-before-define": ["error", {
+      typedefs: false,
     }],
 
     "@typescript-eslint/no-shadow": ["error", {
@@ -250,4 +159,4 @@ export default [{
       allowFunctionsWithoutTypeParameters: true,
     }],
   },
-}];
\ No newline at end of file
+}];
diff --git a/packages/runner/examples/package.json b/packages/runner/examples/package.json
index dfe2e79..c597ba1 100644
--- a/packages/runner/examples/package.json
+++ b/packages/runner/examples/package.json
@@ -12,7 +12,7 @@
     "@chyzwar/eslint-config": "^0.2.0",
     "@chyzwar/runner": "^0.4.1",
     "@chyzwar/tsconfig": "^0.2.0",
-    "eslint": "^9.8.0",
+    "eslint": "^9.9.1",
     "typescript": "^5.5.4"
   }
 }
diff --git a/packages/runner/examples/packages/api/package.json b/packages/runner/examples/packages/api/package.json
index 84c3ca1..cd3911e 100644
--- a/packages/runner/examples/packages/api/package.json
+++ b/packages/runner/examples/packages/api/package.json
@@ -9,7 +9,7 @@
   "dependencies": {
     "@chyzwar/eslint-config": "^0.2.0",
     "@chyzwar/tsconfig": "^0.2.0",
-    "eslint": "^9.8.0",
+    "eslint": "^9.9.1",
     "fastify": "^4.28.1"
   }
 }
diff --git a/packages/runner/examples/packages/api/server.js b/packages/runner/examples/packages/api/server.js
index cf39a4e..09fb12a 100644
--- a/packages/runner/examples/packages/api/server.js
+++ b/packages/runner/examples/packages/api/server.js
@@ -4,14 +4,14 @@ const fastify = Fastify({
   logger: true,
 });
 
-fastify.get("/", async(request, reply) => {
-  reply.send({hello: "world"});
+fastify.get("/", async (request, reply) => {
+  reply.send({ hello: "world" });
 });
 
-fastify.listen({port: 3000}, function(err, address) {
+fastify.listen({ port: 3000 }, function (err, address) {
   if (err) {
     fastify.log.error(err);
     process.exit(1);
   }
   fastify.log.info(`Server is now listening on ${address}`);
-});
\ No newline at end of file
+});
diff --git a/packages/runner/examples/packages/ui/package.json b/packages/runner/examples/packages/ui/package.json
index f8c2512..8e26636 100644
--- a/packages/runner/examples/packages/ui/package.json
+++ b/packages/runner/examples/packages/ui/package.json
@@ -9,16 +9,16 @@
     "preview": "vite preview"
   },
   "dependencies": {
-    "preact": "^10.23.1"
+    "preact": "^10.23.2"
   },
   "devDependencies": {
     "@babel/core": "^7.25.2",
     "@chyzwar/eslint-config": "^0.2.2",
     "@chyzwar/tsconfig": "^0.2.2",
     "@preact/preset-vite": "^2.9.0",
-    "eslint": "^9.8.0",
-    "preact": "^10.23.1",
+    "eslint": "^9.9.1",
+    "preact": "^10.23.2",
     "typescript": "^5.5.4",
-    "vite": "^5.3.5"
+    "vite": "^5.4.3"
   }
 }
diff --git a/packages/runner/examples/packages/ui/src/app.tsx b/packages/runner/examples/packages/ui/src/app.tsx
index 7309388..656b6c3 100644
--- a/packages/runner/examples/packages/ui/src/app.tsx
+++ b/packages/runner/examples/packages/ui/src/app.tsx
@@ -1,9 +1,8 @@
-import {useState} from "preact/hooks";
+import { useState } from "preact/hooks";
 import preactLogo from "./assets/preact.svg";
 import viteLogo from "/vite.svg";
 import "./app.css";
-import type {FunctionComponent} from "preact";
-
+import type { FunctionComponent } from "preact";
 
 export const App: FunctionComponent = () => {
   const [count, setCount] = useState(0);
@@ -21,12 +20,19 @@ export const App: FunctionComponent = () => {
       <h1>Vite + Preact</h1>
       <div class="card">
         <button onClick={(): void => {
-          setCount((c) => c + 1); 
-        }}>
-          count is {count}
+          setCount(c => c + 1);
+        }}
+        >
+          count is
+          {" "}
+          {count}
         </button>
         <p>
-          Edit <code>src/app.tsx</code> and save to test HMR
+          Edit
+          {" "}
+          <code>src/app.tsx</code>
+          {" "}
+          and save to test HMR
         </p>
       </div>
       <p class="read-the-docs">
diff --git a/packages/runner/examples/packages/ui/src/main.tsx b/packages/runner/examples/packages/ui/src/main.tsx
index c328f87..a9df43d 100644
--- a/packages/runner/examples/packages/ui/src/main.tsx
+++ b/packages/runner/examples/packages/ui/src/main.tsx
@@ -1,9 +1,8 @@
-import {render} from "preact";
-import {App} from "./app";
+import { render } from "preact";
+import { App } from "./app";
 import "./index.css";
 
 const root = document.getElementById("app");
 if (root) {
   render(<App />, root);
 }
-
diff --git a/packages/runner/examples/packages/ui/vite.config.ts b/packages/runner/examples/packages/ui/vite.config.ts
index c29c19e..4e41f06 100644
--- a/packages/runner/examples/packages/ui/vite.config.ts
+++ b/packages/runner/examples/packages/ui/vite.config.ts
@@ -1,4 +1,4 @@
-import {defineConfig} from "vite";
+import { defineConfig } from "vite";
 import preact from "@preact/preset-vite";
 
 export default defineConfig({
diff --git a/packages/runner/examples/runner.config.js b/packages/runner/examples/runner.config.js
index 9ff79ab..e047f30 100644
--- a/packages/runner/examples/runner.config.js
+++ b/packages/runner/examples/runner.config.js
@@ -1,38 +1,38 @@
 import {
-  spawnTask, 
-  dockerTask, 
-  parallelTask, 
+  spawnTask,
+  dockerTask,
+  parallelTask,
   seriesTask,
 } from "@chyzwar/runner";
 
-spawnTask("build:watch", 
-  "yarn", ["build:watch"] 
+spawnTask("build:watch",
+  "yarn", ["build:watch"],
 );
 
-spawnTask("start:ui", 
-  "yarn", ["start"], 
+spawnTask("start:ui",
+  "yarn", ["start"],
   {
     cwd: "./packages/ui",
-  }
+  },
 );
-spawnTask("build:ui", 
-  "yarn", ["build"], 
+spawnTask("build:ui",
+  "yarn", ["build"],
   {
     cwd: "./packages/ui",
-  }
+  },
 );
 
-spawnTask("start:api", 
-  "yarn", ["start"], 
+spawnTask("start:api",
+  "yarn", ["start"],
   {
     cwd: "./packages/api",
-  }
+  },
 );
-spawnTask("build:api", 
-  "yarn", ["build"], 
+spawnTask("build:api",
+  "yarn", ["build"],
   {
     cwd: "./packages/api",
-  }
+  },
 );
 
 dockerTask("postgres", "postgres", {
@@ -47,11 +47,10 @@ dockerTask("postgres", "postgres", {
   },
 });
 
-
 seriesTask("start:prod", ["build:api", "build:ui", "start:api:prod"]);
 parallelTask("start", [
-  "build:watch", 
-  "postgres", 
-  "start:api", 
+  "build:watch",
+  "postgres",
+  "start:api",
   "start:ui",
-]);
\ No newline at end of file
+]);
diff --git a/packages/runner/package.json b/packages/runner/package.json
index e67928c..1f99427 100644
--- a/packages/runner/package.json
+++ b/packages/runner/package.json
@@ -31,13 +31,13 @@
   "author": "chyzwar",
   "license": "MIT",
   "dependencies": {
-    "picocolors": "^1.0.1"
+    "picocolors": "^1.1.0"
   },
   "devDependencies": {
     "@chyzwar/eslint-config": "^0.2.28",
     "@chyzwar/tsconfig": "^0.2.28",
-    "@types/node": "^22.0.0",
-    "eslint": "^9.8.0",
+    "@types/node": "^22.5.4",
+    "eslint": "^9.9.1",
     "typescript": "^5.5.4",
     "vitest": "^2.0.5"
   },
diff --git a/packages/runner/src/Logger.ts b/packages/runner/src/Logger.ts
index d9ede6c..9b7667a 100644
--- a/packages/runner/src/Logger.ts
+++ b/packages/runner/src/Logger.ts
@@ -1,9 +1,9 @@
 /* eslint-disable no-prototype-builtins */
- 
+
 import pc from "picocolors";
 import type { Formatter } from "picocolors/types.js";
 
-const colorFormatters: Formatter[]= [
+const colorFormatters: Formatter[] = [
   pc.green,
   pc.red,
   pc.yellow,
@@ -15,7 +15,7 @@ const colorFormatters: Formatter[]= [
 ];
 
 let lastAssigned = 0;
-const colorsAssigned: Record<string, Formatter>= {};
+const colorsAssigned: Record<string, Formatter> = {};
 
 const getColorFn = (taskName: string): Formatter => {
   if (!colorsAssigned.hasOwnProperty(taskName)) {
@@ -27,15 +27,15 @@ const getColorFn = (taskName: string): Formatter => {
 
 class Logger {
   public static calls: unknown[][];
- 
+
   private readonly taskName: string;
   private readonly colorFn: Formatter;
 
   public constructor(taskName: string) {
     this.taskName = taskName;
-    this.colorFn =  getColorFn(taskName);
+    this.colorFn = getColorFn(taskName);
   }
-   
+
   public time(label: string): void {
     console.time(`${this.colorFn(`[${this.taskName}]`)} ${label}`);
   }
@@ -61,5 +61,4 @@ class Logger {
   }
 }
 
-
-export default Logger;
\ No newline at end of file
+export default Logger;
diff --git a/packages/runner/src/SpawnError.ts b/packages/runner/src/SpawnError.ts
index 625da55..0f16a7b 100644
--- a/packages/runner/src/SpawnError.ts
+++ b/packages/runner/src/SpawnError.ts
@@ -11,4 +11,4 @@ class SpawnError extends Error {
   }
 }
 
-export default SpawnError;
\ No newline at end of file
+export default SpawnError;
diff --git a/packages/runner/src/TaskFunction.ts b/packages/runner/src/TaskFunction.ts
index 4ad4fb9..8e8a3f0 100644
--- a/packages/runner/src/TaskFunction.ts
+++ b/packages/runner/src/TaskFunction.ts
@@ -1,9 +1,8 @@
-
 type TaskFunctionSync = () => void;
 type TaskFunctionAsync = () => Promise<void>;
 
-type TaskFunction = 
-  | TaskFunctionAsync 
+type TaskFunction =
+  | TaskFunctionAsync
   | TaskFunctionSync;
 
-export default TaskFunction;
\ No newline at end of file
+export default TaskFunction;
diff --git a/packages/runner/src/__fixtures__/runner.config.js b/packages/runner/src/__fixtures__/runner.config.js
index 0296923..a50a474 100644
--- a/packages/runner/src/__fixtures__/runner.config.js
+++ b/packages/runner/src/__fixtures__/runner.config.js
@@ -1,7 +1,5 @@
- 
-import {task} from "../../lib";
-
+import { task } from "../../lib";
 
 task("test", () => {
   console.log("test");
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__mocks__/Logger.ts b/packages/runner/src/__mocks__/Logger.ts
index 8b3284f..0341952 100644
--- a/packages/runner/src/__mocks__/Logger.ts
+++ b/packages/runner/src/__mocks__/Logger.ts
@@ -18,6 +18,6 @@ class Logger {
   public error(...args: unknown[]): void {
     Logger.calls.push(args);
   }
-} 
+}
 
-export default Logger;
\ No newline at end of file
+export default Logger;
diff --git a/packages/runner/src/__tests__/dockerTask.test.ts b/packages/runner/src/__tests__/dockerTask.test.ts
index 36ef4ff..ae0dbd2 100644
--- a/packages/runner/src/__tests__/dockerTask.test.ts
+++ b/packages/runner/src/__tests__/dockerTask.test.ts
@@ -1,16 +1,16 @@
-import {expect, describe, it, vi} from "vitest";
+import { expect, describe, it, vi } from "vitest";
 import register from "../register.js";
 
 vi.mock("node:child_process", () => {
   return {
     spawn: vi.fn().mockImplementation(() => {
       const handlers: Record<string, (arg: unknown) => void> = {};
-      
+
       const timeout = 10;
       setTimeout(() => {
         handlers.close(0);
       }, timeout);
-  
+
       return {
         stdout: {
           on: vi.fn(),
@@ -26,48 +26,48 @@ vi.mock("node:child_process", () => {
   };
 });
 
-vi.mock("../Logger.js", async() => {
+vi.mock("../Logger.js", async () => {
   return import("../__mocks__/Logger.js");
 });
 
-const {dockerTask} = await import("../dockerTask.js");
-const {spawn} = await import("node:child_process");
+const { dockerTask } = await import("../dockerTask.js");
+const { spawn } = await import("node:child_process");
 
-describe("dockerTask", () => {  
+describe("dockerTask", () => {
   it("should register new task", () => {
     dockerTask("hello", "hello-world");
 
     expect(register.get("hello")).toBeInstanceOf(Function);
   });
 
-  it("should append --rm if rm:true", async() => {
+  it("should append --rm if rm:true", async () => {
     dockerTask("hello", "hello-world", {
       rm: true,
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--rm", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--rm", "hello-world"], { shell: true });
   });
 
-  it("should append --interactive if interactive:true", async() => {
+  it("should append --interactive if interactive:true", async () => {
     dockerTask("hello", "hello-world", {
       interactive: true,
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--interactive", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--interactive", "hello-world"], { shell: true });
   });
 
-  it("should append --name if name is provided", async() => {
+  it("should append --name if name is provided", async () => {
     dockerTask("hello", "hello-world", {
       name: "MyHello",
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--name MyHello", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--name MyHello", "hello-world"], { shell: true });
   });
 
-  it("should append env variables", async() => {
+  it("should append env variables", async () => {
     dockerTask("hello", "hello-world", {
       env: {
         test1: "test-value1",
@@ -77,38 +77,38 @@ describe("dockerTask", () => {
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-e test1=test-value1", "-e test3=test-value3", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-e test1=test-value1", "-e test3=test-value3", "hello-world"], { shell: true });
   });
 
-  it("should append ports variables", async() => {
+  it("should append ports variables", async () => {
     dockerTask("hello", "hello-world", {
       ports: [
-        "3000:3000", 
+        "3000:3000",
         "3001:3001",
       ],
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-p 3000:3000", "-p 3001:3001", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-p 3000:3000", "-p 3001:3001", "hello-world"], { shell: true });
   });
 
-  it("should append volumes variables", async() => {
+  it("should append volumes variables", async () => {
     dockerTask("hello", "hello-world", {
       volumes: [
-        "./Caddyfile:/etc/caddy/Caddyfile", 
+        "./Caddyfile:/etc/caddy/Caddyfile",
       ],
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-v ./Caddyfile:/etc/caddy/Caddyfile", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "-v ./Caddyfile:/etc/caddy/Caddyfile", "hello-world"], { shell: true });
   });
-  
-  it("should support network option", async() => {
+
+  it("should support network option", async () => {
     dockerTask("hello", "hello-world", {
       network: "host",
     });
     await register.get("hello")?.();
 
-    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--network=host", "hello-world"], {"shell": true});
+    expect(spawn).toHaveBeenCalledWith("docker", ["run", "--network=host", "hello-world"], { shell: true });
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/mapToTasks.test.ts b/packages/runner/src/__tests__/mapToTasks.test.ts
index 8a1cd44..1edda10 100644
--- a/packages/runner/src/__tests__/mapToTasks.test.ts
+++ b/packages/runner/src/__tests__/mapToTasks.test.ts
@@ -1,4 +1,4 @@
-import {expect, describe, it, vi} from "vitest";
+import { expect, describe, it, vi } from "vitest";
 import register from "../register.js";
 import mapToTasks from "../mapToTasks.js";
 
@@ -17,4 +17,4 @@ describe("mapToTasks", () => {
     expect(() => mapToTasks(["test-missing1", "test-missing2"]))
       .toThrowError(new Error("Missing tasks definition for: test-missing1"));
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/parallel.test.ts b/packages/runner/src/__tests__/parallel.test.ts
index 64e28d1..051936a 100644
--- a/packages/runner/src/__tests__/parallel.test.ts
+++ b/packages/runner/src/__tests__/parallel.test.ts
@@ -1,18 +1,17 @@
-import {expect, describe, it} from "vitest";
+import { expect, describe, it } from "vitest";
 
 import register from "../register.js";
-import {parallel} from "../parallel.js";
-
+import { parallel } from "../parallel.js";
 
 describe("parallel", () => {
-  it("should execute tasks in parallel", async() => {
+  it("should execute tasks in parallel", async () => {
     const order: string[] = [];
 
-    const task1 = async(): Promise<void> => new Promise((resolve) => setTimeout(() => {
+    const task1 = async (): Promise<void> => new Promise(resolve => setTimeout(() => {
       order.push("test1");
       resolve();
     }, 20));
-    const task2 = async(): Promise<void> => new Promise((resolve) => setTimeout(() => {
+    const task2 = async (): Promise<void> => new Promise(resolve => setTimeout(() => {
       order.push("test2");
       resolve();
     }, 1));
@@ -26,8 +25,6 @@ describe("parallel", () => {
   });
 });
 
-
 describe("parallelTask", () => {
   it.todo("execute tasks in parallel");
-
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/register.test.ts b/packages/runner/src/__tests__/register.test.ts
index df38a55..faf0f2b 100644
--- a/packages/runner/src/__tests__/register.test.ts
+++ b/packages/runner/src/__tests__/register.test.ts
@@ -1,8 +1,8 @@
-import {expect, describe, it} from "vitest";
+import { expect, describe, it } from "vitest";
 import register from "../register.js";
 
 describe("register", () => {
   it("should be an Map", () => {
     expect(register).toBeInstanceOf(Map);
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/runner.test.ts b/packages/runner/src/__tests__/runner.test.ts
index 19cf6ff..7623933 100644
--- a/packages/runner/src/__tests__/runner.test.ts
+++ b/packages/runner/src/__tests__/runner.test.ts
@@ -1,6 +1,6 @@
-import {expect, describe, it, vi} from "vitest";
-import {dirname, resolve} from "node:path";
-import {fileURLToPath} from "node:url";
+import { expect, describe, it, vi } from "vitest";
+import { dirname, resolve } from "node:path";
+import { fileURLToPath } from "node:url";
 
 vi.mock("node:process", () => {
   const currentDir = dirname(fileURLToPath(import.meta.url));
@@ -8,14 +8,14 @@ vi.mock("node:process", () => {
   return {
     cwd: (): string => resolve(currentDir, "../__fixtures__"),
     argv: [
-      "node", 
-      "runner", 
+      "node",
+      "runner",
       "test",
     ],
   };
 });
 
-vi.mock("../Logger.js", async() => {
+vi.mock("../Logger.js", async () => {
   const mock = await import("../__mocks__/Logger.js");
   return mock;
 });
@@ -23,9 +23,9 @@ vi.mock("../Logger.js", async() => {
 const Logger = await import("../Logger.js");
 
 describe("runner", () => {
-  it("should load configuration from runner.config.js", async() => {
+  it("should load configuration from runner.config.js", async () => {
     await import("../runner.js");
     await vi.dynamicImportSettled();
     expect(Logger.default.calls).toMatchSnapshot();
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/series.test.ts b/packages/runner/src/__tests__/series.test.ts
index 7f5831d..49a06ba 100644
--- a/packages/runner/src/__tests__/series.test.ts
+++ b/packages/runner/src/__tests__/series.test.ts
@@ -1,16 +1,16 @@
-import {expect, describe, it} from "vitest";
+import { expect, describe, it } from "vitest";
 import register from "../register.js";
-import {series} from "../series.js";
+import { series } from "../series.js";
 
 describe("series", () => {
-  it("should execute tasks in order", async() => {
+  it("should execute tasks in order", async () => {
     const order: string[] = [];
 
-    const task1 = async(): Promise<void> => new Promise((resolve) => setTimeout(() => {
+    const task1 = async (): Promise<void> => new Promise(resolve => setTimeout(() => {
       order.push("test1");
       resolve();
     }, 20));
-    const task2 = async(): Promise<void> => new Promise((resolve) => setTimeout(() => {
+    const task2 = async (): Promise<void> => new Promise(resolve => setTimeout(() => {
       order.push("test2");
       resolve();
     }, 1));
@@ -22,4 +22,4 @@ describe("series", () => {
 
     expect(order).toEqual(["test1", "test2"]);
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/spawnTask.test.ts b/packages/runner/src/__tests__/spawnTask.test.ts
index 134e330..b485811 100644
--- a/packages/runner/src/__tests__/spawnTask.test.ts
+++ b/packages/runner/src/__tests__/spawnTask.test.ts
@@ -1,13 +1,13 @@
-import {expect, describe, it, vi} from "vitest";
+import { expect, describe, it, vi } from "vitest";
 
 import register from "../register.js";
 import SpawnError from "../SpawnError.js";
 
-vi.mock("../Logger.js", async() => {
+vi.mock("../Logger.js", async () => {
   return import("../__mocks__/Logger.js");
 });
 
-const {spawnTask} = await import("../spawnTask.js");
+const { spawnTask } = await import("../spawnTask.js");
 
 describe("spawnTask", () => {
   it("should register new task", () => {
@@ -16,13 +16,13 @@ describe("spawnTask", () => {
     expect(register.get("ls")).toBeInstanceOf(Function);
   });
 
-  it("should handle ENOENT", async() => {
+  it("should handle ENOENT", async () => {
     spawnTask("invalid", "invalid");
 
     const task = register.get("invalid");
-    
+
     await expect(task?.()).rejects.toThrowError(
-      new SpawnError("Spawn Task closed with non-zero exit code", -2, "invalid")
+      new SpawnError("Spawn Task closed with non-zero exit code", -2, "invalid"),
     );
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/__tests__/task.test.ts b/packages/runner/src/__tests__/task.test.ts
index 4c3efb3..c946041 100644
--- a/packages/runner/src/__tests__/task.test.ts
+++ b/packages/runner/src/__tests__/task.test.ts
@@ -1,27 +1,27 @@
-import {expect, describe, it, vi} from "vitest";
+import { expect, describe, it, vi } from "vitest";
 import register from "../register.js";
 
-vi.mock("../Logger.js", async() => {
+vi.mock("../Logger.js", async () => {
   return import("../__mocks__/Logger.js");
 });
 
-const {task} = await import("../task.js");
+const { task } = await import("../task.js");
 
 describe("task", () => {
   it("should register new task", () => {
     const ls = vi.fn();
-    task("ls",  ls);
+    task("ls", ls);
 
     expect(register.get("ls")).toBeInstanceOf(Function);
   });
 
-  it("should execute task function when run", async() => {
+  it("should execute task function when run", async () => {
     const ls = vi.fn();
-    task("ls",  ls);  
-    
+    task("ls", ls);
+
     const run = register.get("ls");
     await run?.();
 
     expect(ls).toHaveBeenCalled();
   });
-});
\ No newline at end of file
+});
diff --git a/packages/runner/src/dockerTask.ts b/packages/runner/src/dockerTask.ts
index 15bf8c7..f1ab4af 100644
--- a/packages/runner/src/dockerTask.ts
+++ b/packages/runner/src/dockerTask.ts
@@ -1,17 +1,15 @@
-
-import {spawn} from "node:child_process";
-import type {SpawnOptions} from "node:child_process";
+import { spawn } from "node:child_process";
+import type { SpawnOptions } from "node:child_process";
 
 import register from "./register.js";
 import Logger from "./Logger.js";
 import SpawnError from "./SpawnError.js";
 
-
 interface DockerTaskOptions extends SpawnOptions {
 
   /**
    * Automatically remove the container when it exits
-   */ 
+   */
   rm?: boolean;
 
   /**
@@ -35,7 +33,7 @@ interface DockerTaskOptions extends SpawnOptions {
   /**
    * Type of network
    */
-  network?: "bridge" | "host"
+  network?: "bridge" | "host";
 }
 
 /**
@@ -77,7 +75,7 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
         }
       });
   }
-  
+
   if (options?.volumes) {
     options.volumes
       .forEach((value) => {
@@ -86,7 +84,7 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
         }
       });
   }
-  
+
   args.push(image);
 
   async function spawnTaskFunction(): Promise<void> {
@@ -94,8 +92,8 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
     logger.info("Started task");
 
     logger.time("Task completed in");
-    const proc = spawn("docker", args, {shell: true});
-    
+    const proc = spawn("docker", args, { shell: true });
+
     return new Promise<void>((resolve, reject) => {
       proc.stdout.on("data", (data?: Buffer) => {
         if (data) {
@@ -104,11 +102,11 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
             .split("\n")
             .filter(s => s !== "")
             .forEach((line: string) => {
-              logger.info(line); 
-            }); 
+              logger.info(line);
+            });
         }
       });
-      
+
       proc.stderr.on("data", (data?: Buffer) => {
         if (data) {
           data
@@ -116,15 +114,15 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
             .split("\n")
             .filter(s => s !== "")
             .forEach((line: string) => {
-              logger.info(line); 
-            }); 
+              logger.info(line);
+            });
         }
       });
-      
+
       proc.on("error", (error) => {
         logger.error(`Task <${taskName}> failed with:`, error);
       });
-      
+
       proc.on("close", (code: number) => {
         if (code === 0) {
           logger.timeEnd("Task completed in");
@@ -133,7 +131,7 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
         else {
           logger.error(`Failed with code: ${code}`);
           reject(
-            new SpawnError("Docker Task closed with non-zero exit code", code, taskName)
+            new SpawnError("Docker Task closed with non-zero exit code", code, taskName),
           );
         }
       });
@@ -141,6 +139,6 @@ export function dockerTask(taskName: string, image: string, options?: DockerTask
   }
 
   register.set(taskName, spawnTaskFunction);
-} 
+}
 
-export default dockerTask;
\ No newline at end of file
+export default dockerTask;
diff --git a/packages/runner/src/execTask.ts b/packages/runner/src/execTask.ts
index 18ebc60..847eff4 100644
--- a/packages/runner/src/execTask.ts
+++ b/packages/runner/src/execTask.ts
@@ -1,12 +1,11 @@
 /* eslint-disable @typescript-eslint/prefer-promise-reject-errors */
 
-import type {ExecOptions} from "child_process";
-import {exec} from "child_process";
+import type { ExecOptions } from "child_process";
+import { exec } from "child_process";
 
 import register from "./register.js";
 import Logger from "./Logger.js";
 
-
 /**
  * Create task to exec process
  * @param task task name
@@ -14,11 +13,10 @@ import Logger from "./Logger.js";
  * @param options spawn option
  */
 export function execTask(taskName: string, command: string, options?: ExecOptions): void {
-
   async function spawnTaskFunction(): Promise<void> {
     const logger = new Logger(taskName);
     logger.info("Started task");
-    
+
     return new Promise<void>((resolve, reject) => {
       const child = exec(command, options, (error, stdout, stderr) => {
         if (stdout) {
@@ -27,7 +25,7 @@ export function execTask(taskName: string, command: string, options?: ExecOption
             .split(/\r?\n/)
             .forEach((line: string) => {
               logger.error(line);
-            }); 
+            });
         }
 
         if (stderr) {
@@ -35,12 +33,12 @@ export function execTask(taskName: string, command: string, options?: ExecOption
             .toString()
             .split(/\r?\n/)
             .forEach((line: string) => {
-              logger.error(line); 
-            }); 
+              logger.error(line);
+            });
         }
 
         if (error) {
-          logger.error("Exec Task error:", error);  
+          logger.error("Exec Task error:", error);
           reject(error);
         }
         else {
@@ -54,4 +52,4 @@ export function execTask(taskName: string, command: string, options?: ExecOption
     });
   }
   register.set(taskName, spawnTaskFunction);
-} 
\ No newline at end of file
+}
diff --git a/packages/runner/src/index.ts b/packages/runner/src/index.ts
index 23c70cc..e21de5b 100644
--- a/packages/runner/src/index.ts
+++ b/packages/runner/src/index.ts
@@ -1,6 +1,6 @@
-export {seriesTask} from "./series.js";
-export {spawnTask} from "./spawnTask.js";
-export {dockerTask} from "./dockerTask.js";
-export {execTask} from "./execTask.js";
-export {task} from "./task.js";
-export {parallelTask} from "./parallel.js";
+export { seriesTask } from "./series.js";
+export { spawnTask } from "./spawnTask.js";
+export { dockerTask } from "./dockerTask.js";
+export { execTask } from "./execTask.js";
+export { task } from "./task.js";
+export { parallelTask } from "./parallel.js";
diff --git a/packages/runner/src/mapToTasks.ts b/packages/runner/src/mapToTasks.ts
index dd3e0a1..4473156 100644
--- a/packages/runner/src/mapToTasks.ts
+++ b/packages/runner/src/mapToTasks.ts
@@ -1,4 +1,3 @@
-
 import type TaskFunction from "./TaskFunction.js";
 import register from "./register.js";
 
@@ -18,6 +17,4 @@ function mapToTasks(taskNames: string[]): TaskFunction[] {
   });
 }
 
-  
-
-export default mapToTasks;
\ No newline at end of file
+export default mapToTasks;
diff --git a/packages/runner/src/parallel.ts b/packages/runner/src/parallel.ts
index 4c299e4..91d1e1d 100644
--- a/packages/runner/src/parallel.ts
+++ b/packages/runner/src/parallel.ts
@@ -4,29 +4,27 @@ import register from "./register.js";
 import type TaskFunction from "./TaskFunction.js";
 
 export function parallel(...args: string[]): TaskFunction {
-  const parallelTaskFn = async(): Promise<void> => {
-    await Promise.all(mapToTasks(args).map(async(task) => task()));
+  const parallelTaskFn = async (): Promise<void> => {
+    await Promise.all(mapToTasks(args).map(async task => task()));
   };
 
   return parallelTaskFn;
 }
 
-
 /**
  * Create task to start multiple tasks in parallel
  * @param task task name
  * @param taskList command to spawn
  */
 export function parallelTask(taskName: string, taskList: string[]): void {
-
   async function parallelTaskFunction(): Promise<void> {
     const logger = new Logger(taskName);
     logger.info("Started task");
-    
+
     logger.time("Task completed in");
     await parallel(...taskList)();
     logger.timeEnd("Task completed in");
   }
 
   register.set(taskName, parallelTaskFunction);
-} 
+}
diff --git a/packages/runner/src/register.ts b/packages/runner/src/register.ts
index 2384365..1843fd2 100644
--- a/packages/runner/src/register.ts
+++ b/packages/runner/src/register.ts
@@ -2,4 +2,4 @@ import type TaskFunction from "./TaskFunction.js";
 
 const register = new Map<string, TaskFunction>();
 
-export default register;
\ No newline at end of file
+export default register;
diff --git a/packages/runner/src/runner.ts b/packages/runner/src/runner.ts
index 33cd32d..f574732 100644
--- a/packages/runner/src/runner.ts
+++ b/packages/runner/src/runner.ts
@@ -1,32 +1,32 @@
 #! /usr/bin/env node
 /* eslint-disable @typescript-eslint/restrict-template-expressions */
 /* eslint-disable @typescript-eslint/no-base-to-string */
- 
-import {series} from "./series.js";
+
+import { series } from "./series.js";
 import Logger from "./Logger.js";
-import {argv, cwd} from "node:process";
+import { argv, cwd } from "node:process";
 import SpawnError from "./SpawnError.js";
 import { existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
 
 const encoding = { encoding: "utf-8" as const };
 const removeOpts = {
-  force: true, 
+  force: true,
   recursive: true,
 };
 
 const logger = new Logger("runner");
 
-const importTS = async(path: string): Promise<void> => {
+const importTS = async (path: string): Promise<void> => {
   const {
     default: {
-      transpileModule, 
-      ScriptTarget, 
+      transpileModule,
+      ScriptTarget,
       ModuleKind,
     },
   } = await import("typescript");
 
   const source = readFileSync(path, encoding);
-  const {outputText} = transpileModule(source, {
+  const { outputText } = transpileModule(source, {
     compilerOptions: {
       target: ScriptTarget.ES2020,
       module: ModuleKind.ESNext,
@@ -36,12 +36,12 @@ const importTS = async(path: string): Promise<void> => {
   const compiledConfigPath = `${path}.mjs`;
   try {
     writeFileSync(
-      compiledConfigPath, 
-      outputText
+      compiledConfigPath,
+      outputText,
     );
     await import(compiledConfigPath);
   }
-  
+
   finally {
     rmSync(compiledConfigPath, removeOpts);
   }
@@ -89,4 +89,3 @@ handle(tasks)
       logger.error(`Failed with error: ${error}`);
     }
   });
-  
diff --git a/packages/runner/src/series.ts b/packages/runner/src/series.ts
index 5b497f9..dfdd044 100644
--- a/packages/runner/src/series.ts
+++ b/packages/runner/src/series.ts
@@ -8,7 +8,7 @@ import register from "./register.js";
  * @param args task names
  */
 export function series(...args: string[]): TaskFunction {
-  const seriesTaskFn = async(): Promise<void> => {
+  const seriesTaskFn = async (): Promise<void> => {
     for (const task of mapToTasks(args)) {
       await task();
     }
@@ -22,15 +22,14 @@ export function series(...args: string[]): TaskFunction {
  * @param taskList command to spawn
  */
 export function seriesTask(taskName: string, taskList: string[]): void {
-
   async function seriesTaskFunction(): Promise<void> {
     const logger = new Logger(taskName);
     logger.info("Started task");
     logger.time("Task completed in");
-    
+
     await series(...taskList)();
     logger.timeEnd("Task completed in");
   }
 
   register.set(taskName, seriesTaskFunction);
-} 
\ No newline at end of file
+}
diff --git a/packages/runner/src/spawnTask.ts b/packages/runner/src/spawnTask.ts
index 2af58a7..e2f1577 100644
--- a/packages/runner/src/spawnTask.ts
+++ b/packages/runner/src/spawnTask.ts
@@ -1,6 +1,5 @@
-
-import type {SpawnOptions} from "child_process";
-import {spawn} from "child_process";
+import type { SpawnOptions } from "child_process";
+import { spawn } from "child_process";
 
 import register from "./register.js";
 import Logger from "./Logger.js";
@@ -14,12 +13,11 @@ import SpawnError from "./SpawnError.js";
  * @param options spawn option
  */
 export function spawnTask(taskName: string, command: string, args: string[] = [], options: SpawnOptions = {}): void {
-
   async function spawnTaskFunction(): Promise<void> {
     const logger = new Logger(taskName);
     logger.info("Started task");
     logger.time("Task completed in");
-  
+
     const spawnOptions: SpawnOptions = {
       ...options,
       env: {
@@ -30,7 +28,7 @@ export function spawnTask(taskName: string, command: string, args: string[] = []
     };
 
     const proc = spawn(command, args, spawnOptions);
-    
+
     return new Promise<void>((resolve, reject) => {
       proc.stdout?.on("data", (data?: Buffer) => {
         if (data) {
@@ -39,11 +37,11 @@ export function spawnTask(taskName: string, command: string, args: string[] = []
             .split(/\r?\n/)
             .filter(s => s !== "")
             .forEach((line: string) => {
-              logger.info(line); 
-            }); 
+              logger.info(line);
+            });
         }
       });
-      
+
       proc.stderr?.on("data", (data?: Buffer) => {
         if (data) {
           data
@@ -51,11 +49,11 @@ export function spawnTask(taskName: string, command: string, args: string[] = []
             .split(/\r?\n/)
             .filter(s => s !== "")
             .forEach((line: string) => {
-              logger.info(line); 
-            }); 
+              logger.info(line);
+            });
         }
       });
-      
+
       proc.on("error", (error) => {
         logger.error(`Task <${taskName}> failed with:`, error);
       });
@@ -68,7 +66,7 @@ export function spawnTask(taskName: string, command: string, args: string[] = []
         else {
           logger.error(`Failed with code: ${code}`);
           reject(
-            new SpawnError("Spawn Task closed with non-zero exit code", code, taskName)
+            new SpawnError("Spawn Task closed with non-zero exit code", code, taskName),
           );
         }
       });
@@ -76,4 +74,4 @@ export function spawnTask(taskName: string, command: string, args: string[] = []
   }
 
   register.set(taskName, spawnTaskFunction);
-} 
\ No newline at end of file
+}
diff --git a/packages/runner/src/task.ts b/packages/runner/src/task.ts
index 0fd91c4..9716494 100644
--- a/packages/runner/src/task.ts
+++ b/packages/runner/src/task.ts
@@ -21,4 +21,4 @@ export function task(taskName: string, taskFunction: TaskFunction): void {
     }
   }
   register.set(taskName, innerTask);
-}
\ No newline at end of file
+}
diff --git a/packages/runner/vitest.config.ts b/packages/runner/vitest.config.ts
index 4d797ee..aa5b1d0 100644
--- a/packages/runner/vitest.config.ts
+++ b/packages/runner/vitest.config.ts
@@ -1,8 +1,7 @@
 import { defineProject } from "vitest/config";
 
-
 export default defineProject({
   test: {
-  
-  }, 
-});
\ No newline at end of file
+
+  },
+});
diff --git a/packages/sea/package.json b/packages/sea/package.json
index 2cd443d..8011363 100644
--- a/packages/sea/package.json
+++ b/packages/sea/package.json
@@ -33,8 +33,8 @@
   "devDependencies": {
     "@chyzwar/eslint-config": "^0.2.28",
     "@chyzwar/tsconfig": "^0.2.28",
-    "@types/node": "^22.0.0",
-    "eslint": "^9.8.0",
+    "@types/node": "^22.5.4",
+    "eslint": "^9.9.1",
     "typescript": "^5.5.4"
   },
   "peerDependencies": {
diff --git a/packages/sea/src/sea.ts b/packages/sea/src/sea.ts
index 61e68a9..1ea096d 100644
--- a/packages/sea/src/sea.ts
+++ b/packages/sea/src/sea.ts
@@ -1,4 +1,3 @@
- 
 import { execSync } from "child_process";
 import { copyFileSync, mkdirSync, rmSync, writeFileSync } from "fs";
 import { dirname } from "path";
@@ -24,19 +23,19 @@ const seaConfigPath = "./sea-config.json";
 
 const sentinelFuse = "NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2";
 try {
-  mkdirSync(outputDir, {recursive: true});
+  mkdirSync(outputDir, { recursive: true });
   copyFileSync(
-    execPath, 
-    output
+    execPath,
+    output,
   );
   writeFileSync(
-    seaConfigPath, 
-    seaConfig
+    seaConfigPath,
+    seaConfig,
   );
   execSync(`node --experimental-sea-config ${seaConfigPath}`);
   execSync(`npx postject ${output} NODE_SEA_BLOB ${blobPath} --sentinel-fuse ${sentinelFuse}`);
-} 
+}
 finally {
-  rmSync(seaConfigPath, {force: true});
-  rmSync(blobPath, {force: true});
+  rmSync(seaConfigPath, { force: true });
+  rmSync(blobPath, { force: true });
 }
diff --git a/packages/sea/vitest.config.ts b/packages/sea/vitest.config.ts
index 4d797ee..aa5b1d0 100644
--- a/packages/sea/vitest.config.ts
+++ b/packages/sea/vitest.config.ts
@@ -1,8 +1,7 @@
 import { defineProject } from "vitest/config";
 
-
 export default defineProject({
   test: {
-  
-  }, 
-});
\ No newline at end of file
+
+  },
+});
diff --git a/packages/tsconfig/bundler.json b/packages/tsconfig/bundler.json
index 1544bac..1f7c836 100644
--- a/packages/tsconfig/bundler.json
+++ b/packages/tsconfig/bundler.json
@@ -30,7 +30,12 @@
     "declarationMap": true,
     "listFiles": false,
     "listEmittedFiles": false,
-    "composite": true
+    "composite": true,
+    "lib": [
+      "dom",
+      "dom.iterable",
+      "esnext"
+    ]
   },
   "include": [
     "src/**/*.ts",
diff --git a/packages/tsconfig/react.json b/packages/tsconfig/react.json
index a542435..087379d 100644
--- a/packages/tsconfig/react.json
+++ b/packages/tsconfig/react.json
@@ -2,7 +2,7 @@
   "compileOnSave": true,
   "compilerOptions": {
     "moduleResolution": "node16",
-    "module": "es2022",
+    "module": "node16",
     "target": "es2022",
     "newLine": "lf",
     "jsx": "react-jsx",
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
index 6e5aff1..d71b826 100644
--- a/vitest.workspace.ts
+++ b/vitest.workspace.ts
@@ -1,12 +1,11 @@
 import { defineWorkspace } from "vitest/config";
 
 const projects = [
-  "runner", 
+  "runner",
 ];
 
-
 export default defineWorkspace(
-  projects.map(name => {
+  projects.map((name) => {
     return {
       extends: `./packages/${name}/vitest.config.ts`,
       test: {
@@ -18,7 +17,5 @@ export default defineWorkspace(
         ],
       },
     };
-  })
+  }),
 );
-
-  
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 90d8c88..1a08aa1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -371,16 +371,16 @@ __metadata:
   resolution: "@chyzwar/common@workspace:."
   dependencies:
     "@chyzwar/eslint-config": "npm:^0.2.0"
-    "@commitlint/cli": "npm:^19.3.0"
-    "@commitlint/config-conventional": "npm:^19.2.2"
-    "@lerna-lite/cli": "npm:^3.7.1"
-    "@lerna-lite/publish": "npm:^3.7.1"
-    "@lerna-lite/version": "npm:^3.7.1"
-    "@types/node": "npm:^22.0.0"
+    "@commitlint/cli": "npm:^19.4.1"
+    "@commitlint/config-conventional": "npm:^19.4.1"
+    "@lerna-lite/cli": "npm:^3.9.0"
+    "@lerna-lite/publish": "npm:^3.9.0"
+    "@lerna-lite/version": "npm:^3.9.0"
+    "@types/node": "npm:^22.5.4"
     conventional-changelog-conventionalcommits: "npm:^7.0.2"
-    eslint: "npm:^9.8.0"
-    husky: "npm:^9.1.4"
-    lint-staged: "npm:^15.2.7"
+    eslint: "npm:^9.9.1"
+    husky: "npm:^9.1.5"
+    lint-staged: "npm:^15.2.10"
     ts-node: "npm:^10.9.2"
     typescript: "npm:^5.5.4"
     vitest: "npm:^2.0.5"
@@ -392,10 +392,11 @@ __metadata:
   resolution: "@chyzwar/eslint-config@workspace:packages/eslint-config"
   dependencies:
     "@chyzwar/tsconfig": "npm:^0.2.28"
-    "@eslint/js": "npm:^9.8.0"
-    eslint-plugin-jest: "npm:^28.6.0"
-    globals: "npm:^15.8.0"
-    typescript-eslint: "npm:^7.18.0"
+    "@eslint/js": "npm:^9.9.1"
+    "@stylistic/eslint-plugin": "npm:^2.7.2"
+    eslint-plugin-jest: "npm:^28.8.3"
+    globals: "npm:^15.9.0"
+    typescript-eslint: "npm:^8.4.0"
   peerDependencies:
     eslint: ^9.2.0
   languageName: unknown
@@ -407,7 +408,7 @@ __metadata:
   dependencies:
     "@chyzwar/eslint-config": "npm:^0.2.0"
     "@chyzwar/tsconfig": "npm:^0.2.0"
-    eslint: "npm:^9.8.0"
+    eslint: "npm:^9.9.1"
     fastify: "npm:^4.28.1"
   languageName: unknown
   linkType: soft
@@ -420,10 +421,10 @@ __metadata:
     "@chyzwar/eslint-config": "npm:^0.2.2"
     "@chyzwar/tsconfig": "npm:^0.2.2"
     "@preact/preset-vite": "npm:^2.9.0"
-    eslint: "npm:^9.8.0"
-    preact: "npm:^10.23.1"
+    eslint: "npm:^9.9.1"
+    preact: "npm:^10.23.2"
     typescript: "npm:^5.5.4"
-    vite: "npm:^5.3.5"
+    vite: "npm:^5.4.3"
   languageName: unknown
   linkType: soft
 
@@ -434,7 +435,7 @@ __metadata:
     "@chyzwar/eslint-config": "npm:^0.2.0"
     "@chyzwar/runner": "npm:^0.4.1"
     "@chyzwar/tsconfig": "npm:^0.2.0"
-    eslint: "npm:^9.8.0"
+    eslint: "npm:^9.9.1"
     typescript: "npm:^5.5.4"
   languageName: unknown
   linkType: soft
@@ -445,9 +446,9 @@ __metadata:
   dependencies:
     "@chyzwar/eslint-config": "npm:^0.2.28"
     "@chyzwar/tsconfig": "npm:^0.2.28"
-    "@types/node": "npm:^22.0.0"
-    eslint: "npm:^9.8.0"
-    picocolors: "npm:^1.0.1"
+    "@types/node": "npm:^22.5.4"
+    eslint: "npm:^9.9.1"
+    picocolors: "npm:^1.1.0"
     typescript: "npm:^5.5.4"
     vitest: "npm:^2.0.5"
   peerDependencies:
@@ -463,8 +464,8 @@ __metadata:
   dependencies:
     "@chyzwar/eslint-config": "npm:^0.2.28"
     "@chyzwar/tsconfig": "npm:^0.2.28"
-    "@types/node": "npm:^22.0.0"
-    eslint: "npm:^9.8.0"
+    "@types/node": "npm:^22.5.4"
+    eslint: "npm:^9.9.1"
     typescript: "npm:^5.5.4"
   peerDependencies:
     "@types/node": "> 20.0.0"
@@ -479,30 +480,30 @@ __metadata:
   languageName: unknown
   linkType: soft
 
-"@commitlint/cli@npm:^19.3.0":
-  version: 19.3.0
-  resolution: "@commitlint/cli@npm:19.3.0"
+"@commitlint/cli@npm:^19.4.1":
+  version: 19.4.1
+  resolution: "@commitlint/cli@npm:19.4.1"
   dependencies:
     "@commitlint/format": "npm:^19.3.0"
-    "@commitlint/lint": "npm:^19.2.2"
-    "@commitlint/load": "npm:^19.2.0"
-    "@commitlint/read": "npm:^19.2.1"
+    "@commitlint/lint": "npm:^19.4.1"
+    "@commitlint/load": "npm:^19.4.0"
+    "@commitlint/read": "npm:^19.4.0"
     "@commitlint/types": "npm:^19.0.3"
     execa: "npm:^8.0.1"
     yargs: "npm:^17.0.0"
   bin:
     commitlint: cli.js
-  checksum: 10c2/f0a22fc586a55961ce8f5eec1028342ba06939b8f90147d3ca484723f48f56d93e9f995c33aead2726ae83ade020bda21bcba61415b631b4039065d7e74000f8
+  checksum: 10c2/a8e46eb877ea636497762267f876e8d00333c642dc33caee84765ef74cd7bb181d61dbc3db6b203f40b1b319a32df8fe6bfa162f85f443247a99928aeebbb5e6
   languageName: node
   linkType: hard
 
-"@commitlint/config-conventional@npm:^19.2.2":
-  version: 19.2.2
-  resolution: "@commitlint/config-conventional@npm:19.2.2"
+"@commitlint/config-conventional@npm:^19.4.1":
+  version: 19.4.1
+  resolution: "@commitlint/config-conventional@npm:19.4.1"
   dependencies:
     "@commitlint/types": "npm:^19.0.3"
     conventional-changelog-conventionalcommits: "npm:^7.0.2"
-  checksum: 10c2/d7e8c11a63202c4a7dbd01c6b1f84c6ebf648a750876be465e7f3e30f4d6e1f1ea779a373b518aa25247cf23a1071dca28beb440370c735003a0585c7c67161b
+  checksum: 10c2/6801a4b81fe5f846e7cd1bfef6f84bf1406d2b82dad8efe00f2255161f5ba687de1fec365a290483d0b6da04b7aa320b528fb8b53f2d5d962ac76a453a80971c
   languageName: node
   linkType: hard
 
@@ -557,21 +558,21 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@commitlint/lint@npm:^19.2.2":
-  version: 19.2.2
-  resolution: "@commitlint/lint@npm:19.2.2"
+"@commitlint/lint@npm:^19.4.1":
+  version: 19.4.1
+  resolution: "@commitlint/lint@npm:19.4.1"
   dependencies:
     "@commitlint/is-ignored": "npm:^19.2.2"
     "@commitlint/parse": "npm:^19.0.3"
-    "@commitlint/rules": "npm:^19.0.3"
+    "@commitlint/rules": "npm:^19.4.1"
     "@commitlint/types": "npm:^19.0.3"
-  checksum: 10c2/9b2ce874b8fac9914b42d97e95b14e55aa78058e1b3cf6f8020d61933d961b5ce357dd1a20dc1b6702687e93e5362f4a8740ebadcde46ff7bdfa14fcd5c81ae3
+  checksum: 10c2/4d018e0c24b352980bb6d65dd58ac9ec0a36659e66407b65ed362dc93b9fc3043067d3891847b367e4ae352dd8f7ba706a234ea604460d6ac8c10c7bd631e220
   languageName: node
   linkType: hard
 
-"@commitlint/load@npm:^19.2.0":
-  version: 19.2.0
-  resolution: "@commitlint/load@npm:19.2.0"
+"@commitlint/load@npm:^19.4.0":
+  version: 19.4.0
+  resolution: "@commitlint/load@npm:19.4.0"
   dependencies:
     "@commitlint/config-validator": "npm:^19.0.3"
     "@commitlint/execute-rule": "npm:^19.0.0"
@@ -583,7 +584,7 @@ __metadata:
     lodash.isplainobject: "npm:^4.0.6"
     lodash.merge: "npm:^4.6.2"
     lodash.uniq: "npm:^4.5.0"
-  checksum: 10c2/5526b3491c461778cd420482c4489c1d63f00cbee527392d6a12d7bf0d08f8e9533422062f7c1998f0f241ae1907092b30f95ecd873be965821cba241a003833
+  checksum: 10c2/ba2b1d1b6ca8ebb7782f6bcc9667c159853b217661fc7ead0fe130057aa435d968781baa16de9a541441ce2c323665fe223404baf0782c90e2641e3630f02c82
   languageName: node
   linkType: hard
 
@@ -605,16 +606,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@commitlint/read@npm:^19.2.1":
-  version: 19.2.1
-  resolution: "@commitlint/read@npm:19.2.1"
+"@commitlint/read@npm:^19.4.0":
+  version: 19.4.0
+  resolution: "@commitlint/read@npm:19.4.0"
   dependencies:
     "@commitlint/top-level": "npm:^19.0.0"
     "@commitlint/types": "npm:^19.0.3"
     execa: "npm:^8.0.1"
     git-raw-commits: "npm:^4.0.0"
     minimist: "npm:^1.2.8"
-  checksum: 10c2/bea489285fde49e33d2ec83e74e247f57ad3a2501e3fea8a3792d4f9b1fe8283adc8ac21397b6d9307bfcc07d89e4044436f65d6918c6f32061fefbdec8fb7ed
+  checksum: 10c2/58f9b89bf241380c0e11316b65840fde062bb9b15640b2cb1be7fe1664a4a56de6b5af1977679c9d4b9e45b356da5ff6a93703cac83dcc8de0dc281e6a396bce
   languageName: node
   linkType: hard
 
@@ -632,16 +633,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@commitlint/rules@npm:^19.0.3":
-  version: 19.0.3
-  resolution: "@commitlint/rules@npm:19.0.3"
+"@commitlint/rules@npm:^19.4.1":
+  version: 19.4.1
+  resolution: "@commitlint/rules@npm:19.4.1"
   dependencies:
     "@commitlint/ensure": "npm:^19.0.3"
     "@commitlint/message": "npm:^19.0.0"
     "@commitlint/to-lines": "npm:^19.0.0"
     "@commitlint/types": "npm:^19.0.3"
     execa: "npm:^8.0.1"
-  checksum: 10c2/b996a603a8b260cc19f46cc5d8e2a1b957bdf75c6f5c80dc40e3111714758ec4d5991dee22aaaa30a024862f105a9cecb0077aebe7f5618115fe231c6314ff6d
+  checksum: 10c2/c3167747b3c9661b45a11955229e61e39930438b505df26b014c676dfc2a5c7037b3f6d17ddde58c8d620b72f0006ada1857df66c31f568dfe44ab7fbce28f8e
   languageName: node
   linkType: hard
 
@@ -859,14 +860,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@eslint/config-array@npm:^0.17.1":
-  version: 0.17.1
-  resolution: "@eslint/config-array@npm:0.17.1"
+"@eslint/config-array@npm:^0.18.0":
+  version: 0.18.0
+  resolution: "@eslint/config-array@npm:0.18.0"
   dependencies:
     "@eslint/object-schema": "npm:^2.1.4"
     debug: "npm:^4.3.1"
     minimatch: "npm:^3.1.2"
-  checksum: 10c2/f72a53d507750131cd0666ff64f47854fac97e6dfb4c31b2dbb6f0b3d32c8596170a17e8f5cc23eb5a6f9f271a700acbfbb5c17e68cab03323f420f25955fb90
+  checksum: 10c2/218768694689c4931a569d9137e8c398a586de581d2671ca9d30d639bbcd3ab3f4c6ed8a60a2a354a6c1f70efae6a11145b687771e9fb5ab0f4412ffdbd0b72b
   languageName: node
   linkType: hard
 
@@ -887,10 +888,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@eslint/js@npm:9.8.0, @eslint/js@npm:^9.8.0":
-  version: 9.8.0
-  resolution: "@eslint/js@npm:9.8.0"
-  checksum: 10c2/8b3dd42eb1c02af8f126f1ed74d728b141c5fa0d1b6fdf1215318e7e87d3170afff5e24dd00b29ca552cfefa0d67ea2b4604fad36d908a919b5cd449ab22cdb4
+"@eslint/js@npm:9.9.1, @eslint/js@npm:^9.9.1":
+  version: 9.9.1
+  resolution: "@eslint/js@npm:9.9.1"
+  checksum: 10c2/6ef9b917fe2fd7252feef9fddbca394afa64fbaaf5d11641bd6a06b4767f201b3ce3ecf3dec66f0ea324cdb8029e651b3a29e09fc6724ec96e8f1f5bd8b66b4d
   languageName: node
   linkType: hard
 
@@ -963,37 +964,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@inquirer/checkbox@npm:^2.4.5":
-  version: 2.4.5
-  resolution: "@inquirer/checkbox@npm:2.4.5"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/figures": "npm:^1.0.5"
-    "@inquirer/type": "npm:^1.5.1"
-    ansi-escapes: "npm:^4.3.2"
-    yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/6df747148b83712cb4860d5271e8a612e8cf9726916e12928e768b5d5add639cbd75e29d791c5ffef1ef2d637b7299ea624b2e4d898af045862b2e43864bd0f4
-  languageName: node
-  linkType: hard
-
-"@inquirer/confirm@npm:^3.1.20":
-  version: 3.1.20
-  resolution: "@inquirer/confirm@npm:3.1.20"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-  checksum: 10c2/ac2c07530f0238738dd9e45f5f05a65307219698afd6cfaccc89c33aea13f1b13608e52d5a882a0f9931b06e2f0631132168500488c56949c20b44740c46c585
-  languageName: node
-  linkType: hard
-
-"@inquirer/core@npm:^9.0.8":
-  version: 9.0.8
-  resolution: "@inquirer/core@npm:9.0.8"
+"@inquirer/core@npm:^9.1.0":
+  version: 9.1.0
+  resolution: "@inquirer/core@npm:9.1.0"
   dependencies:
     "@inquirer/figures": "npm:^1.0.5"
-    "@inquirer/type": "npm:^1.5.1"
+    "@inquirer/type": "npm:^1.5.3"
     "@types/mute-stream": "npm:^0.0.4"
-    "@types/node": "npm:^22.0.0"
+    "@types/node": "npm:^22.5.2"
     "@types/wrap-ansi": "npm:^3.0.0"
     ansi-escapes: "npm:^4.3.2"
     cli-spinners: "npm:^2.9.2"
@@ -1003,29 +981,18 @@ __metadata:
     strip-ansi: "npm:^6.0.1"
     wrap-ansi: "npm:^6.2.0"
     yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/735fadd44aaa4b6593b4c7b873354d45e4d80db2dc4740724051a7666b0082acc190e3412c1b64c93315a85fdd4a7e275c452e60fb23b797b41ed91bf24cf39b
+  checksum: 10c2/12bf4a23bfc68d176dcc06de02b96004676790c9076fbdcee50d85ee1f942f38c2c54700d8c86a315fd999804b74497dc7818f47f36c812e6e0bce775b9e6fa5
   languageName: node
   linkType: hard
 
-"@inquirer/editor@npm:^2.1.20":
-  version: 2.1.20
-  resolution: "@inquirer/editor@npm:2.1.20"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-    external-editor: "npm:^3.1.0"
-  checksum: 10c2/93bdbc7d73b4e22ea899ef2774cde67a7856c057d21699305b5ba7f4ff72a024f2466f59d80dd1db394e95cb1e6a5c72c8df91b66f5e8683cd41f4b6af53d130
-  languageName: node
-  linkType: hard
-
-"@inquirer/expand@npm:^2.1.20":
-  version: 2.1.20
-  resolution: "@inquirer/expand@npm:2.1.20"
+"@inquirer/expand@npm:^2.1.22":
+  version: 2.2.0
+  resolution: "@inquirer/expand@npm:2.2.0"
   dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
+    "@inquirer/core": "npm:^9.1.0"
+    "@inquirer/type": "npm:^1.5.3"
     yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/32d2239bfd855cf6934fb5276de918d5bba5ab46e7dee7b190797d6ff87a92bd6fc2946daeb941629b69f4691e53a29dd30019f471a51b51a5a45d10ebfbd1b7
+  checksum: 10c2/06ea2e9c8b94466da454b86fca93b76b190794e40a38b170ad2ecde358e9b2a488d901825f634384996d152bccb01234f642905b296e939dd9a05afdb427bec4
   languageName: node
   linkType: hard
 
@@ -1036,97 +1003,35 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@inquirer/input@npm:^2.2.7":
-  version: 2.2.7
-  resolution: "@inquirer/input@npm:2.2.7"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-  checksum: 10c2/9c4b200d77ace7805c5dd754616372d4a11937bfe25d1d2b01769a7a0906a2af3d72a3c504aa7b58d4ca1e8a2546cff132dd4c7a9d52fc4f260baf87e942df75
-  languageName: node
-  linkType: hard
-
-"@inquirer/number@npm:^1.0.8":
-  version: 1.0.8
-  resolution: "@inquirer/number@npm:1.0.8"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-  checksum: 10c2/fd0765c3975b2ac1aedf9241f0921c26f41408bfaa64dee15f97d36b661235a2a1b895839e7bf38b32057045e0157472e30f4e24936214357f86f0105a0be0bb
-  languageName: node
-  linkType: hard
-
-"@inquirer/password@npm:^2.1.20":
-  version: 2.1.20
-  resolution: "@inquirer/password@npm:2.1.20"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-    ansi-escapes: "npm:^4.3.2"
-  checksum: 10c2/7fa1ec8475fdc3103cfd2ac9d71b8c320d149cef6ce871a763f684699af1e884ba9e9eb772c82e5868b863ed412d10e1d40dc99d399e8cb9de0b4d27f8a7da11
-  languageName: node
-  linkType: hard
-
-"@inquirer/prompts@npm:^5.3.6":
-  version: 5.3.6
-  resolution: "@inquirer/prompts@npm:5.3.6"
-  dependencies:
-    "@inquirer/checkbox": "npm:^2.4.5"
-    "@inquirer/confirm": "npm:^3.1.20"
-    "@inquirer/editor": "npm:^2.1.20"
-    "@inquirer/expand": "npm:^2.1.20"
-    "@inquirer/input": "npm:^2.2.7"
-    "@inquirer/number": "npm:^1.0.8"
-    "@inquirer/password": "npm:^2.1.20"
-    "@inquirer/rawlist": "npm:^2.2.2"
-    "@inquirer/search": "npm:^1.0.5"
-    "@inquirer/select": "npm:^2.4.5"
-  checksum: 10c2/c59871e47885fb9fad856fb33f93e53d205cbe150f926a4bfe2100b87e55ba6ab1c9621717b08fe05f56e8abad18fcefb44f39f33f326548d0324a3c70157252
-  languageName: node
-  linkType: hard
-
-"@inquirer/rawlist@npm:^2.2.2":
-  version: 2.2.2
-  resolution: "@inquirer/rawlist@npm:2.2.2"
-  dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/type": "npm:^1.5.1"
-    yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/4388327100bd491f144c547c992f654b449be99675d74734ee2911481e0f845b0a7bbd258699cd560f4b971176a45bf0436a93241c1641fa0d73e1f00246f818
-  languageName: node
-  linkType: hard
-
-"@inquirer/search@npm:^1.0.5":
-  version: 1.0.5
-  resolution: "@inquirer/search@npm:1.0.5"
+"@inquirer/input@npm:^2.2.9":
+  version: 2.3.0
+  resolution: "@inquirer/input@npm:2.3.0"
   dependencies:
-    "@inquirer/core": "npm:^9.0.8"
-    "@inquirer/figures": "npm:^1.0.5"
-    "@inquirer/type": "npm:^1.5.1"
-    yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/daf740882b50a5aebe0347583ccccd398e42cfd918663e4cc3d66c0b7ef290ee5ba3aa7e1c612e423e975adb2dea44c56d53e883d418d25753c0de7c89fea15a
+    "@inquirer/core": "npm:^9.1.0"
+    "@inquirer/type": "npm:^1.5.3"
+  checksum: 10c2/75757d03ff26fc92e7e80b0525ace89d51e1cb84861c011f21bfc50f370cb3bc20b4bfbd585f4dc1f521d15e5e516a9d0d690af0b62d5756247d564ce4725882
   languageName: node
   linkType: hard
 
-"@inquirer/select@npm:^2.4.5":
-  version: 2.4.5
-  resolution: "@inquirer/select@npm:2.4.5"
+"@inquirer/select@npm:^2.4.7":
+  version: 2.5.0
+  resolution: "@inquirer/select@npm:2.5.0"
   dependencies:
-    "@inquirer/core": "npm:^9.0.8"
+    "@inquirer/core": "npm:^9.1.0"
     "@inquirer/figures": "npm:^1.0.5"
-    "@inquirer/type": "npm:^1.5.1"
+    "@inquirer/type": "npm:^1.5.3"
     ansi-escapes: "npm:^4.3.2"
     yoctocolors-cjs: "npm:^2.1.2"
-  checksum: 10c2/cf2d7af4492469ebb2d984ed0bc0b2f65f10ecde2e8794250393ea26afce078d921ccb6df2d625172b9925ff9dce599dd128af1ebea6b924201170771a0a15ef
+  checksum: 10c2/552b51ed2c5f7c303d252c17a69b1175ac480df60945907b55906a68d382a9053135a6809e1efc21a2536530a1c3cd61be7c9a97c43cb75eb187969de17d4436
   languageName: node
   linkType: hard
 
-"@inquirer/type@npm:^1.5.1":
-  version: 1.5.1
-  resolution: "@inquirer/type@npm:1.5.1"
+"@inquirer/type@npm:^1.5.3":
+  version: 1.5.3
+  resolution: "@inquirer/type@npm:1.5.3"
   dependencies:
     mute-stream: "npm:^1.0.0"
-  checksum: 10c2/494dd4a57110efdb058890d04bd5e52a5bf4a671490643a5ecd6eb2bb85d6a90e16bdddb835d0ab21ca38dd1918a1f3ad167c46dbb26dca1797d3eaebbf1975c
+  checksum: 10c2/083c3495241b27a096102e2afcfba39a826a9a8add5e008a82197d42468d3add6cc947e3a3994140b5bc66a603aa2fd7510d16bc3913c606d5598142ec045f4e
   languageName: node
   linkType: hard
 
@@ -1203,16 +1108,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@lerna-lite/cli@npm:3.7.1, @lerna-lite/cli@npm:^3.7.1":
-  version: 3.7.1
-  resolution: "@lerna-lite/cli@npm:3.7.1"
+"@lerna-lite/cli@npm:3.9.0, @lerna-lite/cli@npm:^3.9.0":
+  version: 3.9.0
+  resolution: "@lerna-lite/cli@npm:3.9.0"
   dependencies:
-    "@lerna-lite/core": "npm:3.7.1"
-    "@lerna-lite/init": "npm:3.7.1"
-    "@lerna-lite/npmlog": "npm:3.7.0"
+    "@lerna-lite/core": "npm:3.9.0"
+    "@lerna-lite/init": "npm:3.9.0"
+    "@lerna-lite/npmlog": "npm:3.8.0"
     dedent: "npm:^1.5.3"
     dotenv: "npm:^16.4.5"
-    import-local: "npm:^3.1.0"
+    import-local: "npm:^3.2.0"
     load-json-file: "npm:^7.0.1"
     yargs: "npm:^17.7.2"
   peerDependenciesMeta:
@@ -1230,15 +1135,18 @@ __metadata:
       optional: true
   bin:
     lerna: dist/cli.js
-  checksum: 10c2/a70d5c1a8bfb9fe0a818e42d1675b91e99d28b7181f0423318227567cbaa455b8f073ec2e7bc7e88fbcd1bddf903cd471f808884f9a80155497f4581442bdf72
+  checksum: 10c2/a6474f27a04e078e88a7592ca71d71765fc3d24fca33a25c0212a234f7eaa8723a208f2e28ec953719b993c75592f1121e6047f1fe3bbc2c85975fc5696aedeb
   languageName: node
   linkType: hard
 
-"@lerna-lite/core@npm:3.7.1":
-  version: 3.7.1
-  resolution: "@lerna-lite/core@npm:3.7.1"
+"@lerna-lite/core@npm:3.9.0":
+  version: 3.9.0
+  resolution: "@lerna-lite/core@npm:3.9.0"
   dependencies:
-    "@lerna-lite/npmlog": "npm:^3.7.0"
+    "@inquirer/expand": "npm:^2.1.22"
+    "@inquirer/input": "npm:^2.2.9"
+    "@inquirer/select": "npm:^2.4.7"
+    "@lerna-lite/npmlog": "npm:^3.8.0"
     "@npmcli/run-script": "npm:^8.1.0"
     chalk: "npm:^5.3.0"
     clone-deep: "npm:^4.0.1"
@@ -1249,40 +1157,39 @@ __metadata:
     fs-extra: "npm:^11.2.0"
     glob-parent: "npm:^6.0.2"
     globby: "npm:^14.0.2"
-    inquirer: "npm:^10.0.1"
     is-ci: "npm:^3.0.1"
     json5: "npm:^2.2.3"
     load-json-file: "npm:^7.0.1"
     minimatch: "npm:^9.0.5"
-    npm-package-arg: "npm:^11.0.2"
+    npm-package-arg: "npm:^11.0.3"
     p-map: "npm:^7.0.2"
     p-queue: "npm:^8.0.1"
     resolve-from: "npm:^5.0.0"
-    semver: "npm:^7.6.2"
+    semver: "npm:^7.6.3"
     slash: "npm:^5.1.0"
     strong-log-transformer: "npm:^2.1.0"
     write-file-atomic: "npm:^5.0.1"
-    write-json-file: "npm:^5.0.0"
-    write-package: "npm:^7.0.1"
-  checksum: 10c2/34095258688324ef5e299f724e91f7a88a781d2e81ad629f6ddf626ea989a376ee851d4e8c2f9853c1c4c80484e2c36d087775e15b26e92bd39139e812040d4e
+    write-json-file: "npm:^6.0.0"
+    write-package: "npm:^7.1.0"
+  checksum: 10c2/14c3fa1f38982fadba9d6245c635223ab46d7ea7fc9571266b5726dfca980e5603c5b875d4f4fa0c8e73f1fb41d531e318f74e91539193259c2a8faac23db6ed
   languageName: node
   linkType: hard
 
-"@lerna-lite/init@npm:3.7.1":
-  version: 3.7.1
-  resolution: "@lerna-lite/init@npm:3.7.1"
+"@lerna-lite/init@npm:3.9.0":
+  version: 3.9.0
+  resolution: "@lerna-lite/init@npm:3.9.0"
   dependencies:
-    "@lerna-lite/core": "npm:3.7.1"
+    "@lerna-lite/core": "npm:3.9.0"
     fs-extra: "npm:^11.2.0"
     p-map: "npm:^7.0.2"
-    write-json-file: "npm:^5.0.0"
-  checksum: 10c2/a7109bf9c7ba53f4c155ae1bd5082984fcdb0cdce0dbc10eb2d4812e3a9d54050315856b19396ff536db21ad372c1aa1638078fd49b6f63fc3413f66aaa8fdc8
+    write-json-file: "npm:^6.0.0"
+  checksum: 10c2/2812ed37c999a42b5e9274582887122a4d348734666d17b60750be55c7b291a0340fc36f5762d0b4a506abe88f1659712a4be038369af3a243f922f91b96a64f
   languageName: node
   linkType: hard
 
-"@lerna-lite/npmlog@npm:3.7.0, @lerna-lite/npmlog@npm:^3.7.0":
-  version: 3.7.0
-  resolution: "@lerna-lite/npmlog@npm:3.7.0"
+"@lerna-lite/npmlog@npm:3.8.0, @lerna-lite/npmlog@npm:^3.8.0":
+  version: 3.8.0
+  resolution: "@lerna-lite/npmlog@npm:3.8.0"
   dependencies:
     aproba: "npm:^2.0.0"
     color-support: "npm:^1.1.3"
@@ -1293,21 +1200,21 @@ __metadata:
     string-width: "npm:^7.2.0"
     strip-ansi: "npm:^7.1.0"
     wide-align: "npm:^1.1.5"
-  checksum: 10c2/720653a3a615d0d1657a0d4fb18714ccbad566d8a85ca1ef83cafb39865472e1711fcadcdb0157ae6f74f13f5d6bcaf41c2a8867674014f40cf48c2ff3879697
+  checksum: 10c2/ffd39844a71862df480df301db55a33973efb200003539405ab58a256fccf89c10d01afd3b8b30c4c7f3bbc5f446544e88f186187bf24df5a1c041658945882f
   languageName: node
   linkType: hard
 
-"@lerna-lite/publish@npm:^3.7.1":
-  version: 3.7.1
-  resolution: "@lerna-lite/publish@npm:3.7.1"
+"@lerna-lite/publish@npm:^3.9.0":
+  version: 3.9.0
+  resolution: "@lerna-lite/publish@npm:3.9.0"
   dependencies:
-    "@lerna-lite/cli": "npm:3.7.1"
-    "@lerna-lite/core": "npm:3.7.1"
-    "@lerna-lite/npmlog": "npm:^3.7.0"
-    "@lerna-lite/version": "npm:3.7.1"
+    "@lerna-lite/cli": "npm:3.9.0"
+    "@lerna-lite/core": "npm:3.9.0"
+    "@lerna-lite/npmlog": "npm:^3.8.0"
+    "@lerna-lite/version": "npm:3.9.0"
     "@npmcli/arborist": "npm:^7.5.4"
     "@npmcli/package-json": "npm:^5.2.0"
-    byte-size: "npm:^8.1.1"
+    byte-size: "npm:^9.0.0"
     chalk: "npm:^5.3.0"
     columnify: "npm:^1.6.0"
     fs-extra: "npm:^11.2.0"
@@ -1316,29 +1223,29 @@ __metadata:
     libnpmaccess: "npm:^8.0.6"
     libnpmpublish: "npm:^9.0.9"
     normalize-path: "npm:^3.0.0"
-    npm-package-arg: "npm:^11.0.2"
+    npm-package-arg: "npm:^11.0.3"
     npm-packlist: "npm:^8.0.2"
     npm-registry-fetch: "npm:^17.1.0"
     p-map: "npm:^7.0.2"
     p-pipe: "npm:^4.0.0"
     pacote: "npm:^18.0.6"
-    semver: "npm:^7.6.2"
+    semver: "npm:^7.6.3"
     ssri: "npm:^10.0.6"
     tar: "npm:^6.2.1"
     temp-dir: "npm:^3.0.0"
-  checksum: 10c2/943c43dd3a1f960c7d3377fa99ce1806d87386430e5e99c300ddcc3c8b5fb22f0d962fbaf39dcc7e3f8c22d822c4f7113c5e472f65b3219a9072f76a9964bd13
+  checksum: 10c2/8a72f0e4f3381f23d50d219a287208c9588cd61186ea48f6e52e5b031a01a717084e21edec1f34e28e7444408b8332753a0afbf1befd86b0fcbf309b808ab86b
   languageName: node
   linkType: hard
 
-"@lerna-lite/version@npm:3.7.1, @lerna-lite/version@npm:^3.7.1":
-  version: 3.7.1
-  resolution: "@lerna-lite/version@npm:3.7.1"
+"@lerna-lite/version@npm:3.9.0, @lerna-lite/version@npm:^3.9.0":
+  version: 3.9.0
+  resolution: "@lerna-lite/version@npm:3.9.0"
   dependencies:
-    "@lerna-lite/cli": "npm:3.7.1"
-    "@lerna-lite/core": "npm:3.7.1"
-    "@lerna-lite/npmlog": "npm:^3.7.0"
+    "@lerna-lite/cli": "npm:3.9.0"
+    "@lerna-lite/core": "npm:3.9.0"
+    "@lerna-lite/npmlog": "npm:^3.8.0"
     "@octokit/plugin-enterprise-rest": "npm:^6.0.1"
-    "@octokit/rest": "npm:^21.0.0"
+    "@octokit/rest": "npm:^21.0.2"
     chalk: "npm:^5.3.0"
     conventional-changelog-angular: "npm:^7.0.0"
     conventional-changelog-core: "npm:^7.0.0"
@@ -1348,7 +1255,7 @@ __metadata:
     dedent: "npm:^1.5.3"
     fs-extra: "npm:^11.2.0"
     get-stream: "npm:^9.0.1"
-    git-url-parse: "npm:^14.0.0"
+    git-url-parse: "npm:^15.0.0"
     graceful-fs: "npm:^4.2.11"
     is-stream: "npm:^4.0.1"
     load-json-file: "npm:^7.0.1"
@@ -1356,18 +1263,18 @@ __metadata:
     minimatch: "npm:^9.0.5"
     new-github-release-url: "npm:^2.0.0"
     node-fetch: "npm:^3.3.2"
-    npm-package-arg: "npm:^11.0.2"
+    npm-package-arg: "npm:^11.0.3"
     p-limit: "npm:^6.1.0"
     p-map: "npm:^7.0.2"
     p-pipe: "npm:^4.0.0"
     p-reduce: "npm:^3.0.0"
     pify: "npm:^6.1.0"
-    semver: "npm:^7.6.2"
+    semver: "npm:^7.6.3"
     slash: "npm:^5.1.0"
     temp-dir: "npm:^3.0.0"
     uuid: "npm:^10.0.0"
-    write-json-file: "npm:^5.0.0"
-  checksum: 10c2/2186617b9e9e6f61c5a1b641e1f90e1dc0472e2f752e205c118b129d0a1d5d29f23ee13b5df8019aa832fccfcd5bdd4d75f32e5734f344a468bfa0e1e06d9695
+    write-json-file: "npm:^6.0.0"
+  checksum: 10c2/f33329796941c80429b026f17ef6e2aa63976e7d9272472198ea8fedc6d7751311dc51dd25f1c387ae23064bd9ee5df9186022bb399ee985fea5ba0f9997b53a
   languageName: node
   linkType: hard
 
@@ -1715,15 +1622,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@octokit/rest@npm:^21.0.0":
-  version: 21.0.1
-  resolution: "@octokit/rest@npm:21.0.1"
+"@octokit/rest@npm:^21.0.2":
+  version: 21.0.2
+  resolution: "@octokit/rest@npm:21.0.2"
   dependencies:
     "@octokit/core": "npm:^6.1.2"
     "@octokit/plugin-paginate-rest": "npm:^11.0.0"
     "@octokit/plugin-request-log": "npm:^5.3.1"
     "@octokit/plugin-rest-endpoint-methods": "npm:^13.0.0"
-  checksum: 10c2/d12c27e47274d463038605c07ea506da00a64b68c3c2af059bc1202133f638c2a406563c238954db97ddb4d8068f86c7a63eb0022f64db2be7a3de1f20a70489
+  checksum: 10c2/130405e4391bd8f000d6d3a3623c0ce8d45f8a41437323cf776e4bbc3c12c97fa9a3cb1801c01230a4a92e914a5f027c4eac468cd2ca71cea5b1270fcabd39d5
   languageName: node
   linkType: hard
 
@@ -1816,114 +1723,114 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rollup/rollup-android-arm-eabi@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-android-arm-eabi@npm:4.17.2"
+"@rollup/rollup-android-arm-eabi@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-android-arm-eabi@npm:4.21.2"
   conditions: os=android & cpu=arm
   languageName: node
   linkType: hard
 
-"@rollup/rollup-android-arm64@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-android-arm64@npm:4.17.2"
+"@rollup/rollup-android-arm64@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-android-arm64@npm:4.21.2"
   conditions: os=android & cpu=arm64
   languageName: node
   linkType: hard
 
-"@rollup/rollup-darwin-arm64@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-darwin-arm64@npm:4.17.2"
+"@rollup/rollup-darwin-arm64@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-darwin-arm64@npm:4.21.2"
   conditions: os=darwin & cpu=arm64
   languageName: node
   linkType: hard
 
-"@rollup/rollup-darwin-x64@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-darwin-x64@npm:4.17.2"
+"@rollup/rollup-darwin-x64@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-darwin-x64@npm:4.21.2"
   conditions: os=darwin & cpu=x64
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2"
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.21.2"
   conditions: os=linux & cpu=arm & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-arm-musleabihf@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.17.2"
+"@rollup/rollup-linux-arm-musleabihf@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.21.2"
   conditions: os=linux & cpu=arm & libc=musl
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-arm64-gnu@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.17.2"
+"@rollup/rollup-linux-arm64-gnu@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.21.2"
   conditions: os=linux & cpu=arm64 & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-arm64-musl@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-arm64-musl@npm:4.17.2"
+"@rollup/rollup-linux-arm64-musl@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-arm64-musl@npm:4.21.2"
   conditions: os=linux & cpu=arm64 & libc=musl
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2"
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.2"
   conditions: os=linux & cpu=ppc64 & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-riscv64-gnu@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.17.2"
+"@rollup/rollup-linux-riscv64-gnu@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.21.2"
   conditions: os=linux & cpu=riscv64 & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-s390x-gnu@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.17.2"
+"@rollup/rollup-linux-s390x-gnu@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.21.2"
   conditions: os=linux & cpu=s390x & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-x64-gnu@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-x64-gnu@npm:4.17.2"
+"@rollup/rollup-linux-x64-gnu@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-x64-gnu@npm:4.21.2"
   conditions: os=linux & cpu=x64 & libc=glibc
   languageName: node
   linkType: hard
 
-"@rollup/rollup-linux-x64-musl@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-linux-x64-musl@npm:4.17.2"
+"@rollup/rollup-linux-x64-musl@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-linux-x64-musl@npm:4.21.2"
   conditions: os=linux & cpu=x64 & libc=musl
   languageName: node
   linkType: hard
 
-"@rollup/rollup-win32-arm64-msvc@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.17.2"
+"@rollup/rollup-win32-arm64-msvc@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.21.2"
   conditions: os=win32 & cpu=arm64
   languageName: node
   linkType: hard
 
-"@rollup/rollup-win32-ia32-msvc@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.17.2"
+"@rollup/rollup-win32-ia32-msvc@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.21.2"
   conditions: os=win32 & cpu=ia32
   languageName: node
   linkType: hard
 
-"@rollup/rollup-win32-x64-msvc@npm:4.17.2":
-  version: 4.17.2
-  resolution: "@rollup/rollup-win32-x64-msvc@npm:4.17.2"
+"@rollup/rollup-win32-x64-msvc@npm:4.21.2":
+  version: 4.21.2
+  resolution: "@rollup/rollup-win32-x64-msvc@npm:4.21.2"
   conditions: os=win32 & cpu=x64
   languageName: node
   linkType: hard
@@ -1998,6 +1905,22 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@stylistic/eslint-plugin@npm:^2.7.2":
+  version: 2.7.2
+  resolution: "@stylistic/eslint-plugin@npm:2.7.2"
+  dependencies:
+    "@types/eslint": "npm:^9.6.1"
+    "@typescript-eslint/utils": "npm:^8.3.0"
+    eslint-visitor-keys: "npm:^4.0.0"
+    espree: "npm:^10.1.0"
+    estraverse: "npm:^5.3.0"
+    picomatch: "npm:^4.0.2"
+  peerDependencies:
+    eslint: ">=8.40.0"
+  checksum: 10c2/9ea19f4ff906cd14d7d97726d00740abb77d537373281f443562a6aa3924e99ccf600c8fd2d0421e81ca5a2de56e5b99838b582130f405671b8c467f5cc66686
+  languageName: node
+  linkType: hard
+
 "@tootallnate/once@npm:1":
   version: 1.1.2
   resolution: "@tootallnate/once@npm:1.1.2"
@@ -2059,13 +1982,30 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0":
+"@types/eslint@npm:^9.6.1":
+  version: 9.6.1
+  resolution: "@types/eslint@npm:9.6.1"
+  dependencies:
+    "@types/estree": "npm:*"
+    "@types/json-schema": "npm:*"
+  checksum: 10c2/457a8d3c8ada4a5421d48362377836ef58566fcc840dcc6ec183fe80a54fc9ca4dafaa0d017971e9266bd3a49d40883f0a43134418cea0d6f8ecf683bd88dee0
+  languageName: node
+  linkType: hard
+
+"@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0":
   version: 1.0.5
   resolution: "@types/estree@npm:1.0.5"
   checksum: 10c2/f69e9f41e2acde04d0335cc37c73c48a33bbe93d74e46b00a01f4e3d371dbb7efd4693f3db6f83888c18752050081356361ba85936e7b98ea4b42df865059303
   languageName: node
   linkType: hard
 
+"@types/json-schema@npm:*":
+  version: 7.0.15
+  resolution: "@types/json-schema@npm:7.0.15"
+  checksum: 10c2/9279f82ce4b7a824a3116f8fab12d06c3f1598e83bffdc31381299d200c0914cbdbf1544af9d24205d306b754a3a1d5cf6161f3a286261ad0c645005ea063a54
+  languageName: node
+  linkType: hard
+
 "@types/mute-stream@npm:^0.0.4":
   version: 0.0.4
   resolution: "@types/mute-stream@npm:0.0.4"
@@ -2075,12 +2015,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/node@npm:*, @types/node@npm:^22.0.0":
-  version: 22.0.0
-  resolution: "@types/node@npm:22.0.0"
+"@types/node@npm:*, @types/node@npm:^22.5.2, @types/node@npm:^22.5.4":
+  version: 22.5.4
+  resolution: "@types/node@npm:22.5.4"
   dependencies:
-    undici-types: "npm:~6.11.1"
-  checksum: 10c2/78d767b4baa824fb5426fbfb99afa4c298a4c226c20f9a1540c7ac80f1efb1cf3cdd12d9d73eb69e3d75138c126ec935e70b767ebe5f5a6205808a30d6b09deb
+    undici-types: "npm:~6.19.2"
+  checksum: 10c2/aa498ed15aeea22a235fdac7014034393ec933f9cced19698a7bbbd76981aec204e725fa906021297d1b83f39ac6eae082cc77ceefc94afac6848390f45700cb
   languageName: node
   linkType: hard
 
@@ -2098,89 +2038,87 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@typescript-eslint/eslint-plugin@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0"
+"@typescript-eslint/eslint-plugin@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0"
   dependencies:
     "@eslint-community/regexpp": "npm:^4.10.0"
-    "@typescript-eslint/scope-manager": "npm:7.18.0"
-    "@typescript-eslint/type-utils": "npm:7.18.0"
-    "@typescript-eslint/utils": "npm:7.18.0"
-    "@typescript-eslint/visitor-keys": "npm:7.18.0"
+    "@typescript-eslint/scope-manager": "npm:8.4.0"
+    "@typescript-eslint/type-utils": "npm:8.4.0"
+    "@typescript-eslint/utils": "npm:8.4.0"
+    "@typescript-eslint/visitor-keys": "npm:8.4.0"
     graphemer: "npm:^1.4.0"
     ignore: "npm:^5.3.1"
     natural-compare: "npm:^1.4.0"
     ts-api-utils: "npm:^1.3.0"
   peerDependencies:
-    "@typescript-eslint/parser": ^7.0.0
-    eslint: ^8.56.0
+    "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
+    eslint: ^8.57.0 || ^9.0.0
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10c2/8280e9d41f0c245369cc05406d2f0a15a1f8dc5bad3866b3aef1af6fadf3459ffc76bb89efc8817f36e07fb9cb123d55de3e2599c18a393ff440c8c9643aaf25
+  checksum: 10c2/ccac054995470981f936cdf164ef797cb3c3df19b5d545da0cb7ea0396a414babe028bf3e4d21b9132c9ece42563c4df3f840e1808f9377e9bac5d130377e2d5
   languageName: node
   linkType: hard
 
-"@typescript-eslint/parser@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/parser@npm:7.18.0"
+"@typescript-eslint/parser@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/parser@npm:8.4.0"
   dependencies:
-    "@typescript-eslint/scope-manager": "npm:7.18.0"
-    "@typescript-eslint/types": "npm:7.18.0"
-    "@typescript-eslint/typescript-estree": "npm:7.18.0"
-    "@typescript-eslint/visitor-keys": "npm:7.18.0"
+    "@typescript-eslint/scope-manager": "npm:8.4.0"
+    "@typescript-eslint/types": "npm:8.4.0"
+    "@typescript-eslint/typescript-estree": "npm:8.4.0"
+    "@typescript-eslint/visitor-keys": "npm:8.4.0"
     debug: "npm:^4.3.4"
   peerDependencies:
-    eslint: ^8.56.0
+    eslint: ^8.57.0 || ^9.0.0
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10c2/7fa636e11705b0ec31356d82b98edbd10d4e74787bb0ff0883aab78078deae37c2be7a7f5bf1aebbe3a586fc8271b8af52493a927d6df0312a57046f001f345a
+  checksum: 10c2/f0ce404b1d03391bc28fa981432fbeb513dd69a08975a21e238fa0c6224b799353540417737bc314637037b00b15ab69ce4332137e2115f53d9bbffa467bedcb
   languageName: node
   linkType: hard
 
-"@typescript-eslint/scope-manager@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/scope-manager@npm:7.18.0"
+"@typescript-eslint/scope-manager@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/scope-manager@npm:8.4.0"
   dependencies:
-    "@typescript-eslint/types": "npm:7.18.0"
-    "@typescript-eslint/visitor-keys": "npm:7.18.0"
-  checksum: 10c2/f065b9b1da65f8f4372d29b1e67e6b74fd16d288d1eca1245ef40c41348adec1962cfc62763122ef09b21c591230ed8b4fed5f45f07b0cdabd3c56a8f8b46f8a
+    "@typescript-eslint/types": "npm:8.4.0"
+    "@typescript-eslint/visitor-keys": "npm:8.4.0"
+  checksum: 10c2/986cf0a572667d284483f45eb905f864d6baf99e05bb2c5f8c2caa326e0f2a19c38f58548d0efc837bfdbdb968d375c7b350a339f9e363c3fc2cf01bd38472ef
   languageName: node
   linkType: hard
 
-"@typescript-eslint/type-utils@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/type-utils@npm:7.18.0"
+"@typescript-eslint/type-utils@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/type-utils@npm:8.4.0"
   dependencies:
-    "@typescript-eslint/typescript-estree": "npm:7.18.0"
-    "@typescript-eslint/utils": "npm:7.18.0"
+    "@typescript-eslint/typescript-estree": "npm:8.4.0"
+    "@typescript-eslint/utils": "npm:8.4.0"
     debug: "npm:^4.3.4"
     ts-api-utils: "npm:^1.3.0"
-  peerDependencies:
-    eslint: ^8.56.0
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10c2/defffbf3131960351db73975e38dcef5e6c3da65c69735d98780740dcd6245c680d5b9102d72f569fcf7f89cb712ca8a5e903456e5e4e852634faf883d110b7a
+  checksum: 10c2/bf43edcf40d67019c825e232367444f5a359b9c45911707377981f156658bb03427b05b1909c2237510b613fc07d4081f621431666ca38bd420d8d6d0945f498
   languageName: node
   linkType: hard
 
-"@typescript-eslint/types@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/types@npm:7.18.0"
-  checksum: 10c2/c0b9ac5278e907aae08a6ad55576f2e757260302e35737b23d36d20dc8c5705ccb1644eb8bd73098ac18be8cd51cf5748b53c416a7f2a30e2fcb7695c0c6ea93
+"@typescript-eslint/types@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/types@npm:8.4.0"
+  checksum: 10c2/d43e02dd3d808264af469255d9460234bdc356cba2c102d44c9e5a503febf6b1c64eab84e9884712c1521c6018ce314b8af0aff90fead4c52a71b1e5062d890a
   languageName: node
   linkType: hard
 
-"@typescript-eslint/typescript-estree@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/typescript-estree@npm:7.18.0"
+"@typescript-eslint/typescript-estree@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/typescript-estree@npm:8.4.0"
   dependencies:
-    "@typescript-eslint/types": "npm:7.18.0"
-    "@typescript-eslint/visitor-keys": "npm:7.18.0"
+    "@typescript-eslint/types": "npm:8.4.0"
+    "@typescript-eslint/visitor-keys": "npm:8.4.0"
     debug: "npm:^4.3.4"
-    globby: "npm:^11.1.0"
+    fast-glob: "npm:^3.3.2"
     is-glob: "npm:^4.0.3"
     minimatch: "npm:^9.0.4"
     semver: "npm:^7.6.0"
@@ -2188,31 +2126,31 @@ __metadata:
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10c2/32be3392c4cdbce9839f236da9136e3c0d4cb1cbd64fd34e1607a31346f40367a9ae1877c686d3e63f682d99cc2b64a3cedaf3191bc81588b39956ee6f6326fc
+  checksum: 10c2/c8392a1594164d95c22973a2f8fd29c8f9f95a0e060dd90bde51d2014cdfa91198638f1734e57229702dd3566b4a600e2755e67f6e3039712ab60696bfcd4f23
   languageName: node
   linkType: hard
 
-"@typescript-eslint/utils@npm:7.18.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/utils@npm:7.18.0"
+"@typescript-eslint/utils@npm:8.4.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.3.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/utils@npm:8.4.0"
   dependencies:
     "@eslint-community/eslint-utils": "npm:^4.4.0"
-    "@typescript-eslint/scope-manager": "npm:7.18.0"
-    "@typescript-eslint/types": "npm:7.18.0"
-    "@typescript-eslint/typescript-estree": "npm:7.18.0"
+    "@typescript-eslint/scope-manager": "npm:8.4.0"
+    "@typescript-eslint/types": "npm:8.4.0"
+    "@typescript-eslint/typescript-estree": "npm:8.4.0"
   peerDependencies:
-    eslint: ^8.56.0
-  checksum: 10c2/17dda7973994e48ca30a6b0d41f918e878db55ccbd0c9fe6d2e823feffe659c110dd1cc177f4f7982bd6b139b0d7174d8af4ba3dc6cb5d42f6fb13cf5e8530e1
+    eslint: ^8.57.0 || ^9.0.0
+  checksum: 10c2/0f9115802a70761d0ce4930241df09031df17c1fb1d52025353c66a7022ca44534f153399ff014a9f9e2900ca50611c58506b035bfddffdbc95e6a7b5fbfb7a1
   languageName: node
   linkType: hard
 
-"@typescript-eslint/visitor-keys@npm:7.18.0":
-  version: 7.18.0
-  resolution: "@typescript-eslint/visitor-keys@npm:7.18.0"
+"@typescript-eslint/visitor-keys@npm:8.4.0":
+  version: 8.4.0
+  resolution: "@typescript-eslint/visitor-keys@npm:8.4.0"
   dependencies:
-    "@typescript-eslint/types": "npm:7.18.0"
+    "@typescript-eslint/types": "npm:8.4.0"
     eslint-visitor-keys: "npm:^3.4.3"
-  checksum: 10c2/e34ad506ea074f65d2e14ca3814d72b1e789fd1cd5c7008e8ca949d79fc663ee6f21aa1bf224901eeb7a4367ac3935508daf0c1edcb82e7e55c77842d5825ee1
+  checksum: 10c2/774a81ce024d2a6197bfff63c61ec9b1e06a08e6e010fdbca49b712324b09b3af43d7ffc0c123231b106d6b8281b7d81ed86a2686d1ee9ab4e4c75cf5ad61519
   languageName: node
   linkType: hard
 
@@ -2546,13 +2484,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"array-union@npm:^2.1.0":
-  version: 2.1.0
-  resolution: "array-union@npm:2.1.0"
-  checksum: 10c2/ec3d5943b0422bb1d9821417fbab0250356942d60a3002024fa4b3c6e3313f200264ef88086338d746deeab3e89fdbba8377dbdf2296f3d49b4d2c7dca74d19c
-  languageName: node
-  linkType: hard
-
 "assertion-error@npm:^2.0.1":
   version: 2.0.1
   resolution: "assertion-error@npm:2.0.1"
@@ -2689,10 +2620,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"byte-size@npm:^8.1.1":
-  version: 8.1.1
-  resolution: "byte-size@npm:8.1.1"
-  checksum: 10c2/5a915e24467b6c5715c01a5d2abe89bdce4b1601c248fa08eec9c4b57f82b01fe77e6fba32731253c2c98b01a50b874f2a4ec59519f1c66340df39dc7f3db91d
+"byte-size@npm:^9.0.0":
+  version: 9.0.0
+  resolution: "byte-size@npm:9.0.0"
+  checksum: 10c2/b4aa704adb8c9e56619a2409c7d23349b8b399e387085433c7a48be2cf23702773b0bf149daf708d01d9aa92f4ff988086dfbaeaf18c60a21fa61ef915e3c7df
   languageName: node
   linkType: hard
 
@@ -2804,13 +2735,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"chardet@npm:^0.7.0":
-  version: 0.7.0
-  resolution: "chardet@npm:0.7.0"
-  checksum: 10c2/a752a9d51b3b4676293932be49a940a74d4f16fa62fbd92aa8b0c7881cd8187e4d9f33b815b93370ec903948c6ec5ece9a9ffe05bd99295163233f63f8b30cf7
-  languageName: node
-  linkType: hard
-
 "check-error@npm:^2.1.1":
   version: 2.1.1
   resolution: "check-error@npm:2.1.1"
@@ -3236,7 +3160,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.4":
+"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.6":
   version: 4.3.6
   resolution: "debug@npm:4.3.6"
   dependencies:
@@ -3274,10 +3198,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deepmerge-ts@npm:^5.1.0":
-  version: 5.1.0
-  resolution: "deepmerge-ts@npm:5.1.0"
-  checksum: 10c2/42d46ce947efb93db3686e43a2f54781e7c53543f2b7c61815aefd83524ea839b8050df408b108d8991dc920b43ba93d7a4a07ccb2aaad403075c584ba7cc1d1
+"deepmerge-ts@npm:^7.1.0":
+  version: 7.1.0
+  resolution: "deepmerge-ts@npm:7.1.0"
+  checksum: 10c2/fa6fc201bba5228da137bfcd2ab620fb01d0cb2fa097046a6c35fd6a38122b5a934779ce6735a56bf7039679796f7aa495754b53e43ab6df1a41748603961467
   languageName: node
   linkType: hard
 
@@ -3304,7 +3228,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"detect-indent@npm:^7.0.0":
+"detect-indent@npm:^7.0.1":
   version: 7.0.1
   resolution: "detect-indent@npm:7.0.1"
   checksum: 10c2/a9176bd69c2dfbf0f8526ecc71b54cd1951114d2350c08875f2ca3b6510fcdece00b8c2b564d4c5041f16a331b21d07bd4688a609d670ee0b7f52ec80402bf67
@@ -3318,15 +3242,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"dir-glob@npm:^3.0.1":
-  version: 3.0.1
-  resolution: "dir-glob@npm:3.0.1"
-  dependencies:
-    path-type: "npm:^4.0.0"
-  checksum: 10c2/b6312f3042d8ec400d07b4ff5fda615166212dda0df2c51b47ecaf2c1a310ef34235b4ad76c78643a6bc952e1e648e20811c034ced7fcf81cd50ace4a3fd1c55
-  languageName: node
-  linkType: hard
-
 "dom-serializer@npm:^2.0.0":
   version: 2.0.0
   resolution: "dom-serializer@npm:2.0.0"
@@ -3570,13 +3485,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"eslint-plugin-jest@npm:^28.6.0":
-  version: 28.6.0
-  resolution: "eslint-plugin-jest@npm:28.6.0"
+"eslint-plugin-jest@npm:^28.8.3":
+  version: 28.8.3
+  resolution: "eslint-plugin-jest@npm:28.8.3"
   dependencies:
-    "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0"
+    "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0"
   peerDependencies:
-    "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0
+    "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0
     eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
     jest: "*"
   peerDependenciesMeta:
@@ -3584,7 +3499,7 @@ __metadata:
       optional: true
     jest:
       optional: true
-  checksum: 10c2/4598c7893604e5bd282213153e6a79567d216bc8044e303bf80b3acd8862a59670fcac8251476a1b13c3302d34fa6fca5010fc9f95ea31c76d5f1dfa34be5076
+  checksum: 10c2/1b005d291a73ce23197cc8fde17e3307a30780024e6bf5aa71422321613e0fbaf7f0e8a6a7f46ae28c6ceaacb7c958c69b18929728294b474ce37a756ee19dcd
   languageName: node
   linkType: hard
 
@@ -3612,15 +3527,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"eslint@npm:^9.8.0":
-  version: 9.8.0
-  resolution: "eslint@npm:9.8.0"
+"eslint@npm:^9.9.1":
+  version: 9.9.1
+  resolution: "eslint@npm:9.9.1"
   dependencies:
     "@eslint-community/eslint-utils": "npm:^4.2.0"
     "@eslint-community/regexpp": "npm:^4.11.0"
-    "@eslint/config-array": "npm:^0.17.1"
+    "@eslint/config-array": "npm:^0.18.0"
     "@eslint/eslintrc": "npm:^3.1.0"
-    "@eslint/js": "npm:9.8.0"
+    "@eslint/js": "npm:9.9.1"
     "@humanwhocodes/module-importer": "npm:^1.0.1"
     "@humanwhocodes/retry": "npm:^0.3.0"
     "@nodelib/fs.walk": "npm:^1.2.8"
@@ -3650,9 +3565,14 @@ __metadata:
     optionator: "npm:^0.9.3"
     strip-ansi: "npm:^6.0.1"
     text-table: "npm:^0.2.0"
+  peerDependencies:
+    jiti: "*"
+  peerDependenciesMeta:
+    jiti:
+      optional: true
   bin:
     eslint: bin/eslint.js
-  checksum: 10c2/ba613a6220796add9c88c728d81868101cbb46f5947e8124791adbe357e91935e7575d5da0c0a85c1666b6ba888458c511032c0d2c233c27bc5daa1da0726e41
+  checksum: 10c2/93a0d6b0148cc9918006ff1e15fa421f1412607ce59c342bbaa7106e4f135aac66764b050a2fe9e13ec2bff090485787104c73b653c61181e11eee9fafe92655
   languageName: node
   linkType: hard
 
@@ -3685,7 +3605,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
   version: 5.3.0
   resolution: "estraverse@npm:5.3.0"
   checksum: 10c2/6b912279feb83007553ac43e749f0a6d11fdd27ec64e618870818c0f70b2daf2ee4c6a3c56c5e6cdcd80a20bf392eb08c60d15ebec3d327e915e483e19440cbd
@@ -3760,17 +3680,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"external-editor@npm:^3.1.0":
-  version: 3.1.0
-  resolution: "external-editor@npm:3.1.0"
-  dependencies:
-    chardet: "npm:^0.7.0"
-    iconv-lite: "npm:^0.4.24"
-    tmp: "npm:^0.0.33"
-  checksum: 10c2/4008211071f79cc09dcac86398a19a26f48edcb1cd16009ecb77e120eebb43851ce87c74e9d9cab841a2b7b82189ebfda758c75ff67c7e5faa242f4326b021f8
-  languageName: node
-  linkType: hard
-
 "fast-content-type-parse@npm:^1.1.0":
   version: 1.1.0
   resolution: "fast-content-type-parse@npm:1.1.0"
@@ -3792,7 +3701,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2":
+"fast-glob@npm:^3.3.2":
   version: 3.3.2
   resolution: "fast-glob@npm:3.3.2"
   dependencies:
@@ -4171,12 +4080,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"git-url-parse@npm:^14.0.0":
-  version: 14.0.0
-  resolution: "git-url-parse@npm:14.0.0"
+"git-url-parse@npm:^15.0.0":
+  version: 15.0.0
+  resolution: "git-url-parse@npm:15.0.0"
   dependencies:
     git-up: "npm:^7.0.0"
-  checksum: 10c2/92b3497ef7a763f0dd11c5dbb1a6799937df21ec1707c8fe52fe884cc798fb5b77a7fe9ecb4663c0cb774502cf6546a68a56a27a680282d567ab61dcdb6b106b
+  checksum: 10c2/a13401c0eddb15d750ce636a60b3d1dee7f182c7f79abe8ce7a4c88c5243d1ea6ce11c01746b20b6c0bc0bb9f764a321a70adeb920cb442a79716284c40441db
   languageName: node
   linkType: hard
 
@@ -4251,24 +4160,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"globals@npm:^15.8.0":
-  version: 15.8.0
-  resolution: "globals@npm:15.8.0"
-  checksum: 10c2/a064da17c8db6571f7dbd500552f6391182bb3d676e75669c11693d3a616585e95338c2b55b669c02fbdba97d12d5d14a0bb5eac6992f0450090ec6a051a5c19
-  languageName: node
-  linkType: hard
-
-"globby@npm:^11.1.0":
-  version: 11.1.0
-  resolution: "globby@npm:11.1.0"
-  dependencies:
-    array-union: "npm:^2.1.0"
-    dir-glob: "npm:^3.0.1"
-    fast-glob: "npm:^3.2.9"
-    ignore: "npm:^5.2.0"
-    merge2: "npm:^1.4.1"
-    slash: "npm:^3.0.0"
-  checksum: 10c2/86490cca493726dd0cff673133794d59745f4c84c66a91477a6b3613f5a93f8907bf7fbd587034055a75cdf8904f662f93d91f08bf6a56adf654facaa70d1fbc
+"globals@npm:^15.9.0":
+  version: 15.9.0
+  resolution: "globals@npm:15.9.0"
+  checksum: 10c2/6045da70bfb7aca4466180ad813f4711f7f89d4d84a9f47bc6d808282529605d8d4e8827c72b9f51c4bc80803556c47c05029ff94393f0fcb92ae1b3f1060dde
   languageName: node
   linkType: hard
 
@@ -4430,21 +4325,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"husky@npm:^9.1.4":
-  version: 9.1.4
-  resolution: "husky@npm:9.1.4"
+"husky@npm:^9.1.5":
+  version: 9.1.5
+  resolution: "husky@npm:9.1.5"
   bin:
     husky: bin.js
-  checksum: 10c2/a2d3a98cd589d2bff6b9908c43cd5bf2addf95adc685d8a3cc4b6c595288d4af884a376796bb05fa070282ef88158c7d94ec25898cd1cbbc7bbeaeb79efd1191
-  languageName: node
-  linkType: hard
-
-"iconv-lite@npm:^0.4.24":
-  version: 0.4.24
-  resolution: "iconv-lite@npm:0.4.24"
-  dependencies:
-    safer-buffer: "npm:>= 2.1.2 < 3"
-  checksum: 10c2/c95b885ac2ad9baf21ebc8b993c9b66e6d2f33daa9ea2d34b9e6352bdcbb9aa61cfc2ce736b5ac0bfd44ab059f6227c6f013608dbedbe488c68ef175c3dea1df
+  checksum: 10c2/86ac14d000ec7ff524181be791e0b3ded1d4782339890d15c09258ece56cf701bfda5c0d6b78ae88054991397904a0c9f0f6ab8ed1e24971fe9c8a857d1d7de0
   languageName: node
   linkType: hard
 
@@ -4490,15 +4376,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"import-local@npm:^3.1.0":
-  version: 3.1.0
-  resolution: "import-local@npm:3.1.0"
+"import-local@npm:^3.2.0":
+  version: 3.2.0
+  resolution: "import-local@npm:3.2.0"
   dependencies:
     pkg-dir: "npm:^4.2.0"
     resolve-cwd: "npm:^3.0.0"
   bin:
     import-local-fixture: fixtures/cli.js
-  checksum: 10c2/6b71d654fe170ad6900f745cb53dc1954ee64ff8043abc0000c4d533c7bd9014116560f83a5890d17ac446c8e9f42f3fc34edfb403bf1533042dfbf74540b298
+  checksum: 10c2/c33e387bcddf379d8d21eace4761d2cc58c14272f5052beeaf1829d0ba1ec3b3ca4e06df8ffdfad60eb2b0468f5a3a9f3a47d0a809e7eb167cd719eb8e6945e0
   languageName: node
   linkType: hard
 
@@ -4568,21 +4454,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"inquirer@npm:^10.0.1":
-  version: 10.1.6
-  resolution: "inquirer@npm:10.1.6"
-  dependencies:
-    "@inquirer/prompts": "npm:^5.3.6"
-    "@inquirer/type": "npm:^1.5.1"
-    "@types/mute-stream": "npm:^0.0.4"
-    ansi-escapes: "npm:^4.3.2"
-    mute-stream: "npm:^1.0.0"
-    run-async: "npm:^3.0.0"
-    rxjs: "npm:^7.8.1"
-  checksum: 10c2/c39225b24b5391c91a4f03e648ecc8bfdb288e63ed69fb2a181f70c71b9ec11811676f3800e97e74f1246092c9c602e41df0bb51f5c43d76ec05444fb3855deb
-  languageName: node
-  linkType: hard
-
 "ip-address@npm:^9.0.5":
   version: 9.0.5
   resolution: "ip-address@npm:9.0.5"
@@ -4703,7 +4574,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-plain-obj@npm:^4.0.0":
+"is-plain-obj@npm:^4.0.0, is-plain-obj@npm:^4.1.0":
   version: 4.1.0
   resolution: "is-plain-obj@npm:4.1.0"
   checksum: 10c2/7882c14f35d2a3189babdbc2ac352e07831632da9c58af034ca9a20315ac66a1dc476c4eba8b7aa3bcc7ed65a5d97ff733d1f9a186af12e63b66b0029c3e519a
@@ -4751,13 +4622,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-typedarray@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "is-typedarray@npm:1.0.0"
-  checksum: 10c2/5a2d121ee13a5536544685aff741332a255fada1598fea5a16b318257002f9a6351ecd3627f950f946527a575f6a51b20a88a45c1a0c69c9d4075c8b74e43dbb
-  languageName: node
-  linkType: hard
-
 "isarray@npm:~1.0.0":
   version: 1.0.0
   resolution: "isarray@npm:1.0.0"
@@ -5020,7 +4884,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lilconfig@npm:~3.1.1":
+"lilconfig@npm:~3.1.2":
   version: 3.1.2
   resolution: "lilconfig@npm:3.1.2"
   checksum: 10c2/1d5e2a0bc4bea1f6cc2ab2be05a1d350dbe0607d1597da1a27002b48c630a808234b4658390b4f47c27cc0e89eeb6fc4f64dc3cc8599144c7152a983c16832d7
@@ -5041,27 +4905,27 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lint-staged@npm:^15.2.7":
-  version: 15.2.7
-  resolution: "lint-staged@npm:15.2.7"
+"lint-staged@npm:^15.2.10":
+  version: 15.2.10
+  resolution: "lint-staged@npm:15.2.10"
   dependencies:
     chalk: "npm:~5.3.0"
     commander: "npm:~12.1.0"
-    debug: "npm:~4.3.4"
+    debug: "npm:~4.3.6"
     execa: "npm:~8.0.1"
-    lilconfig: "npm:~3.1.1"
-    listr2: "npm:~8.2.1"
-    micromatch: "npm:~4.0.7"
+    lilconfig: "npm:~3.1.2"
+    listr2: "npm:~8.2.4"
+    micromatch: "npm:~4.0.8"
     pidtree: "npm:~0.6.0"
     string-argv: "npm:~0.3.2"
-    yaml: "npm:~2.4.2"
+    yaml: "npm:~2.5.0"
   bin:
     lint-staged: bin/lint-staged.js
-  checksum: 10c2/8ce4533a27f6e405e488e2f74a88d54b250e3acf3cf1d47ed3a9bc4b24c2d17406846a6030bfa908ec1450e04d82d959c0d99ac2e779d954388b184978a67df5
+  checksum: 10c2/423a6c431e14d27820bc60d3e9a896971db2201dcc10c4631c528168ebdf301c9c810de3e998299c456cda7362ec8227e98f6fcf515bec4b964c5848fd60908d
   languageName: node
   linkType: hard
 
-"listr2@npm:~8.2.1":
+"listr2@npm:~8.2.4":
   version: 8.2.4
   resolution: "listr2@npm:8.2.4"
   dependencies:
@@ -5307,20 +5171,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"merge2@npm:^1.3.0, merge2@npm:^1.4.1":
+"merge2@npm:^1.3.0":
   version: 1.4.1
   resolution: "merge2@npm:1.4.1"
   checksum: 10c2/45d32fc832cecd588b9e0e2f32981ac28959d2d4f608a2b13611dd34eee473b2396902efb940e7d25251672aad62812da1870fb2e63e873b33bd923b6be0b3d8
   languageName: node
   linkType: hard
 
-"micromatch@npm:^4.0.4, micromatch@npm:~4.0.7":
-  version: 4.0.7
-  resolution: "micromatch@npm:4.0.7"
+"micromatch@npm:^4.0.4, micromatch@npm:~4.0.8":
+  version: 4.0.8
+  resolution: "micromatch@npm:4.0.8"
   dependencies:
     braces: "npm:^3.0.3"
     picomatch: "npm:^2.3.1"
-  checksum: 10c2/87e6ea4885904df63cb654dae478ef4f7c22e068672f518ae5ea52f715eccb745a356749a21d125afddd24fe5c0f8fd6c42e8be132fb30ff32a5d73d2598dc3b
+  checksum: 10c2/63e9cfde15326821818110e049897fbc3c507125e8ab5c73b08ca468e2a668ea22d3c93aebc319e90beb22f48fe1e6ac506681cd0e06dabdd71b67bf0457e14d
   languageName: node
   linkType: hard
 
@@ -5680,15 +5544,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"npm-package-arg@npm:^11.0.0, npm-package-arg@npm:^11.0.2":
-  version: 11.0.2
-  resolution: "npm-package-arg@npm:11.0.2"
+"npm-package-arg@npm:^11.0.0, npm-package-arg@npm:^11.0.2, npm-package-arg@npm:^11.0.3":
+  version: 11.0.3
+  resolution: "npm-package-arg@npm:11.0.3"
   dependencies:
     hosted-git-info: "npm:^7.0.0"
     proc-log: "npm:^4.0.0"
     semver: "npm:^7.3.5"
     validate-npm-package-name: "npm:^5.0.0"
-  checksum: 10c2/a4100fc603cb4a1fd38369ba23fbf582b40c8c7c6f331205b1934d2ef0f1ef8cbeb269ab5a89e64f5c353f5524a4a6f7b6d201c8f45af5ff447529d323eed36e
+  checksum: 10c2/a16994fc0cab33626e9a55568d0ba27db746b386b7db86e5c53b23602488deacb85fe5d9b6b1ed735a8a170bb9bb82053a6b9ad6bbda256777d5c0176bf88172
   languageName: node
   linkType: hard
 
@@ -5821,13 +5685,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"os-tmpdir@npm:~1.0.2":
-  version: 1.0.2
-  resolution: "os-tmpdir@npm:1.0.2"
-  checksum: 10c2/2f289bb61829ad70a87fbf0b78d73bcccdba14cff4f5d6ace079bd10f74032ac61337d41c60a4381351838bb942c0df0242a0f9f837202d70862a140fa5d1e7b
-  languageName: node
-  linkType: hard
-
 "p-limit@npm:^2.2.0":
   version: 2.3.0
   resolution: "p-limit@npm:2.3.0"
@@ -6105,13 +5962,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"path-type@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "path-type@npm:4.0.0"
-  checksum: 10c2/3edafc382933674ec0c82f9f912a6ad1c44a9ee983f8a37ec6472dd21f4bfc19e868402713b9d08d42d7f73e2abea4c5d981e93ddbc369eaff8ada8c0cdc8866
-  languageName: node
-  linkType: hard
-
 "path-type@npm:^5.0.0":
   version: 5.0.0
   resolution: "path-type@npm:5.0.0"
@@ -6133,10 +5983,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "picocolors@npm:1.0.1"
-  checksum: 10c2/96f7b19c67de94da06508fd65bfa5c0a973c818b9f00d34a0fd351bdb7ddfdace84f1961769a8b52b250ddb9e88a0b9604353f6224f312ce689656f5f258dc36
+"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0":
+  version: 1.1.0
+  resolution: "picocolors@npm:1.1.0"
+  checksum: 10c2/27768d0467e2e2fb5a4fca14202c142b8f9b984bf5e5e5b3a6cf25c8be473d6ee6cb0cb01522e7cc62007ddd778db55e5fa3be6ea277e25b21451d2b8fe8f0df
   languageName: node
   linkType: hard
 
@@ -6147,6 +5997,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"picomatch@npm:^4.0.2":
+  version: 4.0.2
+  resolution: "picomatch@npm:4.0.2"
+  checksum: 10c2/cfcdbe1795e49c56f87b51c8a28dec791a4bb0e7732142465876975ef868ba4a91d314e91c1521793b0e3e514b535da2ba2d85017f12772766a04121cb9d2e8b
+  languageName: node
+  linkType: hard
+
 "pidtree@npm:~0.6.0":
   version: 0.6.0
   resolution: "pidtree@npm:0.6.0"
@@ -6220,21 +6077,21 @@ __metadata:
   languageName: node
   linkType: hard
 
-"postcss@npm:^8.4.39":
-  version: 8.4.40
-  resolution: "postcss@npm:8.4.40"
+"postcss@npm:^8.4.43":
+  version: 8.4.45
+  resolution: "postcss@npm:8.4.45"
   dependencies:
     nanoid: "npm:^3.3.7"
     picocolors: "npm:^1.0.1"
     source-map-js: "npm:^1.2.0"
-  checksum: 10c2/612130824d3561b4eff1d9739bf8d9a6f27c68a97026201b59d22a847afe8c3a5dfd3feb57c8455aa6aef5a124584edd0b27b355541b8d83a35a4d9e8f473a43
+  checksum: 10c2/f830a1373563517eeee3f623016dc7fd1cbbb820f77b2a0a18878e53064686052500278330d3f804431deb648c71ccffcb1783bc3d48b943aad2da7796e3a6b9
   languageName: node
   linkType: hard
 
-"preact@npm:^10.23.1":
-  version: 10.23.1
-  resolution: "preact@npm:10.23.1"
-  checksum: 10c2/2aa3de4b654d4f7a872356689c0d00deaa7cdde0f438922a6e819668f004b8a89d8a2a82d1f40783c1fc7e038d5f4a953395b898557201bc65ba69df2fd511bb
+"preact@npm:^10.23.2":
+  version: 10.23.2
+  resolution: "preact@npm:10.23.2"
+  checksum: 10c2/dddbb46a2b26ad5db654a926b4772268a4c240a0e8705e9d9beb5275229b5019c755905e729f12ad80f1a17bc111ad30682ca8160e6b0082933fea1bd14d2154
   languageName: node
   linkType: hard
 
@@ -6410,7 +6267,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"read-pkg@npm:^9.0.0":
+"read-pkg@npm:^9.0.1":
   version: 9.0.1
   resolution: "read-pkg@npm:9.0.1"
   dependencies:
@@ -6570,26 +6427,26 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rollup@npm:^4.13.0":
-  version: 4.17.2
-  resolution: "rollup@npm:4.17.2"
-  dependencies:
-    "@rollup/rollup-android-arm-eabi": "npm:4.17.2"
-    "@rollup/rollup-android-arm64": "npm:4.17.2"
-    "@rollup/rollup-darwin-arm64": "npm:4.17.2"
-    "@rollup/rollup-darwin-x64": "npm:4.17.2"
-    "@rollup/rollup-linux-arm-gnueabihf": "npm:4.17.2"
-    "@rollup/rollup-linux-arm-musleabihf": "npm:4.17.2"
-    "@rollup/rollup-linux-arm64-gnu": "npm:4.17.2"
-    "@rollup/rollup-linux-arm64-musl": "npm:4.17.2"
-    "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.17.2"
-    "@rollup/rollup-linux-riscv64-gnu": "npm:4.17.2"
-    "@rollup/rollup-linux-s390x-gnu": "npm:4.17.2"
-    "@rollup/rollup-linux-x64-gnu": "npm:4.17.2"
-    "@rollup/rollup-linux-x64-musl": "npm:4.17.2"
-    "@rollup/rollup-win32-arm64-msvc": "npm:4.17.2"
-    "@rollup/rollup-win32-ia32-msvc": "npm:4.17.2"
-    "@rollup/rollup-win32-x64-msvc": "npm:4.17.2"
+"rollup@npm:^4.20.0":
+  version: 4.21.2
+  resolution: "rollup@npm:4.21.2"
+  dependencies:
+    "@rollup/rollup-android-arm-eabi": "npm:4.21.2"
+    "@rollup/rollup-android-arm64": "npm:4.21.2"
+    "@rollup/rollup-darwin-arm64": "npm:4.21.2"
+    "@rollup/rollup-darwin-x64": "npm:4.21.2"
+    "@rollup/rollup-linux-arm-gnueabihf": "npm:4.21.2"
+    "@rollup/rollup-linux-arm-musleabihf": "npm:4.21.2"
+    "@rollup/rollup-linux-arm64-gnu": "npm:4.21.2"
+    "@rollup/rollup-linux-arm64-musl": "npm:4.21.2"
+    "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.21.2"
+    "@rollup/rollup-linux-riscv64-gnu": "npm:4.21.2"
+    "@rollup/rollup-linux-s390x-gnu": "npm:4.21.2"
+    "@rollup/rollup-linux-x64-gnu": "npm:4.21.2"
+    "@rollup/rollup-linux-x64-musl": "npm:4.21.2"
+    "@rollup/rollup-win32-arm64-msvc": "npm:4.21.2"
+    "@rollup/rollup-win32-ia32-msvc": "npm:4.21.2"
+    "@rollup/rollup-win32-x64-msvc": "npm:4.21.2"
     "@types/estree": "npm:1.0.5"
     fsevents: "npm:~2.3.2"
   dependenciesMeta:
@@ -6629,14 +6486,7 @@ __metadata:
       optional: true
   bin:
     rollup: dist/bin/rollup
-  checksum: 10c2/dd897dd46dcdb6f737c7279fa9c11505b839b8591f7c7e106c0b1ec2d7fb2743ffd696db63f5b6798b62532120bec8c641ade2e30386caff4f60e1aa71f45e27
-  languageName: node
-  linkType: hard
-
-"run-async@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "run-async@npm:3.0.0"
-  checksum: 10c2/46336ff769b679f7ba7706aac4290f692411e3e23ebd29e987b7dd36d533a15a7a1042ae2e529c4a0cde14f88f6ac33ee2649134d65061d1051d5b2bd2c957b6
+  checksum: 10c2/82df3fa0487943cec49826a155129366363ae610b606f705151ee71d0a9e0598f2e93d8d324c5395a42839cb1e5340848c572f74250eb554ccb2557a07fa8d15
   languageName: node
   linkType: hard
 
@@ -6649,15 +6499,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rxjs@npm:^7.8.1":
-  version: 7.8.1
-  resolution: "rxjs@npm:7.8.1"
-  dependencies:
-    tslib: "npm:^2.1.0"
-  checksum: 10c2/c8155815078bacf01866507f603833503781d9671b05a6e9d5b766268375ed8c7fbce53d76cf81957ce6d3417189f0a5a7e44805c2075d08ef91caabe7e2fb31
-  languageName: node
-  linkType: hard
-
 "safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1":
   version: 5.1.2
   resolution: "safe-buffer@npm:5.1.2"
@@ -6688,7 +6529,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
   version: 2.1.2
   resolution: "safer-buffer@npm:2.1.2"
   checksum: 10c2/0c94d2827173f52c4eb29f36cefb0dc7338143e79a62f59ed1334dfffb53cc4f904a72e5992665edda5f69172545c14fa6a119c94c687c5ae7a6dcaaa5d80142
@@ -6711,7 +6552,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2":
+"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3":
   version: 7.6.3
   resolution: "semver@npm:7.6.3"
   bin:
@@ -6766,7 +6607,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2":
+"signal-exit@npm:^3.0.0":
   version: 3.0.7
   resolution: "signal-exit@npm:3.0.7"
   checksum: 10c2/b11e66c965e33c1b6cab5cf44b4028a24b296a1176e0b914ac2a8f0287340b9899bc2dfcaaae8a5a816a5618d0655c911400c168658147d3bd0d7211f6d902a6
@@ -6794,13 +6635,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"slash@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "slash@npm:3.0.0"
-  checksum: 10c2/7677f0f9aa3b9241728948198810eaa2409ca0d00a4b1f3673f78c17d5d47906691f6ed0a8c345cb4e016bec7f2e4b829ea6a8ccecb0b500d29ca6395690faa5
-  languageName: node
-  linkType: hard
-
 "slash@npm:^5.1.0":
   version: 5.1.0
   resolution: "slash@npm:5.1.0"
@@ -7220,15 +7054,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tmp@npm:^0.0.33":
-  version: 0.0.33
-  resolution: "tmp@npm:0.0.33"
-  dependencies:
-    os-tmpdir: "npm:~1.0.2"
-  checksum: 10c2/6235489d2533aa5b1011b594ff3822557976829916ea3b6f575ee59be5216fa4f0458ec62c802ead8906e38abf56b501d414fef150a64179ed553e894642cb53
-  languageName: node
-  linkType: hard
-
 "to-fast-properties@npm:^2.0.0":
   version: 2.0.0
   resolution: "to-fast-properties@npm:2.0.0"
@@ -7306,13 +7131,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tslib@npm:^2.1.0":
-  version: 2.6.2
-  resolution: "tslib@npm:2.6.2"
-  checksum: 10c2/69a44b51439d1b9330b7a63c37081f379e73fa94412db2f80cebd15ac5a8981ebff180c8a5181ce3a9a50ab42cce1508b035e27d2593960e7ea3ef914155d70d
-  languageName: node
-  linkType: hard
-
 "tuf-js@npm:^2.2.0":
   version: 2.2.0
   resolution: "tuf-js@npm:2.2.0"
@@ -7354,35 +7172,24 @@ __metadata:
   languageName: node
   linkType: hard
 
-"type-fest@npm:^4.2.0, type-fest@npm:^4.6.0, type-fest@npm:^4.7.1":
-  version: 4.18.2
-  resolution: "type-fest@npm:4.18.2"
-  checksum: 10c2/74884a330d9b1a256efc8d46b5bcfa5eba3f26ad4927aa1115c9b003600139ca3ed2ad20e0fd70a4807719bd9736751f4a3d0c99996d65a55e0d34544deea684
+"type-fest@npm:^4.2.0, type-fest@npm:^4.23.0, type-fest@npm:^4.6.0, type-fest@npm:^4.7.1":
+  version: 4.26.0
+  resolution: "type-fest@npm:4.26.0"
+  checksum: 10c2/2960526710970b926012a57f3789d16daf2c0e7f3d9b303946e77fd4ea3ae4a5fb5d4e5d1641a709db31e0dfe3bd78c00f281cfa6a149d4b655b1e6b48509f52
   languageName: node
   linkType: hard
 
-"typedarray-to-buffer@npm:^3.1.5":
-  version: 3.1.5
-  resolution: "typedarray-to-buffer@npm:3.1.5"
+"typescript-eslint@npm:^8.4.0":
+  version: 8.4.0
+  resolution: "typescript-eslint@npm:8.4.0"
   dependencies:
-    is-typedarray: "npm:^1.0.0"
-  checksum: 10c2/5fe91adc4fe889c25e93a026d92d7b0bb1040c2d3f99dce19f18210c67a51030d1b28bf0da3a3c8009cde8c916c4cc629ddbaa4c77830452849798ac6496439c
-  languageName: node
-  linkType: hard
-
-"typescript-eslint@npm:^7.18.0":
-  version: 7.18.0
-  resolution: "typescript-eslint@npm:7.18.0"
-  dependencies:
-    "@typescript-eslint/eslint-plugin": "npm:7.18.0"
-    "@typescript-eslint/parser": "npm:7.18.0"
-    "@typescript-eslint/utils": "npm:7.18.0"
-  peerDependencies:
-    eslint: ^8.56.0
+    "@typescript-eslint/eslint-plugin": "npm:8.4.0"
+    "@typescript-eslint/parser": "npm:8.4.0"
+    "@typescript-eslint/utils": "npm:8.4.0"
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10c2/77b10f80ae1168baab11f154330f901e5906cafd052adc560b64eaef9c93958baf8cf72a50fe346365f0fed006bc5e2afc0583f682aab8258d21be71ee50c733
+  checksum: 10c2/24d0742bb61de78c4fa21fa4918f78c857f867c7d4b89beeacdd118ff02ee3c37276ea63f09490da7ae37e1fd97db4625e11f1103bb3936addf0f742f125c78d
   languageName: node
   linkType: hard
 
@@ -7415,10 +7222,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"undici-types@npm:~6.11.1":
-  version: 6.11.1
-  resolution: "undici-types@npm:6.11.1"
-  checksum: 10c2/3e1e2be6f67f1121efecb9e17171b07b98cdaffacaaf3bf618e549618d5bc5477368bf962b1cfce89c5b7e20461f70677e2faf8950c3988464af5138b7469e3a
+"undici-types@npm:~6.19.2":
+  version: 6.19.8
+  resolution: "undici-types@npm:6.19.8"
+  checksum: 10c2/d9004dd49debee7310be3922c74caeb1163e60c2c7b1d270e47063096f9c061f521ba5fca615a4e2c70c25bfff9e4ffbda1d0b4c33a16554de2bee06db45e39a
   languageName: node
   linkType: hard
 
@@ -7559,19 +7366,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"vite@npm:^5.0.0, vite@npm:^5.3.5":
-  version: 5.3.5
-  resolution: "vite@npm:5.3.5"
+"vite@npm:^5.0.0, vite@npm:^5.4.3":
+  version: 5.4.3
+  resolution: "vite@npm:5.4.3"
   dependencies:
     esbuild: "npm:^0.21.3"
     fsevents: "npm:~2.3.3"
-    postcss: "npm:^8.4.39"
-    rollup: "npm:^4.13.0"
+    postcss: "npm:^8.4.43"
+    rollup: "npm:^4.20.0"
   peerDependencies:
     "@types/node": ^18.0.0 || >=20.0.0
     less: "*"
     lightningcss: ^1.21.0
     sass: "*"
+    sass-embedded: "*"
     stylus: "*"
     sugarss: "*"
     terser: ^5.4.0
@@ -7587,6 +7395,8 @@ __metadata:
       optional: true
     sass:
       optional: true
+    sass-embedded:
+      optional: true
     stylus:
       optional: true
     sugarss:
@@ -7595,7 +7405,7 @@ __metadata:
       optional: true
   bin:
     vite: bin/vite.js
-  checksum: 10c2/fb730f16099f50f9a41bc079357fd4c6bd0c2de965bfbb3379fec4b25f73eca1ae35abc4a7fa1283912dcfc0fa89849b0340e176ec14a390e0e67f4a73d05d95
+  checksum: 10c2/d47d25480d1b171c384c3200165e137750e5595b20e7795787a55c6146bf89b2fa1ba12f61c1032f5f4012f1338b54e413997e9e51c83bdee4446556086c9fd2
   languageName: node
   linkType: hard
 
@@ -7772,18 +7582,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"write-file-atomic@npm:^3.0.3":
-  version: 3.0.3
-  resolution: "write-file-atomic@npm:3.0.3"
-  dependencies:
-    imurmurhash: "npm:^0.1.4"
-    is-typedarray: "npm:^1.0.0"
-    signal-exit: "npm:^3.0.2"
-    typedarray-to-buffer: "npm:^3.1.5"
-  checksum: 10c2/2593dcaadf0b8135b5f84271e472d8cfd1368551e9cd902938f3e5abea92182f4598c658aab17f1e69ec24bcbc28db695726c6b1f843ca3f6adcb54edbf97876
-  languageName: node
-  linkType: hard
-
 "write-file-atomic@npm:^5.0.0, write-file-atomic@npm:^5.0.1":
   version: 5.0.1
   resolution: "write-file-atomic@npm:5.0.1"
@@ -7794,28 +7592,28 @@ __metadata:
   languageName: node
   linkType: hard
 
-"write-json-file@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "write-json-file@npm:5.0.0"
+"write-json-file@npm:^6.0.0":
+  version: 6.0.0
+  resolution: "write-json-file@npm:6.0.0"
   dependencies:
-    detect-indent: "npm:^7.0.0"
-    is-plain-obj: "npm:^4.0.0"
+    detect-indent: "npm:^7.0.1"
+    is-plain-obj: "npm:^4.1.0"
     sort-keys: "npm:^5.0.0"
-    write-file-atomic: "npm:^3.0.3"
-  checksum: 10c2/aaa5ece190178cacb411fc235db5bcec6ceef0bfca1339acc19cc38280b3e19228a9b0062221958397d6bb5a23052767ea02bf87612babc1a38e8b3ffa3f1fa4
+    write-file-atomic: "npm:^5.0.1"
+  checksum: 10c2/3425d7612a5b7351cb8e9ebd6b3856b26e33b61b2b3b9222f7625221eaa2cab3fc2a4b4d5f6672aab7a06243f46435f65ef8b463e49b16ff9416c5401a5b31f3
   languageName: node
   linkType: hard
 
-"write-package@npm:^7.0.1":
-  version: 7.0.1
-  resolution: "write-package@npm:7.0.1"
+"write-package@npm:^7.1.0":
+  version: 7.1.0
+  resolution: "write-package@npm:7.1.0"
   dependencies:
-    deepmerge-ts: "npm:^5.1.0"
-    read-pkg: "npm:^9.0.0"
+    deepmerge-ts: "npm:^7.1.0"
+    read-pkg: "npm:^9.0.1"
     sort-keys: "npm:^5.0.0"
-    type-fest: "npm:^4.6.0"
-    write-json-file: "npm:^5.0.0"
-  checksum: 10c2/92f3d450ba6c8236745b5d132c47c7d2c79453ac4526ba7cc6613175b752b5f0f5a6f23b1edf7bcff6ce45cd7e4daa83668996542d4a58715f80e4212c1e171e
+    type-fest: "npm:^4.23.0"
+    write-json-file: "npm:^6.0.0"
+  checksum: 10c2/393f731647300183c143a33f687bdb732012f5c642e5b8d9005c0d2c81e50f63b7b26359f70deb482be75aea1eaafd55dfefa19efddef3538c7b9ffba57a546f
   languageName: node
   linkType: hard
 
@@ -7840,12 +7638,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"yaml@npm:~2.4.2":
-  version: 2.4.5
-  resolution: "yaml@npm:2.4.5"
+"yaml@npm:~2.5.0":
+  version: 2.5.1
+  resolution: "yaml@npm:2.5.1"
   bin:
     yaml: bin.mjs
-  checksum: 10c2/af2849f0c6664bbf57719bd6d8ac85358ac31d35e214701ae0b2b121d325144f55b295cc4f45d218d2a0791bc7c494619aa296b1d6f8a4c25c24abe2232395df
+  checksum: 10c2/e99db9fce6ec76943ee2ac9b762b1e3458a8f5773dc89d54c6fe8dc4c27f7c0b34c614d5bed8724c6f0a128c3df22e18ec42aac3364216b299a2b93564448b08
   languageName: node
   linkType: hard