Skip to content

Commit ca638f1

Browse files
Merge pull request #1 from MrWangJustToDo/feat/vite
Feat/vite
2 parents ebd9510 + 6f72f65 commit ca638f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2868
-2217
lines changed

package.json

+13-13
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,27 @@
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",
28-
"@chakra-ui/styled-system": "^2.3.4",
27+
"@chakra-ui/react": "^2.4.1",
28+
"@chakra-ui/styled-system": "^2.3.5",
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",
35-
"@swc/helpers": "^0.4.12",
36-
"@types/jest": "^29.2.0",
37-
"@types/lodash": "^4.14.186",
34+
"@swc/core": "^1.3.18",
35+
"@swc/helpers": "^0.4.13",
36+
"@types/jest": "^29.2.3",
37+
"@types/lodash": "^4.14.189",
3838
"@types/lodash-es": "^4.17.6",
39-
"@types/node": "^18.11.8",
40-
"@typescript-eslint/eslint-plugin": "^5.40.0",
41-
"@typescript-eslint/parser": "^5.40.0",
39+
"@types/node": "^18.11.9",
40+
"@typescript-eslint/eslint-plugin": "^5.43.0",
41+
"@typescript-eslint/parser": "^5.43.0",
4242
"axios": "^0.27.2",
4343
"cross-env": "^7.0.3",
44-
"eslint": "^8.25.0",
44+
"eslint": "^8.27.0",
4545
"eslint-config-prettier": "^8.5.0",
4646
"eslint-import-resolver-typescript": "^3.5.2",
4747
"eslint-plugin-import": "^2.26.0",
@@ -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.3.0",
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

+24-8
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,20 +21,26 @@ 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 internalModule = 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}`);
3032
}
31-
return defaults.adapter(config) as AxiosPromise;
33+
return internalModule.default.adapter(config) as AxiosPromise;
3234
}
3335

3436
const fetchPromise = getResponse(request, config);
3537

3638
const data = await fetchPromise;
3739

40+
const _settle = await import(/* @vite-ignore */ "axios/lib/core/settle.js");
41+
42+
const settle = _settle.default ? _settle.default : _settle;
43+
3844
return new Promise((resolve, reject) => {
3945
if (data instanceof Error) {
4046
reject(data);
@@ -110,7 +116,7 @@ async function getResponse(request: Request, config: AxiosRequestConfig): Promis
110116
/**
111117
* This function will create a Request object based on configuration's axios
112118
*/
113-
function createRequest(config: AxiosRequestConfig): Request {
119+
async function createRequest(config: AxiosRequestConfig): Promise<Request> {
114120
if (typeof fetch === "undefined") {
115121
throw new Error("current env not have fetch function");
116122
}
@@ -151,6 +157,16 @@ function createRequest(config: AxiosRequestConfig): Request {
151157
}
152158
});
153159

160+
const _buildFullPath = await import(/* @vite-ignore */ "axios/lib/core/buildFullPath.js");
161+
162+
const buildFullPath = _buildFullPath.default ? _buildFullPath.default : _buildFullPath;
163+
164+
const _buildURL = await import(/* @vite-ignore */ "axios/lib/helpers/buildURL.js");
165+
166+
const buildURL = _buildURL.default ? _buildURL.default : _buildURL;
167+
168+
const { isUndefined } = await import(/* @vite-ignore */ "axios/lib/utils.js");
169+
154170
// This config is similar to XHR’s withCredentials flag, but with three available values instead of two.
155171
// So if withCredentials is not set, default value 'same-origin' will be used
156172
if (!isUndefined(config.withCredentials)) {

packages/axios/src/adapter/mockAdapter.ts

+2-1
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)