@moneko/core 3.28.8 → 3.28.9-beta.0

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/index.d.mts CHANGED
@@ -6,6 +6,8 @@ export { default as require } from './commom/require.mjs';
6
6
  export { default as Rule } from './commom/rule.mjs';
7
7
  export { type MockConfiguration, type ProxyFuncType, type RequestFormData, yApiMock, type YApiOption, type YApiOptionBySchema, yApiSchemaMock } from './dev/mock.mjs';
8
8
  export type { ProxyConfig } from './dev/proxy.mjs';
9
+ export type { CssInJsMinifyOption } from './loader/css-in-js-minify.cjs';
10
+ export type { ReactCompilerOption } from './loader/react-compiler.cjs';
9
11
  export { type JsxDomExpressions, default as jsxDomExpressions } from './options/jsx-dom-expressions.mjs';
10
12
  export { type OptimizationSplitChunksOptions, default as splitChunk } from './options/split-chunk.mjs';
11
13
  export type { HtmlMeta, HtmlPluginOption } from './plugin/html-plugin.mjs';
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return a}});const t=require("@swc/core"),r=require("stylis"),n=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};function l(e){return{type:"iTemplateElement",span:{start:0,end:0,ctxt:0},tail:!1,cooked:e,raw:e}}function s(e,t){if("Identifier"===e.tag.type&&t.includes(e.tag.value)){let t=e.template,n=function(e){let t=e.quasis.map(e=>e.cooked);return t.reduce((e,r,n)=>(e.push(r),n!==t.length-1&&e.push(`xxx${n}:xxx`),e),[]).join("").trim()}(t),s=function e(t){return t.map(t=>{switch(t.type){case"import":case"decl":return t.value;case"comm":return"/"===t.props&&t.value.includes("@")?t.value:"";case"rule":return`${t.value.replace(/&\f/g,"&")}{${e(t.children)}}`;default:return`${t.value}{${e(t.children)}}`}}).join("")}(function e(t,r){for(let n=0;n<t.length;n++){let l=t[n],s=l.parent,a=l.children;s?!function(e){var t;return"rule"===e.type&&e.parent&&(t=e.parent,e.line===t.line&&e.column===t.column)}(l)&&s.children.push(l):r.push(l),Array.isArray(a)&&(l.children=[],e(a,r))}return r}((0,r.compile)(n),[])),a=function(e,t){let r=function(e){let t;let r=/xxx(\d+):xxx/gm,n=[];for(;null!==(t=r.exec(e));)n.push({value:t[0],p1:parseInt(t[1],10),index:t.index});return n}(e);if(0===r.length)return""===e?[]:[l(e)];let n=[],s=[],a=0;return r.forEach(({value:i,p1:o,index:u},c)=>{let p=e.substring(a,u);a=a+p.length+i.length,p||0!==c?n.push(l(p)):n.push(l("")),s.push(t[o]),c===r.length-1&&n.push(l(e.substring(u+i.length)))}),s.reduce((e,t,r)=>e.concat([t],n[r+1]),[n[0]]).filter(e=>""!==e.raw)}(s,t.expressions);if(s.length>1){let e=[],r=[];a.forEach((t,n)=>{"iTemplateElement"===t.type?e.push({...t,type:"TemplateElement",tail:n===a.length-1}):r.push(t)}),t.quasis=e,t.expressions=r}}}async function a(e){let r=this.async(),{moduleName:l="@moneko/css",allowFuncs:a=["css","injectGlobal"]}=this.getOptions()||{};this.cacheable&&this.cacheable();try{let n=await (0,t.parse)(e,{syntax:"ecmascript"}),i=[];n.body.forEach(e=>{"ImportDeclaration"===e.type&&e.source.value===l&&e.specifiers.forEach(e=>{"ImportSpecifier"===e.type&&(e.imported&&a.includes(e.imported.value)?i.push(e.local.value):a.includes(e.local.value)&&i.push(e.local.value))})}),n.body.forEach(e=>{!function(e){if("ExportDeclaration"===e.type||"ExpressionStatement"===e.type){let t="declaration"in e?e.declaration:e.expression;t&&"CallExpression"===t.type&&t.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&s(e.expression,i)}),t&&"VariableDeclaration"===t.type&&t.declarations.forEach(e=>{e.init?.type==="TaggedTemplateExpression"&&s(e.init,i)})}else"CallExpression"===e.type&&e.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&s(e.expression,i)})}(e)});let{code:o}=await (0,t.print)(n);r(null,o)}catch(e){r(e),(0,n.default)(e)}}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return i}});const t=require("@swc/core"),r=require("stylis"),n=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};function l(e){return{type:"iTemplateElement",span:{start:0,end:0,ctxt:0},tail:!1,cooked:e,raw:e}}function a(e,t){if("Identifier"===e.tag.type&&t.includes(e.tag.value)){let t=e.template,n=function(e){let t=e.quasis.map(e=>e.cooked);return t.reduce((e,r,n)=>(e.push(r),n!==t.length-1&&e.push(`xxx${n}:xxx`),e),[]).join("").trim()}(t),a=function e(t){return t.map(t=>{switch(t.type){case"import":case"decl":return t.value;case"comm":return"/"===t.props&&t.value.includes("@")?t.value:"";case"rule":return`${t.value.replace(/&\f/g,"&")}{${e(t.children)}}`;default:return`${t.value}{${e(t.children)}}`}}).join("")}(function e(t,r){for(let n=0;n<t.length;n++){let l=t[n],a=l.parent,i=l.children;a?!function(e){var t;return"rule"===e.type&&e.parent&&(t=e.parent,e.line===t.line&&e.column===t.column)}(l)&&a.children.push(l):r.push(l),Array.isArray(i)&&(l.children=[],e(i,r))}return r}((0,r.compile)(n),[])),i=function(e,t){let r=function(e){let t;let r=/xxx(\d+):xxx/gm,n=[];for(;null!==(t=r.exec(e));)n.push({value:t[0],p1:parseInt(t[1],10),index:t.index});return n}(e);if(0===r.length)return""===e?[]:[l(e)];let n=[],a=[],i=0;return r.forEach(({value:s,p1:u,index:p},o)=>{let c=e.substring(i,p);i=i+c.length+s.length,c||0!==o?n.push(l(c)):n.push(l("")),a.push(t[u]),o===r.length-1&&n.push(l(e.substring(p+s.length)))}),a.reduce((e,t,r)=>e.concat([t],n[r+1]),[n[0]]).filter(e=>""!==e.raw)}(a,t.expressions);if(a.length>1){let e=[],r=[];i.forEach((t,n)=>{"iTemplateElement"===t.type?e.push({...t,type:"TemplateElement",tail:n===i.length-1}):r.push(t)}),t.quasis=e,t.expressions=r}}}async function i(e){let r=this.async(),{moduleName:l,allowFuncs:i}=this.getOptions()||{};this.cacheable&&this.cacheable();try{let n=await (0,t.parse)(e,{syntax:"ecmascript"}),s=[];n.body.forEach(e=>{"ImportDeclaration"===e.type&&e.source.value===l&&e.specifiers.forEach(e=>{"ImportSpecifier"===e.type&&(e.imported&&i.includes(e.imported.value)?s.push(e.local.value):i.includes(e.local.value)&&s.push(e.local.value))})}),n.body.forEach(e=>{!function(e){if("ExportDeclaration"===e.type||"ExpressionStatement"===e.type){let t="declaration"in e?e.declaration:e.expression;t&&"CallExpression"===t.type&&t.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)}),t&&"VariableDeclaration"===t.type&&t.declarations.forEach(e=>{e.init?.type==="TaggedTemplateExpression"&&a(e.init,s)})}else"CallExpression"===e.type&&e.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)})}(e)});let{code:u}=await (0,t.print)(n);r(null,u)}catch(e){r(e),(0,n.default)(e)}}
@@ -3,9 +3,8 @@ import { compile, type Element } from 'stylis';
3
3
  import type { LoaderContext } from 'webpack';
