@moneko/core 3.11.4 → 3.12.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.
@@ -1 +1,14 @@
1
- export declare function generateDeclaration(source: string, filename?: string): string;
1
+ /**
2
+ * 根据ts内容生成声明类型
3
+ * @param {String} source 源码、内容
4
+ * @param {String} filename 文件名
5
+ * @returns {String} declaration
6
+ */
7
+ export declare function generateDeclaration(source: string, filename: string): string;
8
+ /**
9
+ * 获取ts内容导出key
10
+ * @param {String} source 源码、内容
11
+ * @param {String} filename 文件名
12
+ * @returns {Array<String>} tokens
13
+ */
14
+ export declare function getExportKeys(source: string, filename: string): string[];
package/lib/utils/dts.mjs CHANGED
@@ -1 +1 @@
1
- import e from"typescript";import{createSystem as t,createDefaultMapFromNodeModules as i,createVirtualTypeScriptEnvironment as a}from"@typescript/vfs";import n from"./log.mjs";export function generateDeclaration(r,s="index.ts"){let c={declaration:!0,emitDeclarationOnly:!0,target:e.ScriptTarget.ESNext},g=i(c);g.set(s,r);let o=a(t(g),[s],e,c),l=o.languageService.getEmitOutput(s),m=l.outputFiles.reduce((e,t)=>e+=t.text,"");return l.emitSkipped&&(n("编译失败"),o.languageService.getCompilerOptionsDiagnostics().concat(o.languageService.getSyntacticDiagnostics(s)).concat(o.languageService.getSemanticDiagnostics(s)).forEach(t=>{if(t.file){let{line:i,character:a}=e.getLineAndCharacterOfPosition(t.file,t.start),r=e.flattenDiagnosticMessageText(t.messageText,"\n");n(`${t.file.fileName} (${i+1}, ${a+1}): ${r}`)}else n(e.flattenDiagnosticMessageText(t.messageText,"\n"))})),m}
1
+ import e from"typescript";import{createSystem as t,createDefaultMapFromNodeModules as r,createVirtualTypeScriptEnvironment as i}from"@typescript/vfs";let o={declaration:!0,emitDeclarationOnly:!0,target:e.ScriptTarget.ESNext,skipLibCheck:!0},a=r(o),c=i(t(a),[],e,o);export function generateDeclaration(e,t){return a.set(t,e),c.createFile(t,e),c.languageService.getEmitOutput(t).outputFiles.reduce((e,t)=>e+=t.text,"")}export function getExportKeys(e,t){a.set(t,e),c.createFile(t,e);let r=c.getSourceFile(t)?.symbol;return Array.from(r?.exports?.keys()||[])}
package/lib/vm/docs.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import ReactiveObject from '../utils/reactive-object.mjs';
2
- export declare const docsModuleName = "@app/docs";
2
+ export declare const docsModuleName = "@app/docs.ts";
3
3
  export declare const docs: ReactiveObject<Record<string, string>>;
4
4
  export declare const comment: ReactiveObject<Record<string, string>>;
