Browse Source

Type-check build scripts and enable `no-explicit-any` (#1627)

pull/1635/head
Paweł Kuna 6 days ago
committed by GitHub
parent
commit
1b68ba3613
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 27
      .build/changelog-commit.mjs
  2. 27
      .build/changelog.mjs
  3. 6
      .build/helpers.mjs
  4. 18
      .build/tsconfig.json
  5. 3
      .github/workflows/build.yml
  6. 17
      eslint.config.mjs
  7. 2
      package.json
  8. 1
      packages/icons-angular/build.mjs
  9. 2
      packages/icons-astro/src/createTablerIcon.ts
  10. 6
      packages/icons-astro/src/types.ts
  11. 2
      packages/icons-preact/src/createPreactComponent.ts
  12. 4
      packages/icons-svelte-runes/src/Icon.svelte
  13. 2
      packages/icons-svelte/src/Icon.svelte
  14. 2
      packages/icons-svelte/src/types.ts
  15. 4
      packages/icons-webfont/.build/utilities.mjs
  16. 363
      pnpm-lock.yaml

27
.build/changelog-commit.mjs

@ -2,28 +2,15 @@ import cp from 'child_process';
import { printChangelog } from './helpers.mjs'; import { printChangelog } from './helpers.mjs';
cp.exec('git status', function (err, ret) { cp.exec('git status', function (err, ret) {
let newIcons = [], const newIcons = [...ret.matchAll(/new file:\s+icons\/([a-z0-9-/]+)\.svg/g)].map((m) => m[1]);
modifiedIcons = [],
renamedIcons = [];
ret.replace(/new file:\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) { const modifiedIcons = [...ret.matchAll(/modified:\s+icons\/([a-z0-9-/]+)\.svg/g)]
newIcons.push(fileName); .map((m) => m[1])
}); .filter((icon) => !newIcons.includes(icon));
ret.replace(/modified:\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) { const renamedIcons = [
modifiedIcons.push(fileName); ...ret.matchAll(/renamed:\s+icons\/([a-z0-9-/]+).svg -> icons\/([a-z0-9-/]+).svg/g),
}); ].map((m) => [m[1], m[2]]);
ret.replace(
/renamed:\s+icons\/([a-z0-9-/]+).svg -> icons\/([a-z0-9-/]+).svg/g,
function (m, fileNameBefore, fileNameAfter) {
renamedIcons.push([fileNameBefore, fileNameAfter]);
},
);
modifiedIcons = modifiedIcons.filter(function (el) {
return newIcons.indexOf(el) < 0;
});
printChangelog(newIcons, modifiedIcons, renamedIcons); printChangelog(newIcons, modifiedIcons, renamedIcons);
}); });

27
.build/changelog.mjs

@ -6,28 +6,15 @@ const p = getPackageJson(),
if (version) { if (version) {
cp.exec(`git diff ${version} HEAD --name-status ./icons`, function (err, ret) { cp.exec(`git diff ${version} HEAD --name-status ./icons`, function (err, ret) {
let newIcons = [], const newIcons = [...ret.matchAll(/A\s+icons\/([a-z0-9-/]+)\.svg/g)].map((m) => m[1]);
modifiedIcons = [],
renamedIcons = [];
ret.replace(/A\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) { const modifiedIcons = [...ret.matchAll(/M\s+icons\/([a-z0-9-/]+)\.svg/g)]
newIcons.push(fileName); .map((m) => m[1])
}); .filter((icon) => !newIcons.includes(icon));
ret.replace(/M\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) { const renamedIcons = [
modifiedIcons.push(fileName); ...ret.matchAll(/R[0-9]+\s+icons\/([a-z0-9-/]+)\.svg\s+icons\/([a-z0-9-/]+).svg/g),
}); ].map((m) => [m[1], m[2]]);
ret.replace(
/R[0-9]+\s+icons\/([a-z0-9-/]+)\.svg\s+icons\/([a-z0-9-/]+).svg/g,
function (m, fileNameBefore, fileNameAfter) {
renamedIcons.push([fileNameBefore, fileNameAfter]);
},
);
modifiedIcons = modifiedIcons.filter(function (el) {
return newIcons.indexOf(el) < 0;
});
printChangelog(newIcons, modifiedIcons, renamedIcons, true); printChangelog(newIcons, modifiedIcons, renamedIcons, true);
}); });

6
.build/helpers.mjs

