@moneko/core 3.0.0-beta.30 → 3.0.0-beta.31

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.
@@ -0,0 +1 @@
1
+ export declare const frameworkCacheDir: "~/node_modules/@moneko/react/.cache/" | "~/node_modules/@moneko/solid-js/.cache/";
package/lib/routes.js ADDED
@@ -0,0 +1 @@
1
+ let e,t;import{readdirSync as r,statSync as i,writeFile as o,readFileSync as n,existsSync as a,mkdirSync as s}from"fs";import{join as l,relative as c}from"path";import{watch as m}from"chokidar";import{load as p}from"js-yaml";import{PROGRAMPATH as f,APPTYPE as u,FRAMEWORK as h}from"./process-env.js";import{resolveNodeModulesPath as k}from"./utils.js";let d=/^---\n([\s\S]+?)\n---\n/;function g(e,t){let{regex:o,alia:a,base:s=e,outputSource:m}=t,f=r(e);return f.reduce((r,f)=>{let u=l(e,f),h=i(u);if(h.isDirectory()){let e=g(u,{...t,base:s});if(e.length>0){let t={},i={path:f,key:c(s,u)};if(m)Object.assign(t,{children:e});else{let r=e.splice(0,1)[0];e.length?Object.assign(t,{children:[{...r,path:"/",key:i.key},...e]}):Object.assign(t,r)}r.push(Object.assign(t,i))}}else if(o.test(f)){let e=n(u,{encoding:"utf-8"}),t=function(e){let t=e.match(d);return t&&t[1]?t[1].trim():null}(e),i=t?p(t):{};r.push(Object.assign({path:f,key:c(s,u),meta:{...i}},a&&{component:`rrlazy(() => import("${l(a,c(s,u))}"))rr`},m&&{codes:function(e){let t;let r={},i=/```(.+?)\n([\s\S]*?)\n```/g;for(;null!==(t=i.exec(e));){let[,e="jsx",i]=t,o=e.split(" ").pop()||"jsx";r[o]=i.trim()}return Object.keys(r).length?r:{jsx:e}}(e.replace(d,"").replace(/^\n+|\n+$/g,""))}))}return r},[])}let j=l(f,"./components");export const frameworkCacheDir=k(`@moneko/${h}/.cache/`);function x(e){if(e)throw e}function y(e,t,r){let i=(e,r)=>{if(r)return!r?.isDirectory()&&t.test(e)},o=m(e,{ignored:i,persistent:!0});o.on("add",()=>{r()}).on("change",()=>{r()}).on("unlink",()=>{r()})}"library"===u&&(y(j,/(?<!README\.mdx?)$/,function(){e&&clearTimeout(e),e=setTimeout(()=>{let e='lazy(() => import(/* webpackChunkName: "[request]" */"$1"))',t=`import { lazy } from "${h}";`;["react","solid-js"].includes(h)||(e='() => import(/* webpackChunkName: "[request]" */"$1")',t="");let r=JSON.stringify(g(j,{regex:/README\.mdx?$/,alia:"@pkg"})).replace(/"rrlazy\(\(\) => import\(\\"([^"]+)\\"\)\)rr"/g,e);a(frameworkCacheDir)||s(frameworkCacheDir),o(l(frameworkCacheDir,"router.js"),`${t}export default ${r}`,"utf-8",x)},100)}),y(j,/(?<!\/examples\/(.+)\.mdx)$/,function(){t&&clearTimeout(t),t=setTimeout(()=>{let e=Object.fromEntries(g(j,{regex:/\/examples\/(.+)\.mdx$/,outputSource:!0}).map(e=>[e.key,e.children?.[0].children?.map(e=>({title:e.path,...e.meta,codes:e.codes}))]));a(frameworkCacheDir)||s(frameworkCacheDir),o(l(frameworkCacheDir,"examples.js"),`export default ${JSON.stringify(e)}`,"utf-8",x)},100)}));
@@ -1,3 +1,4 @@
1
+ import './routes.js';
1
2
  import type { WebpackConfiguration } from 'webpack-dev-server';
2
3
  export declare const outputConfig: WebpackConfiguration['output'];
3
4
  declare const config: WebpackConfiguration;
@@ -1 +1 @@
1
- import e from"fs";import t from"add-asset-html-webpack-plugin";import s from"html-webpack-plugin";import n from"webpack";import o from"webpackbar";import{CONFIG as l,ENTRYPATH as i,PUBLICPATH as a}from"./common.js";import r from"./done.js";import p from"./envFlags.js";import m from"./html-add-entry-attr.js";import c from"./html-plugin-option.js";import{moduleFederation as u}from"./module-federation.js";import f from"./module.config.js";import{APPTYPE as d,DEV as g,hasEslintConfig as j,hasStylelintConfig as h,PACKAGENAME as b,PROGRAMPATH as y,FRAMEWORK as w}from"./process-env.js";import{seo as x}from"./seo.js";import{resolveNodeModulesPath as k,resolveProgramPath as v}from"./utils.js";let C=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"],O=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"],P=e.readdirSync(y),$=!1,T=!1;for(let e=0,t=P.length;e<t;e++)O.includes(P[e])&&(T=!0),C.includes(P[e])&&($=!0);$||($=j),T||(T=h);let A=T?(await import("stylelint-webpack-plugin")).default:null,B=$?(await import("eslint-webpack-plugin")).default:null,S={"@":v("src")};Object.assign(S,l.alias),"library"===d&&Object.assign(S,{"@":v("site"),"@pkg":v("components"),[b]:v("components")});let M=l.assetHtml.map(e=>({publicPath:"",...e}));export const outputConfig={path:v("library"===d?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:b,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${b}`,pathinfo:!1,clean:!0,publicPath:a};let F=k(`@moneko/${w}/lib/packages/${i[d]}/index.js`);"single-component"===d&&(Object.assign(S,{[b]:v("umd")}),F=v(g?"example/index.ts":"src/index.ts"),outputConfig.path=v(g?"dist":"umd"),outputConfig.filename="index.js",outputConfig.library=b,outputConfig.libraryTarget="umd",outputConfig.libraryExport="default");let K={main:F};l.entry&&("string"==typeof l.entry?K=l.entry:Object.keys(l.entry)&&Object.assign(K,l.entry)),l.output&&("string"==typeof l.output?outputConfig.path=l.output:Object.keys(l.output)&&Object.assign(outputConfig,l.output));let L=l.routeBaseName.split("/").filter(Boolean).length,W=Array(L).fill("..").join("/")+(L?"/":"")+"404.html",{pathSegmentsToKeep:D=L,path:R=W}=l.fixBrowserRouter||{},_={entry:K,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new n.AutomaticPrefetchPlugin,...u,B&&new B({fix:!0,threads:!0,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),A&&new A({fix:!0,threads:!0,extensions:["css","scss","sass","less","ts","tsx","js","jsx"],exclude:["node_modules/","es/","lib/","docs/","coverage/","dist/"]}),new s(c),l.fixBrowserRouter&&new s({filename:R,inject:!1,templateContent:()=>`<html html><head><title>${c.title}</title><script>var pathSegmentsToKeep = ${D||L};var l = window.location;l.replace(l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + l.pathname.split('/').slice(0, 1 + pathSegmentsToKeep).join('/') + '/?/' + l.pathname.slice(1).split('/').slice(pathSegmentsToKeep).join('/').replace(/&/g, '~and~') + (l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + l.hash);</script></head><body></body></html>`}),new t(M),"single-spa"===d&&new m(e=>!!(e.match(/main\.(.*)\.bundle.js$/)||e.match("main.bundle.js"))),new n.DefinePlugin(p),new n.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),l.sourceMap&&new n.SourceMapDevToolPlugin(l.sourceMap),new o({name:"编译中",color:"#6f42c1"}),new r({done:()=>{!g&&l.seo&&x(),l.done?.()}}),...l.plugins].filter(Boolean),experiments:{topLevelAwait:!0,syncWebAssembly:!0,asyncWebAssembly:!0},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:S,fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},module:f,externals:l.externals,output:outputConfig};export default _;
1
+ import e from"fs";import t from"add-asset-html-webpack-plugin";import s from"html-webpack-plugin";import n from"webpack";import o from"webpackbar";import{CONFIG as l,ENTRYPATH as i,PUBLICPATH as r}from"./common.js";import a from"./done.js";import p from"./envFlags.js";import m from"./html-add-entry-attr.js";import c from"./html-plugin-option.js";import{moduleFederation as u}from"./module-federation.js";import f from"./module.config.js";import{APPTYPE as d,DEV as g,hasEslintConfig as j,hasStylelintConfig as h,PACKAGENAME as b,PROGRAMPATH as y,FRAMEWORK as w}from"./process-env.js";import"./routes.js";import{seo as x}from"./seo.js";import{resolveNodeModulesPath as k,resolveProgramPath as v}from"./utils.js";let C=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"],O=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"],P=e.readdirSync(y),$=!1,T=!1;for(let e=0,t=P.length;e<t;e++)O.includes(P[e])&&(T=!0),C.includes(P[e])&&($=!0);$||($=j),T||(T=h);let A=T?(await import("stylelint-webpack-plugin")).default:null,B=$?(await import("eslint-webpack-plugin")).default:null,S={"@":v("src")};Object.assign(S,l.alias),"library"===d&&Object.assign(S,{"@":v("site"),"@pkg":v("components"),[b]:v("components")});let M=l.assetHtml.map(e=>({publicPath:"",...e}));export const outputConfig={path:v("library"===d?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:b,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${b}`,pathinfo:!1,clean:!0,publicPath:r};let F=k(`@moneko/${w}/lib/packages/${i[d]}/index.js`);"single-component"===d&&(Object.assign(S,{[b]:v("umd")}),F=v(g?"example/index.ts":"src/index.ts"),outputConfig.path=v(g?"dist":"umd"),outputConfig.filename="index.js",outputConfig.library=b,outputConfig.libraryTarget="umd",outputConfig.libraryExport="default");let K={main:F};l.entry&&("string"==typeof l.entry?K=l.entry:Object.keys(l.entry)&&Object.assign(K,l.entry)),l.output&&("string"==typeof l.output?outputConfig.path=l.output:Object.keys(l.output)&&Object.assign(outputConfig,l.output));let L=l.routeBaseName.split("/").filter(Boolean).length,W=Array(L).fill("..").join("/")+(L?"/":"")+"404.html",{pathSegmentsToKeep:D=L,path:R=W}=l.fixBrowserRouter||{},_={entry:K,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new n.AutomaticPrefetchPlugin,...u,B&&new B({fix:!0,threads:!0,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),A&&new A({fix:!0,threads:!0,extensions:["css","scss","sass","less","ts","tsx","js","jsx"],exclude:["node_modules/","es/","lib/","docs/","coverage/","dist/"]}),new s(c),l.fixBrowserRouter&&new s({filename:R,inject:!1,templateContent:()=>`<html html><head><title>${c.title}</title><script>var pathSegmentsToKeep = ${D||L};var l = window.location;l.replace(l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + l.pathname.split('/').slice(0, 1 + pathSegmentsToKeep).join('/') + '/?/' + l.pathname.slice(1).split('/').slice(pathSegmentsToKeep).join('/').replace(/&/g, '~and~') + (l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + l.hash);</script></head><body></body></html>`}),new t(M),"single-spa"===d&&new m(e=>!!(e.match(/main\.(.*)\.bundle.js$/)||e.match("main.bundle.js"))),new n.DefinePlugin(p),new n.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),l.sourceMap&&new n.SourceMapDevToolPlugin(l.sourceMap),new o({name:"编译中",color:"#6f42c1"}),new a({done:()=>{!g&&l.seo&&x(),l.done?.()}}),...l.plugins].filter(Boolean),experiments:{topLevelAwait:!0,syncWebAssembly:!0,asyncWebAssembly:!0},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:S,fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},module:f,externals:l.externals,output:outputConfig};export default _;
@@ -1,4 +1,4 @@
1
- import e from"@soda/friendly-errors-webpack-plugin";import o from"chalk";import{getPort as r}from"portfinder";import t from"webpack";import{merge as s}from"webpack-merge";import{CONFIG as p}from"./common.js";import{hasPkg as i}from"./has-pkg.js";import{FRAMEWORK as a}from"./process-env.js";import{getIPAdress as l,isFunction as m,resolveProgramPath as c}from"./utils.js";import n from"./webpack.common.js";let d=i("@moneko/mock"),v=d&&await import("@moneko/mock"),h="react"===a&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,w=!1;p.cacheDirectory&&(w={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:p.cacheDirectory});let f=!1===p.devtool||p.devtool?p.devtool:"eval-cheap-module-source-map",u=new Promise(i=>{r({port:p.devServer.port,stopPort:9999},(r,a)=>{let d=[];p.devServer.port!==a&&d.push(`Port ${o.yellow(p.devServer.port)} is in use, trying ${o.green(a)} instead`),p.devServer.port=a;let u="/"===p.routeBaseName,g=p.devServer.https?"https:":"http:",k=u?"":p.routeBaseName,y=s(n,{devtool:f,mode:"development",cache:w,devServer:{headers:{"Access-Control-Allow-Origin":"*"},compress:p.devServer.compress,host:"0.0.0.0",port:a,historyApiFallback:u||{index:k,disableDotRule:!0},https:p.devServer.https,proxy:p.proxy,allowedHosts:p.devServer.allowedHosts,client:{progress:!1,logging:"info",overlay:!1},static:{watch:{ignored:e=>e.endsWith(".d.ts")}},setupMiddlewares:(e,o)=>{if(!o)throw Error("webpack-dev-server is not defined");return o.app&&m(v)&&v(o.app,c("mock/")),e},open:!1,hot:!0},plugins:[new t.HotModuleReplacementPlugin,h&&new h,new e({compilationSuccessInfo:{messages:[`You application is running here:
1
+ import e from"@soda/friendly-errors-webpack-plugin";import o from"chalk";import{getPort as r}from"portfinder";import t from"webpack";import{merge as s}from"webpack-merge";import{CONFIG as p}from"./common.js";import{hasPkg as i}from"./has-pkg.js";import{FRAMEWORK as l}from"./process-env.js";import{getIPAdress as a,isFunction as m,resolveProgramPath as n}from"./utils.js";import c from"./webpack.common.js";let d=i("@moneko/mock"),v=d&&await import("@moneko/mock"),h="react"===l&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,w=!1;p.cacheDirectory&&(w={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:p.cacheDirectory});let u=!1===p.devtool||p.devtool?p.devtool:"eval-cheap-module-source-map",f=new Promise(i=>{r({port:p.devServer.port,stopPort:9999},(r,l)=>{let d=[];p.devServer.port!==l&&d.push(`Port ${o.yellow(p.devServer.port)} is in use, trying ${o.green(l)} instead`),p.devServer.port=l;let f="/"===p.routeBaseName,g=p.devServer.https?"https:":"http:",k=f?"":p.routeBaseName,y=s(c,{devtool:u,mode:"development",cache:w,devServer:{headers:{"Access-Control-Allow-Origin":"*"},compress:p.devServer.compress,host:"0.0.0.0",port:l,historyApiFallback:f||{index:k,disableDotRule:!0},https:p.devServer.https,proxy:p.proxy,allowedHosts:p.devServer.allowedHosts,client:{progress:!1,logging:"info",overlay:!1},static:{watch:{ignored:e=>e.endsWith(".d.ts")||/\/node_modules\//.test(e)}},setupMiddlewares:(e,o)=>{if(!o)throw Error("webpack-dev-server is not defined");return o.app&&m(v)&&v(o.app,n("mock/")),e},open:!1,hot:!0},watch:!0,watchOptions:{stdin:!0,ignored:/(^|[/\\])(?!node_modules(\/|\\)(@moneko\/solid-js\/\.cache))(node_modules|__tests__|__mocks__)([/\\]|$)/},plugins:[new t.HotModuleReplacementPlugin,h&&new h,new e({compilationSuccessInfo:{messages:[`You application is running here:
2
2
 
3
- local: ${o.cyan(`${g}//${p.devServer.host}:${a}${k}`)}
4
- network: ${o.cyan(`${g}//${l()}:${a}${k}`)}`],notes:d},clearConsole:!0})].filter(Boolean)});i(y)})});export default u;
3
+ local: ${o.cyan(`${g}//${p.devServer.host}:${l}${k}`)}
4
+ network: ${o.cyan(`${g}//${a()}:${l}${k}`)}`],notes:d},clearConsole:!0})].filter(Boolean)});i(y)})});export default f;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.0.0-beta.30",
3
+ "version": "3.0.0-beta.31",
4
4
  "description": "core",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
@@ -12,7 +12,6 @@
12
12
  "author": "moneko",
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@emotion/css": "11.11.0",
16
15
  "@mdx-js/loader": "2.3.0",
17
16
  "@soda/friendly-errors-webpack-plugin": "1.8.1",
18
17
  "@swc/core": "1.3.56",
@@ -51,6 +50,7 @@
51
50
  "@moneko/mock": "^1.0.9",
52
51
  "@moneko/postcss": "^1.0.30",
53
52
  "@swc/cli": "0.1.62",
53
+ "@types/js-yaml": "^4.0.5",
54
54
  "@types/mini-css-extract-plugin": "^2.5.1",
55
55
  "@types/shelljs": "^0.8.12",
56
56
  "@types/webpack-bundle-analyzer": "^4.6.0",