5
5
  export declare const getCommentPath: (file: string) => string;
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 m,isReact as a,isSolid as s}from"../process-env.mjs";import l from"../utils/reactive-object.mjs";import p from"../rule.mjs";let c={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs";export const docs=new l({[docsModuleName]:"export default {}"});export const comment=new l({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]?.length;return o=>o.substring(t).replace(e,"@app/comment/$1.md")}();if(m){let m={},l=`import { ${c}${s?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[n]}${s?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${a?"() =>":""}${c}(${s?"Dynamic":"'n-md'"}, {text: res.default, ${s?"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;}' })};}`,i=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),r=o.pop(),n=o.join("/");m[n]||(m[n]={}),t?m[n][r]&&delete m[n][r]:m[n][r]=`rr(() => ${c}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let a={};for(let e in m)Object.prototype.hasOwnProperty.call(m,e)&&(a[e]=Object.values(m[e]));docs.setData(docsModuleName,`${l}export default ${JSON.stringify(a).replace(p.extract_func,"$1")}`)};comment.on("change",(e,t)=>{i(e,t?.length<0)});let d=t(r.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e));for(let t=0,r=d.length;t<r;t++){let r=d[t],n=e(r);n&&comment.setData(getCommentPath(r),o(n,r))}}
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 m,isReact as s,isSolid as a}from"../process-env.mjs";import l from"../utils/reactive-object.mjs";import p from"../rule.mjs";let c={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs.ts";export const docs=new l({[docsModuleName]:"export default {}"});export const comment=new l({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]?.length;return o=>o.substring(t).replace(e,"@app/comment/$1.md")}();if(m){let m={},l=`import { ${c}${a?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[n]}${a?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${s?"() =>":""}${c}(${a?"Dynamic":"'n-md'"}, {text: res.default, ${a?"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;}' })};}`,i=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),r=o.pop(),n=o.join("/");m[n]||(m[n]={}),t?m[n][r]&&delete m[n][r]:m[n][r]=`rr(() => ${c}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let s={};for(let e in m)Object.prototype.hasOwnProperty.call(m,e)&&(s[e]=Object.values(m[e]));docs.setData(docsModuleName,`${l}export default ${JSON.stringify(s).replace(p.extract_func,"$1")}`)};comment.on("change",(e,t)=>{i(e,t?.length<0)});let d=t(r.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e));for(let t=0,r=d.length;t<r;t++){let r=d[t],n=e(r);n&&comment.setData(getCommentPath(r),o(n,r))}}
@@ -1,5 +1,5 @@
1
1
  import ReactiveObject from '../utils/reactive-object.mjs';
2
- export declare const localesModuleName = "@app/locales";
2
+ export declare const localesModuleName = "@app/locales.ts";
3
3
  export declare const locales: ReactiveObject<{
4
- "@app/locales": string;
4
+ "@app/locales.ts": string;
5
5
  }>;
