Skip to content

Commit 4da5caa

Browse files
committed
lint clenaup
1 parent edc9f0a commit 4da5caa

File tree

7 files changed

+22
-20
lines changed

7 files changed

+22
-20
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ jobs:
1010
build-lint-test:
1111
runs-on: ubuntu-latest
1212

13-
strategy:
14-
matrix:
15-
node-version: [20.x]
16-
1713
steps:
1814
- name: Checkout repository
1915
uses: actions/checkout@v4

apps/example-dapp/eslint.config.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,18 @@ export default tseslint.config([
1111
files: ["**/*.{ts,tsx}"],
1212
extends: [
1313
js.configs.recommended,
14-
tseslint.configs.recommended,
14+
tseslint.configs.strictTypeChecked,
15+
tseslint.configs.stylisticTypeChecked,
1516
reactHooks.configs["recommended-latest"],
1617
reactRefresh.configs.vite,
1718
],
1819
languageOptions: {
19-
ecmaVersion: 2020,
20+
ecmaVersion: "latest",
2021
globals: globals.browser,
22+
parserOptions: {
23+
project: ["./tsconfig.json"],
24+
tsconfigRootDir: import.meta.dirname,
25+
},
2126
},
2227
// rules: {
2328
// "react-hooks/react-compiler": "error",

apps/example-dapp/src/components/SimpleDashboard.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export function SimpleDashboard() {
2727
return;
2828
}
2929

30-
accountQuery.refetch();
30+
void accountQuery.refetch();
3131
toast.success("Balance refreshed");
3232
};
3333

@@ -36,7 +36,7 @@ export function SimpleDashboard() {
3636
try {
3737
const currentSlot = await rpc.getSlot().send();
3838
setSlot(Number(currentSlot));
39-
toast.success(`Current slot: ${currentSlot}`);
39+
toast.success(`Current slot: ${currentSlot.toString()}`);
4040
} catch (error) {
4141
console.error(error);
4242
toast.error("Failed to fetch slot");
@@ -86,7 +86,7 @@ export function SimpleDashboard() {
8686
{accountQuery.isLoading ? "Loading..." : "Refresh Balance"}
8787
</Button>
8888
<Button
89-
onClick={handleGetSlot}
89+
onClick={() => void handleGetSlot()}
9090
disabled={loading}
9191
variant="secondary"
9292
>

apps/example-dapp/src/components/theme-provider.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ import { createContext, useContext, useEffect, useState } from "react";
22

33
type Theme = "dark" | "light" | "system";
44

5-
type ThemeProviderProps = {
5+
interface ThemeProviderProps {
66
children: React.ReactNode;
77
defaultTheme?: Theme;
88
storageKey?: string;
9-
};
9+
}
1010

11-
type ThemeProviderState = {
11+
interface ThemeProviderState {
1212
theme: Theme;
1313
setTheme: (theme: Theme) => void;
14-
};
14+
}
1515

1616
const initialState: ThemeProviderState = {
1717
theme: "system",
@@ -27,7 +27,7 @@ export function ThemeProvider({
2727
...props
2828
}: ThemeProviderProps) {
2929
const [theme, setTheme] = useState<Theme>(
30-
() => (localStorage.getItem(storageKey) as Theme) || defaultTheme,
30+
() => (localStorage.getItem(storageKey) ?? defaultTheme) as Theme,
3131
);
3232

3333
useEffect(() => {
@@ -66,10 +66,5 @@ export function ThemeProvider({
6666
// eslint-disable-next-line react-refresh/only-export-components
6767
export const useTheme = () => {
6868
const context = useContext(ThemeProviderContext);
69-
70-
if (context === undefined) {
71-
throw new Error("useTheme must be used within a ThemeProvider");
72-
}
73-
7469
return context;
7570
};

apps/example-dapp/src/components/theme-toggle.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ export function ThemeToggle() {
99
<Button
1010
variant="ghost"
1111
size="icon"
12-
onClick={() => setTheme(theme === "light" ? "dark" : "light")}
12+
onClick={() => {
13+
setTheme(theme === "light" ? "dark" : "light");
14+
}}
1315
>
1416
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
1517
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />

apps/example-dapp/src/main.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { createRoot } from "react-dom/client";
33
import "./index.css";
44
import { App } from "./App";
55

6+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
createRoot(document.getElementById("root")!).render(
78
<StrictMode>
89
<App />

apps/example-dapp/vite.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@ import tsconfigPaths from "vite-tsconfig-paths";
1212
export default defineConfig({
1313
plugins: [
1414
tsconfigPaths(),
15+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
1516
react(),
17+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
1618
tanstackRouter({
1719
routesDirectory: "src/routes",
1820
generatedRouteTree: "src/routeTree.gen.ts",
1921
addExtensions: true,
2022
quoteStyle: "double",
2123
}),
24+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
2225
tailwindcss(),
2326
nodePolyfills(),
2427
],

0 commit comments

Comments
 (0)