diff --git a/.github/workflows/check-code.yml b/.github/workflows/check-code.yml new file mode 100644 index 00000000..c34669b7 --- /dev/null +++ b/.github/workflows/check-code.yml @@ -0,0 +1,29 @@ +name: "Check Code" + +on: + pull_request: + push: + branches: + - "dev" + - "main" + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - name: Install Dependencies + run: | + echo "installing pnpm" + npm install -g pnpm + echo "installing deps for packages" + pnpm i + + - name: Check Code + run: pnpm check diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml new file mode 100644 index 00000000..3fa40b85 --- /dev/null +++ b/.github/workflows/check-format.yml @@ -0,0 +1,29 @@ +name: "Check Format" + +on: + pull_request: + push: + branches: + - "dev" + - "main" + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - name: Install Dependencies + run: | + echo "installing pnpm" + npm install -g pnpm + echo "installing deps for packages" + pnpm i + + - name: Check Format + run: pnpm check-format diff --git a/.github/workflows/check-lint.yml b/.github/workflows/check-lint.yml new file mode 100644 index 00000000..59506548 --- /dev/null +++ b/.github/workflows/check-lint.yml @@ -0,0 +1,29 @@ +name: "Check Lint" + +on: + pull_request: + push: + branches: + - "dev" + - "main" + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - name: Install Dependencies + run: | + echo "installing pnpm" + npm install -g pnpm + echo "installing deps for packages" + pnpm i + + - name: Check Lint + run: pnpm check-lint diff --git a/.node-version b/.node-version index 9446372c..6dcf9857 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -22.13.1 \ No newline at end of file +22.x \ No newline at end of file diff --git a/infrastructure/eid-wallet/biome.json b/infrastructure/eid-wallet/biome.json new file mode 100644 index 00000000..e5fac3da --- /dev/null +++ b/infrastructure/eid-wallet/biome.json @@ -0,0 +1,16 @@ +{ + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "overrides": [ + { + "include": ["*.svelte", "*.astro", "*.vue"], + "linter": { + "rules": { + "style": { + "useConst": "off", + "useImportType": "off" + } + } + } + } + ] +} diff --git a/infrastructure/eid-wallet/package.json b/infrastructure/eid-wallet/package.json index 2a7086a1..ba7ce7f0 100644 --- a/infrastructure/eid-wallet/package.json +++ b/infrastructure/eid-wallet/package.json @@ -7,14 +7,19 @@ "dev": "vite dev", "build": "vite build", "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && npx @biomejs/biome check ./src", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "format": "npx @biomejs/biome format --write ./src", + "check-format": "npx @biomejs/biome format ./src", + "lint": "npx @biomejs/biome lint --write ./src", + "check-lint": "npx @biomejs/biome lint ./src", "tauri": "tauri", "storybook": "svelte-kit sync && storybook dev -p 6006", "build-storybook": "storybook build" }, "license": "MIT", "dependencies": { + "@biomejs/biome": "^1.9.4", "@hugeicons/core-free-icons": "^1.0.13", "@hugeicons/svelte": "^1.0.2", "@tailwindcss/container-queries": "^0.1.1", diff --git a/infrastructure/eid-wallet/src/app.css b/infrastructure/eid-wallet/src/app.css index b59d9c99..02b2703d 100644 --- a/infrastructure/eid-wallet/src/app.css +++ b/infrastructure/eid-wallet/src/app.css @@ -1,13 +1,13 @@ -@import 'tailwindcss'; -@import 'flag-icons/css/flag-icons.min.css'; +@import "tailwindcss"; +@import "flag-icons/css/flag-icons.min.css"; @plugin "daisyui" { themes: false; /* Disable built-in themes */ - darktheme: 'light'; + darktheme: "light"; } @font-face { - font-family: 'Archivo'; - src: url('/fonts/Archivo-VariableFont_wdth,wght.ttf') format('truetype'); + font-family: "Archivo"; + src: url("/fonts/Archivo-VariableFont_wdth,wght.ttf") format("truetype"); font-weight: 100 900; font-style: normal; } @@ -47,7 +47,7 @@ } body { - font-family: 'Archivo', sans-serif; + font-family: "Archivo", sans-serif; } /* Custom classes */ diff --git a/infrastructure/eid-wallet/src/lib/fragments/Header/Header.stories.ts b/infrastructure/eid-wallet/src/lib/fragments/Header/Header.stories.ts index 0b289240..4b268e0b 100644 --- a/infrastructure/eid-wallet/src/lib/fragments/Header/Header.stories.ts +++ b/infrastructure/eid-wallet/src/lib/fragments/Header/Header.stories.ts @@ -1,35 +1,35 @@ import Header from "./Header.svelte"; export default { - title: "Fragments/Header", - component: Header, - tags: ["autodocs"], - render: (args: any) => ({ - Component: Header, - props: args, - }), + title: "Fragments/Header", + component: Header, + tags: ["autodocs"], + render: (args: any) => ({ + Component: Header, + props: args, + }), }; export const Primary = { - args: { - title: "Create PIN", - isBackRequired: false, - isUserLoggedIn: false - }, + args: { + title: "Create PIN", + isBackRequired: false, + isUserLoggedIn: false, + }, }; export const Secondary = { - args: { - title: "Create PIN", - isBackRequired: true, - isUserLoggedIn: false - }, + args: { + title: "Create PIN", + isBackRequired: true, + isUserLoggedIn: false, + }, }; export const Tertiary = { - args: { - title: "Create PIN", - isBackRequired: true, - isUserLoggedIn: true - }, -}; \ No newline at end of file + args: { + title: "Create PIN", + isBackRequired: true, + isUserLoggedIn: true, + }, +}; diff --git a/infrastructure/eid-wallet/src/lib/fragments/Header/Header.svelte b/infrastructure/eid-wallet/src/lib/fragments/Header/Header.svelte index afd97793..e027cdda 100644 --- a/infrastructure/eid-wallet/src/lib/fragments/Header/Header.svelte +++ b/infrastructure/eid-wallet/src/lib/fragments/Header/Header.svelte @@ -1,18 +1,24 @@
diff --git a/infrastructure/eid-wallet/src/lib/fragments/index.ts b/infrastructure/eid-wallet/src/lib/fragments/index.ts index a4c7913e..657926bb 100644 --- a/infrastructure/eid-wallet/src/lib/fragments/index.ts +++ b/infrastructure/eid-wallet/src/lib/fragments/index.ts @@ -1 +1 @@ -export {default as Header} from "./Header/Header.svelte"; \ No newline at end of file +export { default as Header } from "./Header/Header.svelte"; diff --git a/infrastructure/eid-wallet/src/lib/global/runtime.svelte.ts b/infrastructure/eid-wallet/src/lib/global/runtime.svelte.ts index 72cbcbf1..d3716274 100644 --- a/infrastructure/eid-wallet/src/lib/global/runtime.svelte.ts +++ b/infrastructure/eid-wallet/src/lib/global/runtime.svelte.ts @@ -1,11 +1,11 @@ export const runtime = $state<{ - header: { - title: string | undefined; - backEnabled: boolean | undefined; - } + header: { + title: string | undefined; + backEnabled: boolean | undefined; + }; }>({ - header: { - title: undefined, - backEnabled: undefined - } -}) \ No newline at end of file + header: { + title: undefined, + backEnabled: undefined, + }, +}); diff --git a/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.stories.ts b/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.stories.ts index e4a6dbb3..552bacaa 100644 --- a/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.stories.ts +++ b/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.stories.ts @@ -1,64 +1,64 @@ -import type { Meta, StoryObj } from '@storybook/svelte' -import ButtonAction from './ButtonAction.svelte' -import { ButtonText } from './ButtonSnippets.svelte' +import type { Meta, StoryObj } from "@storybook/svelte"; +import ButtonAction from "./ButtonAction.svelte"; +import { ButtonText } from "./ButtonSnippets.svelte"; const meta: Meta = { - title: 'Components/ButtonAction', - component: ButtonAction, - args: { - variant: 'solid', - isLoading: false, - blockingClick: false, - children: 'Click Me', // Ensure this is a function returning text - }, - argTypes: { - variant: { - control: { - type: 'select', - options: ['solid', 'soft', 'danger', 'danger-soft', 'white'], - }, - }, - size: { - control: { - type: 'select', - options: ['sm', 'md'], - }, - }, - isLoading: { control: 'boolean' }, - blockingClick: { control: 'boolean' }, - callback: { action: 'clicked' }, - }, -} + title: "Components/ButtonAction", + component: ButtonAction, + args: { + variant: "solid", + isLoading: false, + blockingClick: false, + children: "Click Me", // Ensure this is a function returning text + }, + argTypes: { + variant: { + control: { + type: "select", + options: ["solid", "soft", "danger", "danger-soft", "white"], + }, + }, + size: { + control: { + type: "select", + options: ["sm", "md"], + }, + }, + isLoading: { control: "boolean" }, + blockingClick: { control: "boolean" }, + callback: { action: "clicked" }, + }, +}; -export default meta -type Story = StoryObj +export default meta; +type Story = StoryObj; export const Solid: Story = { - args: { variant: 'solid', children: ButtonText }, -} + args: { variant: "solid", children: ButtonText }, +}; export const Soft: Story = { - args: { variant: 'soft', children: ButtonText }, -} + args: { variant: "soft", children: ButtonText }, +}; export const Danger: Story = { - args: { variant: 'danger', children: ButtonText }, -} + args: { variant: "danger", children: ButtonText }, +}; export const DangerSoft: Story = { - args: { variant: 'danger-soft', children: ButtonText }, -} + args: { variant: "danger-soft", children: ButtonText }, +}; export const Loading: Story = { - args: { isLoading: true, children: ButtonText }, -} + args: { isLoading: true, children: ButtonText }, +}; export const BlockingClick: Story = { - args: { - blockingClick: true, - children: ButtonText, - callback: async () => { - await new Promise((resolve) => setTimeout(resolve, 2000)) - }, - }, -} + args: { + blockingClick: true, + children: ButtonText, + callback: async () => { + await new Promise((resolve) => setTimeout(resolve, 2000)); + }, + }, +}; diff --git a/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.svelte b/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.svelte index 2e0041f7..29be23bb 100644 --- a/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.svelte +++ b/infrastructure/eid-wallet/src/lib/ui/Button/ButtonAction.svelte @@ -1,42 +1,42 @@ -