Skip to content

Commit a8665c4

Browse files
committed
wip: vite
1 parent ebd9510 commit a8665c4

36 files changed

Lines changed: 812 additions & 268 deletions

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,22 @@
2121
"test": "jest"
2222
},
2323
"devDependencies": {
24-
"@babel/core": "^7.19.6",
25-
"@babel/runtime": "^7.20.0",
24+
"@babel/core": "^7.20.2",
25+
"@babel/runtime": "^7.20.1",
2626
"@chakra-ui/cli": "^2.1.8",
27-
"@chakra-ui/react": "^2.3.6",
27+
"@chakra-ui/react": "^2.3.7",
2828
"@chakra-ui/styled-system": "^2.3.4",
2929
"@emotion/react": "^11.10.5",
3030
"@emotion/styled": "^11.10.5",
3131
"@rollup/plugin-commonjs": "^23.0.2",
3232
"@rollup/plugin-node-resolve": "^15.0.1",
3333
"@rollup/plugin-replace": "^5.0.1",
34-
"@swc/core": "^1.3.11",
34+
"@swc/core": "^1.3.14",
3535
"@swc/helpers": "^0.4.12",
36-
"@types/jest": "^29.2.0",
37-
"@types/lodash": "^4.14.186",
36+
"@types/jest": "^29.2.2",
37+
"@types/lodash": "^4.14.188",
3838
"@types/lodash-es": "^4.17.6",
39-
"@types/node": "^18.11.8",
39+
"@types/node": "^18.11.9",
4040
"@typescript-eslint/eslint-plugin": "^5.40.0",
4141
"@typescript-eslint/parser": "^5.40.0",
4242
"axios": "^0.27.2",
@@ -56,7 +56,7 @@
5656
"prettier": "^2.7.1",
5757
"react": "18.2.0",
5858
"react-dom": "18.2.0",
59-
"rollup": "^3.2.3",
59+
"rollup": "^3.2.5",
6060
"rollup-plugin-typescript2": "^0.34.1",
6161
"ts-jest": "^29.0.3",
6262
"ts-node": "^10.9.1",

packages/axios/src/adapter/fetchAdapter.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import { generateFetchWithTimeout } from "./fetch";
88

99
import type { AxiosPromise, AxiosRequestConfig, AxiosResponse } from "axios";
1010

11-
const buildFullPath = require("axios/lib/core/buildFullPath");
12-
const settle = require("axios/lib/core/settle");
13-
const defaults = require("axios/lib/defaults");
14-
const buildURL = require("axios/lib/helpers/buildURL");
15-
const { isUndefined } = require("axios/lib/utils");
11+
// const buildFullPath = require("axios/lib/core/buildFullPath");
12+
// const settle = require("axios/lib/core/settle");
13+
// const defaults = require("axios/lib/defaults");
14+
// const buildURL = require("axios/lib/helpers/buildURL");
15+
// const { isUndefined } = require("axios/lib/utils");
1616

1717
export async function fetchAdapter(config: AxiosRequestConfig): Promise<AxiosResponse<unknown>> {
1818
const { useMock } = config;
@@ -21,9 +21,11 @@ export async function fetchAdapter(config: AxiosRequestConfig): Promise<AxiosRes
2121
console.warn(`[axios] current request prefer use mock data, but do the original fetch`);
2222
}
2323

24+
const defaults = await import(/* @vite-ignore */ "axios/lib/defaults/index.js");
25+
2426
let request: Request | null = null;
2527
try {
26-
request = createRequest(config);
28+
request = await createRequest(config);
2729
} catch (err) {
2830
if (__DEV__) {
2931
console.error(`fetch adapter create error, ${(err as Error).message}`);
@@ -35,6 +37,8 @@ export async function fetchAdapter(config: AxiosRequestConfig): Promise<AxiosRes
3537

3638
const data = await fetchPromise;
3739

40+
const settle = await import(/* @vite-ignore */ "axios/lib/core/settle.js");
41+
3842
return new Promise((resolve, reject) => {
3943
if (data instanceof Error) {
4044
reject(data);
@@ -110,7 +114,7 @@ async function getResponse(request: Request, config: AxiosRequestConfig): Promis
110114
/**
111115
* This function will create a Request object based on configuration's axios
112116
*/
113-
function createRequest(config: AxiosRequestConfig): Request {
117+
async function createRequest(config: AxiosRequestConfig): Promise<Request> {
114118
if (typeof fetch === "undefined") {
115119
throw new Error("current env not have fetch function");
116120
}
@@ -151,6 +155,12 @@ function createRequest(config: AxiosRequestConfig): Request {
151155
}
152156
});
153157

158+
const buildFullPath = await import(/* @vite-ignore */ "axios/lib/core/buildFullPath.js");
159+
160+
const buildURL = await import(/* @vite-ignore */ "axios/lib/helpers/buildURL.js");
161+
162+
const { isUndefined } = await import(/* @vite-ignore */ "axios/lib/utils.js");
163+
154164
// This config is similar to XHR’s withCredentials flag, but with three available values instead of two.
155165
// So if withCredentials is not set, default value 'same-origin' will be used
156166
if (!isUndefined(config.withCredentials)) {

packages/axios/src/adapter/mockAdapter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { fetchAdapter } from "./fetchAdapter";
44

55
import type { AxiosRequestConfig, AxiosResponse, AxiosResponseHeaders } from "axios";
66

7-
const mockAdapterRequest = ({ baseURL, url }: { baseURL?: string; url?: string }) => import(`@server/mock/${baseURL || ""}${url || ""}.json`);
7+
const mockAdapterRequest = ({ baseURL, url }: { baseURL?: string; url?: string }) =>
8+
import(/* @vite-ignore */ `@server/mock/${baseURL || ""}${url || ""}.json`);
89

910
// just for test
1011
export async function mockAdapter(config: AxiosRequestConfig): Promise<AxiosResponse<unknown>> {

0 commit comments

Comments
 (0)