From 222913a141031f363a8c5385289f359b2f9a04eb Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Fri, 27 Dec 2024 12:09:55 -0800 Subject: [PATCH] test: assert types for Svelte 3, 4, 5 --- .github/workflows/ci.yml | 3 +++ package.json | 3 ++- tests/svelte@3/Icons.svelte | 35 ++++++++++++++++++++++++++++++ tests/svelte@3/bun.lockb | Bin 0 -> 25189 bytes tests/svelte@3/package.json | 15 +++++++++++++ tests/svelte@3/tsconfig.json | 15 +++++++++++++ tests/svelte@4/Icons.svelte | 35 ++++++++++++++++++++++++++++++ tests/svelte@4/bun.lockb | Bin 0 -> 14345 bytes tests/svelte@4/package.json | 15 +++++++++++++ tests/svelte@4/tsconfig.json | 15 +++++++++++++ tests/{ => svelte@5}/Icons.svelte | 0 tests/svelte@5/bun.lockb | Bin 0 -> 11375 bytes tests/svelte@5/package.json | 15 +++++++++++++ tests/svelte@5/tsconfig.json | 15 +++++++++++++ tests/test-types.ts | 10 +++++++++ tsconfig.json | 1 + 16 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 tests/svelte@3/Icons.svelte create mode 100755 tests/svelte@3/bun.lockb create mode 100644 tests/svelte@3/package.json create mode 100644 tests/svelte@3/tsconfig.json create mode 100644 tests/svelte@4/Icons.svelte create mode 100755 tests/svelte@4/bun.lockb create mode 100644 tests/svelte@4/package.json create mode 100644 tests/svelte@4/tsconfig.json rename tests/{ => svelte@5}/Icons.svelte (100%) create mode 100755 tests/svelte@5/bun.lockb create mode 100644 tests/svelte@5/package.json create mode 100644 tests/svelte@5/tsconfig.json create mode 100644 tests/test-types.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af3585b..2be2c58 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,9 @@ jobs: - name: Build package run: bun run prepack + - name: Test types + run: bun run test:types + - name: Trigger deploy if: github.ref == 'refs/heads/master' env: diff --git a/package.json b/package.json index af8ae74..7b97b34 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ } }, "scripts": { - "prepack": "bun test" + "prepack": "bun test", + "test:types": "bun tests/test-types.ts" }, "devDependencies": { "@carbon/icon-helpers": "latest", diff --git a/tests/svelte@3/Icons.svelte b/tests/svelte@3/Icons.svelte new file mode 100644 index 0000000..5d27764 --- /dev/null +++ b/tests/svelte@3/Icons.svelte @@ -0,0 +1,35 @@ + + + + + + + + + + + diff --git a/tests/svelte@3/bun.lockb b/tests/svelte@3/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..634fad68bb259f263217b2456a78611725fa0294 GIT binary patch literal 25189 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 + import { + Add, + Assembly, + Beta, + BookmarkAdd, + BreakingChange, + LogoSvelte, + Plan, + ZSystems, + BatchJob, + } from "carbon-icons-svelte"; + import type { CarbonIconProps } from "carbon-icons-svelte"; + import Icon from "carbon-icons-svelte/lib/Accessibility.svelte"; + + const props: CarbonIconProps = { + size: 32, + fill: "red", + }; + + const icon = new Icon({ target: document.body, props }); + + $: console.log(icon.$$prop_def); + $: console.log(typeof Assembly); + + + + + + + + + + + diff --git a/tests/svelte@4/bun.lockb b/tests/svelte@4/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..c2c0e0c8e5ed1cef2a1adeaff3c60f1f1a9ff99b GIT binary patch literal 14345 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 I@PF_B-vbN@r~m)} literal 0 HcmV?d00001 diff --git a/tests/svelte@5/package.json b/tests/svelte@5/package.json new file mode 100644 index 0000000..5865c4f --- /dev/null +++ b/tests/svelte@5/package.json @@ -0,0 +1,15 @@ +{ + "private": true, + "type": "module", + "scripts": { + "test:types": "svelte-check" + }, + "dependencies": { + "carbon-icons-svelte": "link:carbon-icons-svelte" + }, + "devDependencies": { + "svelte": "^5.16.0", + "svelte-check": "^4.1.1", + "typescript": "^5.7.2" + } +} diff --git a/tests/svelte@5/tsconfig.json b/tests/svelte@5/tsconfig.json new file mode 100644 index 0000000..0d7e7a2 --- /dev/null +++ b/tests/svelte@5/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "verbatimModuleSyntax": true, + "isolatedModules": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "skipLibCheck": true + } +} diff --git a/tests/test-types.ts b/tests/test-types.ts new file mode 100644 index 0000000..31a782e --- /dev/null +++ b/tests/test-types.ts @@ -0,0 +1,10 @@ +import { $ } from "bun"; + +await $`bun link`; + +for await (const dir of $`find tests -maxdepth 1 -type d`.lines()) { + if (dir && /svelte/.test(dir)) { + await $`cd ${dir} && bun install`; + await $`cd ${dir} && bun run test:types`; + } +} diff --git a/tsconfig.json b/tsconfig.json index 5410b3d..9993478 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "esModuleInterop": true, "lib": ["esnext", "DOM"], + "target": "esnext", "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true,