@moneko/core 3.0.0-beta.58 → 3.0.0-beta.59
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/done.d.ts +2 -7
- package/lib/done.js +1 -1
- package/lib/generate-api.js +1 -9
- package/lib/webpack.common.d.ts +2 -1
- package/lib/webpack.common.js +1 -1
- package/package.json +1 -1
package/lib/done.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Compiler } from 'webpack';
|
|
1
2
|
declare class DoneWebpackPlugin {
|
|
2
3
|
options: {
|
|
3
4
|
done?: () => void;
|
|
@@ -5,12 +6,6 @@ declare class DoneWebpackPlugin {
|
|
|
5
6
|
constructor(options: {
|
|
6
7
|
done?: () => void;
|
|
7
8
|
});
|
|
8
|
-
apply(compiler:
|
|
9
|
-
hooks: {
|
|
10
|
-
done: {
|
|
11
|
-
tap: (arg0: string, arg1: () => void) => void;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
}): void;
|
|
9
|
+
apply(compiler: Compiler): void;
|
|
15
10
|
}
|
|
16
11
|
export default DoneWebpackPlugin;
|
package/lib/done.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default class{constructor(o){this.options=Object.assign({},o)}apply(o){
|
|
1
|
+
export default class{constructor(o){this.options=Object.assign({},o)}apply(o){o.hooks.done.tap("DoneWebpackPlugin",()=>{this.options.done?.()})}};
|
package/lib/generate-api.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
import{existsSync as
|
|
2
|
-
| 属性 | 必要 | 说明 | 类型 | 默认值 | 版本 |
|
|
3
|
-
| :- | :-: | :- | :- | :- | :- |
|
|
4
|
-
`;for(let t of e.members)if(S(t)&&t.type?.kind!==$.NeverKeyword){let e=j(t.name.getText()),n=t.questionToken&&k(t.questionToken),r=T(t),l=j(function(e){if(!e)return null;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():null}(r)),i=j(C(r)),o=F(r,j(t.type?.getText())),s=j(D(r)),c=`\\color{${n?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${n?"✘":"✔"}}`;u+=`| ${e} | ${c} | ${s} | ${o} | ${l} | ${i} |
|
|
5
|
-
`}return u+"\n"}(e):c.isEnumDeclaration(e)&&(l+=function(e){let t=e.name.text,n=`## ${t}
|
|
6
|
-
| 属性 | 说明 | 值 | 版本 |
|
|
7
|
-
| -- | -- | -- | -- |
|
|
8
|
-
`;for(let t of e.members){let e=j(t.name.getText()),r=T(t),l=j(function(e){let t=e.initializer;return t&&c.isStringLiteral(t)?` '${t.text}'`:null}(t)),i=j(C(r)),o=j(D(r));n+=`| ${e} | ${o} | ${l} | ${i} |
|
|
9
|
-
`}return n+"\n"}(e))}),l}(l);e?(i(I,e,"utf-8",_),-1===E&&w[f[0]].push(h)):(o(I,_),-1!==E&&w[f[0]].splice(E,1))}n(s(p,"index.js"),{encoding:"utf-8"},(e,t)=>{let n=`export default ${JSON.stringify(w)};`;if(e){i(s(p,"index.js"),n,"utf-8",_);return}t!==n&&i(s(p,"index.js"),n,"utf-8",_)})}if("library"===f){let e=s(a,"./components");!function(e){let t=u(e,{ignored:/(^|[\\/\\]__tests__[\\/\\]|[\\/\\])\../,persistent:!0,ignoreInitial:!1});t.on("all",(e,t)=>{t&&l(t).isDirectory()||("change"===e?E(t,e):"add"===e?E(t,"added"):"unlink"===e&&E(t,"deleted"))}),process.on("SIGINT",function(){t.close()})}(e)}
|
|
1
|
+
let e;import{existsSync as t,mkdirSync as n,readFile as r,readFileSync as l,statSync as o,writeFile as i,unlink as c}from"fs";import{join as s,dirname as u}from"path";import{watch as a}from"chokidar";import f from"typescript";import{CONFIG as p}from"./common.js";import{APPTYPE as m,apiCacheDir as g,frameworkCacheDir as $}from"./process-env.js";import{resolveProgramPath as d}from"./utils.js";import{alias as b}from"./webpack.common.js";let{ScriptKind:x,ScriptTarget:h,SyntaxKind:y,createSourceFile:k,forEachChild:j,getLeadingCommentRanges:F,isInterfaceDeclaration:S,isQuestionToken:T,isPropertySignature:B}=f,C={};function A(e){let t=F(e.getSourceFile().text,e.pos);if(t){let n=e.getSourceFile().text.substring(t[0].pos,t[0].end),r=n.match(/\/\*\*([\s\S]*?)\*\//);if(r){let e=r[1].replace(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim();return e}}return null}function N(e){if(!e)return null;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():null}let O=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function w(e,t){if(!e)return null;let n=e.replace(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if(C[e]){let n="/"+[p.routeBaseName,C[e]].join("/").split("/").filter(Boolean).join("/");return t?`[\\color{#4ec9b0}{${e}}](${n})`:`[${e}](${n})`}return t?`\\color{#4ec9b0}{${e}}`:e});return t&&(n=n.replace(O,e=>`\\color{#4ec9b0}{${e}}`)),n}function D(e){return(function(e){let t;if(!e)return null;let n=[];for(;t=/\\color{([^|}]*)\|?([^|}]*)\|?([^|}]*)\|?([^}]*)}{([^}]*)}/g.exec(e);)n.push(t[0]);return e.replace(/(\{|\}|\[|\]|\(|\)|=>|keyof|typeof|true|false)/g,e=>n.some(t=>t.includes(e))?e:`\\color{#569cd6}{${e}}`)})(e)?.replace(/^\s*\|\s*|\s*\|\s*$/gm,"").replace(/\n/g,"<br/>").replace(/\*/g,"\\*").replace(/\|/g,"\\|").replace(/(?<!['"])\bon[A-Z][a-zA-Z]*\b(?!['"])/g,e=>`\\color{#f9a913}{${e}}`).replace(/(['"])((?:(?!\1).)*)\1/g,"\\color{#ce9178}{$1$2$1}")||"-"}let E=["#9C27B0","#673AB7","#3F51B5","#2196F3","#00BCD4","#009688","#4CAF50","#CDDC39","#FF9800","#795548"];function Z(e){return e?e.replace(/^@default\s*.*$/gm,"").replace(/^@since\s+([^\n]+)/gm,"").replace(/^@see\s+{@link\s+(.+?)(?:\|(.+?))?}/gm,"").replace(/(\n\s+)+/g,"<br />").replace(/\n/g,"<br />").replace(/(<br \/>)$/g,""):null}function _(){}let v={},z={};function I(o,a){t($)||n($),t(g)||n(g);let p=o.replace(RegExp(`^${b["@pkg"]}`),""),m=u(p).replace(/^\//,""),d=s(g,m),F=p.split("/").pop()?.replace(/\.tsx?/,".md");if(!F)return;v[m]||(v[m]=[]);let O=v[m].indexOf(F),I=s(d,F);if("deleted"===a)delete z[I],c(I,_),-1!==O&&v[m].splice(O,1);else{let e=function(e){let t=l(e,"utf-8"),n=k(e,t,h.Latest,!0,x.TS),r="";return j(n,e=>{S(e)?r+=function(e){let t=e.name.text;Object.assign(C,{[e.name.text]:u(e.getSourceFile().fileName).replace(b["@pkg"],"")});let n=A(e),r=N(n),l=Z(n),o=l?`\\color{|4||0.45}{${t}}`:t,i=(function(e){let t=[];if(e.heritageClauses){for(let n of e.heritageClauses)if(n.token===f.SyntaxKind.ExtendsKeyword)for(let e of n.types)t.push(e.getText())}return t})(e)?.map((e,t)=>`<n-tag color="${E[t]}" css=".tag{gap:0px;}">${w(e)}</n-tag>`),c=[l,o,r&&`\\color{#52c11b|1||0.9}{${r}}`,i.length>0&&`<sub>\`extends\`</sub> ${i.join(" ")}`].filter(Boolean).join(" "),s=`## ${c}`;for(let t of(s+="\n| 属性 | 必要 | 说明 | 类型 | 默认值 | 版本 |\n| :- | :-: | :- | :- | :- | :- |",e.members))if(B(t)&&t.type?.kind!==y.NeverKeyword){let e=D(t.name.getText()),n=t.questionToken&&T(t.questionToken),r=A(t),l=D(function(e){if(!e)return null;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():null}(r)),o=D(N(r)),i=w(D(t.type?.getText()),!0),c=D(Z(r)),u=`\\color{${n?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${n?"✘":"✔"}}`;s+="\n",e.startsWith("\\color")||/^("|')(.+)("|')$/.test(e)||(e=`\\color{#4c81db}{${e}}`),s+=`| ${e} | ${u} | ${c} | ${i} | ${l} | ${o} |`}return s+"\n\n"}(e):f.isEnumDeclaration(e)&&(r+=function(e){let t=e.name.text;Object.assign(C,{[e.name.text]:u(e.getSourceFile().fileName).replace(b["@pkg"],"")});let n=`## ${t}`;for(let t of(n+="\n| 属性 | 说明 | 值 | 版本 |\n| -- | -- | -- | -- |",e.members)){let e=D(t.name.getText()),r=A(t),l=D(function(e){let t=e.initializer;return t&&f.isStringLiteral(t)?` '${t.text}'`:null}(t)),o=D(N(r)),i=D(Z(r));n+="\n",e.startsWith("\\color")||/^("|')(.+)("|')$/.test(e)||(e=`\\color{#4c81db}{${e}}`),n+=`| ${e} | ${i} | ${l} | ${o} |`}return n+"\n\n"}(e))}),r}(o);if(e){let l=z[I];l?l!==e&&(t(d)||n(d),i(I,e,"utf-8",_)):r(I,{encoding:"utf-8"},(r,l)=>{(r||l!==e)&&(z[I]=l,t(d)||n(d),i(I,e,"utf-8",_))}),-1===O&&v[m].push(F)}else delete z[I],c(I,_),-1!==O&&v[m].splice(O,1)}let K=`export default ${JSON.stringify(v)};`;e!==K&&(e=K,i(s(g,"index.js"),K,"utf-8",_))}"library"===m&&function(){let e=[],t=a(d("components"),{ignored:[/(^|[\\/\\])\../,/(^|[\\/\\])__tests__([\\/\\]|$)/],persistent:!0,ignoreInitial:!1});function n(e){return/\.tsx?$/.test(e)&&o(e).isFile()}t.on("add",t=>{n(t)&&(I(t,"added"),e.push(t))}),t.on("change",e=>{n(e)&&I(e,"change")}),t.on("unlink",t=>{n(t)&&(I(t,"deleted"),e.splice(e.indexOf(t),1))}),t.on("ready",()=>{e.forEach(e=>{I(e,"change")})}),process.on("SIGINT",function(){t.close()})}();
|
package/lib/webpack.common.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import './routes.js';
|
|
2
2
|
import type { WebpackConfiguration } from 'webpack-dev-server';
|
|
3
|
-
import './generate-api.js';
|
|
4
3
|
import './cleanup.js';
|
|
4
|
+
import './generate-api.js';
|
|
5
|
+
export declare const alias: Record<string, string>;
|
|
5
6
|
export declare const outputConfig: WebpackConfiguration['output'];
|
|
6
7
|
declare const config: WebpackConfiguration;
|
|
7
8
|
export default config;
|
package/lib/webpack.common.js
CHANGED
|
@@ -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
|
|
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,frameworkCacheDir as x}from"./process-env.js";import"./routes.js";import{seo as k}from"./seo.js";import{resolveNodeModulesPath as v,resolveProgramPath as C}from"./utils.js";import"./cleanup.js";import"./generate-api.js";let O=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"],P=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"],T=e.readdirSync(y),$=!1,A=!1;for(let e=0,t=T.length;e<t;e++)P.includes(T[e])&&(A=!0),O.includes(T[e])&&($=!0);$||($=j),A||(A=h);let B=A?(await import("stylelint-webpack-plugin")).default:null,S=$?(await import("eslint-webpack-plugin")).default:null;export const alias={"@":C("src"),"@framework-cache-dir":x};Object.assign(alias,l.alias),"library"===d&&Object.assign(alias,{"@":C("site"),"@pkg":C("components"),[b]:C("components")});let M=l.assetHtml.map(e=>({publicPath:"",...e}));export const outputConfig={path:C("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=v(`@moneko/${w}/lib/packages/${i[d]}/index.js`);"single-component"===d&&(Object.assign(alias,{[b]:C("umd")}),F=C(g?"example/index.ts":"src/index.ts"),outputConfig.path=C(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,S&&new S({fix:!0,threads:!0,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),B&&new B({fix:!0,threads:!0,extensions:["css","scss","sass","less","ts","tsx","js","jsx"],exclude:["node_modules/","es/","lib/","docs/","coverage/","dist/"]}),l.htmlPluginOption&&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),l.bar&&new o(l.bar),new r({done:()=>{!g&&l.seo&&k(),l.done?.(),g||setTimeout(()=>{process.exit(0)},2e3)}}),...l.plugins].filter(Boolean),experiments:{topLevelAwait:!0,syncWebAssembly:!0,asyncWebAssembly:!0},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:alias,fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},module:f,externals:l.externals,output:outputConfig};export default _;
|