@ -100,7 +100,7 @@ export const PACKAGES_DIR = resolve(HOME_DIR, 'packages');
export const GITHUB_DIR = resolve(HOME_DIR, '.github'); export const GITHUB_DIR = resolve(HOME_DIR, '.github');
export const parseMatter = (icon) => { export const parseMatter = (icon) => {
const { data, content } = matter.read(icon, { delims: ['<!--', '-->'] }); const { data, content } = matter.read(icon, { delimiters: ['<!--', '-->'] });
return { data, content }; return { data, content };
}; };
@ -270,7 +270,9 @@ const CLOSE_PATH_EPSILON = 0.001;
// already ends there — otherwise it is replaced with an explicit line to keep // already ends there — otherwise it is replaced with an explicit line to keep
// the geometry identical (with round caps/joins both render the same). // the geometry identical (with round caps/joins both render the same).
export const removeClosePath = (d) => { export const removeClosePath = (d) => {
const path = svgpath(d).abs().unshort(); // `segments` is not part of svgpath's public typings
/** @type {ReturnType<typeof svgpath> & { segments: any[][] }} */
const path = /** @type {any} */ (svgpath(d).abs().unshort());
let cx = 0, let cx = 0,
cy = 0, cy = 0,

18
.build/tsconfig.json

@ -0,0 +1,18 @@
{
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"noEmit": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"skipLibCheck": true,
"types": ["node"]
},
"include": [
"./*.mjs",
"../packages/*/build.mjs",
"../packages/icons-solidjs/build.js",
"../packages/icons-webfont/.build/*.mjs"
]
}

3
.github/workflows/build.yml

@ -48,6 +48,9 @@ jobs:
- name: Check formatting - name: Check formatting
run: pnpm run format:check run: pnpm run format:check
- name: Type-check build scripts
run: pnpm run typecheck:build
- name: Test build scripts - name: Test build scripts
run: pnpm run test:build run: pnpm run test:build

17
eslint.config.mjs

@ -48,8 +48,6 @@ export default tseslint.config(
globals: { ...globals.node, ...globals.browser }, globals: { ...globals.node, ...globals.browser },
}, },
rules: { rules: {
// the public icon types are intentionally loose
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': [ '@typescript-eslint/no-unused-vars': [
'error', 'error',
{ {
@ -61,6 +59,21 @@ export default tseslint.config(
], ],
}, },
}, },
{
// icon nodes are a static list, so the each block does not need a key;
// configured here because these files are published as they are
files: ['packages/icons-svelte*/src/Icon.svelte'],
rules: {
'svelte/require-each-key': 'off',
},
},
{
// tests pass deliberately invalid values and loosely typed fixtures
files: ['**/*.spec.{ts,tsx}', '**/vitest-setup.d.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
{ {
files: ['**/karma.conf.js'], files: ['**/karma.conf.js'],
rules: { rules: {

2
package.json

@ -26,6 +26,7 @@
"update:icons": "node ./.build/update-icons.mjs", "update:icons": "node ./.build/update-icons.mjs",
"optimize": "node ./.build/optimize.mjs", "optimize": "node ./.build/optimize.mjs",
"test:build": "node --test ./.build/optimize.test.mjs", "test:build": "node --test ./.build/optimize.test.mjs",
"typecheck:build": "tsc -p .build/tsconfig.json",
"import": "node ./.build/import.mjs && pnpm run optimize", "import": "node ./.build/import.mjs && pnpm run optimize",
"import-tags": "node ./.build/import-tags.mjs", "import-tags": "node ./.build/import-tags.mjs",
"import-categories": "node ./.build/import-categories.mjs", "import-categories": "node ./.build/import-categories.mjs",
@ -60,6 +61,7 @@
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@rollup/plugin-node-resolve": "catalog:", "@rollup/plugin-node-resolve": "catalog:",
"@testing-library/jest-dom": "catalog:", "@testing-library/jest-dom": "catalog:",
"@types/node": "^20.19.43",
"adm-zip": "^0.6.1", "adm-zip": "^0.6.1",
"astro": "catalog:", "astro": "catalog:",
"esbuild": "^0.28.2", "esbuild": "^0.28.2",

1
packages/icons-angular/build.mjs

@ -28,5 +28,4 @@ buildJsIcons({
indexFile: 'index.ts', indexFile: 'index.ts',
pascalCase: true, pascalCase: true,
extension: 'ts', extension: 'ts',
pretty: false,
}); });

2
packages/icons-astro/src/createTablerIcon.ts

@ -32,7 +32,7 @@ const createTablerIcon = (
.join(''); .join('');
return createComponent( return createComponent(
(result: any, props: IconProps, slots: any) => { (result, props: IconProps, slots) => {
const { const {
size = 24, size = 24,
color, color,

6
packages/icons-astro/src/types.ts

@ -2,7 +2,7 @@ export type IconNode = [elementName: string, attrs: Record<string, string | numb
export type SVGAttributes = Record<string, string | number | boolean | undefined>; export type SVGAttributes = Record<string, string | number | boolean | undefined>;
export interface IconProps extends Record<string, any> { export interface IconProps extends Record<string, unknown> {
size?: string | number; size?: string | number;
color?: string; color?: string;
stroke?: string | number; stroke?: string | number;
@ -14,7 +14,11 @@ export interface IconProps extends Record<string, any> {
/** /**
* Structural type for an Astro component factory. The runtime marker * Structural type for an Astro component factory. The runtime marker
* `isAstroComponentFactory` is attached by Astro's `createComponent`. * `isAstroComponentFactory` is attached by Astro's `createComponent`.
*
* `any` is deliberate: the type has to stay assignable to Astro's own factory
* type without importing Astro's internal runtime types.
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export type AstroComponent = ((result: any, props: IconProps, slots: any) => any) & { export type AstroComponent = ((result: any, props: IconProps, slots: any) => any) & {
isAstroComponentFactory: true; isAstroComponentFactory: true;
}; };

2
packages/icons-preact/src/createPreactComponent.ts

@ -20,7 +20,7 @@ const createPreactComponent = (
...rest ...rest
}: IconProps) => }: IconProps) =>
h( h(
'svg' as any, 'svg',
{ {
...defaultAttributes[type], ...defaultAttributes[type],
width: String(size), width: String(size),

4
packages/icons-svelte-runes/src/Icon.svelte

@ -12,7 +12,7 @@
iconNode: IconNode; iconNode: IconNode;
class?: string; class?: string;
children?: Snippet; children?: Snippet;
[key: string]: any; // For rest props [key: string]: unknown; // For rest props
} }
let { let {
@ -44,8 +44,6 @@
class={fullClassName} class={fullClassName}
{...typeAttributes} {...typeAttributes}
> >
<!-- icon nodes are a static list, so the each block does not need a key -->
<!-- eslint-disable-next-line svelte/require-each-key -->
{#each iconNode as [tag, attrs]} {#each iconNode as [tag, attrs]}
<svelte:element this={tag} {...attrs} /> <svelte:element this={tag} {...attrs} />
{/each} {/each}

2
packages/icons-svelte/src/Icon.svelte

@ -25,8 +25,6 @@
stroke: color, stroke: color,
}} }}
> >
<!-- icon nodes are a static list, so the each block does not need a key -->
<!-- eslint-disable-next-line svelte/require-each-key -->
{#each iconNode as [tag, attrs]} {#each iconNode as [tag, attrs]}
<svelte:element this={tag} {...attrs} /> <svelte:element this={tag} {...attrs} />
{/each} {/each}

2
packages/icons-svelte/src/types.ts

@ -13,6 +13,8 @@ export interface IconProps extends Attrs {
} }
type IconEvents = { type IconEvents = {
// matches the default events type of `SvelteComponent`
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[evt: string]: CustomEvent<any>; [evt: string]: CustomEvent<any>;
}; };

4
packages/icons-webfont/.build/utilities.mjs

@ -27,13 +27,13 @@ function template(templateString) {
} }
/** /**
* @typedef {stream.Readable & { metadata?: { unicode: string[], name: string } }} Svgicons2svgfontStream * @typedef {import('node:stream').Readable & { metadata?: { unicode: string[], name: string } }} Svgicons2svgfontStream
*/ */
/** /**
* *
* @param name {string} name * @param name {string} name
* @return {import('svgicons2svgfont').FileMetadata} * @return {{ unicode: string[], name: string }}
*/ */
function getMetadataFromSvgName(name) { function getMetadataFromSvgName(name) {
// we process uUnicode-Name.svg // we process uUnicode-Name.svg

363
pnpm-lock.yaml

@ -91,13 +91,16 @@ importers:
version: 16.0.3(rollup@4.63.5) version: 16.0.3(rollup@4.63.5)
'@testing-library/jest-dom': '@testing-library/jest-dom':
specifier: 'catalog:' specifier: 'catalog:'
version: 7.0.1(@testing-library/dom@10.4.2)(vitest@5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))) version: 7.0.1(@testing-library/dom@10.4.2)(vitest@5.0.2(@types/node@20.19.43)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)))
'@types/node':
specifier: ^20.19.43
version: 20.19.43
adm-zip: adm-zip:
specifier: ^0.6.1 specifier: ^0.6.1
version: 0.6.1 version: 0.6.1
astro: astro:
specifier: 'catalog:' specifier: 'catalog:'
version: 7.3.5(@types/node@26.6.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1) version: 7.3.5(@types/node@20.19.43)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
esbuild: esbuild:
specifier: ^0.28.2 specifier: ^0.28.2
version: 0.28.2 version: 0.28.2
@ -145,7 +148,7 @@ importers:
version: 3.9.9 version: 3.9.9
release-it: release-it:
specifier: 21.1.0 specifier: 21.1.0
version: 21.1.0(@types/node@26.6.2)(magicast@0.5.5) version: 21.1.0(@types/node@20.19.43)(magicast@0.5.5)
rollup: rollup:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.63.5 version: 4.63.5
@ -190,10 +193,10 @@ importers:
version: 8.70.1(eslint@10.11.0(jiti@2.7.0))(typescript@5.9.3) version: 8.70.1(eslint@10.11.0(jiti@2.7.0))(typescript@5.9.3)
vite: vite:
specifier: 'catalog:' specifier: 'catalog:'
version: 8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1) version: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
vitest: vitest:
specifier: 'catalog:' specifier: 'catalog:'
version: 5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)) version: 5.0.2(@types/node@20.19.43)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))
packages/icons: {} packages/icons: {}
@ -12399,14 +12402,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/checkbox@5.2.5(@types/node@26.6.2)': '@inquirer/checkbox@5.2.5(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.8 '@inquirer/ansi': 2.0.8
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/figures': 2.0.9 '@inquirer/figures': 2.0.9
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/confirm@5.1.21(@types/node@20.19.43)': '@inquirer/confirm@5.1.21(@types/node@20.19.43)':
dependencies: dependencies:
@ -12422,12 +12425,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/confirm@6.3.2(@types/node@26.6.2)': '@inquirer/confirm@6.3.2(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/core@10.3.2(@types/node@20.19.43)': '@inquirer/core@10.3.2(@types/node@20.19.43)':
dependencies: dependencies:
@ -12455,17 +12458,17 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/core@12.0.3(@types/node@26.6.2)': '@inquirer/core@12.0.3(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.8 '@inquirer/ansi': 2.0.8
'@inquirer/figures': 2.0.9 '@inquirer/figures': 2.0.9
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
cli-width: 4.1.0 cli-width: 4.1.0
fast-wrap-ansi: 0.2.2 fast-wrap-ansi: 0.2.2
mute-stream: 3.0.0 mute-stream: 3.0.0
signal-exit: 4.1.0 signal-exit: 4.1.0
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/editor@4.2.23(@types/node@20.19.43)': '@inquirer/editor@4.2.23(@types/node@20.19.43)':
dependencies: dependencies:
@ -12483,13 +12486,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/editor@5.3.3(@types/node@26.6.2)': '@inquirer/editor@5.3.3(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/external-editor': 3.0.5(@types/node@26.6.2) '@inquirer/external-editor': 3.0.5(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/expand@4.0.23(@types/node@20.19.43)': '@inquirer/expand@4.0.23(@types/node@20.19.43)':
dependencies: dependencies:
@ -12507,12 +12510,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/expand@5.1.5(@types/node@26.6.2)': '@inquirer/expand@5.1.5(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/external-editor@1.0.3(@types/node@20.19.43)': '@inquirer/external-editor@1.0.3(@types/node@20.19.43)':
dependencies: dependencies:
@ -12528,12 +12531,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/external-editor@3.0.5(@types/node@26.6.2)': '@inquirer/external-editor@3.0.5(@types/node@20.19.43)':
dependencies: dependencies:
chardet: 2.2.0 chardet: 2.2.0
iconv-lite: 0.7.3 iconv-lite: 0.7.3
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/figures@1.0.15': {} '@inquirer/figures@1.0.15': {}
@ -12553,12 +12556,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/input@5.1.6(@types/node@26.6.2)': '@inquirer/input@5.1.6(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/number@3.0.23(@types/node@20.19.43)': '@inquirer/number@3.0.23(@types/node@20.19.43)':
dependencies: dependencies:
@ -12574,12 +12577,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/number@4.2.3(@types/node@26.6.2)': '@inquirer/number@4.2.3(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/password@4.0.23(@types/node@20.19.43)': '@inquirer/password@4.0.23(@types/node@20.19.43)':
dependencies: dependencies:
@ -12597,13 +12600,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/password@5.2.2(@types/node@26.6.2)': '@inquirer/password@5.2.2(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.8 '@inquirer/ansi': 2.0.8
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/prompts@7.10.1(@types/node@20.19.43)': '@inquirer/prompts@7.10.1(@types/node@20.19.43)':
dependencies: dependencies:
@ -12635,20 +12638,20 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/prompts@8.7.2(@types/node@26.6.2)': '@inquirer/prompts@8.7.2(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/checkbox': 5.2.5(@types/node@26.6.2) '@inquirer/checkbox': 5.2.5(@types/node@20.19.43)
'@inquirer/confirm': 6.3.2(@types/node@26.6.2) '@inquirer/confirm': 6.3.2(@types/node@20.19.43)
'@inquirer/editor': 5.3.3(@types/node@26.6.2) '@inquirer/editor': 5.3.3(@types/node@20.19.43)
'@inquirer/expand': 5.1.5(@types/node@26.6.2) '@inquirer/expand': 5.1.5(@types/node@20.19.43)
'@inquirer/input': 5.1.6(@types/node@26.6.2) '@inquirer/input': 5.1.6(@types/node@20.19.43)
'@inquirer/number': 4.2.3(@types/node@26.6.2) '@inquirer/number': 4.2.3(@types/node@20.19.43)
'@inquirer/password': 5.2.2(@types/node@26.6.2) '@inquirer/password': 5.2.2(@types/node@20.19.43)
'@inquirer/rawlist': 5.3.5(@types/node@26.6.2) '@inquirer/rawlist': 5.3.5(@types/node@20.19.43)
'@inquirer/search': 4.3.3(@types/node@26.6.2) '@inquirer/search': 4.3.3(@types/node@20.19.43)
'@inquirer/select': 5.2.5(@types/node@26.6.2) '@inquirer/select': 5.2.5(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/rawlist@4.1.11(@types/node@20.19.43)': '@inquirer/rawlist@4.1.11(@types/node@20.19.43)':
dependencies: dependencies:
@ -12666,12 +12669,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/rawlist@5.3.5(@types/node@26.6.2)': '@inquirer/rawlist@5.3.5(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/search@3.2.2(@types/node@20.19.43)': '@inquirer/search@3.2.2(@types/node@20.19.43)':
dependencies: dependencies:
@ -12691,13 +12694,13 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/search@4.3.3(@types/node@26.6.2)': '@inquirer/search@4.3.3(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/figures': 2.0.9 '@inquirer/figures': 2.0.9
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/select@4.4.2(@types/node@20.19.43)': '@inquirer/select@4.4.2(@types/node@20.19.43)':
dependencies: dependencies:
@ -12719,14 +12722,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/select@5.2.5(@types/node@26.6.2)': '@inquirer/select@5.2.5(@types/node@20.19.43)':
dependencies: dependencies:
'@inquirer/ansi': 2.0.8 '@inquirer/ansi': 2.0.8
'@inquirer/core': 12.0.3(@types/node@26.6.2) '@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/figures': 2.0.9 '@inquirer/figures': 2.0.9
'@inquirer/type': 4.1.1(@types/node@26.6.2) '@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@inquirer/type@3.0.10(@types/node@20.19.43)': '@inquirer/type@3.0.10(@types/node@20.19.43)':
optionalDependencies: optionalDependencies:
@ -12736,9 +12739,9 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 26.6.2
'@inquirer/type@4.1.1(@types/node@26.6.2)': '@inquirer/type@4.1.1(@types/node@20.19.43)':
optionalDependencies: optionalDependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
dependencies: dependencies:
@ -12756,14 +12759,14 @@ snapshots:
dependencies: dependencies:
'@jest/fake-timers': 29.7.0 '@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3 '@jest/types': 29.6.3
'@types/node': 26.6.2 '@types/node': 20.19.43
jest-mock: 29.7.0 jest-mock: 29.7.0
'@jest/fake-timers@29.7.0': '@jest/fake-timers@29.7.0':
dependencies: dependencies:
'@jest/types': 29.6.3 '@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0 '@sinonjs/fake-timers': 10.3.0
'@types/node': 26.6.2 '@types/node': 20.19.43
jest-message-util: 29.7.0 jest-message-util: 29.7.0
jest-mock: 29.7.0 jest-mock: 29.7.0
jest-util: 29.7.0 jest-util: 29.7.0
@ -12776,7 +12779,7 @@ snapshots:
dependencies: dependencies:
'@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4 '@types/istanbul-reports': 3.0.4
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/yargs': 15.0.20 '@types/yargs': 15.0.20
chalk: 4.1.2 chalk: 4.1.2
@ -12785,7 +12788,7 @@ snapshots:
'@jest/schemas': 29.6.3 '@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4 '@types/istanbul-reports': 3.0.4
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/yargs': 17.0.35 '@types/yargs': 17.0.35
chalk: 4.1.2 chalk: 4.1.2
@ -14265,6 +14268,18 @@ snapshots:
lz-string: 1.5.0 lz-string: 1.5.0
pretty-format: 27.5.1 pretty-format: 27.5.1
'@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.2)(vitest@5.0.2(@types/node@20.19.43)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)))':
dependencies:
'@adobe/css-tools': 4.5.0
'@testing-library/dom': 10.4.2
aria-query: 5.3.2
css.escape: 1.5.1
dom-accessibility-api: 0.6.3
picocolors: 1.1.1
redent: 3.0.0
optionalDependencies:
vitest: 5.0.2(@types/node@20.19.43)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))
'@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.2)(vitest@5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)))': '@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.2)(vitest@5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)))':
dependencies: dependencies:
'@adobe/css-tools': 4.5.0 '@adobe/css-tools': 4.5.0
@ -14276,6 +14291,7 @@ snapshots:
redent: 3.0.0 redent: 3.0.0
optionalDependencies: optionalDependencies:
vitest: 5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)) vitest: 5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))
optional: true
'@testing-library/preact@3.2.4(preact@10.29.8)': '@testing-library/preact@3.2.4(preact@10.29.8)':
dependencies: dependencies:
@ -14380,11 +14396,11 @@ snapshots:
'@types/body-parser@1.19.6': '@types/body-parser@1.19.6':
dependencies: dependencies:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/bonjour@3.5.13': '@types/bonjour@3.5.13':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/chai@5.2.3': '@types/chai@5.2.3':
dependencies: dependencies:
@ -14394,15 +14410,15 @@ snapshots:
'@types/connect-history-api-fallback@1.5.4': '@types/connect-history-api-fallback@1.5.4':
dependencies: dependencies:
'@types/express-serve-static-core': 4.19.9 '@types/express-serve-static-core': 4.19.9
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/connect@3.4.38': '@types/connect@3.4.38':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/cors@2.8.19': '@types/cors@2.8.19':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/deep-eql@4.0.2': {} '@types/deep-eql@4.0.2': {}
@ -14426,7 +14442,7 @@ snapshots:
'@types/express-serve-static-core@4.19.9': '@types/express-serve-static-core@4.19.9':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/qs': 6.15.1 '@types/qs': 6.15.1
'@types/range-parser': 1.2.7 '@types/range-parser': 1.2.7
'@types/send': 1.2.1 '@types/send': 1.2.1
@ -14446,7 +14462,7 @@ snapshots:
'@types/http-proxy@1.17.17': '@types/http-proxy@1.17.17':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-coverage@2.0.6': {}
@ -14479,6 +14495,7 @@ snapshots:
'@types/node@26.6.2': '@types/node@26.6.2':
dependencies: dependencies:
undici-types: 8.9.0 undici-types: 8.9.0
optional: true
'@types/parse-path@7.1.0': '@types/parse-path@7.1.0':
dependencies: dependencies:
@ -14540,11 +14557,11 @@ snapshots:
'@types/send@0.17.6': '@types/send@0.17.6':
dependencies: dependencies:
'@types/mime': 1.3.5 '@types/mime': 1.3.5
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/serve-index@1.9.4': '@types/serve-index@1.9.4':
dependencies: dependencies:
@ -14553,12 +14570,12 @@ snapshots:
'@types/serve-static@1.15.10': '@types/serve-static@1.15.10':
dependencies: dependencies:
'@types/http-errors': 2.0.5 '@types/http-errors': 2.0.5
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/send': 0.17.6 '@types/send': 0.17.6
'@types/sockjs@0.3.36': '@types/sockjs@0.3.36':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/stack-utils@2.0.3': {} '@types/stack-utils@2.0.3': {}
@ -14566,7 +14583,7 @@ snapshots:
'@types/ws@8.18.1': '@types/ws@8.18.1':
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/yargs-parser@21.0.3': {} '@types/yargs-parser@21.0.3': {}
@ -14718,6 +14735,15 @@ snapshots:
vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1) vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
optional: true optional: true
'@vitest/mocker@5.0.2(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))':
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@vitest/spy': 5.0.2
estree-walker: 3.0.3
magic-string: 1.4.1
optionalDependencies:
vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
'@vitest/mocker@5.0.2(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))': '@vitest/mocker@5.0.2(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))':
dependencies: dependencies:
'@jridgewell/trace-mapping': 0.3.31 '@jridgewell/trace-mapping': 0.3.31
@ -15135,6 +15161,95 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
astro@7.3.5(@types/node@20.19.43)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1):
dependencies:
'@astrojs/compiler-rs': 0.5.1
'@astrojs/internal-helpers': 0.11.0
'@astrojs/markdown-satteri': 0.4.2
'@astrojs/telemetry': 3.3.3
'@capsizecss/unpack': 4.0.1
'@clack/prompts': 1.8.1
'@oslojs/encoding': 1.1.0
am-i-vibing: 0.4.0
aria-query: 5.3.2
axobject-query: 4.1.0
ci-info: 4.4.0
clsx: 2.1.1
common-ancestor-path: 2.0.0
cookie: 2.0.1
devalue: 5.9.4
diff: 9.0.0
dset: 3.1.4
es-module-lexer: 2.3.2
esbuild: 0.28.2
find-proc: 0.2.0
flattie: 1.1.1
fontace: 0.4.1
get-tsconfig: 5.0.0-beta.4
github-slugger: 2.0.0
html-escaper: 3.0.3
http-cache-semantics: 4.2.0
js-yaml: 4.3.2
jsonc-parser: 3.3.1
magic-string: 1.4.1
magicast: 0.5.5
mrmime: 2.0.1
neotraverse: 1.0.1
obug: 3.0.0
p-limit: 7.3.3
p-queue: 9.3.3
package-manager-detector: 1.8.0
piccolore: 0.1.3
picomatch: 4.0.7
shiki: 4.4.3
smol-toml: 1.8.0
svgo: 4.1.0
tinyclip: 1.0.3
tinyexec: 1.3.1
tinyglobby: 0.2.17
ultrahtml: 1.7.0
unifont: 0.7.5
unstorage: 1.17.5
verkit: 0.4.1
vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
vitefu: 1.1.3(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))
xxhash-wasm: 1.1.0
yargs-parser: 22.0.0
zod: 4.6.5
optionalDependencies:
sharp: 0.35.4(@types/node@20.19.43)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@types/node'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/functions'
- '@vercel/kv'
- '@vitejs/devtools'
- aws4fetch
- db0
- idb-keyval
- ioredis
- jiti
- less
- sass
- sass-embedded
- stylus
- sugarss
- terser
- tsx
- uploadthing
- yaml
astro@7.3.5(@types/node@26.6.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1): astro@7.3.5(@types/node@26.6.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1):
dependencies: dependencies:
'@astrojs/compiler-rs': 0.5.1 '@astrojs/compiler-rs': 0.5.1
@ -15561,7 +15676,7 @@ snapshots:
chrome-launcher@0.15.2: chrome-launcher@0.15.2:
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
is-wsl: 2.2.0 is-wsl: 2.2.0
lighthouse-logger: 1.4.2 lighthouse-logger: 1.4.2
@ -15572,7 +15687,7 @@ snapshots:
chromium-edge-launcher@1.0.0: chromium-edge-launcher@1.0.0:
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
is-wsl: 2.2.0 is-wsl: 2.2.0
lighthouse-logger: 1.4.2 lighthouse-logger: 1.4.2
@ -16103,7 +16218,7 @@ snapshots:
engine.io@6.6.10: engine.io@6.6.10:
dependencies: dependencies:
'@types/cors': 2.8.19 '@types/cors': 2.8.19
'@types/node': 26.6.2 '@types/node': 20.19.43
'@types/ws': 8.18.1 '@types/ws': 8.18.1
accepts: 1.3.8 accepts: 1.3.8
cookie: 0.7.2 cookie: 0.7.2
@ -17333,7 +17448,7 @@ snapshots:
'@jest/environment': 29.7.0 '@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0 '@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3 '@jest/types': 29.6.3
'@types/node': 26.6.2 '@types/node': 20.19.43
jest-mock: 29.7.0 jest-mock: 29.7.0
jest-util: 29.7.0 jest-util: 29.7.0
@ -17354,7 +17469,7 @@ snapshots:
jest-mock@29.7.0: jest-mock@29.7.0:
dependencies: dependencies:
'@jest/types': 29.6.3 '@jest/types': 29.6.3
'@types/node': 26.6.2 '@types/node': 20.19.43
jest-util: 29.7.0 jest-util: 29.7.0
jest-serializer-html@7.1.0: jest-serializer-html@7.1.0:
@ -17364,7 +17479,7 @@ snapshots:
jest-util@29.7.0: jest-util@29.7.0:
dependencies: dependencies:
'@jest/types': 29.6.3 '@jest/types': 29.6.3
'@types/node': 26.6.2 '@types/node': 20.19.43
chalk: 4.1.2 chalk: 4.1.2
ci-info: 3.9.0 ci-info: 3.9.0
graceful-fs: 4.2.11 graceful-fs: 4.2.11
@ -17381,13 +17496,13 @@ snapshots:
jest-worker@27.5.1: jest-worker@27.5.1:
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 8.1.1 supports-color: 8.1.1
jest-worker@29.7.0: jest-worker@29.7.0:
dependencies: dependencies:
'@types/node': 26.6.2 '@types/node': 20.19.43
jest-util: 29.7.0 jest-util: 29.7.0
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 8.1.1 supports-color: 8.1.1
@ -19307,9 +19422,9 @@ snapshots:
dependencies: dependencies:
jsesc: 3.1.0 jsesc: 3.1.0
release-it@21.1.0(@types/node@26.6.2)(magicast@0.5.5): release-it@21.1.0(@types/node@20.19.43)(magicast@0.5.5):
dependencies: dependencies:
'@inquirer/prompts': 8.7.2(@types/node@26.6.2) '@inquirer/prompts': 8.7.2(@types/node@20.19.43)
'@octokit/rest': 22.0.1 '@octokit/rest': 22.0.1
'@phun-ky/typeof': 2.0.3 '@phun-ky/typeof': 2.0.3
async-retry: 1.3.3 async-retry: 1.3.3
@ -19812,6 +19927,40 @@ snapshots:
dependencies: dependencies:
kind-of: 6.0.3 kind-of: 6.0.3
sharp@0.35.4(@types/node@20.19.43):
dependencies:
'@img/colour': 1.1.0
detect-libc: 2.1.2
semver: 7.8.5
optionalDependencies:
'@img/sharp-darwin-arm64': 0.35.4
'@img/sharp-darwin-x64': 0.35.4
'@img/sharp-freebsd-wasm32': 0.35.4
'@img/sharp-libvips-darwin-arm64': 1.3.3
'@img/sharp-libvips-darwin-x64': 1.3.3
'@img/sharp-libvips-linux-arm': 1.3.3
'@img/sharp-libvips-linux-arm64': 1.3.3
'@img/sharp-libvips-linux-ppc64': 1.3.3
'@img/sharp-libvips-linux-riscv64': 1.3.3
'@img/sharp-libvips-linux-s390x': 1.3.3
'@img/sharp-libvips-linux-x64': 1.3.3
'@img/sharp-libvips-linuxmusl-arm64': 1.3.3
'@img/sharp-libvips-linuxmusl-x64': 1.3.3
'@img/sharp-linux-arm': 0.35.4
'@img/sharp-linux-arm64': 0.35.4
'@img/sharp-linux-ppc64': 0.35.4
'@img/sharp-linux-riscv64': 0.35.4
'@img/sharp-linux-s390x': 0.35.4
'@img/sharp-linux-x64': 0.35.4
'@img/sharp-linuxmusl-arm64': 0.35.4
'@img/sharp-linuxmusl-x64': 0.35.4
'@img/sharp-webcontainers-wasm32': 0.35.4
'@img/sharp-win32-arm64': 0.35.4
'@img/sharp-win32-ia32': 0.35.4
'@img/sharp-win32-x64': 0.35.4
'@types/node': 20.19.43
optional: true
sharp@0.35.4(@types/node@26.6.2): sharp@0.35.4(@types/node@26.6.2):
dependencies: dependencies:
'@img/colour': 1.1.0 '@img/colour': 1.1.0
@ -20584,7 +20733,8 @@ snapshots:
undici-types@6.21.0: {} undici-types@6.21.0: {}
undici-types@8.9.0: {} undici-types@8.9.0:
optional: true
undici@6.28.1: {} undici@6.28.1: {}
@ -20785,7 +20935,6 @@ snapshots:
sass: 1.105.0 sass: 1.105.0
terser: 5.51.2 terser: 5.51.2
yaml: 2.9.1 yaml: 2.9.1
optional: true
vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1): vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1):
dependencies: dependencies:
@ -20808,6 +20957,10 @@ snapshots:
optionalDependencies: optionalDependencies:
vite: 8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1) vite: 8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
vitefu@1.1.3(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)):
optionalDependencies:
vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
vitefu@1.1.3(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)): vitefu@1.1.3(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)):
optionalDependencies: optionalDependencies:
vite: 8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1) vite: 8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
@ -20870,6 +21023,28 @@ snapshots:
- msw - msw
optional: true optional: true
vitest@5.0.2(@types/node@20.19.43)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)):
dependencies:
'@types/chai': 5.2.3
'@vitest/mocker': 5.0.2(vite@8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1))
chai: 6.2.2
es-module-lexer: 2.3.2
expect-type: 1.4.0
magic-string: 1.4.1
obug: 2.2.1
picomatch: 4.0.7
std-env: 4.2.0
tinybench: 6.2.0
tinyexec: 1.3.1
tinyglobby: 0.2.17
vite: 8.3.1(@types/node@20.19.43)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)
why-is-node-running: 3.2.2
optionalDependencies:
'@types/node': 20.19.43
jsdom: 30.1.1(@noble/hashes@1.8.0)
transitivePeerDependencies:
- msw
vitest@5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)): vitest@5.0.2(@types/node@26.6.2)(jsdom@30.1.1(@noble/hashes@1.8.0))(vite@8.3.1(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1)(sass@1.105.0)(terser@5.51.2)(yaml@2.9.1)):
dependencies: dependencies:
'@types/chai': 5.2.3 '@types/chai': 5.2.3

Loading…
Cancel
Save