@moneko/core 3.9.17-beta.18 → 3.9.17-beta.19
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/mock.mjs +1 -1
- package/lib/utils/match-path.d.mts +22 -0
- package/lib/utils/match-path.mjs +1 -0
- package/lib/vm/docs.mjs +1 -1
- package/package.json +2 -6
package/lib/dev/mock.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"http";import{watch as e}from"chokidar";import o from"express";import{mock as r}from"mock-json-schema";import{merge as a}from"webpack-merge";import s from"../utils/esm.mjs";import n from"../utils/log.mjs";import i from"../utils/match-path.mjs";import c from"../utils/tfc.mjs";function p(t,e,o){if(o[e]){for(let r in o[e])Object.prototype.hasOwnProperty.call(o[e],r)&&delete t[r];o[e]=null,delete o[e]}}export const yApiSchemaMock=(e,o)=>new Promise((s,n)=>{t.get(`${e.host}/api/interface/get?id=${e.id}&token=${e.token}`,t=>{t.setEncoding("utf8");let e="";t.on("data",t=>{e+=t}),t.on("end",()=>{try{let t=JSON.parse(e);if(t?.data?.res_body_is_json_schema){let e=JSON.parse(t.data.res_body),n=r(e);void 0!==o?s(a(n,o)):s(n)}}catch(t){n(t)}})})});export const yApiMock=(e,o)=>new Promise((r,a)=>{let s=new URL(o.host),n={hostname:s.hostname,port:s.port,path:e.path.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:e.method,headers:e.headers,query:e.query},i=t.request(n,t=>{t.setEncoding("utf8");let e="";t.on("data",t=>{e+=t}),t.on("end",()=>{try{r(JSON.parse(e))}catch(t){a(t)}})});i.on("error",t=>{a(t.message)}),i.write(JSON.stringify(e.body)),i.end()});export default(t=>{let r={},a={};return e(t).on("all",async function(t,e){process.stdout.write("update mock...");let o={};switch(t){case"add":case"change":p(a,e,r),o=(await import(s`${c(e)}`)).default,r[e]=o,a=Object.assign(a,o);break;case"unlink":p(a,e,r)}n("update mock success")}),function(t,e,r){let s=`${t.method} ${t.path}`,n=Object.keys(a).filter(function(t){return RegExp(`^${t.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(s)});if(!a[s]&&(!n||!(n.length>0)))return r();{let c;let p=t.get("Content-Type");switch(p){case"text/plain":c=o.raw({type:"text/plain"});break;case"text/html":c=o.text({type:"text/html"});break;case"application/x-www-form-urlencoded":c=o.urlencoded({extended:!1});break;default:c=o.json()}p?.startsWith("multipart/form-data;")&&(c=o.static("./public")),c(t,e,function(){let o=a[s]||a[n[0]];if("function"==typeof o){let a=i(n[0].split(" ")[1],t.url);a&&Object.assign(t.params,a.params),o(t,e,r)}else e.json(o)})}}});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type MatchPath = {
|
|
2
|
+
path: string;
|
|
3
|
+
params: Record<string, unknown>;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* RESTful 风格api
|
|
7
|
+
* @param {String} pattern pattern
|
|
8
|
+
* @param {String} path paths
|
|
9
|
+
* @example
|
|
10
|
+
* const pattern = '/users/:id';
|
|
11
|
+
* const pathToMatch = '/users/123';
|
|
12
|
+
* const result = matchPath(pattern, pathToMatch);
|
|
13
|
+
* if (result) {
|
|
14
|
+
* console.log('Match found:', result);
|
|
15
|
+
* console.log('Params:', result.params);
|
|
16
|
+
* } else {
|
|
17
|
+
* console.log('No match found.');
|
|
18
|
+
* }
|
|
19
|
+
* @returns {MatchPath|null} MatchPath
|
|
20
|
+
*/
|
|
21
|
+
declare function matchPath(pattern: string, path: string): MatchPath | null;
|
|
22
|
+
export default matchPath;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function(t,l){let e=t.split("/"),n=l.split("/");if(e.length!==n.length)return null;let r={};for(let t=0;t<e.length;t++){let l=e[t],i=n[t];if(l.startsWith(":"))r[l.slice(1)]=i;else if(l!==i)return null}return{path:l,params:r}}
|
package/lib/vm/docs.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadFileSync as e,scanFolder as t}from"@moneko/mdx";import o from"./generate-doc.mjs";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isLibrary as a,isReact as s,isSolid as m}from"../process-env.mjs";import p from"../utils/reactive-object.mjs";let l={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs";export const docs=new p({[docsModuleName]:"export default {}"});export const comment=new p({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]
|
|
1
|
+
import{loadFileSync as e,scanFolder as t}from"@moneko/mdx";import o from"./generate-doc.mjs";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isLibrary as a,isReact as s,isSolid as m}from"../process-env.mjs";import p from"../utils/reactive-object.mjs";let l={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs";export const docs=new p({[docsModuleName]:"export default {}"});export const comment=new p({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]?.length;return o=>o.substring(t).replace(e,"@app/comment/$1.md")}();if(a){let a={},p=`import { ${l}${m?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[n]}${m?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${s?"() =>":""}${l}(${m?"Dynamic":"'n-md'"}, {text: res.default, ${m?"component: 'n-md', ":""}css: 'table td a {display:inline-flex;align-items:center;gap:2px;}table td a n-img{display:inline-block;overflow:hidden;border-radius:var(--border-radius);inline-size:18px;block-size:18px;}' })};}`,c=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),r=o.pop(),n=o.join("/");a[n]||(a[n]={}),t?a[n][r]&&delete a[n][r]:a[n][r]=`rr(() => ${l}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let s={};for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(s[e]=Object.values(a[e]));docs.setData(docsModuleName,`${p}export default ${JSON.stringify(s).replace(/"rr\((.+?)\)rr"/g,"$1")}`)};comment.on("change",(e,t)=>{c(e,t?.length<0)}),t(r.alias["@pkg"]).filter(e=>/^(?![._]).*(?<!\.test)\.(tsx?)$/i.test(e)).forEach(t=>{let r=e(t);r&&comment.setData(getCommentPath(t),o(r,t))})}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "3.9.17-beta.
|
|
3
|
+
"version": "3.9.17-beta.19",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
"mini-css-extract-plugin": "2.7.6",
|
|
32
32
|
"mock-json-schema": "1.1.1",
|
|
33
33
|
"multer": "1.4.5-lts.1",
|
|
34
|
-
"path-to-regexp": "6.2.1",
|
|
35
34
|
"style-loader": "3.3.3",
|
|
36
35
|
"swc-loader": "0.2.3",
|
|
37
36
|
"swc-plugin-another-transform-imports": "0.2.7",
|
|
@@ -48,14 +47,11 @@
|
|
|
48
47
|
},
|
|
49
48
|
"devDependencies": {
|
|
50
49
|
"@swc/cli": "0.1.63",
|
|
51
|
-
"@types/cors": "2.8.17",
|
|
52
50
|
"@types/express": "4.17.21",
|
|
53
51
|
"@types/multer": "1.4.11",
|
|
54
52
|
"eslint-config-neko": "2.3.0",
|
|
55
|
-
"eslint-webpack-plugin": "4.0.1",
|
|
56
53
|
"sass": "1.69.5",
|
|
57
|
-
"sass-loader": "13.3.2"
|
|
58
|
-
"stylelint-webpack-plugin": "4.1.1"
|
|
54
|
+
"sass-loader": "13.3.2"
|
|
59
55
|
},
|
|
60
56
|
"files": [
|
|
61
57
|
"lib",
|