4
4
  import log from '../commom/log.mjs';
5
5
  export interface CssInJsMinifyOption {
6
- sourceMap?: boolean;
7
- moduleName?: string;
8
- allowFuncs?: string[];
6
+ moduleName: string;
7
+ allowFuncs: string[];
9
8
  }
10
9
  declare function haveSameLocation(element1: Element, element2: Element);
11
10
  declare function isAutoInsertedRule(element: Element);
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return a}});const t=require("@babel/core"),r=(e=require("babel-plugin-react-compiler"))&&e.__esModule?e:{default:e};async function a(e){let a=this.async();this.cacheable&&this.cacheable();let s=(0,t.transformSync)(e,{filename:this.resourcePath,sourceMaps:this.sourceMap,plugins:[[r.default,this.getOptions()]]});if(null===s){a(Error(`Failed to transform "${this.resourcePath}"`));return}a(null,s.code||"",null===s.map?void 0:s.map)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return o}});const e=require("@babel/core"),r=u(require("babel-plugin-react-compiler")),t=u(require("../commom/log.mjs"));function u(e){return e&&e.__esModule?e:{default:e}}async function o(u){let o=this.async();this.cacheable&&this.cacheable(),(0,e.transform)(u,{filename:this.resourcePath,sourceMaps:this.sourceMap,plugins:[[r.default,this.getOptions()]]},(e,r)=>{if(e){(0,t.default)(e),o(e,u);return}if(null===r){o(Error(`Failed to transform "${this.resourcePath}"`));return}o(null,r.code||"",null===r.map?void 0:r.map)})}
@@ -1,7 +1,21 @@
1
- import { transformSync } from '@babel/core';
1
+ import { transform } from '@babel/core';
2
2
  import BabelPluginReactCompiler from 'babel-plugin-react-compiler';
