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';
cp.exec('git status', function (err, ret) {
let newIcons = [],
modifiedIcons = [],
renamedIcons = [];
const newIcons = [...ret.matchAll(/new file:\s+icons\/([a-z0-9-/]+)\.svg/g)].map((m) => m[1]);
ret.replace(/new file:\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) {
newIcons.push(fileName);
});
const modifiedIcons = [...ret.matchAll(/modified:\s+icons\/([a-z0-9-/]+)\.svg/g)]
.map((m) => m[1])
.filter((icon) => !newIcons.includes(icon));
ret.replace(/modified:\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) {
modifiedIcons.push(fileName);
});
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;
});
const renamedIcons = [
...ret.matchAll(/renamed:\s+icons\/([a-z0-9-/]+).svg -> icons\/([a-z0-9-/]+).svg/g),
].map((m) => [m[1], m[2]]);
printChangelog(newIcons, modifiedIcons, renamedIcons);
});

27
.build/changelog.mjs

@ -6,28 +6,15 @@ const p = getPackageJson(),
if (version) {
cp.exec(`git diff ${version} HEAD --name-status ./icons`, function (err, ret) {
let newIcons = [],
modifiedIcons = [],
renamedIcons = [];
const newIcons = [...ret.matchAll(/A\s+icons\/([a-z0-9-/]+)\.svg/g)].map((m) => m[1]);
ret.replace(/A\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) {
newIcons.push(fileName);
});
const modifiedIcons = [...ret.matchAll(/M\s+icons\/([a-z0-9-/]+)\.svg/g)]
.map((m) => m[1])
.filter((icon) => !newIcons.includes(icon));
ret.replace(/M\s+icons\/([a-z0-9-/]+)\.svg/g, function (m, fileName) {
modifiedIcons.push(fileName);
});
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;
});
const renamedIcons = [
...ret.matchAll(/R[0-9]+\s+icons\/([a-z0-9-/]+)\.svg\s+icons\/([a-z0-9-/]+).svg/g),
].map((m) => [m[1], m[2]]);
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 parseMatter = (icon) => {
const { data, content } = matter.read(icon, { delims: ['<!--', '-->'] });
const { data, content } = matter.read(icon, { delimiters: ['<!--', '-->'] });
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
// the geometry identical (with round caps/joins both render the same).
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,
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
run: pnpm run format:check
- name: Type-check build scripts
run: pnpm run typecheck:build
- name: Test build scripts
run: pnpm run test:build

17
eslint.config.mjs

@ -48,8 +48,6 @@ export default tseslint.config(
globals: { ...globals.node, ...globals.browser },
},
rules: {
// the public icon types are intentionally loose
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': [
'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'],
rules: {

2
package.json

@ -26,6 +26,7 @@
"update:icons": "node ./.build/update-icons.mjs",
"optimize": "node ./.build/optimize.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-tags": "node ./.build/import-tags.mjs",
"import-categories": "node ./.build/import-categories.mjs",
@ -60,6 +61,7 @@
"@eslint/js": "^10.0.1",
"@rollup/plugin-node-resolve": "catalog:",
"@testing-library/jest-dom": "catalog:",
"@types/node": "^20.19.43",
"adm-zip": "^0.6.1",
"astro": "catalog:",
"esbuild": "^0.28.2",

1
packages/icons-angular/build.mjs

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

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

@ -32,7 +32,7 @@ const createTablerIcon = (
.join('');
return createComponent(
(result: any, props: IconProps, slots: any) => {
(result, props: IconProps, slots) => {
const {
size = 24,
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 interface IconProps extends Record<string, any> {
export interface IconProps extends Record<string, unknown> {
size?: string | number;
color?: string;
stroke?: string | number;
@ -14,7 +14,11 @@ export interface IconProps extends Record<string, any> {
/**
* Structural type for an Astro component factory. The runtime marker
* `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) & {
isAstroComponentFactory: true;
};

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

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

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

@ -12,7 +12,7 @@
iconNode: IconNode;
class?: string;
children?: Snippet;
[key: string]: any; // For rest props
[key: string]: unknown; // For rest props
}
let {
@ -44,8 +44,6 @@
class={fullClassName}
{...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]}
<svelte:element this={tag} {...attrs} />
{/each}

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

@ -25,8 +25,6 @@
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]}
<svelte:element this={tag} {...attrs} />
{/each}

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

@ -13,6 +13,8 @@ export interface IconProps extends Attrs {
}
type IconEvents = {
// matches the default events type of `SvelteComponent`
// eslint-disable-next-line @typescript-eslint/no-explicit-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
* @return {import('svgicons2svgfont').FileMetadata}
* @return {{ unicode: string[], name: string }}
*/
function getMetadataFromSvgName(name) {
// we process uUnicode-Name.svg

363
pnpm-lock.yaml

@ -91,13 +91,16 @@ importers:
version: 16.0.3(rollup@4.63.5)
'@testing-library/jest-dom':
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:
specifier: ^0.6.1
version: 0.6.1
astro:
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:
specifier: ^0.28.2
version: 0.28.2
@ -145,7 +148,7 @@ importers:
version: 3.9.9
release-it:
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:
specifier: 'catalog:'
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)
vite:
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:
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: {}
@ -12399,14 +12402,14 @@ snapshots:
optionalDependencies:
'@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:
'@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/type': 4.1.1(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/confirm@5.1.21(@types/node@20.19.43)':
dependencies:
@ -12422,12 +12425,12 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/core@10.3.2(@types/node@20.19.43)':
dependencies:
@ -12455,17 +12458,17 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/ansi': 2.0.8
'@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
fast-wrap-ansi: 0.2.2
mute-stream: 3.0.0
signal-exit: 4.1.0
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/editor@4.2.23(@types/node@20.19.43)':
dependencies:
@ -12483,13 +12486,13 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/external-editor': 3.0.5(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/external-editor': 3.0.5(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/expand@4.0.23(@types/node@20.19.43)':
dependencies:
@ -12507,12 +12510,12 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/external-editor@1.0.3(@types/node@20.19.43)':
dependencies:
@ -12528,12 +12531,12 @@ snapshots:
optionalDependencies:
'@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:
chardet: 2.2.0
iconv-lite: 0.7.3
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/figures@1.0.15': {}
@ -12553,12 +12556,12 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/number@3.0.23(@types/node@20.19.43)':
dependencies:
@ -12574,12 +12577,12 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/password@4.0.23(@types/node@20.19.43)':
dependencies:
@ -12597,13 +12600,13 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/ansi': 2.0.8
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/prompts@7.10.1(@types/node@20.19.43)':
dependencies:
@ -12635,20 +12638,20 @@ snapshots:
optionalDependencies:
'@types/node': 26.6.2
'@inquirer/prompts@8.7.2(@types/node@26.6.2)':
dependencies:
'@inquirer/checkbox': 5.2.5(@types/node@26.6.2)
'@inquirer/confirm': 6.3.2(@types/node@26.6.2)
'@inquirer/editor': 5.3.3(@types/node@26.6.2)
'@inquirer/expand': 5.1.5(@types/node@26.6.2)
'@inquirer/input': 5.1.6(@types/node@26.6.2)
'@inquirer/number': 4.2.3(@types/node@26.6.2)
'@inquirer/password': 5.2.2(@types/node@26.6.2)
'@inquirer/rawlist': 5.3.5(@types/node@26.6.2)
'@inquirer/search': 4.3.3(@types/node@26.6.2)
'@inquirer/select': 5.2.5(@types/node@26.6.2)
'@inquirer/prompts@8.7.2(@types/node@20.19.43)':
dependencies:
'@inquirer/checkbox': 5.2.5(@types/node@20.19.43)
'@inquirer/confirm': 6.3.2(@types/node@20.19.43)
'@inquirer/editor': 5.3.3(@types/node@20.19.43)
'@inquirer/expand': 5.1.5(@types/node@20.19.43)
'@inquirer/input': 5.1.6(@types/node@20.19.43)
'@inquirer/number': 4.2.3(@types/node@20.19.43)
'@inquirer/password': 5.2.2(@types/node@20.19.43)
'@inquirer/rawlist': 5.3.5(@types/node@20.19.43)
'@inquirer/search': 4.3.3(@types/node@20.19.43)
'@inquirer/select': 5.2.5(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/rawlist@4.1.11(@types/node@20.19.43)':
dependencies:
@ -12666,12 +12669,12 @@ snapshots:
optionalDependencies:
'@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:
'@inquirer/core': 12.0.3(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@26.6.2)
'@inquirer/core': 12.0.3(@types/node@20.19.43)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/search@3.2.2(@types/node@20.19.43)':
dependencies:
@ -12691,13 +12694,13 @@ snapshots:
optionalDependencies:
'@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:
'@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/type': 4.1.1(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/select@4.4.2(@types/node@20.19.43)':
dependencies:
@ -12719,14 +12722,14 @@ snapshots:
optionalDependencies:
'@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:
'@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/type': 4.1.1(@types/node@26.6.2)
'@inquirer/type': 4.1.1(@types/node@20.19.43)
optionalDependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@inquirer/type@3.0.10(@types/node@20.19.43)':
optionalDependencies:
@ -12736,9 +12739,9 @@ snapshots:
optionalDependencies:
'@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:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@isaacs/fs-minipass@4.0.1':
dependencies:
@ -12756,14 +12759,14 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 26.6.2
'@types/node': 20.19.43
jest-mock: 29.7.0
'@jest/fake-timers@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
'@types/node': 26.6.2
'@types/node': 20.19.43
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@ -12776,7 +12779,7 @@ snapshots:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/yargs': 15.0.20
chalk: 4.1.2
@ -12785,7 +12788,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/yargs': 17.0.35
chalk: 4.1.2
@ -14265,6 +14268,18 @@ snapshots:
lz-string: 1.5.0
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)))':
dependencies:
'@adobe/css-tools': 4.5.0
@ -14276,6 +14291,7 @@ snapshots:
redent: 3.0.0
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))
optional: true
'@testing-library/preact@3.2.4(preact@10.29.8)':
dependencies:
@ -14380,11 +14396,11 @@ snapshots:
'@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/bonjour@3.5.13':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/chai@5.2.3':
dependencies:
@ -14394,15 +14410,15 @@ snapshots:
'@types/connect-history-api-fallback@1.5.4':
dependencies:
'@types/express-serve-static-core': 4.19.9
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/connect@3.4.38':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/cors@2.8.19':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/deep-eql@4.0.2': {}
@ -14426,7 +14442,7 @@ snapshots:
'@types/express-serve-static-core@4.19.9':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/qs': 6.15.1
'@types/range-parser': 1.2.7
'@types/send': 1.2.1
@ -14446,7 +14462,7 @@ snapshots:
'@types/http-proxy@1.17.17':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/istanbul-lib-coverage@2.0.6': {}
@ -14479,6 +14495,7 @@ snapshots:
'@types/node@26.6.2':
dependencies:
undici-types: 8.9.0
optional: true
'@types/parse-path@7.1.0':
dependencies:
@ -14540,11 +14557,11 @@ snapshots:
'@types/send@0.17.6':
dependencies:
'@types/mime': 1.3.5
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/send@1.2.1':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/serve-index@1.9.4':
dependencies:
@ -14553,12 +14570,12 @@ snapshots:
'@types/serve-static@1.15.10':
dependencies:
'@types/http-errors': 2.0.5
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/send': 0.17.6
'@types/sockjs@0.3.36':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/stack-utils@2.0.3': {}
@ -14566,7 +14583,7 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
'@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)
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))':
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@ -15135,6 +15161,95 @@ snapshots:
transitivePeerDependencies:
- 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):
dependencies:
'@astrojs/compiler-rs': 0.5.1
@ -15561,7 +15676,7 @@ snapshots:
chrome-launcher@0.15.2:
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@ -15572,7 +15687,7 @@ snapshots:
chromium-edge-launcher@1.0.0:
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@ -16103,7 +16218,7 @@ snapshots:
engine.io@6.6.10:
dependencies:
'@types/cors': 2.8.19
'@types/node': 26.6.2
'@types/node': 20.19.43
'@types/ws': 8.18.1
accepts: 1.3.8
cookie: 0.7.2
@ -17333,7 +17448,7 @@ snapshots:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 26.6.2
'@types/node': 20.19.43
jest-mock: 29.7.0
jest-util: 29.7.0
@ -17354,7 +17469,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 26.6.2
'@types/node': 20.19.43
jest-util: 29.7.0
jest-serializer-html@7.1.0:
@ -17364,7 +17479,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 26.6.2
'@types/node': 20.19.43
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@ -17381,13 +17496,13 @@ snapshots:
jest-worker@27.5.1:
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
merge-stream: 2.0.0
supports-color: 8.1.1
jest-worker@29.7.0:
dependencies:
'@types/node': 26.6.2
'@types/node': 20.19.43
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@ -19307,9 +19422,9 @@ snapshots:
dependencies:
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:
'@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
'@phun-ky/typeof': 2.0.3
async-retry: 1.3.3
@ -19812,6 +19927,40 @@ snapshots:
dependencies:
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):
dependencies:
'@img/colour': 1.1.0
@ -20584,7 +20733,8 @@ snapshots:
undici-types@6.21.0: {}
undici-types@8.9.0: {}
undici-types@8.9.0:
optional: true
undici@6.28.1: {}
@ -20785,7 +20935,6 @@ snapshots:
sass: 1.105.0
terser: 5.51.2
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):
dependencies:
@ -20808,6 +20957,10 @@ snapshots:
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)
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)):
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)
@ -20870,6 +21023,28 @@ snapshots:
- msw
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)):
dependencies:
'@types/chai': 5.2.3

Loading…
Cancel
Save