fix(@lucide/svelte): Fix build in (#4026)

* Fix build

* Adds extra typechecking

* Format code
This commit is contained in:
Eric Fennis
2026-01-23 14:06:15 +01:00
committed by GitHub
parent e9e060a851
commit cbaaf4e21e
7 changed files with 32 additions and 7 deletions

View File

@@ -41,3 +41,19 @@ jobs:
- name: Test
run: pnpm --filter @lucide/svelte test
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
cache: 'pnpm'
node-version-file: 'package.json'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test
run: pnpm --filter @lucide/svelte typecheck

View File

@@ -46,7 +46,7 @@
"dist"
],
"scripts": {
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:package && pnpm build:license",
"build": "pnpm clean && pnpm copy:license && pnpm copy:utils && pnpm build:icons && pnpm build:package && pnpm build:license",
"copy:license": "cp ../../LICENSE ./LICENSE",
"copy:utils": "mkdir -p ./src/utils && cp -rf ../../packages/shared/src/utils/hasA11yProp.ts ./src/utils/",
"clean": "rm -rf dist stats ./src/icons/*.{ts,svelte} ./src/aliases/{aliases,prefixed,suffixed}.ts",
@@ -55,6 +55,7 @@
"build:license": "node ./scripts/appendBlockComments.mts",
"test": "pnpm copy:license && pnpm copy:utils && pnpm build:icons && vitest run",
"test:watch": "vitest watch",
"typecheck": "pnpm copy:license && pnpm copy:utils && pnpm build:icons && svelte-check --tsconfig ./tsconfig.json",
"version": "pnpm version --git-tag-version=false"
},
"devDependencies": {
@@ -68,7 +69,7 @@
"jest-serializer-html": "^7.1.0",
"jsdom": "^20.0.3",
"svelte": "^5.38.6",
"svelte-check": "^4.3.1",
"svelte-check": "^4.3.4",
"svelte-preprocess": "^6.0.3",
"typescript": "^5.8.3",
"vite": "^6.3.6",

View File

@@ -13,6 +13,7 @@ export interface IconProps extends Attrs {
absoluteStrokeWidth?: boolean;
iconNode?: IconNode;
children?: Snippet;
title?: string;
}
export type IconEvents = {

View File

@@ -1,7 +1,10 @@
<script lang="ts">
import Smile from '../src/icons/smile.svelte'
import Smile from '../src/icons/smile.svelte';
import type { IconProps } from '../src/types.js';
const props: IconProps = $props();
</script>
<Smile>
<Smile {...props}>
<text>Test</text>
</Smile>

View File

@@ -1,7 +1,10 @@
<script lang="ts">
import Smile from '../src/icons/smile.svelte'
import Smile from '../src/icons/smile.svelte';
import type { IconProps } from '../src/types.js';
const props: IconProps = $props();
</script>
<Smile>
<Smile {...props}>
<title>Air conditioning</title>
</Smile>

View File

@@ -12,4 +12,5 @@
"types": ["@testing-library/jest-dom"],
},
"include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte", "tests/**/*.ts"],
"exclude": ["tests/setupVitest.ts"],
}

2
pnpm-lock.yaml generated
View File

@@ -793,7 +793,7 @@ importers:
specifier: ^5.38.6
version: 5.43.14
svelte-check:
specifier: ^4.3.1
specifier: ^4.3.4
version: 4.3.4(picomatch@4.0.3)(svelte@5.43.14)(typescript@5.9.3)
svelte-preprocess:
specifier: ^6.0.3