@moneko/core 3.9.17 → 3.9.18-beta.1
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/build/common.d.mts +3 -0
- package/lib/build/common.mjs +1 -0
- package/lib/build/server.d.mts +3 -0
- package/lib/build/server.mjs +1 -0
- package/lib/build.mjs +1 -0
- package/lib/{common.d.ts → common.d.mts} +1 -1
- package/lib/common.mjs +1 -0
- package/lib/{config.d.ts → config.d.mts} +1 -1
- package/lib/config.mjs +1 -0
- package/lib/dev/config.d.mts +6 -0
- package/lib/dev/config.mjs +3 -0
- package/lib/dev/mock.d.mts +40 -0
- package/lib/dev/mock.mjs +1 -0
- package/lib/{net.d.ts → dev/net.d.mts} +1 -1
- package/lib/dev/net.mjs +1 -0
- package/lib/dev/proxy.d.mts +7 -0
- package/lib/dev/proxy.mjs +1 -0
- package/lib/dev.mjs +1 -0
- package/lib/index.d.mts +16 -0
- package/lib/index.mjs +1 -0
- package/lib/loader/ts-doc.d.cts +1 -1
- package/lib/module.config.d.mts +3 -0
- package/lib/module.config.mjs +1 -0
- package/lib/options/favicon.ico +0 -0
- package/lib/{html-plugin-option.d.ts → options/html-plugin-option.d.mts} +1 -1
- package/lib/options/html-plugin-option.mjs +11 -0
- package/lib/{minify.d.ts → options/js-minify.d.mts} +2 -2
- package/lib/options/js-minify.mjs +1 -0
- package/lib/options/jsx-dom-expressions.d.mts +10 -0
- package/lib/options/jsx-dom-expressions.mjs +1 -0
- package/lib/options/modify-vars.mjs +1 -0
- package/lib/options/split-chunk.d.mts +4 -0
- package/lib/options/split-chunk.mjs +1 -0
- package/lib/options/swcrc.d.mts +3 -0
- package/lib/options/swcrc.mjs +1 -0
- package/lib/{paths.d.ts → paths.d.mts} +4 -2
- package/lib/paths.mjs +1 -0
- package/lib/plugin/{add-entry-attribute.d.ts → add-entry-attribute.d.mts} +2 -3
- package/lib/plugin/add-entry-attribute.mjs +1 -0
- package/lib/plugin/{external-remotes.js → external-remotes.mjs} +1 -1
- package/lib/plugin/{lightningcss-plugin.d.ts → lightningcss-plugin.d.mts} +2 -2
- package/lib/plugin/lightningcss-plugin.mjs +1 -0
- package/lib/plugin/module-federation.mjs +1 -0
- package/lib/plugin/override-resolve.mjs +1 -0
- package/lib/plugin/{virtual-module.d.ts → virtual-module.d.mts} +2 -3
- package/lib/plugin/virtual-module.mjs +1 -0
- package/lib/plugins.config.mjs +1 -0
- package/lib/polyfills/polyfills.mjs +1 -0
- package/lib/polyfills/replace-children.mjs +1 -0
- package/lib/polyfills/targets.mjs +1 -0
- package/lib/{process-env.d.ts → process-env.d.mts} +2 -2
- package/lib/process-env.mjs +1 -0
- package/lib/rule.d.mts +23 -0
- package/lib/rule.mjs +1 -0
- package/lib/utils/compiler-listener.d.mts +3 -0
- package/lib/utils/compiler-listener.mjs +1 -0
- package/lib/utils/esm.d.mts +2 -0
- package/lib/utils/esm.mjs +1 -0
- package/lib/utils/has-pkg.d.mts +2 -0
- package/lib/utils/has-pkg.mjs +1 -0
- package/lib/{utils.d.ts → utils/index.d.mts} +0 -4
- package/lib/utils/index.mjs +1 -0
- package/lib/utils/log.d.mts +2 -0
- package/lib/utils/log.mjs +2 -0
- package/lib/utils/match-path.d.mts +22 -0
- package/lib/utils/match-path.mjs +1 -0
- package/lib/utils/read-conf.d.mts +2 -0
- package/lib/utils/read-conf.mjs +1 -0
- package/lib/utils/run.d.mts +2 -0
- package/lib/utils/run.mjs +1 -0
- package/lib/utils/seo.mjs +1 -0
- package/lib/{svg-to-data-uri.js → utils/svg-to-data-uri.mjs} +1 -1
- package/lib/utils/tfc.d.mts +2 -0
- package/lib/utils/tfc.mjs +1 -0
- package/lib/vm/coverage.mjs +1 -0
- package/lib/vm/{docs.d.ts → docs.d.mts} +1 -1
- package/lib/vm/docs.mjs +1 -0
- package/lib/vm/{example.d.ts → example.d.mts} +1 -1
- package/lib/vm/example.mjs +1 -0
- package/lib/vm/generate-doc.mjs +1 -0
- package/lib/{info.d.ts → vm/info.d.mts} +4 -3
- package/lib/vm/info.mjs +1 -0
- package/lib/vm/{locales.d.ts → locales.d.mts} +1 -1
- package/lib/vm/locales.mjs +2 -0
- package/lib/vm/modules.d.mts +17 -0
- package/lib/vm/modules.mjs +1 -0
- package/lib/vm/{routes.d.ts → routes.d.mts} +1 -1
- package/lib/vm/routes.mjs +1 -0
- package/package.json +28 -22
- package/typings/global.d.ts +58 -157
- package/lib/common.js +0 -1
- package/lib/config.js +0 -1
- package/lib/dev.js +0 -3
- package/lib/has-pkg.d.ts +0 -1
- package/lib/has-pkg.js +0 -1
- package/lib/html-plugin-option.js +0 -1
- package/lib/index.d.ts +0 -8
- package/lib/index.js +0 -1
- package/lib/info.js +0 -1
- package/lib/loader/hot-router.cjs +0 -1
- package/lib/minify.js +0 -1
- package/lib/modify-vars.js +0 -1
- package/lib/module-federation.js +0 -1
- package/lib/module.config.d.ts +0 -3
- package/lib/module.config.js +0 -1
- package/lib/net.js +0 -1
- package/lib/paths.js +0 -1
- package/lib/plugin/add-entry-attribute.js +0 -1
- package/lib/plugin/lightningcss-plugin.js +0 -1
- package/lib/plugin/override-resolve.js +0 -1
- package/lib/plugin/virtual-module.js +0 -1
- package/lib/plugins.config.js +0 -1
- package/lib/polyfills/replace-children.js +0 -1
- package/lib/polyfills.js +0 -1
- package/lib/process-env.js +0 -1
- package/lib/prod.d.ts +0 -1
- package/lib/prod.js +0 -1
- package/lib/seo.js +0 -1
- package/lib/swcrc.d.ts +0 -4
- package/lib/swcrc.js +0 -1
- package/lib/targets.js +0 -1
- package/lib/tsloader.config.d.ts +0 -8
- package/lib/tsloader.config.js +0 -1
- package/lib/utils.js +0 -2
- package/lib/vm/coverage.js +0 -1
- package/lib/vm/docs.js +0 -1
- package/lib/vm/example.js +0 -1
- package/lib/vm/generate-doc.js +0 -1
- package/lib/vm/locales.js +0 -2
- package/lib/vm/routes.js +0 -1
- package/template/favicon.ico +0 -0
- package/template/index.html +0 -25
- /package/lib/{dev.d.ts → build.d.mts} +0 -0
- /package/lib/{loader/hot-router.d.cts → dev.d.mts} +0 -0
- /package/lib/{modify-vars.d.ts → options/modify-vars.d.mts} +0 -0
- /package/lib/plugin/{done.d.ts → done.d.mts} +0 -0
- /package/lib/plugin/{done.js → done.mjs} +0 -0
- /package/lib/plugin/{external-remotes.d.ts → external-remotes.d.mts} +0 -0
- /package/lib/{module-federation.d.ts → plugin/module-federation.d.mts} +0 -0
- /package/lib/plugin/{override-resolve.d.ts → override-resolve.d.mts} +0 -0
- /package/lib/{plugins.config.d.ts → plugins.config.d.mts} +0 -0
- /package/lib/{polyfills.d.ts → polyfills/polyfills.d.mts} +0 -0
- /package/lib/{targets.d.ts → polyfills/targets.d.mts} +0 -0
- /package/lib/{os-tmp-dir.d.ts → utils/os-tmp-dir.d.mts} +0 -0
- /package/lib/{os-tmp-dir.js → utils/os-tmp-dir.mjs} +0 -0
- /package/lib/{reactive-object.d.ts → utils/reactive-object.d.mts} +0 -0
- /package/lib/{reactive-object.js → utils/reactive-object.mjs} +0 -0
- /package/lib/{resolver-sync.d.ts → utils/resolver-sync.d.mts} +0 -0
- /package/lib/{resolver-sync.js → utils/resolver-sync.mjs} +0 -0
- /package/lib/{seo.d.ts → utils/seo.d.mts} +0 -0
- /package/lib/{svg-to-data-uri.d.ts → utils/svg-to-data-uri.d.mts} +0 -0
- /package/lib/vm/{coverage.d.ts → coverage.d.mts} +0 -0
- /package/lib/vm/{generate-doc.d.ts → generate-doc.d.mts} +0 -0
- /package/lib/vm/{utils.d.ts → utils.d.mts} +0 -0
- /package/lib/vm/{utils.js → utils.mjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"mini-css-extract-plugin";import i from"terser-webpack-plugin";import m from"webpack";import{BundleAnalyzerPlugin as n}from"webpack-bundle-analyzer";import{merge as r}from"webpack-merge";import{commonConfig as o}from"../common.mjs";import{CONFIG as t}from"../config.mjs";import{getMinifyOption as l}from"../options/js-minify.mjs";import{LightningCssMinifyPlugin as p}from"../plugin/lightningcss-plugin.mjs";let{optimize:{MinChunkSizePlugin:s,ModuleConcatenationPlugin:u}}=m,a=r(o,{plugins:[new u,new e({filename:"style/[name].bundle.css",chunkFilename:"style/[name].chunk.css",experimentalUseImportModule:!0}),t.splitChunk&&new s({minChunkSize:1e4}),t.bundleAnalyzer&&new n(t.bundleAnalyzer)].filter(Boolean),optimization:{splitChunks:t.splitChunk,runtimeChunk:t.runtimeChunk,chunkIds:"named",moduleIds:"named",removeAvailableModules:!0,removeEmptyChunks:!0,mergeDuplicateChunks:!0,mangleWasmImports:!0,minimize:!0,minimizer:t.minifier&&[new i(l(t.minifier.type,t.minifier.options)),new p]||[]}});export default a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"webpack-node-externals";import o from"webpackbar";import r from"../module.config.mjs";import{CUSTOMCONFIG as s}from"../paths.mjs";import{isLibrary as t}from"../process-env.mjs";import{resolveProgramPath as m}from"../utils/index.mjs";let a={entry:{main:m("site/ssr.tsx")},output:{path:m(`${t?"docs":"dist"}/server`),library:{type:"commonjs2",umdNamedDefine:!1},filename:"[name].cjs",chunkFilename:"[chunkhash].cjs",globalObject:"global"},cache:{type:"filesystem",name:[s,process.env.NODE_ENV,"server"].filter(Boolean).join("-")},externalsPresets:{node:!0},externals:[e({allowlist:["react","react-dom","solid-js","@app","@moneko"]})],plugins:[new o({name:"Server"})],module:r(!0),target:"node"};export default a;
|
package/lib/build.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{removeDirAll as o}from"@moneko/mdx";import r from"webpack";import{merge as m}from"webpack-merge";import e from"webpackbar";import i from"./build/common.mjs";import t from"./build/server.mjs";import{CONFIG as s}from"./config.mjs";import n from"./module.config.mjs";import l from"./paths.mjs";import p from"./plugin/done.mjs";import{SSR as a}from"./process-env.mjs";import f from"./utils/compiler-listener.mjs";import c from"./utils/log.mjs";import u from"./utils/seo.mjs";let g=[m(i,{module:n(!1),plugins:[s.done&&new p({done:s.done}),s.bar&&new e(s.bar)].filter(Boolean)})];a&&g.push(m(i,t));let[j,w]=r(g).compilers,d=[f("client",j)];async function h(){r(g).run((o,r)=>{if(o)throw o;if(r)for(let o=0,m=r.stats.length;o<m;o++){let m=r.stats[o];for(let o=0,r=m.compilation.warnings.length;o<r;o++)c(m.compilation.warnings[o].message);for(let o=0,r=m.compilation.errors.length;o<r;o++)c(m.compilation.errors[o].message)}}),await Promise.all(d),s.seo&&u()}w&&d.push(f("server",w)),await h(),process.on("exit",function(){o(l.cachePath)});
|
package/lib/common.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{CONFIG as e,PUBLICPATH as t}from"./config.mjs";import o,{CUSTOMCONFIG as s}from"./paths.mjs";import r from"./plugin/override-resolve.mjs";import n from"./plugins.config.mjs";import{PACKAGENAME as i,PACKAGEVERSION as l,isDev as a,isLibrary as p}from"./process-env.mjs";import m from"./rule.mjs";import{resolveNodeModulesPath as c,resolveProgramPath as u}from"./utils/index.mjs";export const outputConfig={path:u(p?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:`js/[${a?"name":"chunkhash"}].js`,assetModuleFilename:e=>{let t=e.filename;return t?.endsWith("?url")&&m.worker_file.test(t.replace("?url",""))?"worker/[name][ext]":"assets/[name][hash][ext]"},library:{name:i,type:"window"},globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${i}`,pathinfo:a,clean:!0,publicPath:t,asyncChunks:!0,charset:!0};let f={main:[e.polyfill&&`${o.corePath}/polyfills/replace-children.js`,c("@app/entry")].filter(Boolean)};e.entry&&("string"==typeof e.entry?f={main:[e.entry]}:Object.keys(e.entry)&&(f=Object.assign(f,e.entry))),"string"==typeof f.main&&(f.main=[f.main]),e.output&&("string"==typeof e.output?outputConfig.path=e.output:Object.keys(e.output)&&Object.assign(outputConfig,e.output));let d=!1;e.cacheDirectory&&(d={type:"filesystem",store:"pack",allowCollectingMemory:!0,cacheDirectory:e.cacheDirectory,memoryCacheUnaffected:!0,name:[s,process.env.NODE_ENV].filter(Boolean).join("-"),version:l});let y=Object.assign({original:e.alias["@"],override:s&&u(s)},e.overrideResolve);export const commonConfig={devtool:e.devtool,entry:f,mode:a?"development":"production",stats:"errors-only",cache:d,infrastructureLogging:{level:"error"},target:"web",externalsPresets:e.externalsPresets,plugins:n,node:{global:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:a&&{imports:!1,entries:!1},buildHttp:e.buildHttp,backCompat:!0,futureDefaults:!1,css:!1,outputModule:!1},resolve:{extensions:["...",".jsx",".ts",".tsx"],alias:e.alias,modules:[o.nodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:[e.overrideResolve&&new r(y),...e.resolvePlugins].filter(Boolean),fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},externals:e.externals,output:outputConfig};
|
package/lib/config.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fileExists as e}from"@moneko/mdx";import{merge as o}from"webpack-merge";import t from"./options/jsx-dom-expressions.mjs";import s from"./options/split-chunk.mjs";import a,{CUSTOMCONFIG as i}from"./paths.mjs";import{FRAMEWORK as l,PACKAGENAME as r,isDev as n,isLibrary as m,isMobile as p,jsxImportSource as c,mainDirectory as u}from"./process-env.mjs";import{isFunction as d,resolveProgramPath as h}from"./utils/index.mjs";import f from"./utils/log.mjs";import g from"./utils/read-conf.mjs";let P=["@moneko","neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design","@app",".cache/http/data"],x={devtool:n?"eval-cheap-module-source-map":"cheap-module-source-map",seo:!1,mode:"csr",bundleAnalyzer:!1,polyfill:!1,entry:{},minifier:{},sourceMap:{filename:"[file].map",publicPath:""},env:{NODE_ENV:process.env.NODE_ENV},basename:"/",publicPath:"/",rem:{designSize:p?375:1680},fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{"@":h(u)},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:{},cacheDirectory:a.webpackCachePath,devServer:{host:"localhost",port:3e3},htmlPluginOption:{},assetHtml:[],routerMode:"browser",fixBrowserRouter:!1,plugins:[],resolvePlugins:[],overrideResolve:!1,splitChunk:s,runtimeChunk:"single",moduleFederation:[],rulesInclude:{css:P,js:P,media:P,font:P,wasm:[]},mdx:{jsx:!1,development:n,jsxImportSource:c,providerImportSource:`@moneko/${l}/mdx`},jsxDomExpressions:t,bar:{name:"Client",color:"#6f42c1"},normalizeCss:!0,externalsPresets:{},buildHttp:{allowedUris:[],lockfileLocation:`${a.httpCachePath}/http.lock`,cacheLocation:`${a.httpCachePath}/data`,upgrade:!0},virtualModule:{}};m&&(x.alias=Object.assign(x.alias,{"@pkg":a.componentsPath,[r]:a.componentsPath}));let v=x,C={},k={};if(e(a.configPath)){let e=(await g(a.configPath,"index")).default;C=d(e)?e(process):e}if(i&&e(a.customConfigPath)){let e=(await g(a.customConfigPath,i)).default;k=d(e)?e(process):e}(!1===(v=o(v,C,k)).devtool||!1===v.sourceMap)&&(v.sourceMap=!1,v.devtool=!1),v.fixBrowserRouter&&v.htmlPluginOption&&(v.htmlPluginOption.tags||(v.htmlPluginOption.tags=[]),v.htmlPluginOption.tags.push({textContent:"(function(l) {if (l.search[1] === '/' ) {var decoded = l.search.slice(1).split('&').map(function(s) {return s.replace(/~and~/g, '&')}).join('?');window.history.replaceState(null, null,l.pathname.slice(0, -1) + decoded + l.hash);}}(window.location))"}));export const CONFIG=v;export const PUBLICPATH=CONFIG.publicPath||"/";global.NEKOCLICONFIG={CONFIG,CUSTOMCONFIG:i,log:f};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import t from"chalk";import{getIPv4 as o,getPort as e}from"./net.mjs";import{CONFIG as r}from"../config.mjs";import s from"../utils/log.mjs";let{yellow:i,green:n,grey:l,gray:m,bgBlue:a,bgGreenBright:c,blueBright:p,greenBright:$}=t,u=r.devServer||{},f=u.port||3e3;export const PORT=await e(f,65535,u.host);u.port=PORT;let d="/"===r.basename?"":r.basename,T=u.port!==PORT&&m(`Port ${i(f)} is in use, trying ${n(PORT)} instead.
|
|
2
|
+
`);function g(t){return`http://${"local"===t?u.host:o()}:${PORT}${d}`}let h=m("You application is running here:"),x=`${a(" Local ")} ${p(g("local"))}
|
|
3
|
+
${c(" Network ")} ${$(g("net"))}`;export function devLog(t,o){!t&&o&&(process.stdout.write("\x1b[2J\x1b[3J\x1b[H"),s([h,"",x,"",l(`Compiled successfully in ${n(`${o.endTime-o.startTime}ms`)}`)]),T&&s(T))}export const headers={"Access-Control-Allow-Origin":"*"};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="multer" />
|
|
2
|
+
import { type NextFunction, type Request, type Response } from 'express';
|
|
3
|
+
export interface RequestFormData extends Request {
|
|
4
|
+
files: Express.Multer.File[];
|
|
5
|
+
}
|
|
6
|
+
export type ProxyFuncType = (req: RequestFormData, res: Response, next: NextFunction) => void;
|
|
7
|
+
export type MockConfiguration = Record<string, ProxyFuncType | Record<string, any> | null>;
|
|
8
|
+
export type YApiOptionBySchema = {
|
|
9
|
+
/** YApi host */
|
|
10
|
+
host: string;
|
|
11
|
+
/** 接口id */
|
|
12
|
+
id: string;
|
|
13
|
+
/** YApi开放接口token */
|
|
14
|
+
token: string;
|
|
15
|
+
};
|
|
16
|
+
type Any = any;
|
|
17
|
+
/**
|
|
18
|
+
* 通过 YApi 接口对应的响应JSON Schema生成默认的数据
|
|
19
|
+
* @param {YApiOptionBySchema} option Schema
|
|
20
|
+
* @param {T} data data
|
|
21
|
+
* @returns {Promise} mockData
|
|
22
|
+
*/
|
|
23
|
+
export declare const yApiSchemaMock: <T extends unknown>(option: YApiOptionBySchema, data?: T | undefined) => Promise<T>;
|
|
24
|
+
export type YApiOption = {
|
|
25
|
+
/** YApi host */
|
|
26
|
+
host: string;
|
|
27
|
+
/** YApi 项目ID */
|
|
28
|
+
projectId: number;
|
|
29
|
+
/** 重写请求路径, 例如:'^/api/' */
|
|
30
|
+
pathRewrite: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* 请求YApi高级mock接口数据
|
|
34
|
+
* @param {RequestFormData} req req
|
|
35
|
+
* @param {YApiOption} yapi YApiOption
|
|
36
|
+
* @returns {Promise} data
|
|
37
|
+
*/
|
|
38
|
+
export declare const yApiMock: (req: RequestFormData, yapi: YApiOption) => Promise<Any>;
|
|
39
|
+
declare const mockMiddlewares: (directory: string) => (req: Request, res: Response, next: VoidFunction) => void;
|
|
40
|
+
export default mockMiddlewares;
|
package/lib/dev/mock.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
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)})}}});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function getIPv4(): string |
|
|
1
|
+
export declare function getIPv4(): string | null;
|
|
2
2
|
export declare function getPort<T = number>(start: T, end: number, host?: string): Promise<T>;
|
package/lib/dev/net.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createConnection as e}from"net";import{networkInterfaces as t}from"os";export function getIPv4(){let e=t(),r=null,o=Object.keys(e);for(let t=0,n=o.length;t<n;t++){let n=e[o[t]]||[];for(let e=0,t=n.length;e<t;e++){let t=n[e];"IPv4"!==t.family||t.internal||(r=t.address)}}return r}export function getPort(t,r,o="0.0.0.0"){return new Promise(n=>{if("number"!=typeof t)n(t);else{let l=e(t,o);l.on("connect",()=>{l.destroy(),n(getPort(t+1,r,o))}),l.on("error",()=>{n(t)})}})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createProxyMiddleware as e}from"http-proxy-middleware";export default((t,r)=>{let l=Object.keys(r);for(let o=0,p=l.length;o<p;o++){let p=l[o],d=r[p],f=e(p,{logLevel:"error",...d});t.use(p,f)}});
|
package/lib/dev.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{directoryExists as e,removeDirAll as t}from"@moneko/mdx";import o from"express";import i from"multer";import r from"webpack";import s from"webpack-dev-middleware";import m from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import n from"webpackbar";import a from"./build/server.mjs";import{commonConfig as p}from"./common.mjs";import{CONFIG as c}from"./config.mjs";import{PORT as d,devLog as u,headers as f}from"./dev/config.mjs";import h from"./dev/mock.mjs";import w from"./dev/proxy.mjs";import g from"./module.config.mjs";import x from"./paths.mjs";import{SSR as j,isLibrary as k,isReact as b}from"./process-env.mjs";import y from"./rule.mjs";import $ from"./utils/compiler-listener.mjs";import v from"./utils/has-pkg.mjs";import{empty as _,resolveProgramPath as P}from"./utils/index.mjs";let{HotModuleReplacementPlugin:S,WatchIgnorePlugin:D}=r,T=v("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,B=v("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,I=b&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,E=["js","jsx","ts","tsx","json","html","vue"],F=E.join(","),G=["css","scss","sass","less","ts","tsx","js","jsx"],M=G.join(","),O=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],R=new URLSearchParams({timeout:2e3,reload:!0,quiet:!0,noInfo:!0,overlay:!0,dynamicPublicPath:!0}).toString(),U=p.output.path;j&&(U=P(`${k?"docs":"dist"}/client`));let q=l(p,{entry:{main:[`webpack-hot-middleware/client?name=client&path=//localhost:${d}/__hmr__&${R}`]},output:{path:U},module:g(!1),plugins:[new S,new D({paths:[/\.d\.ts$/]}),I&&new I,B&&new B({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${F}}`,k&&`${c.alias["@pkg"]}/**/*.{${F}}`].filter(Boolean),extensions:E,exclude:O,cache:!0,lintDirtyModulesOnly:!0}),T&&new T({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${M}}`,k&&`${c.alias["@pkg"]}/**/*.{${M}}`].filter(Boolean),extensions:G,exclude:O,cache:!0,lintDirtyModulesOnly:!0}),c.bar&&new n(c.bar)].filter(Boolean)}),A=[q];j&&A.push(l(p,a));let[C,L]=r(A).compilers;C.hooks.done.tap("client",e=>{u(null,e)});let N=o(),z=i(),H=s(C,{writeToDisk:!1,index:"index.html",headers:()=>f,serverSideRender:j});if(N.use(H),N.use(m(C,{log:!1,path:"/__hmr__",heartbeat:2e3,ignoreUnaccepted:!1,ignoreDeclined:!0,ignoreErrored:!0})),c.proxy&&w(N,c.proxy),e(x.mockPath)){let e=h(x.mockPath);N.use(e)}let J=`${q.output.path}/index.html`;N.all("/*",z.any(),function(e,t,o){if("GET"!==e.method)return o();{let e=H.context.outputFileSystem,o=e?.readFileSync?.(J);t.end(o)}});let K=[$("client",C)];L&&(L.watch({aggregateTimeout:20,ignored:y.dev_watch_ignored,poll:1e3,stdin:!0},u),K.push($("server",L))),await Promise.all(K);let Q=N.listen(d,()=>{});process.on("exit",function(){Q.close(_),Q.closeAllConnections(),t(x.cachePath)}),process.on("SIGINT",function(){process.exit()});
|
package/lib/index.d.mts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { default as paths, CUSTOMCONFIG, yarnArgv, routeDir } from './paths.mjs';
|
|
2
|
+
export { APPTYPE, FRAMEWORK, PACKAGENAME, PACKAGEVERSION, coreName, isDev, isLibrary, isMicro, mainDirectory, } from './process-env.mjs';
|
|
3
|
+
export { realResolve, resolveNodeModulesPath, resolveProgramPath } from './utils/index.mjs';
|
|
4
|
+
export { default as log } from './utils/log.mjs';
|
|
5
|
+
export { default as hasPkg } from './utils/has-pkg.mjs';
|
|
6
|
+
export { default as osTmpDir } from './utils/os-tmp-dir.mjs';
|
|
7
|
+
export type { MdxOptions } from '@moneko/mdx';
|
|
8
|
+
export type { OverrideResolverOption } from './plugin/override-resolve.mjs';
|
|
9
|
+
export { type YApiOption, type YApiOptionBySchema, yApiMock, yApiSchemaMock, type RequestFormData, type ProxyFuncType, type MockConfiguration, } from './dev/mock.mjs';
|
|
10
|
+
export type { ProxyConfig } from './dev/proxy.mjs';
|
|
11
|
+
export { getIPv4, getPort } from './dev/net.mjs';
|
|
12
|
+
export { default as jsxDomExpressions, type JsxDomExpressions, } from './options/jsx-dom-expressions.mjs';
|
|
13
|
+
export { default as splitChunk, type OptimizationSplitChunksOptions, } from './options/split-chunk.mjs';
|
|
14
|
+
export { default as Rule } from './rule.mjs';
|
|
15
|
+
export type { VirtualModulePluginOption } from './plugin/virtual-module.mjs';
|
|
16
|
+
export type * from '../typings/global.js';
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default as paths,CUSTOMCONFIG,yarnArgv,routeDir}from"./paths.mjs";export{APPTYPE,FRAMEWORK,PACKAGENAME,PACKAGEVERSION,coreName,isDev,isLibrary,isMicro,mainDirectory}from"./process-env.mjs";export{realResolve,resolveNodeModulesPath,resolveProgramPath}from"./utils/index.mjs";export{default as log}from"./utils/log.mjs";export{default as hasPkg}from"./utils/has-pkg.mjs";export{default as osTmpDir}from"./utils/os-tmp-dir.mjs";export{yApiMock,yApiSchemaMock}from"./dev/mock.mjs";export{getIPv4,getPort}from"./dev/net.mjs";export{default as jsxDomExpressions}from"./options/jsx-dom-expressions.mjs";export{default as splitChunk}from"./options/split-chunk.mjs";export{default as Rule}from"./rule.mjs";
|
package/lib/loader/ts-doc.d.cts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e;import s from"mini-css-extract-plugin";import{CONFIG as o,PUBLICPATH as t}from"./config.mjs";import r from"./options/modify-vars.mjs";import a from"./options/swcrc.mjs";import n,{CUSTOMCONFIG as l}from"./paths.mjs";import{getLightningCssTargets as i}from"./polyfills/targets.mjs";import{FRAMEWORK as m,isDev as d,isLibrary as c,isMicro as u}from"./process-env.mjs";import p from"./rule.mjs";import f from"./utils/has-pkg.mjs";import{resolveNodeModulesPath as y,resolveProgramPath as g}from"./utils/index.mjs";import v from"./utils/svg-to-data-uri.mjs";import{comment as j,getCommentPath as x}from"./vm/docs.mjs";import h from"./vm/generate-doc.mjs";let _=u?t:"../",w={loader:s.loader,options:{publicPath:"/"!==_?_:"../"}},k={loader:`${n.corePath}/loader/lightningcss.cjs`,options:{sourceMap:!!o.sourceMap,analyzeDependencies:!1,targets:i(),drafts:{nesting:!0,customMedia:!0},errorRecovery:!1,unusedSymbols:[],rem:!!o.rem}},M={loader:"less-loader",options:{sourceMap:!!o.sourceMap,lessOptions:{modifyVars:r,javascriptEnabled:!0}}};d&&(w="style-loader");let b=[...o.cssModules,`@moneko/${m}`,"neko-ui"].map(y),O=["components","example","mock","site","src","server"].map(g);function P(e){return[...O,...o.rulesInclude?.[e]?.map(y)||[]]}l&&O.push(g(l)),o.overrideResolve&&o.overrideResolve.override&&O.push(o.overrideResolve.override);let R=P("css"),L=P("js"),$=P("media"),B=P("wasm"),I=P("font");f("sass")&&(e={loader:"sass-loader",options:{implementation:await import("sass"),sassOptions:{}}});let Q=c&&d&&{test:p.tsdoc,include:o.alias["@pkg"],exclude:[p.node_modules,p.__tests__],enforce:"pre",loader:`${n.corePath}/loader/ts-doc.cjs`,options:{comment:j,generateDoc:h,getCommentPath:x}},S=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename:e=>{let s=e.filename;return s&&s.endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:p.wasm,type:"webassembly/async",include:B},{test:p.txt,type:"asset/source"},{test:p.ico,type:"asset/inline",include:$},{test:p.svg,type:"asset/inline",generator:{dataUrl:e=>v(e.toString())},include:$},{test:p.image,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/images/[name][ext]"},include:$},{test:p.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:$},{test:p.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:I}],z=o.prefixJsLoader.filter(Boolean)||[];export default(s=>{let t={loader:"swc-loader",options:a(s)},r={loader:"css-loader",options:{modules:{auto:e=>{if(e){for(let s=0,o=b.length;s<o;s++)if(e.includes(b[s]))return p.css_module.test(e)}return p.node_modules_css_module.test(e)},localIdentName:"[path][name]_[local]",exportLocalsConvention:"dashesOnly",exportOnlyLocals:s},importLoaders:2}};return{noParse:p.no_parse,rules:[Q,{oneOf:[...S,{test:p.js,use:[...z,t],include:L},{test:p.css,use:[w,"css-loader",k],include:R},e&&{test:p.scss,use:[w,r,k,e],include:R},{test:p.less,use:[w,r,k,M],include:R},{test:p.markdown,use:[...z,{loader:`${n.corePath}/loader/mdx.cjs`,options:o.mdx}],exclude:[p.node_modules]}].filter(Boolean)},...o.moduleRules].filter(Boolean)}});
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{merge as e}from"webpack-merge";import{CONFIG as t}from"../config.mjs";import{PACKAGENAME as i,coreName as o}from"../process-env.mjs";import{resolveProgramPath as m}from"../utils/index.mjs";import{description as r,keywords as a}from"../vm/info.mjs";let{favicon:n=`node_modules/${o}/lib/options/favicon.ico`,template:l,...p}=t.htmlPluginOption||{},s=e({title:t.env?.PROJECTNAME||i.toLocaleUpperCase()||"Title",filename:"index.html",hash:!1,minify:{minifyJS:!0,minifyCSS:!0,collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!1,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!1,removeAttributeQuotes:!0,useShortDoctype:!0},meta:{charset:"UTF-8","X-UA-Compatible":{"http-equiv":"X-UA-Compatible",content:"IE=edge,Chrome=1"},HandheldFriendly:"true",MobileOptimized:"320","screen-orientation":"portrait","x5-orientation":"portrait",browsermode:"application","x5-page-mode":"app","msapplication-tap-highlight":"no",viewport:"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1","apple-mobile-web-app-capable":"yes",renderer:"webkit",description:r,keywords:a},tags:[],favicon:n?m(n):n},p,l?{template:l?m(l):void 0}:{templateContent:function({htmlWebpackPlugin:{options:e}}){let t=e.tags,i="",o="";return t&&t.map(function(e){let{tag:t="script",textContent:m="",inject:r="head",...a}=e,n="";for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(n+=`${e}="${a[e]}" `);let l=`<${t} ${n}>${m}</${t}>`;"body"===r?o+=l:i+=l}),`<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<title>${e.title}</title>
|
|
5
|
+
${i}
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<div id="root"></div>
|
|
9
|
+
${o}
|
|
10
|
+
</body>
|
|
11
|
+
</html>`}});export default s;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import TerserPlugin from 'terser-webpack-plugin';
|
|
2
|
-
import type { MinifierType, SwcMinifyOptions, TerserMinifyOptions } from '.';
|
|
2
|
+
import type { MinifierType, SwcMinifyOptions, TerserMinifyOptions } from '../index.mjs';
|
|
3
3
|
type MinifyObject = {
|
|
4
4
|
terser: {
|
|
5
5
|
minify: typeof TerserPlugin.terserMinify;
|
|
@@ -12,7 +12,7 @@ type MinifyObject = {
|
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
export declare const minify: MinifyObject;
|
|
15
|
-
export declare const getMinifyOption: (type
|
|
15
|
+
export declare const getMinifyOption: (type?: MinifierType, options?: SwcMinifyOptions | TerserMinifyOptions) => ({
|
|
16
16
|
minify: typeof TerserPlugin.terserMinify;
|
|
17
17
|
terserOptions: TerserMinifyOptions;
|
|
18
18
|
extractComments?: boolean | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"terser-webpack-plugin";import{merge as o}from"webpack-merge";let r={drop_console:!0,drop_debugger:!0,global_defs:{"@alert":"console.log"},pure_funcs:["console.log","console.warn","console.error","console.info"]},s={ecma:2015,toplevel:!1,module:!1,ie8:!1,keep_classnames:void 0,keep_fnames:!1};export const minify={terser:{minify:e.terserMinify,terserOptions:{compress:r,...s,mangle:!0,format:{comments:!1},safari10:!1,parse:{}},extractComments:!1},swc:{minify:e.swcMinify,terserOptions:{compress:{...r,...s,top_retain:[],keep_infinity:!0},mangle:!0}}};export const getMinifyOption=(e="swc",r={})=>{let s=minify[e];return Object.assign(s,{terserOptions:o(s.terserOptions,r)})};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface JsxDomExpressions {
|
|
2
|
+
moduleName?: string;
|
|
3
|
+
builtIns?: string[];
|
|
4
|
+
contextToCustomElements?: boolean;
|
|
5
|
+
wrapConditionals?: boolean;
|
|
6
|
+
generate?: 'ssr' | 'dom';
|
|
7
|
+
hydratable?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const jsxDomExpressions: JsxDomExpressions;
|
|
10
|
+
export default jsxDomExpressions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default{moduleName:"solid-js/web",builtIns:["For","Show","Switch","Match","Suspense","SuspenseList","Portal","Index","Dynamic","ErrorBoundary"],contextToCustomElements:!0,wrapConditionals:!0,generate:"dom",hydratable:!1};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import i from"./html-plugin-option.mjs";import{CONFIG as o}from"../config.mjs";let f=o.prefixCls||"n",n={"@prefix-cls":f,"@ant-prefix":f,"@iconfont-css-prefix":`${f}-icon`,"@favicon":JSON.stringify(i.favicon)};Object.assign(n,o.modifyVars);export default n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=function(){let e={priority:-10,reuseExistingChunk:!0};return function(n){return{...e,test:n}}}(),n={chunks:"all",minSize:1024,minChunks:1,cacheGroups:{CHANGELOG:e(/CHANGELOG\.md/),prismjs:e(/(prism\.js|prism\/css\.ts)/),site:e(/site/),marked:e(/marked/),"n-katex":e(/n-katex/),"n-code-live":e(/n-code-live/),"@moneko":e(/@moneko/)}};export default n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{merge as e}from"webpack-merge";import{CONFIG as r}from"../config.mjs";import o from"../paths.mjs";import t from"../polyfills/polyfills.mjs";import{isDev as s,isReact as m,isSolid as a,jsxImportSource as l}from"../process-env.mjs";let p=function(e){for(let r=0,o=Object.keys(e),t=o.length;r<t;r++)e[o[r]].transform=`${o[r]}/${e[o[r]].transform}`,e[o[r]].style&&(e[o[r]].style=`${o[r]}/${e[o[r]].style}`);return e}(r.importOnDemand||{}),i={include:t(),mode:"entry",coreJs:"3.35"};export default(t=>e({module:{type:"es6",resolveFully:!0},jsc:{parser:{syntax:"typescript",tsx:!0,decorators:!0,dynamicImport:!0},loose:!0,target:r.polyfill?void 0:"es2017",externalHelpers:!1,transform:{legacyDecorator:!0,decoratorMetadata:!0,react:{runtime:"automatic",throwIfNamespace:!0,refresh:m&&s,development:s,importSource:l},optimizer:{simplify:!1}},experimental:{emitAssertForImportAttributes:!0,cacheRoot:o.swcCachePath,plugins:[["swc-plugin-another-transform-imports",p],a&&["@moneko/jsx-dom-expressions",{...r.jsxDomExpressions,generate:t?"ssr":"dom",hydratable:t}]].filter(Boolean)}},env:r.polyfill?i:void 0,sourceMaps:!0,parseMap:!0},"function"==typeof r.swcrc?r.swcrc(s):r.swcrc||{}));
|
|
@@ -9,7 +9,7 @@ export declare const yarnArgv: Record<string, string> & {
|
|
|
9
9
|
* ```
|
|
10
10
|
*/
|
|
11
11
|
export declare const CUSTOMCONFIG: string | undefined;
|
|
12
|
-
declare const
|
|
12
|
+
declare const paths: {
|
|
13
13
|
nodeModules: string;
|
|
14
14
|
corePath: string;
|
|
15
15
|
programPath: string;
|
|
@@ -22,5 +22,7 @@ declare const _default: {
|
|
|
22
22
|
coveragePath: string;
|
|
23
23
|
pagesPath: string;
|
|
24
24
|
componentsPath: string;
|
|
25
|
+
mockPath: string;
|
|
25
26
|
};
|
|
26
|
-
export
|
|
27
|
+
export declare const routeDir: string;
|
|
28
|
+
export default paths;
|
package/lib/paths.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"url";let o=JSON.parse(process.env.npm_config_argv||"{}")?.original;export const yarnArgv={};for(let e=0,t=o.length;e<t;e++){let t=o[e].split("=");Object.assign(yarnArgv,{[t[0]]:t[1]||!0})}export const CUSTOMCONFIG=process.env.npm_config_config||yarnArgv.config;let t=process.cwd(),c=`${t}/node_modules`,a={nodeModules:c,corePath:e.fileURLToPath(new URL(".",import.meta.url)),programPath:t,webpackCachePath:`${c}/.temp_cache`,cachePath:`${c}/.cache/.mo`,httpCachePath:`${c}/.cache/http`,swcCachePath:`${c}/.swc`,configPath:`${t}/config/index.ts`,customConfigPath:`${t}/config/${CUSTOMCONFIG}.ts`,coveragePath:`${t}/coverage/clover.xml`,pagesPath:`${t}/src/pages`,componentsPath:`${t}/components`,mockPath:`${t}/mock`};export const routeDir="library"===process.env.APPTYPE?a.componentsPath:a.pagesPath;export default a;
|
|
@@ -4,16 +4,15 @@ import type { Compiler } from 'webpack';
|
|
|
4
4
|
* ```javascript
|
|
5
5
|
* // 假设输出 main chunk 为 main.[hash].chunk.js。
|
|
6
6
|
* // 提示:输出 chunk 的名称规范化可以在 output.filename 中配置
|
|
7
|
-
* new
|
|
7
|
+
* new AddEntryAttributePlugin((src => {
|
|
8
8
|
* return !!(src.match(/main\.(.*)\.bundle.js$/) || src.match('main.bundle.js'));
|
|
9
9
|
* })),
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
|
-
declare class
|
|
12
|
+
export declare class AddEntryAttributePlugin {
|
|
13
13
|
private readonly test;
|
|
14
14
|
constructor(opt: {
|
|
15
15
|
test: RegExp;
|
|
16
16
|
});
|
|
17
17
|
apply(compiler: Compiler): void;
|
|
18
18
|
}
|
|
19
|
-
export default AddEntryAttributeWebpackPlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"html-webpack-plugin";let s="AddEntryAttributePlugin";export class AddEntryAttributePlugin{constructor(t){this.test=t.test}apply(e){e.hooks.compilation.tap(s,e=>{t.getHooks(e).alterAssetTagGroups.tapAsync(s,(t,s)=>{for(let s=0,e=t.headTags.length;s<e;s++){let e=t.headTags[s];"script"===e.tagName&&e.attributes.src&&this.test.test(e.attributes.src)&&(e.attributes.entry=!0)}s(null,t)})})}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"webpack";let{sources:t}=e,r="ExternalRemotesPlugin";export default class{apply(e){e.hooks.make.tap(r,e=>{let n=[];e.hooks.buildModule.tap(r,e=>{"ExternalModule"===e.constructor.name&&"script"===e.externalType&&n.push(e)}),e.hooks.afterCodeGeneration.tap(r,function(){n.map(r=>{let n=function(e){let t=e.indexOf("@");if(t<=0||t===e.length-1)throw Error(`Invalid request "${e}"`);return[e.substring(t+1),e.substring(0,t)]}(r.request)[0],o=function(e){let t=[],r=[],n=!1,o=!1;for(let l of e)if("["===l){if(n){o=!0;break}n=!0,r.length&&(t.push(`"${r.join("")}"`),r.length=0)}else if("]"===l){if(!n){o=!0;break}n=!1,r.length&&(t.push(`${r.join("")}`),r.length=0),r.length=0}else r.push(l);if(n||o)throw Error(`Invalid template URL "${e}"`);return r.length&&t.push(`"${r.join("")}"`),t.join(" + ")}(n),l=e.codeGenerationResults.get(r,void 0).sources;l.set("javascript",new t.RawSource(
|
|
1
|
+
import e from"webpack";let{sources:t}=e,r="ExternalRemotesPlugin";export default class{apply(e){e.hooks.make.tap(r,e=>{let n=[];e.hooks.buildModule.tap(r,e=>{"ExternalModule"===e.constructor.name&&"script"===e.externalType&&n.push(e)}),e.hooks.afterCodeGeneration.tap(r,function(){n.map(r=>{let n=function(e){let t=e.indexOf("@");if(t<=0||t===e.length-1)throw Error(`Invalid request "${e}"`);return[e.substring(t+1),e.substring(0,t)]}(r.request)[0],o=function(e){let t=[],r=[],n=!1,o=!1;for(let l of e)if("["===l){if(n){o=!0;break}n=!0,r.length&&(t.push(`"${r.join("")}"`),r.length=0)}else if("]"===l){if(!n){o=!0;break}n=!1,r.length&&(t.push(`${r.join("")}`),r.length=0),r.length=0}else r.push(l);if(n||o)throw Error(`Invalid template URL "${e}"`);return r.length&&t.push(`"${r.join("")}"`),t.join(" + ")}(n),l=e.codeGenerationResults.get(r,void 0).sources,s=l.get("javascript")?.source();s&&l.set("javascript",new t.RawSource(s.replace(`"${n}"`,o)))})})})}}
|
|
@@ -10,11 +10,11 @@ interface MinifyPluginOpts {
|
|
|
10
10
|
exclude?: Filter | Filter[];
|
|
11
11
|
targets?: Targets;
|
|
12
12
|
}
|
|
13
|
-
declare class LightningCssMinifyPlugin {
|
|
13
|
+
export declare class LightningCssMinifyPlugin {
|
|
14
14
|
private readonly options;
|
|
15
15
|
private readonly transform;
|
|
16
16
|
constructor(opts?: MinifyPluginOpts);
|
|
17
17
|
apply(compiler: Compiler): void;
|
|
18
18
|
private transformAssets;
|
|
19
19
|
}
|
|
20
|
-
export
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Buffer as s}from"buffer";import{loadFileSync as t}from"@moneko/mdx";import{transform as i}from"lightningcss";import o from"webpack";let{sources:{RawSource:n,SourceMapSource:e},ModuleFilenameHelpers:{matchObject:r}}=o,a="lightning-css-minify",m=/\.css(?:\?.*)?$/i,{name:p,version:f}=JSON.parse(t(`${process.cwd()}/package.json`)||"{}");export class LightningCssMinifyPlugin{constructor(s={}){let{implementation:t,...o}=s;if(t&&"function"!=typeof t.transform)throw TypeError(`[LightningCssMinifyPlugin]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof t.transform}`);this.transform=t?.transform??i,this.options=o}apply(s){let t=JSON.stringify({name:p,version:f,options:this.options});s.hooks.compilation.tap(a,s=>{s.hooks.chunkHash.tap(a,(s,i)=>i.update(t)),s.hooks.processAssets.tapPromise({name:a,stage:s.constructor.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,additionalAssets:!0},async()=>await this.transformAssets(s)),s.hooks.statsPrinter.tap(a,s=>{s.hooks.print.for("asset.info.minimized").tap(a,(s,{green:t,formatFlag:i})=>s&&t&&i?t(i("minimized")):void 0)})})}async transformAssets(t){let{options:{devtool:i}}=t.compiler,{include:o,exclude:a,test:p,sourceMap:f=!!(i&&i.includes("source-map")),...c}=this.options,l=t.getAssets().filter(s=>!s.info.minimized&&(p||m).test(s.name)&&r({include:o,exclude:a},s.name));await Promise.all(l.map(async i=>{let o;let{source:r,map:a}=i.source.sourceAndMap(),m=r.toString(),p="string"==typeof r?s.from(r):r,l=this.transform({filename:i.name,code:p,minify:!0,sourceMap:f,...c}),g=l.code.toString();o=f?new e(g,i.name,JSON.parse(l.map.toString()),m,a,!0):new n(g),t.updateAsset(i.name,o,{...i.info,minimized:!0})}))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"webpack";import r from"./external-remotes.mjs";import{CONFIG as t}from"../config.mjs";import{realResolve as o}from"../utils/index.mjs";let{NormalModuleReplacementPlugin:s,container:{ModuleFederationPlugin:a}}=e,m={},i={},l={},n=t.moduleFederation?.map(e=>{if(Array.isArray(e.remotes))for(let r=0,t=e.remotes.length;r<t;r++){let t=e.remotes[r],o=t.alias||t.name,s=t.filename||"remote_entry.js";if(l[o]=`${t.name}@${t.host}/${s}`,Array.isArray(t.library))for(let e=0,r=t.library.length;e<r;e++)m[t.library[e]]=`${o}/${t.library[e]}`}if(Array.isArray(e.exposes))for(let r=0,t=e.exposes.length;r<t;r++){let t=e.exposes[r];"string"==typeof t?i[`./${t}`]=o(t):"[object Object]"===Object.prototype.toString.call(t)&&(i[`./${t.name}`]=o(t.path))}return new a({filename:"remote_entry.js",...e,remotes:l,exposes:i})});n.length>0&&(n.push(new r),n.push(new s(/(.*)/,e=>{m[e.request]&&(e.request=m[e.request])})));export default n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{relative as e}from"path";import{fileExists as t}from"@moneko/mdx";import r from"../paths.mjs";let a="OverrideResolverPlugin";export default class{constructor(e){this.options=e}apply(i){let{override:o,original:s}=this.options;if(o&&s){let l=`./${e(r.programPath,s)}`,p=`./${e(r.programPath,o)}`;i.getHook("existing-file").tapAsync(a,(e,r,n)=>{let h=e.request||e.path;if(h&&h.startsWith(s)&&e.relativePath){let m=h.replace(s,o);if(t(m)){let t=e.relativePath.replace(l,p);return Object.assign(e,{path:m,relativePath:t,__innerRequest_relativePath:t,__innerRequest:t}),i.doResolve("resolved",e,`${a} 使用目标模块${o}`,r,n)}}return n()})}}}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { Compiler } from 'webpack';
|
|
2
|
-
interface VirtualModulePluginOption {
|
|
2
|
+
export interface VirtualModulePluginOption {
|
|
3
3
|
[key: string]: string | object;
|
|
4
4
|
}
|
|
5
|
-
declare class VirtualModuleWebpackPlugin {
|
|
5
|
+
export declare class VirtualModuleWebpackPlugin {
|
|
6
6
|
private readonly options?;
|
|
7
7
|
private hasTapped;
|
|
8
8
|
constructor(options?: VirtualModulePluginOption);
|
|
9
9
|
apply(compiler: Compiler): void;
|
|
10
10
|
}
|
|
11
|
-
export default VirtualModuleWebpackPlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"webpack-virtual-modules";import{isLibrary as t}from"../process-env.mjs";import{resolveNodeModulesPath as e}from"../utils/index.mjs";import{comment as r,docs as p}from"../vm/docs.mjs";import{examples as i}from"../vm/example.mjs";import{locales as m}from"../vm/locales.mjs";import s from"../vm/modules.mjs";import{route as l}from"../vm/routes.mjs";export class VirtualModuleWebpackPlugin{constructor(o={}){this.options=o,this.hasTapped=!1}apply(a){let n=this.options,f=new o(s);function c(o,t){let r=e(o);f.writeModule(r,t||"")}f.apply(a),l.on("change",c),m.on("change",c),t&&(i.on("change",c),p.on("change",c),r.on("change",c)),a.hooks.compilation.tap("VirtualModuleWebpackPlugin",()=>{if(!this.hasTapped){for(let o in this.hasTapped=!0,n)if(Object.prototype.hasOwnProperty.call(n,o)){let t=n[o];c(o,"string"==typeof t?t:`export default ${JSON.stringify(t)}`)}for(let o of i)c(...o);for(let o of p)c(...o);for(let o of r)c(...o)}})}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"add-asset-html-webpack-plugin";import t from"html-webpack-plugin";import l from"webpack";import{CONFIG as o}from"./config.mjs";import i from"./options/html-plugin-option.mjs";import{AddEntryAttributePlugin as r}from"./plugin/add-entry-attribute.mjs";import p from"./plugin/module-federation.mjs";import{VirtualModuleWebpackPlugin as n}from"./plugin/virtual-module.mjs";import{isMicro as a}from"./process-env.mjs";let{DefinePlugin:m,SourceMapDevToolPlugin:s,IgnorePlugin:c}=l,u=o.basename.split("/").filter(Boolean).length,h=`${Array(u).fill("..").join("/")+(u?"/":"")}404.html`,{pathSegmentsToKeep:f=u,path:d=h}=o.fixBrowserRouter||{},g=o.assetHtml.map(e=>({publicPath:"",...e})),w=[...p,new n(o.virtualModule),o.htmlPluginOption&&new t(i),o.fixBrowserRouter&&new t({filename:d,inject:!1,templateContent:()=>`<html lang="en"><head><title>${i.title}</title><script>const pathKeep = ${f||u};const l = window.location;l.replace(l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + l.pathname.split('/').slice(0, 1 + pathKeep).join('/') + '/?/' + l.pathname.slice(1).split('/').slice(pathKeep).join('/').replace(/&/g, '~and~') + (l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + l.hash);</script></head><body></body></html>`}),new e(g),a&&new r({test:/main\.bundle\.js$/}),new m({"process.env":JSON.stringify(o.env)}),new c({resourceRegExp:/\/__tests__\//}),o.sourceMap&&new s(o.sourceMap),...o.plugins].filter(e=>!!e);export default w;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"core-js-compat";import{getBrowsersTargets as r}from"./targets.mjs";export default function(){return t({targets:r(),version:"3.35"}).list}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(...t){let o=t.length,r=Array(o);for(let e=0;e<o;e++)r[e]=t[e];for(;this.firstChild;)this.removeChild(this.firstChild);for(let e=0,t=r.length;e<t;e++){let t=r[e];this.appendChild("string"==typeof t?document.createTextNode(t):t)}}Element.prototype.replaceChildren||(Element.prototype.replaceChildren=e),ShadowRoot.prototype.replaceChildren||(ShadowRoot.prototype.replaceChildren=e);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let r,t;import e from"browserslist";import{browserslistToTargets as s}from"lightningcss";import o from"../paths.mjs";export function getBrowsersTargets(){return r||(r=e(void 0,{path:o.programPath,env:process.env.NODE_ENV}).filter(r=>!r.endsWith(" TP"))),r}export function getLightningCssTargets(){return t||(t=s(getBrowsersTargets())),t}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppType, Framework } from '.';
|
|
1
|
+
import type { AppType, Framework } from './index.mjs';
|
|
2
2
|
export declare const APPTYPE: AppType;
|
|
3
3
|
export declare const FRAMEWORK: Framework;
|
|
4
4
|
export declare const isLibrary: boolean;
|
|
@@ -6,6 +6,7 @@ export declare const isMicro: boolean;
|
|
|
6
6
|
export declare const isMobile: boolean;
|
|
7
7
|
export declare const isReact: boolean;
|
|
8
8
|
export declare const isSolid: boolean;
|
|
9
|
+
export declare const SSR: boolean;
|
|
9
10
|
/** 项目主要文件夹 */
|
|
10
11
|
export declare const mainDirectory: string;
|
|
11
12
|
export declare const jsxImportSource: string;
|
|
@@ -17,4 +18,3 @@ export declare const PACKAGEVERSION: string;
|
|
|
17
18
|
export declare const coreName: string;
|
|
18
19
|
/** 是否为本地开发环境 */
|
|
19
20
|
export declare const isDev: boolean;
|
|
20
|
-
export declare const routeDir: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const APPTYPE=process.env.APPTYPE;export const FRAMEWORK=process.env.FRAMEWORK;export const isLibrary="library"===APPTYPE;export const isMicro="micro"===APPTYPE;export const isMobile="mobile"===APPTYPE;export const isReact="react"===FRAMEWORK;export const isSolid="solid"===FRAMEWORK;export const SSR="true"===process.env.SSR;export const mainDirectory=isLibrary?"site":"src";export const jsxImportSource={react:"react",solid:"solid-js/h"}[FRAMEWORK];export const PACKAGENAME=process.env.npm_package_name;export const PACKAGEVERSION=process.env.npm_package_version;export const coreName="@moneko/core";export const isDev="development"===process.env.NODE_ENV;
|
package/lib/rule.d.mts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare const Rule: {
|
|
2
|
+
js: RegExp;
|
|
3
|
+
css: RegExp;
|
|
4
|
+
less: RegExp;
|
|
5
|
+
scss: RegExp;
|
|
6
|
+
wasm: RegExp;
|
|
7
|
+
txt: RegExp;
|
|
8
|
+
ico: RegExp;
|
|
9
|
+
svg: RegExp;
|
|
10
|
+
image: RegExp;
|
|
11
|
+
video: RegExp;
|
|
12
|
+
font: RegExp;
|
|
13
|
+
markdown: RegExp;
|
|
14
|
+
tsdoc: RegExp;
|
|
15
|
+
css_module: RegExp;
|
|
16
|
+
node_modules_css_module: RegExp;
|
|
17
|
+
no_parse: RegExp[];
|
|
18
|
+
node_modules: RegExp;
|
|
19
|
+
__tests__: RegExp;
|
|
20
|
+
dev_watch_ignored: RegExp;
|
|
21
|
+
worker_file: RegExp;
|
|
22
|
+
};
|
|
23
|
+
export default Rule;
|
package/lib/rule.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default{js:/\.(cj|mj|t|j)s(|x)$/i,css:/\.css$/i,less:/\.less$/i,scss:/\.(sa|sc)ss$/i,wasm:/\.wasm$/i,txt:/\.txt$/i,ico:/\.ico$/i,svg:/\.svg$/i,image:/\.(gif|png|jpe?g|webp)$/i,video:/\.(webm|mp4|ogv)$/i,font:/\.(woff2?|eot|ttf|otf)(\?.*)?$/i,markdown:/\.mdx?$/i,tsdoc:/^(?![._]).*(?<!\.test)\.(tsx?)$/,css_module:/(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,node_modules_css_module:/(^(?!.*node_modules))(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,no_parse:[/jquery|prismjs|prism\.js/,/react\.min\.js$/,/marked\.min\.js$/],node_modules:/node_modules/,__tests__:/(.+)\/__tests__\/(.+)/,dev_watch_ignored:/node_modules(?![\\/]@app)/,worker_file:/(?:webworker|worker)(\.|\b).*\.(js|ts)\b/};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"./log.mjs";export default function(r,e){return new Promise((n,t)=>{e.hooks.failed.tap(r,o=>{t(o)}),e.hooks.done.tap(r,r=>{r.hasErrors()||n(!0);for(let e=0,n=r.compilation.warnings.length;e<n;e++)o(r.compilation.warnings[e].message);for(let e=0,n=r.compilation.errors.length;e<n;e++)o(r.compilation.errors[e].message)})})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function(t,...e){let r=t.raw[0];for(let a=0;a<e.length;a++)r+=e[a]+t.raw[a+1];return`data:text/javascript;base64,${Buffer.from(r).toString("base64")}`}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fileExists as o}from"@moneko/mdx";import{resolveNodeModulesPath as m}from"./index.mjs";export default function(r){return o(m(`${r}/package.json`))}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
export declare function esm(templateStrings: TemplateStringsArray, ...substitutions: unknown[]): string;
|
|
2
|
-
export declare function log(msg: string | string[]): void;
|
|
3
|
-
export declare function tfc(filepath: string): string;
|
|
4
|
-
export declare function readConf(src: string, name: string): Promise<any>;
|
|
5
1
|
export declare function toUpperCaseString(string: string): string;
|
|
6
2
|
type ProgramPath<T extends string> = `${T extends string ? T : string}`;
|
|
7
3
|
type NodeModulesPath<T> = ProgramPath<`node_modules/${T extends string ? T : string}`>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{resolve as t}from"path";import e from"./resolver-sync.mjs";import o from"../paths.mjs";export function toUpperCaseString(t){return t?.replaceAll(/\b\w/g,t=>t.toUpperCase()).replaceAll(/\./g," ")}export function resolveProgramPath(e){return t(o.programPath,`./${e}`)}export const resolveNodeModulesPath=t=>`${o.nodeModules}/${t}`;export const realResolve=t=>e.resolveSync({},o.programPath,t)||t;export function isObject(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}export function isFunction(t){if(!isObject(t))return!1;let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e||"[object GeneratorFunction]"===e||"[object Proxy]"===e}export function empty(){}
|
|
@@ -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}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{saveFileSync as m}from"@moneko/mdx";import t from"./tfc.mjs";import o from"../paths.mjs";export default function(r,e){let f=`${o.cachePath}/${e}.mjs`;return m(f,t(r)),import(f)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"vm";export default function(n,r){return e.runInThisContext(n||"",{filename:r,lineOffset:0,columnOffset:0,displayErrors:!0})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{join as m}from"path";import{saveFileSync as o,scanRouter as t,sitemap as r}from"@moneko/mdx";import{resolveProgramPath as e}from"./index.mjs";import{outputConfig as p}from"../common.mjs";import{CONFIG as i}from"../config.mjs";import{routeDir as s}from"../paths.mjs";import{isLibrary as f}from"../process-env.mjs";export default(()=>{let{domain:n,nojekyll:a,path:j}=i.seo||{},l=j&&e(j)||p?.path;if(!n||!l)return;let x=`https://${n}${i.basename}`;o(m(l,"CNAME"),n),o(m(l,"robots"),`Sitemap: ${x}/sitemap.txt`),o(m(l,"sitemap.txt"),r(s,x,t(s,f)).join("\n")),a&&o(m(l,".nojekyll"),"")});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let f={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi};export default function(e){
|
|
1
|
+
let f={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi};export default function(e){if("string"!=typeof e)throw TypeError(`Expected a string, but received ${typeof e}`);let i=(function(e){let i=e,g=Object.keys(f);for(let e=0,w=g.length;e<w;e++){let w=g[e];f[w].test(i)&&(i=i.replace(f[w],w))}return i})((65279===e.charCodeAt(0)?e.slice(1):e).trim().replaceAll(/\s+/g," ")).replaceAll('"',"'");return`data:image/svg+xml,${encodeURIComponent(i).replaceAll(/%[\dA-F]{2}/g,function(f){switch(f){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return f.toLowerCase()}})}`}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{transformFileSync as e}from"@swc/core";let o={inputSourceMap:!1,sourceMaps:!1,module:{type:"es6"},jsc:{parser:{syntax:"typescript"},loose:!1}};export default function(r){return e(r,o).code||"{}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fileExists as e,loadFileSync as t}from"@moneko/mdx";import{Parser as r}from"xml2js";import{PACKAGENAME as o}from"../process-env.mjs";export default function(i){let a={},n="export default {}";if(e(i))try{let e=t(i);(0,new r({explicitArray:!1,async:!1}).parseString)(e,(e,t)=>{if(!e){let{metrics:e,package:r}=t.coverage.project;Object.assign(a,{[o]:e.$});for(let e=0,t=r.length;e<t;e++){let t=r[e];Object.assign(a,{[t.$.name]:t.metrics.$})}}n=`export default ${JSON.stringify(a)}`})}catch(e){}return n}
|