@moneko/core 4.7.5 → 4.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dev/proxy.d.mts +4 -4
- package/lib/dev/proxy.mjs +1 -1
- package/lib/index.d.mts +1 -1
- package/lib/index.mjs +1 -1
- package/package.json +1 -1
package/lib/dev/proxy.d.mts
CHANGED
|
@@ -6,8 +6,8 @@ import { IncomingMessage, ServerResponse } from 'node:http';
|
|
|
6
6
|
* @example
|
|
7
7
|
* convertUriToFileName('GET /api/create') => 'GET➯api>create'
|
|
8
8
|
* convertUriToFileName('POST /api/create') => 'POST➯api>create'
|
|
9
|
-
*/ declare function convertUriToFileName(uri: string): string;
|
|
10
|
-
interface HarvesterOptions {
|
|
9
|
+
*/ export declare function convertUriToFileName(uri: string): string;
|
|
10
|
+
export interface HarvesterOptions {
|
|
11
11
|
/**
|
|
12
12
|
* 生成的 Mock 文件名
|
|
13
13
|
* @param params 参数
|
|
@@ -17,7 +17,7 @@ interface HarvesterOptions {
|
|
|
17
17
|
* @returns 文件名,文件名会自动添加到 mock 目录下,如果返回false, 则不生成 Mock 文件
|
|
18
18
|
*/ generate?: (params: HarvesterGenerateParams) => string | boolean;
|
|
19
19
|
}
|
|
20
|
-
interface HarvesterGenerateParams {
|
|
20
|
+
export interface HarvesterGenerateParams {
|
|
21
21
|
/**
|
|
22
22
|
* 请求方法
|
|
23
23
|
*/ method: string;
|
|
@@ -28,7 +28,7 @@ interface HarvesterGenerateParams {
|
|
|
28
28
|
* 转换文件名的函数
|
|
29
29
|
*/ convert: typeof convertUriToFileName;
|
|
30
30
|
}
|
|
31
|
-
type ProxyItem = {
|
|
31
|
+
export type ProxyItem = {
|
|
32
32
|
target: string;
|
|
33
33
|
changeOrigin?: boolean;
|
|
34
34
|
secure?: boolean;
|
package/lib/dev/proxy.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"node:http";import{request as t}from"node:https";import{URL as r}from"node:url";import{brotliDecompressSync as o,gunzipSync as n,inflateSync as i}from"node:zlib";import{updateFile as a}from"@moneko/utils";import p from"../commom/log.mjs";import{isFunction as s,isObject as m}from"../utils/index.mjs";import{containMockUrl as l}from"./mock.mjs";function
|
|
1
|
+
import{request as e}from"node:http";import{request as t}from"node:https";import{URL as r}from"node:url";import{brotliDecompressSync as o,gunzipSync as n,inflateSync as i}from"node:zlib";import{updateFile as a}from"@moneko/utils";import p from"../commom/log.mjs";import{isFunction as s,isObject as m}from"../utils/index.mjs";import{containMockUrl as l}from"./mock.mjs";export function convertUriToFileName(e){let t={" ":"➯","/":">",":":"◍"};return e.replace(/[\s/:]/g,e=>t[e]||e)}export async function setupProxy(c,h,d){if(h.writableEnded)return h;let f=c.url,u=Object.keys(d).find(e=>new RegExp(e).test(f));if(!u)return!1;let g="string"==typeof d[u]?{target:d[u],pathRewrite:void 0,changeOrigin:!0,secure:!0,ws:!1}:d[u],w=new r(g.target),y=f;if(g.pathRewrite&&"object"==typeof g.pathRewrite)for(let e in g.pathRewrite)Object.prototype.hasOwnProperty.call(g.pathRewrite,e)&&(y=f.replace(new RegExp(e),g.pathRewrite[e]));let v="https:"===w.protocol,x={method:c.method,hostname:w.hostname,port:w.port||(v?443:80),path:y,headers:{...c.headers},protocol:w.protocol};g.changeOrigin&&(x.headers.host=w.host);let R=v?t:e;return new Promise(e=>{let t=R(x,t=>{let p=c.method||"GET",d=new r(`${w.origin}${c.url}`).pathname,f=`${p} ${d}`,u=t.statusCode||404,y=u>=400,v=!!l(f);if(y&&v)return e(!1);if(h.writeHead(u,t.headers),!y&&!v&&g.harvester){let e=m(g.harvester)&&s(g.harvester.generate)?g.harvester.generate({method:p,pathname:d,convert:convertUriToFileName}):convertUriToFileName(f);if(e){let r=[];t.on("data",e=>r.push(e)),t.on("end",()=>{let p=Buffer.concat(r),s=t.headers["content-encoding"]||"",m=null;(m=s.includes("gzip")?n(p).toString():s.includes("br")?o(p).toString():s.includes("deflate")?i(p).toString():p.toString())&&a(`mock/${e}.ts`,`import type { MockConfiguration } from '@moneko/core';const conf: MockConfiguration = {'${f}': ${m}};export default conf;`)})}}t.pipe(h),e(h)});t.on("error",t=>(p(t),h.headersSent?h.end():(h.writeHead(502,{"Content-Type":"text/plain"}),h.end(`Proxy Error: ${t.message}`)),e(!1))),c.pipe(t)})}
|
package/lib/index.d.mts
CHANGED
|
@@ -13,7 +13,7 @@ export { default as require } from './commom/require.mjs';
|
|
|
13
13
|
export * as Rule from './commom/rule.mjs';
|
|
14
14
|
export { default as timer } from './commom/timer.mjs';
|
|
15
15
|
export { type MockConfiguration, type ProxyFuncType, type RequestFormData, yApiMock, type YApiOption, type YApiOptionBySchema, yApiSchemaMock } from './dev/mock.mjs';
|
|
16
|
-
export type
|
|
16
|
+
export { convertUriToFileName, type HarvesterGenerateParams, type HarvesterOptions, type ProxyConfig, type ProxyItem } from './dev/proxy.mjs';
|
|
17
17
|
export type { ReactCompilerOption } from './loader/react-compiler.cjs';
|
|
18
18
|
export { type JsxDomExpressions, default as jsxDomExpressions } from './options/jsx-dom-expressions.mjs';
|
|
19
19
|
export { type OptimizationSplitChunksOptions, default as splitChunk } from './options/split-chunk.mjs';
|
package/lib/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{declToMd}from"./commom/decl-to-md.mjs";export*from"./commom/git.mjs";export{default as hasPkg}from"./commom/has-pkg.mjs";export{getIPv4,getPort}from"./commom/net.mjs";export{default as open}from"./commom/open.mjs";export{default as parseArgs}from"./commom/parse-args.mjs";export{CUSTOMCONFIG,default as paths,routeDir,yarnArgv}from"./commom/paths.mjs";export{default as printLog}from"./commom/print-log.mjs";export{default as require}from"./commom/require.mjs";export*as Rule from"./commom/rule.mjs";export{default as timer}from"./commom/timer.mjs";export{yApiMock,yApiSchemaMock}from"./dev/mock.mjs";export{default as jsxDomExpressions}from"./options/jsx-dom-expressions.mjs";export{default as splitChunk}from"./options/split-chunk.mjs";export{HtmlPlugin}from"./plugin/html-plugin.mjs";export*from"./plugin/manifest/index.mjs";export{APPTYPE,coreName,FRAMEWORK,isCI,isDev,isLibrary,isMicro,mainDirectory,packageJson,PACKAGENAME}from"./process-env.mjs";export{digest,md5,node_modules,resolveProgram,toCamelCase}from"./utils/index.mjs";export*from"@moneko/mdx";export*from"@moneko/utils";import o from"webpack";export{o as webpack};
|
|
1
|
+
export{declToMd}from"./commom/decl-to-md.mjs";export*from"./commom/git.mjs";export{default as hasPkg}from"./commom/has-pkg.mjs";export{getIPv4,getPort}from"./commom/net.mjs";export{default as open}from"./commom/open.mjs";export{default as parseArgs}from"./commom/parse-args.mjs";export{CUSTOMCONFIG,default as paths,routeDir,yarnArgv}from"./commom/paths.mjs";export{default as printLog}from"./commom/print-log.mjs";export{default as require}from"./commom/require.mjs";export*as Rule from"./commom/rule.mjs";export{default as timer}from"./commom/timer.mjs";export{yApiMock,yApiSchemaMock}from"./dev/mock.mjs";export{convertUriToFileName}from"./dev/proxy.mjs";export{default as jsxDomExpressions}from"./options/jsx-dom-expressions.mjs";export{default as splitChunk}from"./options/split-chunk.mjs";export{HtmlPlugin}from"./plugin/html-plugin.mjs";export*from"./plugin/manifest/index.mjs";export{APPTYPE,coreName,FRAMEWORK,isCI,isDev,isLibrary,isMicro,mainDirectory,packageJson,PACKAGENAME}from"./process-env.mjs";export{digest,md5,node_modules,resolveProgram,toCamelCase}from"./utils/index.mjs";export*from"@moneko/mdx";export*from"@moneko/utils";import o from"webpack";export{o as webpack};
|