Skip to content

Commit 6149315

Browse files
Setting(project): axios, tanstack query 세팅 (#65)
* fix: 충돌 해결 * setting: getQueryClient에서 ssr 분기 처리 제거
1 parent c1ef3c7 commit 6149315

File tree

10 files changed

+156
-3
lines changed

10 files changed

+156
-3
lines changed

apps/client/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
"preview": "vite preview"
1111
},
1212
"dependencies": {
13+
"@tanstack/react-query": "^5.85.3",
14+
"axios": "^1.11.0",
1315
"class-variance-authority": "^0.7.1",
1416
"react": "^19.1.1",
1517
"react-dom": "^19.1.1",

apps/client/src/shared/apis/.gitkeep

Whitespace-only changes.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import axios from 'axios';
2+
3+
const apiRequest = axios.create({
4+
baseURL: import.meta.env.VITE_BASE_URL,
5+
headers: {
6+
'Content-Type': 'application/json',
7+
},
8+
});
9+
10+
export default apiRequest;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { QueryClient } from "@tanstack/react-query";
2+
import queryClientOptions from "./queryClientOptions";
3+
4+
const makeQueryClient = () => {
5+
return new QueryClient(queryClientOptions);
6+
};
7+
8+
let browserQueryClient: QueryClient | undefined;
9+
10+
const getQueryClient = () => {
11+
if (!browserQueryClient) browserQueryClient = makeQueryClient();
12+
return browserQueryClient;
13+
};
14+
15+
export default getQueryClient;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const queryClientOptions = {
2+
defaultOptions: {
3+
queries: {
4+
staleTime: 1000 * 60 * 5,
5+
retry: 1,
6+
refetchOnMount: false,
7+
refetchOnWindowFocus: false,
8+
},
9+
},
10+
};
11+
12+
export default queryClientOptions;

apps/extension/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
"zip": "vite build && node scripts/zip.mjs"
1212
},
1313
"dependencies": {
14-
"@tanstack/react-query": "^5.85.3",
14+
"@tanstack/react-query": "^5.85.5",
15+
"axios": "^1.11.0",
1516
"react": "^19.1.1",
1617
"react-dom": "^19.1.1"
1718
},
1819
"devDependencies": {
19-
"@pivanov/vite-plugin-svg-sprite": "^3.1.3",
2020
"@crxjs/vite-plugin": "^2.2.0",
2121
"@eslint/js": "^9.33.0",
2222
"@pinback/design-system": "workspace:*",
2323
"@pinback/eslint-config": "workspace:*",
2424
"@pinback/tailwind-config": "workspace:*",
2525
"@pinback/typescript-config": "workspace:*",
26+
"@pivanov/vite-plugin-svg-sprite": "^3.1.3",
2627
"@tailwindcss/vite": "^4.1.12",
2728
"@types/chrome": "^0.0.273",
2829
"@types/react": "^18.3.5",
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import axios from 'axios';
2+
3+
const apiRequest = axios.create({
4+
baseURL: import.meta.env.VITE_BASE_URL,
5+
headers: {
6+
'Content-Type': 'application/json',
7+
},
8+
});
9+
10+
export default apiRequest;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { QueryClient } from "@tanstack/react-query";
2+
import queryClientOptions from "./queryClientOptions";
3+
4+
const makeQueryClient = () => {
5+
return new QueryClient(queryClientOptions);
6+
};
7+
8+
let browserQueryClient: QueryClient | undefined;
9+
10+
const getQueryClient = () => {
11+
if (!browserQueryClient) browserQueryClient = makeQueryClient();
12+
return browserQueryClient;
13+
};
14+
15+
export default getQueryClient;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const queryClientOptions = {
2+
defaultOptions: {
3+
queries: {
4+
staleTime: 1000 * 60 * 5,
5+
retry: 1,
6+
refetchOnMount: false,
7+
refetchOnWindowFocus: false,
8+
},
9+
},
10+
};
11+
12+
export default queryClientOptions;

pnpm-lock.yaml

Lines changed: 77 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)