3
3
  import type { LoaderContext } from 'webpack';
4
+ import log from '../commom/log.mjs';
4
5
  export interface ReactCompilerOption {
5
- filename?: string;
6
+ target?: '17' | '18' | '19';
7
+ sources?(filename: string): boolean;
8
+ compilationMode?: 'annotation' | 'infer' | 'syntax' | 'all';
9
+ logger?: {
10
+ logEvent?: (fileName: string, event: MessageEvent) => void;
11
+ };
12
+ noEmit?: boolean;
13
+ flowSuppressions?: boolean;
14
+ ignoreUseNoForget?: boolean;
15
+ enableReanimatedCheck?: boolean;
16
+ panicThreshold?: string;
17
+ environment?: unknown;
18
+ gating?: null;
19
+ eslintSuppressionRules?: Record<string, string | boolean | number>;
6
20
  }
7
21
  export default async function reactCompilerLoader(this: LoaderContext<ReactCompilerOption>, sourceCode: string);
@@ -1,2 +1,2 @@
1
- let e;import{join as o,sep as s}from"node:path";import{saveFileSync as t}from"@moneko/utils";import r,{CUSTOMCONFIG as a}from"./commom/paths.mjs";import m from"./commom/reactive-object.mjs";import n from"./commom/require.mjs";import i from"./commom/rule.mjs";import l from"./options/css-extract.mjs";import c from"./options/modify-vars.mjs";import d from"./options/reslove.mjs";import p from"./options/swcrc.mjs";import{getLightningCssTargets as u}from"./polyfills/targets.mjs";import{node_modules as f,resolveProgram as h,toCamelCase as j}from"./utils/index.mjs";import v from"./utils/svg-to-data-uri.mjs";import{comment as y,getCommentPath as g}from"./vm/docs.mjs";import x from"./vm/generate-doc.mjs";import{outputConfig as w}from"./common.mjs";import{CONFIG as L}from"./config.mjs";import{FRAMEWORK as P,isDev as M,isLibrary as _}from"./process-env.mjs";let k={loader:o(r.corePath,"/loader/lightning-css/loader.cjs"),options:{sourceMap:!!L.sourceMap,targets:u(),rem:!!L.rem,esModule:!0,modules:{auto(e){if(e){if(e.endsWith(".css")&&!e.endsWith("module.css"))return!1;for(let o=0,s=I.length;o<s;o++)if(e.includes(I[o]))return i.css_module.test(e)}return i.node_modules_css_module.test(e)},localIdentName:"[name][hash]_[local]",namedExport:!0,exportLocalsConvention:"dashesOnly",exportOnlyLocals:!1,getJSON:L.cssModuleDefinition?function(e){q.setData(`${e.resourcePath}.d.ts`,`${e.exports.map(({name:e,value:o})=>`export const ${j(e)}: '${o}';`).join("\n")}
2
- `)}:void 0},importLoaders:2}},C={loader:d.lessLoader,options:{sourceMap:!!L.sourceMap,lessOptions:{modifyVars:c,javascriptEnabled:!0}}},O=new Map;function b(e){if(O.has(e))return O.get(e);try{let o;let t=n.resolve(e).split(s),r=t.lastIndexOf("node_modules");return o=-1!==r?t.slice(0,r).join(s):t.join(s),O.set(e,o),o}catch{let o=f(e);return O.set(e,o),o}}let I=[...L.cssModules,`@moneko/${P}`,"neko-ui"].map(b),W=["components","example","mock","site","src","server"].map(h);function $(e){return new Promise(o=>{o([...W,r.corePath,...L.rulesInclude?.[e]?.map(b)||[]])})}a&&W.push(h(a)),L.overrideResolve&&L.overrideResolve.override&&W.push(L.overrideResolve.override);let R=await Promise.all([$("css"),$("js"),$("media"),$("wasm"),$("font")]),B=R[0],S=R[1],z=R[2],D=R[3],E=R[4];d.sassLoader&&(e={loader:d.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let J=_&&M&&{test:i.tsdoc,include:L.alias["@pkg"],exclude:[/node_modules\/(?!(@app|@moneko)).+/,i.__tests__],enforce:"pre",loader:o(r.corePath,"/loader/ts-doc.cjs"),options:{comment:y,generateDoc:x,getCommentPath:g}},N=w.library?.type==="umd"&&!1===L.htmlPluginOption,Q=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let o=e.filename;return o&&o.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:i.wasm,type:"webassembly/async",include:D},{test:i.txt,type:"asset/source"},{test:i.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:N?()=>!0:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[name][ext]":"assets/images/[name][ext]",dataUrl:(e,o)=>o.filename.toLocaleLowerCase().endsWith(".svg")?v(e.toString()):e},include:z},{test:i.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:z},{test:i.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:E}],U=L.prefixJsLoader.filter(Boolean)||[];switch(P){case"react":L.reactCompiler&&U.unshift({loader:o(r.corePath,"/loader/react-compiler.cjs"),options:L.reactCompiler});break;case"solid":L.refresh=!1}let q=new m({});q.on("change",(e,o)=>{t(e,o)});export default(s=>{let t={loader:d.swcLoader,options:p(s)};return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:L.noParse,rules:[!1!==L.htmlPluginOption&&J,{oneOf:[...Q,{test:i.js,use:[...U,t],include:S},{test:i.css,use:[l,k],include:B},e&&{test:i.scss,use:[l,k,e],include:B},{test:i.less,use:[l,k,C],include:B},{test:i.markdown,use:[...U,{loader:o(r.corePath,"/loader/mdx.cjs"),options:L.mdx}],exclude:[/node_modules\/(?!(@app|@moneko)).+/]}].filter(Boolean)},...L.moduleRules].filter(Boolean)}});
1
+ let e;import{join as s,sep as o}from"node:path";import{saveFileSync as t}from"@moneko/utils";import r,{CUSTOMCONFIG as a}from"./commom/paths.mjs";import n from"./commom/reactive-object.mjs";import m from"./commom/require.mjs";import i from"./commom/rule.mjs";import l from"./options/css-extract.mjs";import c from"./options/modify-vars.mjs";import d from"./options/reslove.mjs";import p from"./options/swcrc.mjs";import{getLightningCssTargets as u}from"./polyfills/targets.mjs";import{node_modules as f,resolveProgram as j,toCamelCase as h}from"./utils/index.mjs";import y from"./utils/svg-to-data-uri.mjs";import{comment as g,getCommentPath as v}from"./vm/docs.mjs";import x from"./vm/generate-doc.mjs";import{outputConfig as w}from"./common.mjs";import{CONFIG as P}from"./config.mjs";import{FRAMEWORK as L,isDev as M,isLibrary as _}from"./process-env.mjs";let k={loader:s(r.corePath,"/loader/lightning-css/loader.cjs"),options:{sourceMap:!!P.sourceMap,targets:u(),rem:!!P.rem,esModule:!0,modules:{auto(e){if(e){if(e.endsWith(".css")&&!e.endsWith("module.css"))return!1;for(let s=0,o=I.length;s<o;s++)if(e.includes(I[s]))return i.css_module.test(e)}return i.node_modules_css_module.test(e)},localIdentName:"[name][hash]_[local]",namedExport:!0,exportLocalsConvention:"dashesOnly",exportOnlyLocals:!1,getJSON:P.cssModuleDefinition?function(e){q.setData(`${e.resourcePath}.d.ts`,`${e.exports.map(({name:e,value:s})=>`export const ${h(e)}: '${s}';`).join("\n")}
2
+ `)}:void 0},importLoaders:2}},O={loader:d.lessLoader,options:{sourceMap:!!P.sourceMap,lessOptions:{modifyVars:c,javascriptEnabled:!0}}},b=new Map;function C(e){if(b.has(e))return b.get(e);try{let s;let t=m.resolve(e).split(o),r=t.lastIndexOf("node_modules");return s=-1!==r?t.slice(0,r).join(o):t.join(o),b.set(e,s),s}catch{let s=f(e);return b.set(e,s),s}}let I=[...P.cssModules,`@moneko/${L}`,"neko-ui"].map(C),J=["components","example","mock","site","src","server"].map(j);function W(e){return new Promise(s=>{s([...J,r.corePath,...P.rulesInclude?.[e]?.map(C)||[]])})}a&&J.push(j(a)),P.overrideResolve&&P.overrideResolve.override&&J.push(P.overrideResolve.override);let $=await Promise.all([W("css"),W("js"),W("media"),W("wasm"),W("font")]),R=$[0],B=$[1],N=$[2],S=$[3],z=$[4];d.sassLoader&&(e={loader:d.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let D=_&&M&&{test:i.tsdoc,include:P.alias["@pkg"],exclude:[/node_modules\/(?!(@app|@moneko)).+/,i.__tests__],enforce:"pre",loader:s(r.corePath,"/loader/ts-doc.cjs"),options:{comment:g,generateDoc:x,getCommentPath:v}},E=w.library?.type==="umd"&&!1===P.htmlPluginOption,Q=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:i.wasm,type:"webassembly/async",include:S},{test:i.txt,type:"asset/source"},{test:i.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:E?()=>!0:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[name][ext]":"assets/images/[name][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?y(e.toString()):e},include:N},{test:i.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:N},{test:i.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:z}],U=P.prefixJsLoader.filter(Boolean)||[];switch(L){case"react":P.reactCompiler&&U.unshift({loader:s(r.corePath,"/loader/react-compiler.cjs"),options:P.reactCompiler});break;case"solid":P.refresh=!1}P.cssInJs&&"object"==typeof P.cssInJs.minify&&U.unshift({loader:s(r.corePath,"/loader/css-in-js-minify.cjs"),options:Object.assign({moduleName:"@moneko/css",allowFuncs:["css","injectGlobal"]},P.cssInJs.minify)});let q=new n({});q.on("change",(e,s)=>{t(e,s)});export default(o=>{let t={loader:d.swcLoader,options:p(o)};return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:P.noParse,rules:[!1!==P.htmlPluginOption&&D,{oneOf:[...Q,{test:i.js,use:[...U,t],include:B},{test:i.css,use:[l,k],include:R},e&&{test:i.scss,use:[l,k,e],include:R},{test:i.less,use:[l,k,O],include:R},{test:i.markdown,use:[...U,{loader:s(r.corePath,"/loader/mdx.cjs"),options:P.mdx}],exclude:[/node_modules\/(?!(@app|@moneko)).+/]}].filter(Boolean)},...P.moduleRules].filter(Boolean)}});
@@ -7,6 +7,7 @@ declare const reslove: {
7
7
  readonly swcLoader;
8
8
  readonly transformImports;
9
9
  readonly jsxDomExpressions;
10
+ readonly rawImport;
10
11
  readonly hotMiddlewareClient;
11
12
  };
12
13
  export default reslove;
@@ -1 +1 @@
1
- import e from"../commom/has-pkg.mjs";import o from"../commom/require.mjs";let s={styleLoader:o.resolve("style-loader"),sassLoader:e("sass-loader"),lessLoader:o.resolve("less-loader"),swcLoader:o.resolve("swc-loader"),transformImports:e("@moneko/transform-imports"),jsxDomExpressions:e("@moneko/jsx-dom-expressions"),hotMiddlewareClient:o.resolve("webpack-hot-middleware/client.js")};export default s;
1
+ import o from"../commom/has-pkg.mjs";import e from"../commom/require.mjs";let s={styleLoader:e.resolve("style-loader"),sassLoader:o("sass-loader"),lessLoader:e.resolve("less-loader"),swcLoader:e.resolve("swc-loader"),transformImports:o("@moneko/transform-imports"),jsxDomExpressions:o("@moneko/jsx-dom-expressions"),rawImport:o("@moneko/raw-import"),hotMiddlewareClient:e.resolve("webpack-hot-middleware/client.js")};export default s;
@@ -1 +1 @@
1
- import{merge as e}from"webpack-merge";import r from"../commom/paths.mjs";import{CONFIG as o}from"../config.mjs";import t,{coreJsVersion as s}from"../polyfills/polyfills.mjs";import{isDev as m,isReact as a,isSolid as l,jsxImportSource as p}from"../process-env.mjs";import i from"./reslove.mjs";let c=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}(o.importOnDemand||{}),n={include:t(),mode:"entry",coreJs:s};export default((t,s={})=>e({module:{type:"es6",resolveFully:!0},sync:!0,jsc:{parser:{syntax:"typescript",tsx:!0,decorators:!0,dynamicImport:!0},loose:!0,target:o.polyfill?void 0:"es2017",externalHelpers:!1,transform:{legacyDecorator:!0,decoratorMetadata:!0,react:{runtime:"automatic",throwIfNamespace:!0,refresh:a&&m,development:m,importSource:p},optimizer:{simplify:!1}},experimental:{emitAssertForImportAttributes:!0,cacheRoot:r.swcCachePath,plugins:[[i.transformImports,c],l&&[i.jsxDomExpressions,{...o.jsxDomExpressions,generate:t?"ssr":"dom",hydratable:t}]].filter(Boolean)}},env:o.polyfill?n:void 0,sourceMaps:!0,parseMap:!0},"function"==typeof o.swcrc?o.swcrc(m):o.swcrc||{},s));
1
+ import{merge as r}from"webpack-merge";import e from"../commom/paths.mjs";import{CONFIG as o}from"../config.mjs";import t,{coreJsVersion as s}from"../polyfills/polyfills.mjs";import{isDev as m,isReact as a,isSolid as p,jsxImportSource as l}from"../process-env.mjs";import i from"./reslove.mjs";let c=function(r){for(let e=0,o=Object.keys(r),t=o.length;e<t;e++)r[o[e]].transform=`${o[e]}/${r[o[e]].transform}`,r[o[e]].style&&(r[o[e]].style=`${o[e]}/${r[o[e]].style}`);return r}(o.importOnDemand||{}),n={include:t(),mode:"entry",coreJs:s};export default((t,s={})=>r({module:{type:"es6",resolveFully:!0},sync:!0,jsc:{parser:{syntax:"typescript",tsx:!0,decorators:!0,dynamicImport:!0},loose:!0,target:o.polyfill?void 0:"es2017",externalHelpers:!1,transform:{legacyDecorator:!0,decoratorMetadata:!0,react:{runtime:"automatic",throwIfNamespace:!0,refresh:a&&m,development:m,importSource:l},optimizer:{simplify:!1}},experimental:{emitAssertForImportAttributes:!0,cacheRoot:e.swcCachePath,plugins:[["@moneko/raw-import",{rootDir:e.programPath}],[i.transformImports,c],p&&[i.jsxDomExpressions,{...o.jsxDomExpressions,generate:t?"ssr":"dom",hydratable:t}]].filter(Boolean)}},env:o.polyfill?n:void 0,sourceMaps:!0,parseMap:!0},"function"==typeof o.swcrc?o.swcrc(m):o.swcrc||{},s));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.28.8",
3
+ "version": "3.28.9-beta.0",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",
@@ -20,6 +20,7 @@
20
20
  "@fastify/middie": "8.3.3",
