@devup-ui/next-plugin 1.0.75 → 1.0.76

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.
@@ -11,5 +11,6 @@ export interface CoordinatorOptions {
11
11
  export declare function startCoordinator(options: CoordinatorOptions): {
12
12
  close: () => void;
13
13
  };
14
+ export declare const flushCoordinatorWrites: () => Promise<void>;
14
15
  export declare const resetCoordinator: () => void;
15
16
  //# sourceMappingURL=coordinator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5C,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AA4CD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CA4LA;AAGD,eAAO,MAAM,gBAAgB,YAQ5B,CAAA"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5C,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AA4HD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAwLA;AAGD,eAAO,MAAM,sBAAsB,QAAO,OAAO,CAAC,IAAI,CAAyB,CAAA;AAG/E,eAAO,MAAM,gBAAgB,YAU5B,CAAA"}
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- var{defineProperty:D,getOwnPropertyNames:n,getOwnPropertyDescriptor:l}=Object,o=Object.prototype.hasOwnProperty;var m=new WeakMap,t=(z)=>{var G=m.get(z),Q;if(G)return G;if(G=D({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function")n(z).map((K)=>!o.call(G,K)&&D(G,K,{get:()=>z[K],enumerable:!(Q=l(z,K))||Q.enumerable}));return m.set(z,G),G};var s=(z,G)=>{for(var Q in G)D(z,Q,{get:G[Q],enumerable:!0,configurable:!0,set:(K)=>G[Q]=()=>K})};var Gz={};s(Gz,{DevupUI:()=>c});module.exports=t(Gz);var V=require("node:fs"),B=require("node:path"),x=require("@devup-ui/plugin-utils"),J=require("@devup-ui/wasm"),p=require("@devup-ui/webpack-plugin");var N=require("node:fs"),F=require("node:http"),I=require("node:path"),g=require("@devup-ui/plugin-utils"),X=require("@devup-ui/wasm");function i(z){return new Promise((G,Q)=>{let K=[];z.on("data",(L)=>K.push(L)),z.on("end",()=>G(Buffer.concat(K).toString("utf-8"))),z.on("error",Q)})}var y=null,C=0,f=0,u=0,r=500,e=30000;function zz(){let z=Date.now();return new Promise((G)=>{let Q=()=>{let K=Date.now();if(K-z>e){G();return}if(f>0&&C===0&&K-u>=r){G();return}setTimeout(Q,50)};Q()})}function d(z){let{package:G,cssDir:Q,singleCss:K,sheetFile:L,classMapFile:Y,fileMapFile:T,importAliases:S,coordinatorPortFile:q}=z;return y=F.createServer(async(H,O)=>{let A=new URL(H.url??"/",`http://${H.headers.host}`);if(H.method==="GET"&&A.pathname==="/health"){O.writeHead(200,{"Content-Type":"text/plain"}),O.end("ok");return}if(H.method==="GET"&&A.pathname==="/css"){let W=A.searchParams.get("fileNum"),b=A.searchParams.get("importMainCss")==="true",E=A.searchParams.get("waitForIdle")==="true",_=W!=null?parseInt(W):void 0;if(E)await zz();O.writeHead(200,{"Content-Type":"text/css"}),O.end(X.getCss(_??null,b));return}if(H.method==="POST"&&A.pathname==="/extract"){C++;try{let W=JSON.parse(await i(H)),{filename:b,code:E,resourcePath:_}=W,w=I.relative(I.dirname(_),Q).replaceAll("\\","/");if(!w.startsWith("./"))w=`./${w}`;let R=X.codeExtract(b,E,G,w,K,!1,!0,S),P=R.code;if(!K&&P)P=P.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let k=[];if(R.updatedBaseStyle)k.push(new Promise((j,Z)=>N.writeFile(I.join(Q,"devup-ui.css"),`${X.getCss(null,!1)}
2
- /* ${Date.now()} */`,"utf-8",($)=>$?Z($):j())));if(R.cssFile){let j=g.getFileNumByFilename(R.cssFile);if(k.push(new Promise((Z,$)=>N.writeFile(I.join(Q,I.basename(R.cssFile)),X.getCss(j,!0),"utf-8",(U)=>U?$(U):Z())),new Promise((Z,$)=>N.writeFile(L,X.exportSheet(),"utf-8",(U)=>U?$(U):Z())),new Promise((Z,$)=>N.writeFile(Y,X.exportClassMap(),"utf-8",(U)=>U?$(U):Z())),new Promise((Z,$)=>N.writeFile(T,X.exportFileMap(),"utf-8",(U)=>U?$(U):Z()))),!K&&!R.updatedBaseStyle&&R.css!=null)k.push(new Promise((Z,$)=>N.writeFile(I.join(Q,"devup-ui.css"),`${X.getCss(null,!1)}
3
- /* ${Date.now()} */`,"utf-8",(U)=>U?$(U):Z())))}await Promise.all(k),O.writeHead(200,{"Content-Type":"application/json"}),O.end(JSON.stringify({code:P,map:R.map,cssFile:R.cssFile,updatedBaseStyle:R.updatedBaseStyle}))}catch(W){O.writeHead(500,{"Content-Type":"application/json"}),O.end(JSON.stringify({error:W instanceof Error?W.message:String(W)}))}finally{C--,f++,u=Date.now()}return}O.writeHead(404,{"Content-Type":"text/plain"}),O.end("Not Found")}),y.listen(0,"127.0.0.1",()=>{let H=y.address();if(H&&typeof H!=="string")N.writeFileSync(q,String(H.port),"utf-8")}),{close:()=>{if(y){y.close(),y=null;try{N.unlinkSync(q)}catch{}}}}}function c(z,G={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:L="@devup-ui/react",distDir:Y="df",cssDir:T=B.resolve(Y,"devup-ui"),singleCss:S=!1,devupFile:q="devup.json",include:H=[],prefix:O,importAliases:A}=G;if(O)J.setPrefix(O);let W=x.mergeImportAliases(A),b=B.join(Y,"sheet.json"),E=B.join(Y,"classMap.json"),_=B.join(Y,"fileMap.json"),w=B.join(Y,".gitignore");if(!V.existsSync(Y))V.mkdirSync(Y,{recursive:!0});if(!V.existsSync(T))V.mkdirSync(T,{recursive:!0});if(!V.existsSync(w))V.writeFileSync(w,"*");try{J.importSheet(JSON.parse(V.readFileSync(b,"utf-8"))),J.importClassMap(JSON.parse(V.readFileSync(E,"utf-8"))),J.importFileMap(JSON.parse(V.readFileSync(_,"utf-8")))}catch{}let P=x.loadDevupConfigSync(q).theme??{};J.registerTheme(P);let k=J.getThemeInterface(L,"CustomColors","DevupThemeTypography","CustomLength","CustomShadows","DevupTheme");if(k)V.writeFileSync(B.join(Y,"theme.d.ts"),k);let j=x.createNodeModulesExcludeRegex(H,".mdx.[tj]sx?$"),Z=B.join(Y,"coordinator.port");V.writeFileSync(B.join(T,"devup-ui.css"),J.getCss(null,!1));try{V.unlinkSync(Z)}catch{}let $=d({package:L,cssDir:T,singleCss:S,sheetFile:b,classMapFile:E,fileMapFile:_,importAliases:W,coordinatorPortFile:Z});process.on("exit",()=>{$.close()});let U=JSON.parse(J.exportSheet()),h=JSON.parse(J.exportClassMap()),v=JSON.parse(J.exportFileMap()),M=J.getDefaultTheme();if(M)process.env.DEVUP_UI_DEFAULT_THEME=M,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:M});let a={[`./${B.relative(process.cwd(),T).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",coordinatorPortFile:Z,sheetFile:b,classMapFile:E,fileMapFile:_,themeFile:q,defaultSheet:U,defaultClassMap:h,defaultFileMap:v,theme:P}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:L,cssDir:T,coordinatorPortFile:Z,sheetFile:b,classMapFile:E,fileMapFile:_,themeFile:q,defaultSheet:U,defaultClassMap:h,defaultFileMap:v,watch:process.env.NODE_ENV==="development",singleCss:S,theme:P,importAliases:W}}],condition:{not:{path:j}}}};return Object.assign(z.turbopack.rules,a),z}let{webpack:K}=z;return z.webpack=(L,Y)=>{if(G.cssDir??=B.resolve(Y.dev?G.distDir??"df":".next/cache",`devup-ui_${Y.buildId}`),L.plugins.push(new p.DevupUIWebpackPlugin({...G,watch:Y.dev})),typeof K==="function")return K(L,Y);return L},z}
1
+ var{defineProperty:x,getOwnPropertyNames:t,getOwnPropertyDescriptor:i}=Object,r=Object.prototype.hasOwnProperty;var u=new WeakMap,e=(z)=>{var G=u.get(z),Q;if(G)return G;if(G=x({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function")t(z).map((J)=>!r.call(G,J)&&x(G,J,{get:()=>z[J],enumerable:!(Q=i(z,J))||Q.enumerable}));return u.set(z,G),G};var zz=(z,G)=>{for(var Q in G)x(z,Q,{get:G[Q],enumerable:!0,configurable:!0,set:(J)=>G[Q]=()=>J})};var Vz={};zz(Vz,{DevupUI:()=>a});module.exports=e(Vz);var V=require("node:fs"),X=require("node:path"),W=require("@devup-ui/plugin-utils"),K=require("@devup-ui/wasm"),n=require("@devup-ui/webpack-plugin");var q=require("node:fs"),f=require("node:http"),R=require("node:path"),d=require("@devup-ui/plugin-utils"),O=require("@devup-ui/wasm"),v=new Map,C=new Map;function P(z,G){C.set(z,G);let J=(v.get(z)??Promise.resolve()).catch(()=>{}).then(()=>new Promise((Y,U)=>{let L=C.get(z);if(L===void 0){Y();return}C.delete(z),q.writeFile(z,L,"utf-8",(_)=>_?U(_):Y())}));return v.set(z,J),J}function Gz(){return Promise.allSettled([...v.values()]).then(()=>{return})}function Jz(z){return new Promise((G,Q)=>{let J=[];z.on("data",(Y)=>J.push(Y)),z.on("end",()=>G(Buffer.concat(J).toString("utf-8"))),z.on("error",Q)})}var k=null,F=0,p=0,c=0,D=0,Kz=2500,Qz=60000;function Uz(){let z=Date.now();return new Promise((G)=>{let Q=()=>{let J=Date.now();if(J-z>Qz){G();return}if(p>0&&F===0&&D===0&&J-c>=Kz){G();return}setTimeout(Q,50)};Q()})}function l(z){let{package:G,cssDir:Q,singleCss:J,sheetFile:Y,classMapFile:U,fileMapFile:L,importAliases:_,coordinatorPortFile:j}=z;return k=f.createServer(async(B,$)=>{let N=new URL(B.url??"/",`http://${B.headers.host}`);if(B.method==="GET"&&N.pathname==="/health"){$.writeHead(200,{"Content-Type":"text/plain"}),$.end("ok");return}if(B.method==="GET"&&N.pathname==="/css"){let I=N.searchParams.get("fileNum"),H=N.searchParams.get("importMainCss")==="true",b=N.searchParams.get("waitForIdle")==="true",T=I!=null?parseInt(I):void 0;if(b)await Uz();$.writeHead(200,{"Content-Type":"text/css"}),$.end(O.getCss(T??null,H));return}if(B.method==="POST"&&N.pathname==="/extract"){D++;let I=!1;try{let H=JSON.parse(await Jz(B));F++,D--,I=!0;let{filename:b,code:T,resourcePath:M}=H,y=R.relative(R.dirname(M),Q).replaceAll("\\","/");if(!y.startsWith("./"))y=`./${y}`;let Z=O.codeExtract(b,T,G,y,J,!1,!0,_),A=Z.code;if(!J&&A)A=A.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let E=[];if(Z.updatedBaseStyle)E.push(P(R.join(Q,"devup-ui.css"),`${O.getCss(null,!1)}
2
+ /* ${Date.now()} */`));if(Z.cssFile){let w=d.getFileNumByFilename(Z.cssFile);if(E.push(P(R.join(Q,R.basename(Z.cssFile)),O.getCss(w,!0)),P(Y,O.exportSheet()),P(U,O.exportClassMap()),P(L,O.exportFileMap())),!J&&!Z.updatedBaseStyle&&Z.css!=null)E.push(P(R.join(Q,"devup-ui.css"),`${O.getCss(null,!1)}
3
+ /* ${Date.now()} */`))}await Promise.all(E),$.writeHead(200,{"Content-Type":"application/json"}),$.end(JSON.stringify({code:A,map:Z.map,cssFile:Z.cssFile,updatedBaseStyle:Z.updatedBaseStyle}))}catch(H){$.writeHead(500,{"Content-Type":"application/json"}),$.end(JSON.stringify({error:H instanceof Error?H.message:String(H)}))}finally{if(I)F--;else D--;p++,c=Date.now()}return}$.writeHead(404,{"Content-Type":"text/plain"}),$.end("Not Found")}),k.listen(0,"127.0.0.1",()=>{let B=k.address();if(B&&typeof B!=="string")q.writeFileSync(j,String(B.port),"utf-8")}),{close:()=>{if(Gz(),k){k.close(),k=null;try{q.unlinkSync(j)}catch{}}}}}function a(z,G={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:Y="@devup-ui/react",distDir:U="df",cssDir:L=X.resolve(U,"devup-ui"),singleCss:_=!1,devupFile:j="devup.json",include:B=[],prefix:$,importAliases:N}=G;if($)K.setPrefix($);let I=W.mergeImportAliases(N),H=X.join(U,"sheet.json"),b=X.join(U,"classMap.json"),T=X.join(U,"fileMap.json"),M=X.join(U,".gitignore");if(!V.existsSync(U))V.mkdirSync(U,{recursive:!0});if(!V.existsSync(L))V.mkdirSync(L,{recursive:!0});if(!V.existsSync(M))V.writeFileSync(M,"*");try{K.importSheet(JSON.parse(V.readFileSync(H,"utf-8"))),K.importClassMap(JSON.parse(V.readFileSync(b,"utf-8"))),K.importFileMap(JSON.parse(V.readFileSync(T,"utf-8")))}catch{}let Z=W.loadDevupConfigSync(j).theme??{};K.registerTheme(Z);let A=K.getThemeInterface(...W.createThemeInterfaceArgs(Y));if(A)V.writeFileSync(X.join(U,"theme.d.ts"),A);let E=W.createNodeModulesExcludeRegex(B,".mdx.[tj]sx?$"),w=X.join(U,"coordinator.port");V.writeFileSync(X.join(L,"devup-ui.css"),K.getCss(null,!1));try{V.unlinkSync(w)}catch{}let o=l({package:Y,cssDir:L,singleCss:_,sheetFile:H,classMapFile:b,fileMapFile:T,importAliases:I,coordinatorPortFile:w});process.on("exit",()=>{o.close()});let m=JSON.parse(K.exportSheet()),h=JSON.parse(K.exportClassMap()),g=JSON.parse(K.exportFileMap()),S=K.getDefaultTheme();if(S)process.env.DEVUP_UI_DEFAULT_THEME=S,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:S});let s={[`./${X.relative(process.cwd(),L).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",coordinatorPortFile:w,sheetFile:H,classMapFile:b,fileMapFile:T,themeFile:j,defaultSheet:m,defaultClassMap:h,defaultFileMap:g,theme:Z}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:Y,cssDir:L,coordinatorPortFile:w,sheetFile:H,classMapFile:b,fileMapFile:T,themeFile:j,defaultSheet:m,defaultClassMap:h,defaultFileMap:g,watch:process.env.NODE_ENV==="development",singleCss:_,theme:Z,importAliases:I}}],condition:{not:{path:E}}}};return Object.assign(z.turbopack.rules,s),z}let{webpack:J}=z;return z.webpack=(Y,U)=>{if(G.cssDir??=X.resolve(U.dev?G.distDir??"df":".next/cache",`devup-ui_${U.buildId}`),Y.plugins.push(new n.DevupUIWebpackPlugin({...G,watch:U.dev})),typeof J==="function")return J(Y,U);return Y},z}
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import{existsSync as S,mkdirSync as g,readFileSync as M,unlinkSync as Kz,writeFileSync as D}from"node:fs";import{join as b,relative as Qz,resolve as f}from"node:path";import{createNodeModulesExcludeRegex as Uz,loadDevupConfigSync as Vz,mergeImportAliases as Yz}from"@devup-ui/plugin-utils";import{exportClassMap as Zz,exportFileMap as $z,exportSheet as Oz,getCss as Xz,getDefaultTheme as Bz,getThemeInterface as Hz,importClassMap as Lz,importFileMap as Wz,importSheet as Rz,registerTheme as Nz,setPrefix as Iz}from"@devup-ui/wasm";import{DevupUIWebpackPlugin as Tz}from"@devup-ui/webpack-plugin";import{unlinkSync as d,writeFile as _,writeFileSync as p}from"node:fs";import{createServer as c}from"node:http";import{basename as a,dirname as n,join as x,relative as l}from"node:path";import{getFileNumByFilename as o}from"@devup-ui/plugin-utils";import{codeExtract as t,exportClassMap as s,exportFileMap as i,exportSheet as r,getCss as q}from"@devup-ui/wasm";function e(z){return new Promise((Z,B)=>{let V=[];z.on("data",($)=>V.push($)),z.on("end",()=>Z(Buffer.concat(V).toString("utf-8"))),z.on("error",B)})}var P=null,j=0,v=0,m=0,zz=500,Gz=30000;function Jz(){let z=Date.now();return new Promise((Z)=>{let B=()=>{let V=Date.now();if(V-z>Gz){Z();return}if(v>0&&j===0&&V-m>=zz){Z();return}setTimeout(B,50)};B()})}function F(z){let{package:Z,cssDir:B,singleCss:V,sheetFile:$,classMapFile:J,fileMapFile:H,importAliases:k,coordinatorPortFile:E}=z;return P=c(async(Y,U)=>{let L=new URL(Y.url??"/",`http://${Y.headers.host}`);if(Y.method==="GET"&&L.pathname==="/health"){U.writeHead(200,{"Content-Type":"text/plain"}),U.end("ok");return}if(Y.method==="GET"&&L.pathname==="/css"){let O=L.searchParams.get("fileNum"),W=L.searchParams.get("importMainCss")==="true",R=L.searchParams.get("waitForIdle")==="true",N=O!=null?parseInt(O):void 0;if(R)await Jz();U.writeHead(200,{"Content-Type":"text/css"}),U.end(q(N??null,W));return}if(Y.method==="POST"&&L.pathname==="/extract"){j++;try{let O=JSON.parse(await e(Y)),{filename:W,code:R,resourcePath:N}=O,T=l(n(N),B).replaceAll("\\","/");if(!T.startsWith("./"))T=`./${T}`;let X=t(W,R,Z,T,V,!1,!0,k),I=X.code;if(!V&&I)I=I.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let A=[];if(X.updatedBaseStyle)A.push(new Promise((w,K)=>_(x(B,"devup-ui.css"),`${q(null,!1)}
2
- /* ${Date.now()} */`,"utf-8",(Q)=>Q?K(Q):w())));if(X.cssFile){let w=o(X.cssFile);if(A.push(new Promise((K,Q)=>_(x(B,a(X.cssFile)),q(w,!0),"utf-8",(G)=>G?Q(G):K())),new Promise((K,Q)=>_($,r(),"utf-8",(G)=>G?Q(G):K())),new Promise((K,Q)=>_(J,s(),"utf-8",(G)=>G?Q(G):K())),new Promise((K,Q)=>_(H,i(),"utf-8",(G)=>G?Q(G):K()))),!V&&!X.updatedBaseStyle&&X.css!=null)A.push(new Promise((K,Q)=>_(x(B,"devup-ui.css"),`${q(null,!1)}
3
- /* ${Date.now()} */`,"utf-8",(G)=>G?Q(G):K())))}await Promise.all(A),U.writeHead(200,{"Content-Type":"application/json"}),U.end(JSON.stringify({code:I,map:X.map,cssFile:X.cssFile,updatedBaseStyle:X.updatedBaseStyle}))}catch(O){U.writeHead(500,{"Content-Type":"application/json"}),U.end(JSON.stringify({error:O instanceof Error?O.message:String(O)}))}finally{j--,v++,m=Date.now()}return}U.writeHead(404,{"Content-Type":"text/plain"}),U.end("Not Found")}),P.listen(0,"127.0.0.1",()=>{let Y=P.address();if(Y&&typeof Y!=="string")p(E,String(Y.port),"utf-8")}),{close:()=>{if(P){P.close(),P=null;try{d(E)}catch{}}}}}function Az(z,Z={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:$="@devup-ui/react",distDir:J="df",cssDir:H=f(J,"devup-ui"),singleCss:k=!1,devupFile:E="devup.json",include:Y=[],prefix:U,importAliases:L}=Z;if(U)Iz(U);let O=Yz(L),W=b(J,"sheet.json"),R=b(J,"classMap.json"),N=b(J,"fileMap.json"),T=b(J,".gitignore");if(!S(J))g(J,{recursive:!0});if(!S(H))g(H,{recursive:!0});if(!S(T))D(T,"*");try{Rz(JSON.parse(M(W,"utf-8"))),Lz(JSON.parse(M(R,"utf-8"))),Wz(JSON.parse(M(N,"utf-8")))}catch{}let I=Vz(E).theme??{};Nz(I);let A=Hz($,"CustomColors","DevupThemeTypography","CustomLength","CustomShadows","DevupTheme");if(A)D(b(J,"theme.d.ts"),A);let w=Uz(Y,".mdx.[tj]sx?$"),K=b(J,"coordinator.port");D(b(H,"devup-ui.css"),Xz(null,!1));try{Kz(K)}catch{}let Q=F({package:$,cssDir:H,singleCss:k,sheetFile:W,classMapFile:R,fileMapFile:N,importAliases:O,coordinatorPortFile:K});process.on("exit",()=>{Q.close()});let G=JSON.parse(Oz()),C=JSON.parse(Zz()),h=JSON.parse($z()),y=Bz();if(y)process.env.DEVUP_UI_DEFAULT_THEME=y,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:y});let u={[`./${Qz(process.cwd(),H).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",coordinatorPortFile:K,sheetFile:W,classMapFile:R,fileMapFile:N,themeFile:E,defaultSheet:G,defaultClassMap:C,defaultFileMap:h,theme:I}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:$,cssDir:H,coordinatorPortFile:K,sheetFile:W,classMapFile:R,fileMapFile:N,themeFile:E,defaultSheet:G,defaultClassMap:C,defaultFileMap:h,watch:process.env.NODE_ENV==="development",singleCss:k,theme:I,importAliases:O}}],condition:{not:{path:w}}}};return Object.assign(z.turbopack.rules,u),z}let{webpack:V}=z;return z.webpack=($,J)=>{if(Z.cssDir??=f(J.dev?Z.distDir??"df":".next/cache",`devup-ui_${J.buildId}`),$.plugins.push(new Tz({...Z,watch:J.dev})),typeof V==="function")return V($,J);return $},z}export{Az as DevupUI};
1
+ import{existsSync as S,mkdirSync as f,readFileSync as x,unlinkSync as Zz,writeFileSync as C}from"node:fs";import{join as I,relative as $z,resolve as d}from"node:path";import{createNodeModulesExcludeRegex as Oz,createThemeInterfaceArgs as Xz,loadDevupConfigSync as Bz,mergeImportAliases as Hz}from"@devup-ui/plugin-utils";import{exportClassMap as Lz,exportFileMap as Rz,exportSheet as Nz,getCss as Iz,getDefaultTheme as bz,getThemeInterface as Tz,importClassMap as Wz,importFileMap as _z,importSheet as Az,registerTheme as jz,setPrefix as Ez}from"@devup-ui/wasm";import{DevupUIWebpackPlugin as wz}from"@devup-ui/webpack-plugin";import{unlinkSync as l,writeFile as n,writeFileSync as a}from"node:fs";import{createServer as o}from"node:http";import{basename as s,dirname as t,join as q,relative as i}from"node:path";import{getFileNumByFilename as r}from"@devup-ui/plugin-utils";import{codeExtract as e,exportClassMap as zz,exportFileMap as Gz,exportSheet as Jz,getCss as w}from"@devup-ui/wasm";var M=new Map,y=new Map;function _(z,U){y.set(z,U);let J=(M.get(z)??Promise.resolve()).catch(()=>{}).then(()=>new Promise((K,G)=>{let O=y.get(z);if(O===void 0){K();return}y.delete(z),n(z,O,"utf-8",(R)=>R?G(R):K())}));return M.set(z,J),J}function Kz(){return Promise.allSettled([...M.values()]).then(()=>{return})}function Qz(z){return new Promise((U,$)=>{let J=[];z.on("data",(K)=>J.push(K)),z.on("end",()=>U(Buffer.concat(J).toString("utf-8"))),z.on("error",$)})}var A=null,D=0,h=0,g=0,P=0,Uz=2500,Vz=60000;function Yz(){let z=Date.now();return new Promise((U)=>{let $=()=>{let J=Date.now();if(J-z>Vz){U();return}if(h>0&&D===0&&P===0&&J-g>=Uz){U();return}setTimeout($,50)};$()})}function u(z){let{package:U,cssDir:$,singleCss:J,sheetFile:K,classMapFile:G,fileMapFile:O,importAliases:R,coordinatorPortFile:b}=z;return A=o(async(Y,V)=>{let X=new URL(Y.url??"/",`http://${Y.headers.host}`);if(Y.method==="GET"&&X.pathname==="/health"){V.writeHead(200,{"Content-Type":"text/plain"}),V.end("ok");return}if(Y.method==="GET"&&X.pathname==="/css"){let B=X.searchParams.get("fileNum"),Z=X.searchParams.get("importMainCss")==="true",H=X.searchParams.get("waitForIdle")==="true",L=B!=null?parseInt(B):void 0;if(H)await Yz();V.writeHead(200,{"Content-Type":"text/css"}),V.end(w(L??null,Z));return}if(Y.method==="POST"&&X.pathname==="/extract"){P++;let B=!1;try{let Z=JSON.parse(await Qz(Y));D++,P--,B=!0;let{filename:H,code:L,resourcePath:E}=Z,j=i(t(E),$).replaceAll("\\","/");if(!j.startsWith("./"))j=`./${j}`;let Q=e(H,L,U,j,J,!1,!0,R),N=Q.code;if(!J&&N)N=N.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let T=[];if(Q.updatedBaseStyle)T.push(_(q($,"devup-ui.css"),`${w(null,!1)}
2
+ /* ${Date.now()} */`));if(Q.cssFile){let W=r(Q.cssFile);if(T.push(_(q($,s(Q.cssFile)),w(W,!0)),_(K,Jz()),_(G,zz()),_(O,Gz())),!J&&!Q.updatedBaseStyle&&Q.css!=null)T.push(_(q($,"devup-ui.css"),`${w(null,!1)}
3
+ /* ${Date.now()} */`))}await Promise.all(T),V.writeHead(200,{"Content-Type":"application/json"}),V.end(JSON.stringify({code:N,map:Q.map,cssFile:Q.cssFile,updatedBaseStyle:Q.updatedBaseStyle}))}catch(Z){V.writeHead(500,{"Content-Type":"application/json"}),V.end(JSON.stringify({error:Z instanceof Error?Z.message:String(Z)}))}finally{if(B)D--;else P--;h++,g=Date.now()}return}V.writeHead(404,{"Content-Type":"text/plain"}),V.end("Not Found")}),A.listen(0,"127.0.0.1",()=>{let Y=A.address();if(Y&&typeof Y!=="string")a(b,String(Y.port),"utf-8")}),{close:()=>{if(Kz(),A){A.close(),A=null;try{l(b)}catch{}}}}}function Pz(z,U={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:K="@devup-ui/react",distDir:G="df",cssDir:O=d(G,"devup-ui"),singleCss:R=!1,devupFile:b="devup.json",include:Y=[],prefix:V,importAliases:X}=U;if(V)Ez(V);let B=Hz(X),Z=I(G,"sheet.json"),H=I(G,"classMap.json"),L=I(G,"fileMap.json"),E=I(G,".gitignore");if(!S(G))f(G,{recursive:!0});if(!S(O))f(O,{recursive:!0});if(!S(E))C(E,"*");try{Az(JSON.parse(x(Z,"utf-8"))),Wz(JSON.parse(x(H,"utf-8"))),_z(JSON.parse(x(L,"utf-8")))}catch{}let Q=Bz(b).theme??{};jz(Q);let N=Tz(...Xz(K));if(N)C(I(G,"theme.d.ts"),N);let T=Oz(Y,".mdx.[tj]sx?$"),W=I(G,"coordinator.port");C(I(O,"devup-ui.css"),Iz(null,!1));try{Zz(W)}catch{}let p=u({package:K,cssDir:O,singleCss:R,sheetFile:Z,classMapFile:H,fileMapFile:L,importAliases:B,coordinatorPortFile:W});process.on("exit",()=>{p.close()});let v=JSON.parse(Nz()),F=JSON.parse(Lz()),m=JSON.parse(Rz()),k=bz();if(k)process.env.DEVUP_UI_DEFAULT_THEME=k,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:k});let c={[`./${$z(process.cwd(),O).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",coordinatorPortFile:W,sheetFile:Z,classMapFile:H,fileMapFile:L,themeFile:b,defaultSheet:v,defaultClassMap:F,defaultFileMap:m,theme:Q}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:K,cssDir:O,coordinatorPortFile:W,sheetFile:Z,classMapFile:H,fileMapFile:L,themeFile:b,defaultSheet:v,defaultClassMap:F,defaultFileMap:m,watch:process.env.NODE_ENV==="development",singleCss:R,theme:Q,importAliases:B}}],condition:{not:{path:T}}}};return Object.assign(z.turbopack.rules,c),z}let{webpack:J}=z;return z.webpack=(K,G)=>{if(U.cssDir??=d(G.dev?U.distDir??"df":".next/cache",`devup-ui_${G.buildId}`),K.plugins.push(new wz({...U,watch:G.dev})),typeof J==="function")return J(K,G);return K},z}export{Pz as DevupUI};
package/dist/loader.cjs CHANGED
@@ -1 +1 @@
1
- var{defineProperty:A,getOwnPropertyNames:M,getOwnPropertyDescriptor:b}=Object,k=Object.prototype.hasOwnProperty;var v=new WeakMap,u=(G)=>{var H=v.get(G),N;if(H)return H;if(H=A({},"__esModule",{value:!0}),G&&typeof G==="object"||typeof G==="function")M(G).map((J)=>!k.call(H,J)&&A(H,J,{get:()=>G[J],enumerable:!(N=b(G,J))||N.enumerable}));return v.set(G,H),H};var m=(G,H)=>{for(var N in H)A(G,N,{get:H[N],enumerable:!0,configurable:!0,set:(J)=>H[N]=()=>J})};var o={};m(o,{resetInit:()=>p,default:()=>c});module.exports=u(o);var O=require("node:fs"),Z=require("node:fs/promises"),E=require("node:http"),Q=require("node:path"),z=require("@devup-ui/wasm"),D=!1,$=null,h=new E.Agent({keepAlive:!0});function F(G){if($!==null)return $;return $=parseInt(O.readFileSync(G,"utf-8").trim()),$}function d(G,H,N){let J=E.request({hostname:"127.0.0.1",port:G,path:"/extract",method:"POST",headers:{"Content-Type":"application/json"},agent:h},(V)=>{let Y=[];V.on("data",(K)=>Y.push(K)),V.on("end",()=>{try{let K=JSON.parse(Buffer.concat(Y).toString("utf-8"));if(V.statusCode!==200){N(Error(K.error??"Coordinator error"));return}let B=K.map?JSON.parse(K.map):null;N(null,K.code,B)}catch(K){N(K instanceof Error?K:Error(String(K)))}})});J.on("error",(V)=>N(V)),J.write(H),J.end()}var n=function(G){let{watch:H,package:N,cssDir:J,sheetFile:V,classMapFile:Y,fileMapFile:K,themeFile:B,singleCss:f,coordinatorPortFile:T,theme:w,defaultClassMap:x,defaultFileMap:P,defaultSheet:C,importAliases:S={}}=this.getOptions();if(T){let W=this.async(),X=(L)=>{if(!O.existsSync(T)){if(L>0){setTimeout(()=>X(L-1),50);return}W(Error("Coordinator port file not found"));return}try{let _=F(T),R=Q.relative(process.cwd(),this.resourcePath),U=JSON.stringify({filename:R,code:G.toString(),resourcePath:this.resourcePath});d(_,U,(j,q,y)=>{if(j)return W(j);W(null,q,y)})}catch(_){W(_)}};X(20);return}let I=[];if(!D)if(D=!0,H){if(O.existsSync(V))z.importSheet(JSON.parse(O.readFileSync(V,"utf-8")));if(O.existsSync(Y))z.importClassMap(JSON.parse(O.readFileSync(Y,"utf-8")));if(O.existsSync(K))z.importFileMap(JSON.parse(O.readFileSync(K,"utf-8")));if(O.existsSync(B))z.registerTheme(JSON.parse(O.readFileSync(B,"utf-8"))?.theme??{})}else z.importFileMap(P),z.importClassMap(x),z.importSheet(C),z.registerTheme(w);let g=this.async();try{let W=this.resourcePath,X=Q.relative(Q.dirname(W),J).replaceAll("\\","/"),L=Q.relative(process.cwd(),W);if(!X.startsWith("./"))X=`./${X}`;let{code:_,map:R,cssFile:U,updatedBaseStyle:j}=z.codeExtract(L,G.toString(),N,X,f,!1,!0,S),q=R?JSON.parse(R):null;if(j&&H)I.push(Z.writeFile(Q.join(J,"devup-ui.css"),z.getCss(null,!1),"utf-8"));if(U&&H)I.push(Z.writeFile(Q.join(J,Q.basename(U)),`/* ${this.resourcePath} ${Date.now()} */`),Z.writeFile(V,z.exportSheet()),Z.writeFile(Y,z.exportClassMap()),Z.writeFile(K,z.exportFileMap()));Promise.all(I).catch(console.error).finally(()=>g(null,_,q))}catch(W){Promise.all(I).catch(console.error).finally(()=>g(W))}return},c=n,p=()=>{D=!1,$=null};
1
+ var{defineProperty:g,getOwnPropertyNames:k,getOwnPropertyDescriptor:M}=Object,u=Object.prototype.hasOwnProperty;var f=new WeakMap,h=(z)=>{var G=f.get(z),H;if(G)return G;if(G=g({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function")k(z).map((K)=>!u.call(G,K)&&g(G,K,{get:()=>z[K],enumerable:!(H=M(z,K))||H.enumerable}));return f.set(z,G),G};var F=(z,G)=>{for(var H in G)g(z,H,{get:G[H],enumerable:!0,configurable:!0,set:(K)=>G[H]=()=>K})};var i={};F(i,{resetInit:()=>s,default:()=>t});module.exports=h(i);var O=require("node:fs"),Z=require("node:fs/promises"),T=require("node:http"),Q=require("node:path"),J=require("@devup-ui/wasm"),v=!1,w=new Map,n=new T.Agent({keepAlive:!0});function R(z){return z instanceof Error?z:Error(String(z))}function d(z){let G=w.get(z);if(G!==void 0)return G;let H=Number.parseInt(O.readFileSync(z,"utf-8").trim(),10);return w.set(z,H),H}function p(z){let G=JSON.parse(z);if(typeof G!=="object"||G===null)return{};let H=G;return{code:typeof H.code==="string"?H.code:void 0,error:typeof H.error==="string"?H.error:void 0,map:typeof H.map==="string"?H.map:void 0}}function x(z){if(!z)return null;return JSON.parse(z),z}function c(z,G,H){let K=T.request({hostname:"127.0.0.1",port:z,path:"/extract",method:"POST",headers:{"Content-Type":"application/json"},agent:n},(V)=>{let X=[];V.on("data",(N)=>X.push(N)),V.on("end",()=>{try{let N=p(Buffer.concat(X).toString("utf-8"));if(V.statusCode!==200){H(Error(N.error??"Coordinator error"));return}if(N.code===void 0){H(Error("Coordinator response missing code"));return}let _=x(N.map);H(null,N.code,_)}catch(N){H(R(N))}})});K.on("error",(V)=>H(V)),K.write(G),K.end()}var l=function(z){let{watch:G,package:H,cssDir:K,sheetFile:V,classMapFile:X,fileMapFile:N,themeFile:_,singleCss:P,coordinatorPortFile:B,theme:C,defaultClassMap:y,defaultFileMap:S,defaultSheet:m,importAliases:b={}}=this.getOptions();if(B){this.addDependency(B);let W=this.async(),Y=(I)=>{if(!O.existsSync(B)){if(I>0){setTimeout(()=>Y(I-1),50);return}W(Error("Coordinator port file not found"));return}try{let $=d(B),L=Q.relative(process.cwd(),this.resourcePath),U=JSON.stringify({filename:L,code:z.toString(),resourcePath:this.resourcePath});c($,U,(j,E,D)=>{if(j)return W(j);W(null,E,D)})}catch($){W(R($))}};Y(20);return}let q=[];if(!v)if(v=!0,G){if(this.addDependency(V),this.addDependency(X),this.addDependency(N),this.addDependency(_),O.existsSync(V))J.importSheet(JSON.parse(O.readFileSync(V,"utf-8")));if(O.existsSync(X))J.importClassMap(JSON.parse(O.readFileSync(X,"utf-8")));if(O.existsSync(N))J.importFileMap(JSON.parse(O.readFileSync(N,"utf-8")));if(O.existsSync(_))J.registerTheme(JSON.parse(O.readFileSync(_,"utf-8"))?.theme??{})}else J.importFileMap(S),J.importClassMap(y),J.importSheet(m),J.registerTheme(C);let A=this.async();try{let W=this.resourcePath,Y=Q.relative(Q.dirname(W),K).replaceAll("\\","/"),I=Q.relative(process.cwd(),W);if(!Y.startsWith("./"))Y=`./${Y}`;let{code:$,map:L,cssFile:U,updatedBaseStyle:j}=J.codeExtract(I,z.toString(),H,Y,P,!1,!0,b),E=x(L);if(j&&G)q.push(Z.writeFile(Q.join(K,"devup-ui.css"),J.getCss(null,!1),"utf-8"));if(U&&G)q.push(Z.writeFile(Q.join(K,Q.basename(U)),`/* ${this.resourcePath} ${Date.now()} */`),Z.writeFile(V,J.exportSheet()),Z.writeFile(X,J.exportClassMap()),Z.writeFile(N,J.exportFileMap()));Promise.all(q).then(()=>A(null,$,E),(D)=>A(R(D)))}catch(W){A(R(W))}return},t=l,s=()=>{v=!1,w.clear()};
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;CAC9C;AAqDD,QAAA,MAAM,aAAa,EAAE,2BAA2B,CAAC,oBAAoB,CA2HlE,CAAA;AACH,eAAe,aAAa,CAAA;AAG5B,eAAO,MAAM,SAAS,YAGrB,CAAA"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;CAC9C;AA6FD,QAAA,MAAM,aAAa,EAAE,2BAA2B,CAAC,oBAAoB,CA+HlE,CAAA;AACH,eAAe,aAAa,CAAA;AAG5B,eAAO,MAAM,SAAS,YAGrB,CAAA"}
package/dist/loader.mjs CHANGED
@@ -1 +1 @@
1
- import{existsSync as X,readFileSync as Z}from"node:fs";import{writeFile as Y}from"node:fs/promises";import{Agent as k,request as u}from"node:http";import{basename as m,dirname as h,join as D,relative as T}from"node:path";import{codeExtract as F,exportClassMap as d,exportFileMap as n,exportSheet as p,getCss as o,importClassMap as g,importFileMap as v,importSheet as f,registerTheme as w}from"@devup-ui/wasm";var q=!1,_=null,c=new k({keepAlive:!0});function l(N){if(_!==null)return _;return _=parseInt(Z(N,"utf-8").trim()),_}function s(N,V,O){let J=u({hostname:"127.0.0.1",port:N,path:"/extract",method:"POST",headers:{"Content-Type":"application/json"},agent:c},(G)=>{let Q=[];G.on("data",(z)=>Q.push(z)),G.on("end",()=>{try{let z=JSON.parse(Buffer.concat(Q).toString("utf-8"));if(G.statusCode!==200){O(Error(z.error??"Coordinator error"));return}let $=z.map?JSON.parse(z.map):null;O(null,z.code,$)}catch(z){O(z instanceof Error?z:Error(String(z)))}})});J.on("error",(G)=>O(G)),J.write(V),J.end()}var i=function(N){let{watch:V,package:O,cssDir:J,sheetFile:G,classMapFile:Q,fileMapFile:z,themeFile:$,singleCss:x,coordinatorPortFile:j,theme:P,defaultClassMap:C,defaultFileMap:S,defaultSheet:y,importAliases:M={}}=this.getOptions();if(j){let H=this.async(),K=(I)=>{if(!X(j)){if(I>0){setTimeout(()=>K(I-1),50);return}H(Error("Coordinator port file not found"));return}try{let W=l(j),L=T(process.cwd(),this.resourcePath),R=JSON.stringify({filename:L,code:N.toString(),resourcePath:this.resourcePath});s(W,R,(U,E,b)=>{if(U)return H(U);H(null,E,b)})}catch(W){H(W)}};K(20);return}let B=[];if(!q)if(q=!0,V){if(X(G))f(JSON.parse(Z(G,"utf-8")));if(X(Q))g(JSON.parse(Z(Q,"utf-8")));if(X(z))v(JSON.parse(Z(z,"utf-8")));if(X($))w(JSON.parse(Z($,"utf-8"))?.theme??{})}else v(S),g(C),f(y),w(P);let A=this.async();try{let H=this.resourcePath,K=T(h(H),J).replaceAll("\\","/"),I=T(process.cwd(),H);if(!K.startsWith("./"))K=`./${K}`;let{code:W,map:L,cssFile:R,updatedBaseStyle:U}=F(I,N.toString(),O,K,x,!1,!0,M),E=L?JSON.parse(L):null;if(U&&V)B.push(Y(D(J,"devup-ui.css"),o(null,!1),"utf-8"));if(R&&V)B.push(Y(D(J,m(R)),`/* ${this.resourcePath} ${Date.now()} */`),Y(G,p()),Y(Q,d()),Y(z,n()));Promise.all(B).catch(console.error).finally(()=>A(null,W,E))}catch(H){Promise.all(B).catch(console.error).finally(()=>A(H))}return},Jz=i,Gz=()=>{q=!1,_=null};export{Gz as resetInit,Jz as default};
1
+ import{existsSync as Y,readFileSync as _}from"node:fs";import{writeFile as Z}from"node:fs/promises";import{Agent as u,request as h}from"node:http";import{basename as F,dirname as n,join as v,relative as E}from"node:path";import{codeExtract as d,exportClassMap as p,exportFileMap as c,exportSheet as l,getCss as s,importClassMap as w,importFileMap as f,importSheet as x,registerTheme as P}from"@devup-ui/wasm";var D=!1,g=new Map,i=new u({keepAlive:!0});function j(z){return z instanceof Error?z:Error(String(z))}function t(z){let J=g.get(z);if(J!==void 0)return J;let G=Number.parseInt(_(z,"utf-8").trim(),10);return g.set(z,G),G}function o(z){let J=JSON.parse(z);if(typeof J!=="object"||J===null)return{};let G=J;return{code:typeof G.code==="string"?G.code:void 0,error:typeof G.error==="string"?G.error:void 0,map:typeof G.map==="string"?G.map:void 0}}function C(z){if(!z)return null;return JSON.parse(z),z}function a(z,J,G){let O=h({hostname:"127.0.0.1",port:z,path:"/extract",method:"POST",headers:{"Content-Type":"application/json"},agent:i},(K)=>{let Q=[];K.on("data",(H)=>Q.push(H)),K.on("end",()=>{try{let H=o(Buffer.concat(Q).toString("utf-8"));if(K.statusCode!==200){G(Error(H.error??"Coordinator error"));return}if(H.code===void 0){G(Error("Coordinator response missing code"));return}let W=C(H.map);G(null,H.code,W)}catch(H){G(j(H))}})});O.on("error",(K)=>G(K)),O.write(J),O.end()}var r=function(z){let{watch:J,package:G,cssDir:O,sheetFile:K,classMapFile:Q,fileMapFile:H,themeFile:W,singleCss:y,coordinatorPortFile:$,theme:S,defaultClassMap:m,defaultFileMap:b,defaultSheet:k,importAliases:M={}}=this.getOptions();if($){this.addDependency($);let N=this.async(),V=(B)=>{if(!Y($)){if(B>0){setTimeout(()=>V(B-1),50);return}N(Error("Coordinator port file not found"));return}try{let X=t($),q=E(process.cwd(),this.resourcePath),I=JSON.stringify({filename:q,code:z.toString(),resourcePath:this.resourcePath});a(X,I,(U,A,L)=>{if(U)return N(U);N(null,A,L)})}catch(X){N(j(X))}};V(20);return}let R=[];if(!D)if(D=!0,J){if(this.addDependency(K),this.addDependency(Q),this.addDependency(H),this.addDependency(W),Y(K))x(JSON.parse(_(K,"utf-8")));if(Y(Q))w(JSON.parse(_(Q,"utf-8")));if(Y(H))f(JSON.parse(_(H,"utf-8")));if(Y(W))P(JSON.parse(_(W,"utf-8"))?.theme??{})}else f(b),w(m),x(k),P(S);let T=this.async();try{let N=this.resourcePath,V=E(n(N),O).replaceAll("\\","/"),B=E(process.cwd(),N);if(!V.startsWith("./"))V=`./${V}`;let{code:X,map:q,cssFile:I,updatedBaseStyle:U}=d(B,z.toString(),G,V,y,!1,!0,M),A=C(q);if(U&&J)R.push(Z(v(O,"devup-ui.css"),s(null,!1),"utf-8"));if(I&&J)R.push(Z(v(O,F(I)),`/* ${this.resourcePath} ${Date.now()} */`),Z(K,l()),Z(Q,p()),Z(H,c()));Promise.all(R).then(()=>T(null,X,A),(L)=>T(j(L)))}catch(N){T(j(N))}return},Oz=r,Kz=()=>{D=!1,g.clear()};export{Kz as resetInit,Oz as default};
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA2BA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAItC,KAAK,wBAAwB,GAAG,IAAI,CAClC,OAAO,CAAC,2BAA2B,CAAC,EACpC,OAAO,CACR,CAAA;AAQD,wBAAgB,OAAO,CACrB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,wBAA6B,GACrC,UAAU,CAoLZ"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA4BA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAItC,KAAK,wBAAwB,GAAG,IAAI,CAClC,OAAO,CAAC,2BAA2B,CAAC,EACpC,OAAO,CACR,CAAA;AAQD,wBAAgB,OAAO,CACrB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,wBAA6B,GACrC,UAAU,CA+KZ"}
package/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "webpack"
20
20
  ],
21
21
  "type": "module",
22
- "version": "1.0.75",
22
+ "version": "1.0.76",
23
23
  "scripts": {
24
24
  "lint": "eslint",
25
25
  "build": "tsc && bun build --target node src/index.ts --production --env=disable --outfile dist/index.cjs --format cjs --packages external && bun build --target node src/index.ts --production --env=disable --outfile dist/index.mjs --format esm --packages external && bun build --target node src/loader.ts --production --env=disable --outfile dist/loader.cjs --format cjs --packages external && bun build --target node src/loader.ts --production --env=disable --outfile dist/loader.mjs --format esm --packages external && bun build --target node src/css-loader.ts --production --env=disable --outfile dist/css-loader.cjs --format cjs --packages external && bun build --target node src/css-loader.ts --production --env=disable --outfile dist/css-loader.mjs --format esm --packages external"
@@ -52,9 +52,9 @@
52
52
  ],
53
53
  "types": "./dist/index.d.ts",
54
54
  "dependencies": {
55
- "@devup-ui/plugin-utils": "^1.0.5",
56
- "@devup-ui/webpack-plugin": "^1.0.58",
57
- "@devup-ui/wasm": "^1.0.72"
55
+ "@devup-ui/plugin-utils": "^1.0.6",
56
+ "@devup-ui/webpack-plugin": "^1.0.59",
57
+ "@devup-ui/wasm": "^1.0.73"
58
58
  },
59
59
  "devDependencies": {
60
60
  "typescript": "^6.0",