@moneko/core 3.0.0-beta.107 → 3.0.0-beta.109
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/docs.js +1 -1
- package/lib/process-env.d.ts +2 -0
- package/lib/process-env.js +1 -1
- package/lib/routes.js +2 -2
- package/package.json +1 -1
package/lib/docs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{statSync as e}from"fs";import{dirname as t,join as o}from"path";import{watch as r}from"chokidar";import{CONFIG as
|
|
1
|
+
import{statSync as e}from"fs";import{dirname as t,join as o}from"path";import{watch as r}from"chokidar";import{CONFIG as n}from"./common.js";import i from"./generate-api.js";import s from"./object-listener.js";import{APPTYPE as p,FRAMEWORK as l,FRAMEWORKNAME as a,isSolid as c}from"./process-env.js";import{resolveProgramPath as m}from"./utils.js";let d="@app/comment";export const docs=s({});let f={[d]:{}},u={react:"createElement",solid:"createComponent"}[l],$=`() => ${u}(SuspenseComp, { comp: $1 })`,g=`import { ${u} } from "${a}";import { SuspenseComp } from "@moneko/${l}";`;function b(e,r){let s=e.replace(RegExp(`^${n.alias["@pkg"]}`),""),p=t(s).replace(/^\//,""),l=[d,p].join("/"),a=s.split("/").pop()?.replace(/\.tsx?/,".md");if(!a)return;f[d][p]||(f[d][p]={});let c=o(l,a);if("deleted"===r)f[d][p][a]&&delete f[d][p][a];else{let t=i(e);f[c]=t,t?f[d][p][a]=`rr(() => import(/* webpackChunkName: '${c}' */'${c}?raw').then((res) => ({default: ${u}(Dynamic, {text: res.default, 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;}'})})))rr`:f[d][p][a]&&delete f[d][p][a]}let m={};for(let e in f[d])Object.prototype.hasOwnProperty.call(f[d],e)&&(m[e]=Object.values(f[d][e]));let b={...f};delete b[d],Object.assign(docs.data,{...b,"@app/docs":`${g}export default ${JSON.stringify(m).replace(/"rr\((.+?)\)rr"/g,$)}`})}["react","solid"].includes(l)||($="$1",g=""),c&&(g=`import { Dynamic } from "${l}/web";${g}`),"library"===p&&function(){let t=[],o=r(m("components"),{ignored:[/(^|[\\/\\])\../,/(^|[\\/\\])__tests__([\\/\\]|$)/],persistent:!0,ignoreInitial:!1});function n(t){return/\.tsx?$/.test(t)&&e(t).isFile()}o.on("add",e=>{n(e)&&(b(e,"added"),t.push(e))}),o.on("change",e=>{n(e)&&b(e,"change")}),o.on("unlink",e=>{n(e)&&(b(e,"deleted"),t.splice(t.indexOf(e),1))}),o.on("ready",()=>{t.forEach(e=>{b(e,"change")})}),process.on("SIGINT",function(){o.close()})}();
|
package/lib/process-env.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const FRAMEWORK: Framework;
|
|
|
5
5
|
export declare const isReact: boolean;
|
|
6
6
|
export declare const isSolid: boolean;
|
|
7
7
|
export declare const jsxImportSource: string;
|
|
8
|
+
export declare const createElement: string;
|
|
9
|
+
export declare const FRAMEWORKNAME: string;
|
|
8
10
|
export declare const PROGRAMPATH: string;
|
|
9
11
|
export declare const PACKAGENAME: string;
|
|
10
12
|
export declare const PACKAGEVERSION: string;
|
package/lib/process-env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as e,mkdirSync as o,readFileSync as r}from"fs";import{join as t}from"path";import s from"url";import{hasPkg as n}from"./has-pkg.js";import{resolveProgramPath as p}from"./utils.js";import c from"./yarn-argv.js";export const __dirname=s.fileURLToPath(new URL(".",import.meta.url));export const APPTYPE=process.env.APPTYPE;export const FRAMEWORK=process.env.FRAMEWORK;export const isReact="react"===FRAMEWORK;export const isSolid="solid"===FRAMEWORK;export const jsxImportSource={react:"react",solid:"solid-js/h"}[FRAMEWORK];export const PROGRAMPATH=process.cwd();export const PACKAGENAME=process.env.npm_package_name;export const PACKAGEVERSION=process.env.npm_package_version;let a=r(t(__dirname,"../package.json"),{encoding:"utf-8"});export const pkgName=JSON.parse(a).name;export const DEV="development"===process.env.NODE_ENV;export const cacheDir=t(PROGRAMPATH,"./node_modules/.cache/.mo/");e(cacheDir)||o(cacheDir,{recursive:!0});export const NODE_ENV=process.env.NODE_ENV;export const CUSTOMCONFIG=process.env.npm_config_config||c.config;export let hasEslintConfig=!!Object.keys(process.env).filter(e=>e.startsWith("npm_package_eslintConfig_")).length;export let hasStylelintConfig=!!Object.keys(process.env).filter(e=>e.startsWith("npm_package_stylelint_")).length;export const hasAntd=n("antd");export const programInfo={name:PACKAGENAME,version:PACKAGEVERSION,type:APPTYPE,description:process.env.npm_package_description,author:{name:process.env.npm_package_author_name,email:process.env.npm_package_author_email,url:process.env.npm_package_author_url},repository:{type:process.env.npm_package_repository_type,url:process.env.npm_package_repository_url,directory:process.env.npm_package_repository_directory}};if(parseInt(process.versions.node)>14){let e=r(p("package.json"),{encoding:"utf-8"}),{description:o,author:t,repository:s,eslintConfig:n,stylelint:c}=JSON.parse(e);programInfo.author="string"==typeof t?{name:t}:t,programInfo.repository="string"==typeof t?{url:s}:s,programInfo.description=o,hasEslintConfig=!!n,hasStylelintConfig=!!c}
|
|
1
|
+
import{existsSync as e,mkdirSync as o,readFileSync as r}from"fs";import{join as t}from"path";import s from"url";import{hasPkg as n}from"./has-pkg.js";import{resolveProgramPath as p}from"./utils.js";import c from"./yarn-argv.js";export const __dirname=s.fileURLToPath(new URL(".",import.meta.url));export const APPTYPE=process.env.APPTYPE;export const FRAMEWORK=process.env.FRAMEWORK;export const isReact="react"===FRAMEWORK;export const isSolid="solid"===FRAMEWORK;export const jsxImportSource={react:"react",solid:"solid-js/h"}[FRAMEWORK];export const createElement={react:"createElement",solid:"createComponent"}[FRAMEWORK];export const FRAMEWORKNAME={react:"react",solid:"solid-js"}[FRAMEWORK];export const PROGRAMPATH=process.cwd();export const PACKAGENAME=process.env.npm_package_name;export const PACKAGEVERSION=process.env.npm_package_version;let a=r(t(__dirname,"../package.json"),{encoding:"utf-8"});export const pkgName=JSON.parse(a).name;export const DEV="development"===process.env.NODE_ENV;export const cacheDir=t(PROGRAMPATH,"./node_modules/.cache/.mo/");e(cacheDir)||o(cacheDir,{recursive:!0});export const NODE_ENV=process.env.NODE_ENV;export const CUSTOMCONFIG=process.env.npm_config_config||c.config;export let hasEslintConfig=!!Object.keys(process.env).filter(e=>e.startsWith("npm_package_eslintConfig_")).length;export let hasStylelintConfig=!!Object.keys(process.env).filter(e=>e.startsWith("npm_package_stylelint_")).length;export const hasAntd=n("antd");export const programInfo={name:PACKAGENAME,version:PACKAGEVERSION,type:APPTYPE,description:process.env.npm_package_description,author:{name:process.env.npm_package_author_name,email:process.env.npm_package_author_email,url:process.env.npm_package_author_url},repository:{type:process.env.npm_package_repository_type,url:process.env.npm_package_repository_url,directory:process.env.npm_package_repository_directory}};if(parseInt(process.versions.node)>14){let e=r(p("package.json"),{encoding:"utf-8"}),{description:o,author:t,repository:s,eslintConfig:n,stylelint:c}=JSON.parse(e);programInfo.author="string"==typeof t?{name:t}:t,programInfo.repository="string"==typeof t?{url:s}:s,programInfo.description=o,hasEslintConfig=!!n,hasStylelintConfig=!!c}
|
package/lib/routes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let e,t;import{readFileSync as r,readdirSync as o,statSync as n}from"fs";import{join as s,relative as i}from"path";import{watch as a}from"chokidar";import{load as l}from"js-yaml";import{hasCustomRouter as m}from"./common.js";import c from"./object-listener.js";import{APPTYPE as p,FRAMEWORK as u,PROGRAMPATH as
|
|
2
|
-
export default ${m?'merge([...routes, ...customRouter], "path")':"routes"}`})},100)}),
|
|
1
|
+
let e,t;import{readFileSync as r,readdirSync as o,statSync as n}from"fs";import{join as s,relative as i}from"path";import{watch as a}from"chokidar";import{load as l}from"js-yaml";import{hasCustomRouter as m}from"./common.js";import c from"./object-listener.js";import{APPTYPE as p,FRAMEWORK as u,FRAMEWORKNAME as d,PROGRAMPATH as f}from"./process-env.js";let g=/^---\n([\s\S]+?)\n---\n/;function h(e,t){let{regex:a,alia:m,base:c=e,outputSource:p}=t,u=o(e);return u.reduce((o,u)=>{let d=s(e,u),f=n(d);if(f.isDirectory()){let e=h(d,{...t,base:c});if(e.length>0){let t={},r={path:u,key:i(c,d)};if(p)Object.assign(t,{children:e});else{let o=e.splice(0,1)[0];e.length?Object.assign(t,{children:[{...o,path:"/",key:r.key},...e]}):Object.assign(t,o)}o.push(Object.assign(t,r))}}else if(a.test(d)){let e=r(d,{encoding:"utf-8"}),t=function(e){let t=e.match(g);return t&&t[1]?t[1].trim():null}(e),n=t?l(t):{},a=i(c,d);o.push(Object.assign({path:u,key:a,meta:{...n}},m&&{component:`rr(() => import(/* webpackChunkName: '${a}' */'${s(m,a)}'))rr`},p&&{codes:function(e){let t;let r={},o=/```(.+?)\n([\s\S]*?)\n```/g;for(;null!==(t=o.exec(e));){let[,e="jsx",o]=t,n=e.split(" ").pop()||"jsx";r[n]=o.trim()}return Object.keys(r).length?r:{jsx:e}}(e.replace(g,"").replace(/^\n+|\n+$/g,""))}))}return o},[])}let x=s(f,"./components");export const route=c({name:"@app/routes",data:"export default []"});export const example=c({name:"@app/example",data:{}});let j={react:"createElement",solid:"createComponent"}[u],$=`() => ${j}(SuspenseComp, { comp: $1 })`,b=`import { ${j} } from "${d}";import { SuspenseComp } from "@moneko/${u}";`;m&&(b+=`import merge from "@moneko/${u}/lib/merge.js";import customRouter from "@/router";`),["react","solid"].includes(u)||($="$1",b="");export let routes=[];function k(e,t,r){let o=a(e,{ignored:(e,r)=>{if(r)return!r?.isDirectory()&&t.test(e)},persistent:!0,ignoreInitial:!1});o.on("add",()=>{r()}).on("change",()=>{r()}).on("unlink",()=>{r()}),process.on("SIGINT",function(){o.close()})}"library"===p&&(k(x,/(?<!README\.mdx?)$/,function(){clearTimeout(e),e=setTimeout(()=>{clearTimeout(e),routes=h(x,{regex:/README\.mdx?$/,alia:"@pkg"});let t=JSON.stringify(routes).replace(/"rr\((.+?)\)rr"/g,$).slice(1,-1);Object.assign(route.data,{data:`${b}const routes = [{ path: "/", children: [{ path: "/" }, ${t}] }];
|
|
2
|
+
export default ${m?'merge([...routes, ...customRouter], "path")':"routes"}`})},100)}),k(x,/(?<!\/examples\/(.+)\.md)$/,function(){clearTimeout(t),t=setTimeout(()=>{clearTimeout(t);let e={};h(x,{regex:/\/examples\/(.+)\.md$/,outputSource:!0}).forEach(t=>{let r=[example.data.name,t.key].filter(Boolean).join("/"),o=t.children?.[0].children?.filter(e=>e.codes)?.map(e=>({title:e.path.replace(/.md$/,""),order:0,...e.meta,codes:e.codes})).sort((e,t)=>e.order-t.order);Object.assign(e,{[r]:`export default ${JSON.stringify(o)};`})}),Object.assign(example.data,{data:e})},100)}));
|