21
21
  "@moneko/convert": "1.0.0",
22
22
  "@moneko/mdx": "0.1.43",
23
+ "@moneko/raw-import": "0.0.2",
23
24
  "@moneko/stylelint": "1.0.2",
24
25
  "@moneko/transform-imports": "0.6.1",
25
26
  "@moneko/utils": "0.1.22",
@@ -29,7 +30,7 @@
29
30
  "core-js": "3.40.0",
30
31
  "core-js-compat": "3.40.0",
31
32
  "fastify": "4.29.0",
32
- "less": "4.2.1",
33
+ "less": "4.2.2",
33
34
  "less-loader": "12.2.0",
34
35
  "lightningcss": "1.29.1",
35
36
  "marked-completed": "1.2.14",
@@ -49,11 +50,12 @@
49
50
  "@types/stylis": "4.2.7",
50
51
  "@types/webpack-bundle-analyzer": "4.7.0",
51
52
  "@types/webpack-hot-middleware": "2.25.9",
52
- "eslint-config-neko": "3.0.3",
53
- "sass": "1.83.1",
53
+ "babel-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
54
+ "eslint-config-neko": "3.0.4",
55
+ "sass": "1.83.4",
54
56
  "sass-loader": "16.0.4",
55
57
  "solid-refresh": "0.7.5",