@@ -1,2 +1,2 @@
1
1
  import{basename as e,join as t}from"path";import{directoryExists as o,scanFolder as a}from"@moneko/mdx";import{watch as l}from"chokidar";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isDev as s}from"../process-env.mjs";import c from"../utils/esm.mjs";import i from"../utils/reactive-object.mjs";import g from"../utils/tfc.mjs";import u from"../utils/sigint-exit.mjs";let f={react:'import sso from "shared-store-object";',solid:'import { createEffect, createRoot, getOwner } from "solid-js";import { createStore } from "solid-js/store";'},m={react:'let storageKey="localizable.language",language=localStorage.getItem(storageKey)||"zh_CN",{translation:a,...defaultLocale}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[language]||resources.zh_CN),localizable=sso({lang:defaultLocale,t:a});export function setLang(a){let{translation:e,...l}=resources[a]||{};e&&(localizable.lang=l,localizable.t=e,localStorage.setItem(storageKey,l.language))}export default localizable;',solid:'let locale=createRoot(()=>{let e="localizable.language",a=localStorage.getItem(e)||"zh_CN",{translation:l,...o}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[a]||resources.zh_CN),[n,c]=createStore({lang:o,t:l});return createEffect(()=>{let a=resources[n.lang.language]?.translation;a&&(c("t",a),localStorage.setItem(e,n.lang.language))}),{localizable:n,setLocalizable:c,setLang:function(e){let{translation:a,...l}=resources[e]||{};a&&c("lang",l)}}},getOwner());export const setLocalizable=locale.setLocalizable;export const t=locale.localizable.t;export const lang=locale.localizable.lang;export const setLang=locale.setLang;'}[n];function p(e,t){return`${f[n]}
2
- export function interpolateString(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${m}`}export const localesModuleName="@app/locales";export const locales=new i({[localesModuleName]:p([],{})});let d={};async function z(t,o){let a=e(t).replace(/\.[^.]+$/,"");"deleted"===o?delete d[a]:Object.assign(d,{[a]:(await import(c`${g(t)}`)).default});let l=[],r={};for(let e in d)if(Object.prototype.hasOwnProperty.call(d,e)){let{language:t=a,title:o=t,icon:n,translation:s={}}=d[e];l.push({language:t,title:o,icon:n}),r[t]={language:t,title:o,icon:n,translation:s}}locales.setData(localesModuleName,p(l,r))}let b=t(r.alias["@"],"./locales");if(o(b)){let e=a(b,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>z(e,"added"))),s&&function(e,t){let o=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function a(){o.unwatch(e),o.close()}o.on("add",e=>{z(e,"added")}),o.on("change",e=>{z(e,"change")}),o.on("unlink",e=>{z(e,"deleted")}),o.once("ready",()=>{s||a()}),u(a)}(b,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
2
+ export function interpolateString(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${m}`}export const localesModuleName="@app/locales.ts";export const locales=new i({[localesModuleName]:p([],{})});let d={};async function z(t,o){let a=e(t).replace(/\.[^.]+$/,"");"deleted"===o?delete d[a]:Object.assign(d,{[a]:(await import(c`${g(t)}`)).default});let l=[],r={};for(let e in d)if(Object.prototype.hasOwnProperty.call(d,e)){let{language:t=a,title:o=t,icon:n,translation:s={}}=d[e];l.push({language:t,title:o,icon:n}),r[t]={language:t,title:o,icon:n,translation:s}}locales.setData(localesModuleName,p(l,r))}let b=t(r.alias["@"],"./locales");if(o(b)){let e=a(b,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>z(e,"added"))),s&&function(e,t){let o=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function a(){o.unwatch(e),o.close()}o.on("add",e=>{z(e,"added")}),o.on("change",e=>{z(e,"change")}),o.on("unlink",e=>{z(e,"deleted")}),o.once("ready",()=>{s||a()}),u(a)}(b,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
@@ -1 +1 @@
1
- import{join as o}from"path";import{getAppEntry as e,getAppFallback as p,getAppMdxScope as r,getAppMergeRouter as m,getAppNormalizeCss as t,getAppPrefixRouter as a,getAppRem as s,getAppSuspense as i}from"@moneko/mdx";import f from"./coverage.mjs";import{docs as n,docsModuleName as l}from"./docs.mjs";import c from"./info.mjs";import{locales as d,localesModuleName as g}from"./locales.mjs";import{route as x,routesModuleName as j}from"./routes.mjs";import{CONFIG as u}from"../config.mjs";import v from"../paths.mjs";import{APPTYPE as h,FRAMEWORK as k}from"../process-env.mjs";import{node_modules as y,resolveProgram as z}from"../utils/index.mjs";import{generateDeclaration as D}from"../utils/dts.mjs";let S={[y("@app/env")]:`export default ${JSON.stringify(u.env)}`,[y("@app/info")]:`export default ${JSON.stringify(c)}`,[y("@app/entry")]:e(o(u.alias["@"],"./index.ts"),!!u.rem,!!u.normalizeCss,h,k),[y("@app/rem")]:s(u.rem?.designSize||1680),[y("@app/fallback")]:p(u.fallbackCompPath),[y("@app/coverage")]:f(v.coveragePath),[y("@app/merge-router")]:m(),[y("@app/prefix-router")]:a(),[y("@app/normalize/index.css")]:t(),[y("@app/suspense/index.tsx")]:i(h,k),[y("@app/mdx-scope")]:r(z("site/mdx-scope.ts")),[y(j)]:x.getData(j),[y(g)]:d.getData(g),[y(l)]:n.getData(l)};console.log(D(S[y("@app/env")]));export default S;
1
+ import{join as t}from"path";import{getAppEntry as p,getAppFallback as e,getAppMdxScope as r,getAppMergeRouter as o,getAppNormalizeCss as s,getAppPrefixRouter as a,getAppRem as m,getAppSuspense as i,saveFile as f}from"@moneko/mdx";import n from"./coverage.mjs";import{docs as l,docsModuleName as c}from"./docs.mjs";import d from"./info.mjs";import{locales as x,localesModuleName as j}from"./locales.mjs";import{route as g,routesModuleName as u}from"./routes.mjs";import{CONFIG as v}from"../config.mjs";import y from"../paths.mjs";import{APPTYPE as _,FRAMEWORK as h}from"../process-env.mjs";import{node_modules as O,resolveProgram as $}from"../utils/index.mjs";import{generateDeclaration as b}from"../utils/dts.mjs";let k={app_env:O("@app/env.ts"),app_info:O("@app/info.ts"),app_entry:O("@app/entry.ts")},z={[k.app_env]:`export default ${JSON.stringify(v.env)}`,[k.app_info]:`export default ${JSON.stringify(d)}`,[k.app_entry]:p(t(v.alias["@"],"./index.ts"),!!v.rem,!!v.normalizeCss,_,h),[O("@app/rem.ts")]:m(v.rem?.designSize||1680),[O("@app/fallback.ts")]:e(v.fallbackCompPath),[O("@app/coverage.ts")]:n(y.coveragePath),[O("@app/merge-router.ts")]:o(),[O("@app/prefix-router.ts")]:a(),[O("@app/normalize/index.css")]:s(),[O("@app/suspense/index.tsx")]:i(_,h),[O("@app/mdx-scope.ts")]:r($("site/mdx-scope.ts")),[O(u)]:g.getData(u),[O(j)]:x.getData(j),[O(c)]:l.getData(c)},D=/\.tsx?/,P=/\.(j|t)sx?$/;for(let t in k)if(Object.prototype.hasOwnProperty.call(k,t)){let p=k[t];P.test(p)&&f(p.replace(D,".d$&"),b(z[p],p))}export default z;
@@ -1,6 +1,6 @@
1
1
  import ReactiveObject from '../utils/reactive-object.mjs';
2
- export declare const routesModuleName = "@app/routes";
2
+ export declare const routesModuleName = "@app/routes.ts";
3
3
  export declare const route: ReactiveObject<{
4
- "@app/routes": string;
4
+ "@app/routes.ts": string;
5
5
  }>;
6
6
  export declare function generatorRouter(): void;
package/lib/vm/routes.mjs CHANGED
@@ -1 +1 @@
1
- import{generateRouter as o}from"@moneko/mdx";import{watchFiles as e}from"./utils.mjs";import{CONFIG as t}from"../config.mjs";import{routeDir as r}from"../paths.mjs";import{FRAMEWORK as m,isDev as s,isLibrary as u}from"../process-env.mjs";import i from"../utils/reactive-object.mjs";let n=u?"@pkg":"@/pages";export const routesModuleName="@app/routes";function p(){return o(r,`${t.alias["@"]}/router/index.ts`,m,n,u)}export const route=new i({[routesModuleName]:p()});export function generatorRouter(){route.setData(routesModuleName,p())}s&&e(r,u?/(?<!README\.mdx?)$/:/(?<!index\.tsx?)$/,generatorRouter);
1
+ import{generateRouter as o}from"@moneko/mdx";import{watchFiles as t}from"./utils.mjs";import{CONFIG as e}from"../config.mjs";import{routeDir as r}from"../paths.mjs";import{FRAMEWORK as m,isDev as s,isLibrary as u}from"../process-env.mjs";import i from"../utils/reactive-object.mjs";let n=u?"@pkg":"@/pages";export const routesModuleName="@app/routes.ts";function p(){return o(r,`${e.alias["@"]}/router/index.ts`,m,n,u)}export const route=new i({[routesModuleName]:p()});export function generatorRouter(){route.setData(routesModuleName,p())}s&&t(r,u?/(?<!README\.mdx?)$/:/(?<!index\.tsx?)$/,generatorRouter);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.11.4",
3
+ "version": "3.12.1",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",