56
- "stylis": "4.3.4",
58
+ "stylis": "4.3.5",
57
59
  "webpack-bundle-analyzer": "4.10.2"
58
60
  },
59
61
  "files": [
@@ -14,11 +14,13 @@ import type {
14
14
  } from 'webpack';
15
15
 
16
16
  import type {
17
+ CssInJsMinifyOption,
17
18
  HtmlPluginOption,
18
19
  JsxDomExpressions,
19
20
  OptimizationSplitChunksOptions,
20
21
  OverrideResolverOption,
21
22
  ProxyConfig,
23
+ ReactCompilerOption,
22
24
  VirtualModulePluginOption,
23
25
  } from '../lib/index.mjs';
24
26
  import type { CopyPluginOption } from '../lib/plugin/copy.mjs';
@@ -472,7 +474,7 @@ export declare type ConfigType = {
472
474
  * @description 需要 react 19+
473
475
  * @default false
474
476
  */
475
- reactCompiler?: false | ReactCompilerConfig;
477
+ reactCompiler?: false | ReactCompilerOption;
476
478
  /** stylelint 配置
477
479
  * @description 为 false 时关闭
478
480
  */
@@ -485,15 +487,14 @@ export declare type ConfigType = {
485
487
  * @default 'tsc'
486
488
  */
487
489
  dts?: 'tsc' | 'swc';
490
+ cssInJs?: {
491
+ /**
492
+ * 压缩 css 模版字符串
493
+ */
494
+ minify?: CssInJsMinifyOption | false;
495
+ };
488
496
  };
489
497
 
490
- export interface ReactCompilerConfig {
491
- /** 指定启用 React Compiler 的范围 */
492
- sources?(filename: string): boolean;
493
- /** 编译模式 */
494
- compilationMode?: 'annotation';
495
- }
496
-
497
498
  /**
498
499
  * 用于构建 http 资源的选项
499
500
  */