@devup-ui/next-plugin 1.0.68 → 1.0.70

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.
@@ -0,0 +1,15 @@
1
+ export interface CoordinatorOptions {
2
+ package: string;
3
+ cssDir: string;
4
+ singleCss: boolean;
5
+ sheetFile: string;
6
+ classMapFile: string;
7
+ fileMapFile: string;
8
+ importAliases: Record<string, string | null>;
9
+ coordinatorPortFile: string;
10
+ }
11
+ export declare function startCoordinator(options: CoordinatorOptions): {
12
+ close: () => void;
13
+ };
14
+ export declare const resetCoordinator: () => void;
15
+ //# sourceMappingURL=coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAYA,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;AAiDD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAyKA;AAGD,eAAO,MAAM,gBAAgB,YAQ5B,CAAA"}
@@ -1 +1 @@
1
- var{defineProperty:D,getOwnPropertyNames:X,getOwnPropertyDescriptor:Y}=Object,Z=Object.prototype.hasOwnProperty;var O=new WeakMap,_=(b)=>{var k=O.get(b),A;if(k)return k;if(k=D({},"__esModule",{value:!0}),b&&typeof b==="object"||typeof b==="function")X(b).map((z)=>!Z.call(k,z)&&D(k,z,{get:()=>b[z],enumerable:!(A=Y(b,z))||A.enumerable}));return O.set(b,k),k};var $=(b,k)=>{for(var A in k)D(b,A,{get:k[A],enumerable:!0,configurable:!0,set:(z)=>k[A]=()=>z})};var N={};$(N,{resetInit:()=>L,default:()=>R});module.exports=_(N);var q=require("node:fs"),j=require("@devup-ui/wasm");function B(b){if(b.endsWith("devup-ui.css"))return null;return parseInt(b.split("devup-ui-")[1].split(".")[0])}var E=!1,I=function(b,k,A){let{watch:z,sheetFile:G,classMapFile:H,fileMapFile:J,themeFile:K,theme:P,defaultClassMap:Q,defaultFileMap:V,defaultSheet:W}=this.getOptions();if(!E)if(E=!0,z){if(q.existsSync(G))j.importSheet(JSON.parse(q.readFileSync(G,"utf-8")));if(q.existsSync(H))j.importClassMap(JSON.parse(q.readFileSync(H,"utf-8")));if(q.existsSync(J))j.importFileMap(JSON.parse(q.readFileSync(J,"utf-8")));if(q.existsSync(K))j.registerTheme(JSON.parse(q.readFileSync(K,"utf-8"))?.theme??{})}else j.importFileMap(V),j.importClassMap(Q),j.importSheet(W),j.registerTheme(P);this.callback(null,!z?b:j.getCss(B(this.resourcePath),!0),k,A)},R=I,L=()=>{E=!1};
1
+ var{defineProperty:R,getOwnPropertyNames:b,getOwnPropertyDescriptor:C}=Object,S=Object.prototype.hasOwnProperty;var v=new WeakMap,k=(j)=>{var z=v.get(j),H;if(z)return z;if(z=R({},"__esModule",{value:!0}),j&&typeof j==="object"||typeof j==="function")b(j).map((E)=>!S.call(z,E)&&R(z,E,{get:()=>j[E],enumerable:!(H=C(j,E))||H.enumerable}));return v.set(j,z),z};var M=(j,z)=>{for(var H in z)R(j,H,{get:z[H],enumerable:!0,configurable:!0,set:(E)=>z[H]=()=>E})};var F={};M(F,{resetInit:()=>h,default:()=>p});module.exports=k(F);var G=require("node:fs"),_=require("node:http"),D=require("@devup-ui/wasm");function A(j){let z=j.match(/[?&]fileNum=(\d+)/);if(z)return parseInt(z[1]);if(j.endsWith("devup-ui.css"))return null;return parseInt(j.split("devup-ui-")[1].split(".")[0])}var U=!1,Y=null,y=new _.Agent({keepAlive:!0});function f(j){if(Y!==null)return Y;return Y=parseInt(G.readFileSync(j,"utf-8").trim()),Y}function d(j,z,H,E,K){let O=new URLSearchParams;if(z!=null)O.set("fileNum",String(z));if(O.set("importMainCss",String(H)),E)O.set("waitForIdle","true");let V=_.request({hostname:"127.0.0.1",port:j,path:`/css?${O.toString()}`,method:"GET",agent:y},(J)=>{let X=[];J.on("data",($)=>X.push($)),J.on("end",()=>{if(J.statusCode!==200){K(Error(`Coordinator CSS error: ${J.statusCode}`));return}K(null,Buffer.concat(X).toString("utf-8"))})});V.on("error",(J)=>K(J)),V.end()}var u=function(j,z,H){let{watch:E,coordinatorPortFile:K,sheetFile:O,classMapFile:V,fileMapFile:J,themeFile:X,theme:$,defaultClassMap:I,defaultFileMap:q,defaultSheet:x}=this.getOptions();if(K){let Z=this.async(),w=this.resourceQuery??"",g=this.resourcePath+w,W=A(g),N=W!==null,B=(Q)=>{if(!G.existsSync(K)){if(Q>0){setTimeout(()=>B(Q-1),50);return}Z(Error("Coordinator port file not found"));return}try{let L=f(K);d(L,W,N,!E,(T,P)=>{if(T)return Z(T);Z(null,P)})}catch(L){Z(L)}};B(20);return}if(!U)if(U=!0,E){if(G.existsSync(O))D.importSheet(JSON.parse(G.readFileSync(O,"utf-8")));if(G.existsSync(V))D.importClassMap(JSON.parse(G.readFileSync(V,"utf-8")));if(G.existsSync(J))D.importFileMap(JSON.parse(G.readFileSync(J,"utf-8")));if(G.existsSync(X))D.registerTheme(JSON.parse(G.readFileSync(X,"utf-8"))?.theme??{})}else D.importFileMap(q),D.importClassMap(I),D.importSheet(x),D.registerTheme($);this.callback(null,!E?j:D.getCss(A(this.resourcePath),!0),z,H)},p=u,h=()=>{U=!1,Y=null};
@@ -1,6 +1,7 @@
1
1
  import type { RawLoaderDefinitionFunction } from 'webpack';
2
2
  export interface DevupUICssLoaderOptions {
3
3
  watch: boolean;
4
+ coordinatorPortFile?: string;
4
5
  sheetFile: string;
5
6
  classMapFile: string;
6
7
  fileMapFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"css-loader.d.ts","sourceRoot":"","sources":["../src/css-loader.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAO1D,MAAM,WAAW,uBAAuB;IAEtC,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB;AAID,QAAA,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,uBAAuB,CA2CxE,CAAA;AACH,eAAe,gBAAgB,CAAA;AAG/B,eAAO,MAAM,SAAS,YAErB,CAAA"}
1
+ {"version":3,"file":"css-loader.d.ts","sourceRoot":"","sources":["../src/css-loader.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAW1D,MAAM,WAAW,uBAAuB;IAEtC,KAAK,EAAE,OAAO,CAAA;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB;AA+CD,QAAA,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,uBAAuB,CAmFxE,CAAA;AACH,eAAe,gBAAgB,CAAA;AAG/B,eAAO,MAAM,SAAS,YAGrB,CAAA"}
@@ -1 +1 @@
1
- import{existsSync as j,readFileSync as k}from"node:fs";import{getCss as Z,importClassMap as H,importFileMap as J,importSheet as K,registerTheme as O}from"@devup-ui/wasm";function _(b){if(b.endsWith("devup-ui.css"))return null;return parseInt(b.split("devup-ui-")[1].split(".")[0])}var q=!1,$=function(b,P,Q){let{watch:z,sheetFile:A,classMapFile:D,fileMapFile:E,themeFile:G,theme:V,defaultClassMap:W,defaultFileMap:X,defaultSheet:Y}=this.getOptions();if(!q)if(q=!0,z){if(j(A))K(JSON.parse(k(A,"utf-8")));if(j(D))H(JSON.parse(k(D,"utf-8")));if(j(E))J(JSON.parse(k(E,"utf-8")));if(j(G))O(JSON.parse(k(G,"utf-8"))?.theme??{})}else J(X),H(W),K(Y),O(V);this.callback(null,!z?b:Z(_(this.resourcePath),!0),P,Q)},R=$,L=()=>{q=!1};export{L as resetInit,R as default};
1
+ import{existsSync as O,readFileSync as V}from"node:fs";import{Agent as C,request as S}from"node:http";import{getCss as k,importClassMap as Q,importFileMap as T,importSheet as v,registerTheme as A}from"@devup-ui/wasm";function I(j){let D=j.match(/[?&]fileNum=(\d+)/);if(D)return parseInt(D[1]);if(j.endsWith("devup-ui.css"))return null;return parseInt(j.split("devup-ui-")[1].split(".")[0])}var L=!1,X=null,M=new C({keepAlive:!0});function y(j){if(X!==null)return X;return X=parseInt(V(j,"utf-8").trim()),X}function f(j,D,Z,H,E){let G=new URLSearchParams;if(D!=null)G.set("fileNum",String(D));if(G.set("importMainCss",String(Z)),H)G.set("waitForIdle","true");let J=S({hostname:"127.0.0.1",port:j,path:`/css?${G.toString()}`,method:"GET",agent:M},(z)=>{let K=[];z.on("data",(_)=>K.push(_)),z.on("end",()=>{if(z.statusCode!==200){E(Error(`Coordinator CSS error: ${z.statusCode}`));return}E(null,Buffer.concat(K).toString("utf-8"))})});J.on("error",(z)=>E(z)),J.end()}var d=function(j,D,Z){let{watch:H,coordinatorPortFile:E,sheetFile:G,classMapFile:J,fileMapFile:z,themeFile:K,theme:_,defaultClassMap:q,defaultFileMap:x,defaultSheet:w}=this.getOptions();if(E){let Y=this.async(),g=this.resourceQuery??"",N=this.resourcePath+g,R=I(N),P=R!==null,U=(W)=>{if(!O(E)){if(W>0){setTimeout(()=>U(W-1),50);return}Y(Error("Coordinator port file not found"));return}try{let $=y(E);f($,R,P,!H,(B,b)=>{if(B)return Y(B);Y(null,b)})}catch($){Y($)}};U(20);return}if(!L)if(L=!0,H){if(O(G))v(JSON.parse(V(G,"utf-8")));if(O(J))Q(JSON.parse(V(J,"utf-8")));if(O(z))T(JSON.parse(V(z,"utf-8")));if(O(K))A(JSON.parse(V(K,"utf-8"))?.theme??{})}else T(x),Q(q),v(w),A(_);this.callback(null,!H?j:k(I(this.resourcePath),!0),D,Z)},n=d,p=()=>{L=!1,X=null};export{p as resetInit,n as default};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var{defineProperty:A,getOwnPropertyNames:a,getOwnPropertyDescriptor:s}=Object,c=Object.prototype.hasOwnProperty;var F=new WeakMap,g=(m)=>{var L=F.get(m),N;if(L)return L;if(L=A({},"__esModule",{value:!0}),m&&typeof m==="object"||typeof m==="function")a(m).map((E)=>!c.call(L,E)&&A(L,E,{get:()=>m[E],enumerable:!(N=s(m,E))||N.enumerable}));return F.set(m,L),L};var p=(m,L)=>{for(var N in L)A(m,N,{get:L[N],enumerable:!0,configurable:!0,set:(E)=>L[N]=()=>E})};var n={};p(n,{DevupUI:()=>o});module.exports=g(n);var B=require("node:fs"),$=require("node:path"),W=require("@devup-ui/plugin-utils"),O=require("@devup-ui/wasm"),d=require("@devup-ui/webpack-plugin");var R=require("node:fs"),K=require("node:path"),q=require("@devup-ui/wasm"),I=require("tinyglobby");var u=require("node:fs"),Z=require("node:path");function k(m=process.cwd()){let L=m,N=null;while(!0){if(u.existsSync(Z.join(L,"package.json")))N=L;let E=Z.dirname(L);if(E===L)break;L=E}return N??m}var t=require("node:fs");function f(m){let L=t.readFileSync(m,"utf-8");return JSON.parse(L).name}var D=require("node:fs"),r=require("node:path");function h(){let m=D.readFileSync(r.join(process.cwd(),"package.json"),"utf-8"),L=JSON.parse(m);return Object.values(L.dependencies??{}).some((N)=>typeof N==="string"&&N.includes("workspace:"))}function P(m,L,N,E,z,J,Q=process.cwd(),X=!1){if(z.length>0&&h()){let V=k(),G=I.globSync(["package.json","!**/node_modules/**"],{followSymbolicLinks:!0,absolute:!0,cwd:V}).filter((H)=>z.includes(f(H))).map((H)=>K.dirname(H));for(let H of G)P(m,L,N,E,z,J,H,!0);if(X)return}let U=I.globSync(["**/*.tsx","**/*.ts","**/*.js","**/*.mjs"],{followSymbolicLinks:!0,absolute:!0,cwd:Q});U.sort();for(let V of U){let G=K.relative(process.cwd(),R.realpathSync(V));if(/\.(test(-d)?|d|spec)\.(tsx|ts|js|mjs)$/.test(G)||/^(out|.next)[/\\]/.test(G)||m.test(G))continue;let{cssFile:H,css:Y}=q.codeExtract(G,R.readFileSync(G,"utf-8"),L,E,N,!1,!0,J);if(H)R.writeFileSync(K.join(E,K.basename(H)),Y??"","utf-8")}R.writeFileSync(K.join(E,"devup-ui.css"),q.getCss(null,!1),"utf-8")}function o(m,L={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){m??={},m.turbopack??={},m.turbopack.rules??={};let{package:z="@devup-ui/react",distDir:J="df",cssDir:Q=$.resolve(J,"devup-ui"),singleCss:X=!1,devupFile:U="devup.json",include:V=[],prefix:G,importAliases:H}=L;if(G)O.setPrefix(G);let Y=W.mergeImportAliases(H),y=$.join(J,"sheet.json"),w=$.join(J,"classMap.json"),T=$.join(J,"fileMap.json"),S=$.join(J,".gitignore");if(!B.existsSync(J))B.mkdirSync(J,{recursive:!0});if(!B.existsSync(Q))B.mkdirSync(Q,{recursive:!0});if(!B.existsSync(S))B.writeFileSync(S,"*");let b=W.loadDevupConfigSync(U).theme??{};O.registerTheme(b);let v=O.getThemeInterface(z,"CustomColors","DevupThemeTypography","DevupTheme");if(v)B.writeFileSync($.join(J,"theme.d.ts"),v);let _=new RegExp(`(node_modules(?!.*(${["@devup-ui",...V].join("|").replaceAll("/","[\\/\\\\_]")})([\\/\\\\.]|$)))|(.mdx.[tj]sx?$)`);if(process.env.NODE_ENV!=="production")fetch("http://localhost:"+process.env.PORT),fetch("http://localhost:"+process.debugPort).catch(()=>{setTimeout(()=>{process.exit(77)},500)}),process.env.TURBOPACK_DEBUG_JS="*",process.env.NODE_OPTIONS??="",process.env.NODE_OPTIONS+=" --inspect-brk",B.writeFileSync($.join(Q,"devup-ui.css"),O.getCss(null,!1));else P(_,z,X,Q,V,Y);let x=JSON.parse(O.exportSheet()),C=JSON.parse(O.exportClassMap()),M=JSON.parse(O.exportFileMap()),j=O.getDefaultTheme();if(j)process.env.DEVUP_UI_DEFAULT_THEME=j,m.env??={},Object.assign(m.env,{DEVUP_UI_DEFAULT_THEME:j});let l={[`./${$.relative(process.cwd(),Q).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",sheetFile:y,classMapFile:w,fileMapFile:T,themeFile:U,defaultSheet:x,defaultClassMap:C,defaultFileMap:M,theme:b}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:z,cssDir:Q,sheetFile:y,classMapFile:w,fileMapFile:T,themeFile:U,defaultSheet:x,defaultClassMap:C,defaultFileMap:M,watch:process.env.NODE_ENV==="development",singleCss:X,theme:b,importAliases:Y}}],condition:{not:{path:_}}}};return Object.assign(m.turbopack.rules,l),m}let{webpack:E}=m;return m.webpack=(z,J)=>{if(L.cssDir??=$.resolve(J.dev?L.distDir??"df":".next/cache",`devup-ui_${J.buildId}`),z.plugins.push(new d.DevupUIWebpackPlugin({...L,watch:J.dev})),typeof E==="function")return E(z,J);return z},m}
1
+ var{defineProperty:D,getOwnPropertyNames:a,getOwnPropertyDescriptor:n}=Object,l=Object.prototype.hasOwnProperty;var m=new WeakMap,t=(z)=>{var G=m.get(z),K;if(G)return G;if(G=D({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function")a(z).map((J)=>!l.call(G,J)&&D(G,J,{get:()=>z[J],enumerable:!(K=n(z,J))||K.enumerable}));return m.set(z,G),G};var o=(z,G)=>{for(var K in G)D(z,K,{get:G[K],enumerable:!0,configurable:!0,set:(J)=>G[K]=()=>J})};var Gz={};o(Gz,{DevupUI:()=>p});module.exports=t(Gz);var R=require("node:fs"),$=require("node:path"),j=require("@devup-ui/plugin-utils"),U=require("@devup-ui/wasm"),d=require("@devup-ui/webpack-plugin");var W=require("node:fs"),F=require("node:http"),I=require("node:path"),X=require("@devup-ui/wasm");function i(z){if(z.endsWith("devup-ui.css"))return null;return parseInt(z.split("devup-ui-")[1].split(".")[0])}function s(z){return new Promise((G,K)=>{let J=[];z.on("data",(H)=>J.push(H)),z.on("end",()=>G(Buffer.concat(J).toString("utf-8"))),z.on("error",K)})}var q=null,C=0,g=0,f=0,r=500,e=30000;function zz(){let z=Date.now();return new Promise((G)=>{let K=()=>{let J=Date.now();if(J-z>e){G();return}if(g>0&&C===0&&J-f>=r){G();return}setTimeout(K,50)};K()})}function u(z){let{package:G,cssDir:K,singleCss:J,sheetFile:H,classMapFile:Q,fileMapFile:T,importAliases:M,coordinatorPortFile:w}=z;return q=F.createServer(async(B,Y)=>{let A=new URL(B.url??"/",`http://${B.headers.host}`);if(B.method==="GET"&&A.pathname==="/health"){Y.writeHead(200,{"Content-Type":"text/plain"}),Y.end("ok");return}if(B.method==="GET"&&A.pathname==="/css"){let L=A.searchParams.get("fileNum"),b=A.searchParams.get("importMainCss")==="true",_=A.searchParams.get("waitForIdle")==="true",y=L!=null?parseInt(L):void 0;if(_)await zz();Y.writeHead(200,{"Content-Type":"text/css"}),Y.end(X.getCss(y??null,b));return}if(B.method==="POST"&&A.pathname==="/extract"){C++;try{let L=JSON.parse(await s(B)),{filename:b,code:_,resourcePath:y}=L,P=I.relative(I.dirname(y),K).replaceAll("\\","/");if(!P.startsWith("./"))P=`./${P}`;let N=X.codeExtract(b,_,G,P,J,!1,!0,M),E=N.code;if(!J&&E)E=E.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let k=[];if(N.updatedBaseStyle)k.push(new Promise((S,Z)=>W.writeFile(I.join(K,"devup-ui.css"),X.getCss(null,!1),"utf-8",(O)=>O?Z(O):S())));if(N.cssFile){let S=i(N.cssFile);k.push(new Promise((Z,O)=>W.writeFile(I.join(K,I.basename(N.cssFile)),X.getCss(S,!0),"utf-8",(V)=>V?O(V):Z())),new Promise((Z,O)=>W.writeFile(H,X.exportSheet(),"utf-8",(V)=>V?O(V):Z())),new Promise((Z,O)=>W.writeFile(Q,X.exportClassMap(),"utf-8",(V)=>V?O(V):Z())),new Promise((Z,O)=>W.writeFile(T,X.exportFileMap(),"utf-8",(V)=>V?O(V):Z())))}await Promise.all(k),Y.writeHead(200,{"Content-Type":"application/json"}),Y.end(JSON.stringify({code:E,map:N.map,cssFile:N.cssFile,updatedBaseStyle:N.updatedBaseStyle}))}catch(L){Y.writeHead(500,{"Content-Type":"application/json"}),Y.end(JSON.stringify({error:L instanceof Error?L.message:String(L)}))}finally{C--,g++,f=Date.now()}return}Y.writeHead(404,{"Content-Type":"text/plain"}),Y.end("Not Found")}),q.listen(0,"127.0.0.1",()=>{let B=q.address();if(B&&typeof B!=="string")W.writeFileSync(w,String(B.port),"utf-8")}),{close:()=>{if(q){q.close(),q=null;try{W.unlinkSync(w)}catch{}}}}}function p(z,G={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:H="@devup-ui/react",distDir:Q="df",cssDir:T=$.resolve(Q,"devup-ui"),singleCss:M=!1,devupFile:w="devup.json",include:B=[],prefix:Y,importAliases:A}=G;if(Y)U.setPrefix(Y);let L=j.mergeImportAliases(A),b=$.join(Q,"sheet.json"),_=$.join(Q,"classMap.json"),y=$.join(Q,"fileMap.json"),P=$.join(Q,".gitignore");if(!R.existsSync(Q))R.mkdirSync(Q,{recursive:!0});if(!R.existsSync(T))R.mkdirSync(T,{recursive:!0});if(!R.existsSync(P))R.writeFileSync(P,"*");let E=j.loadDevupConfigSync(w).theme??{};U.registerTheme(E);let k=U.getThemeInterface(H,"CustomColors","DevupThemeTypography","DevupTheme");if(k)R.writeFileSync($.join(Q,"theme.d.ts"),k);let S=new RegExp(`(node_modules(?!.*(${["@devup-ui",...B].join("|").replaceAll("/","[\\/\\\\_]")})([\\/\\\\.]|$)))|(.mdx.[tj]sx?$)`),Z=$.join(Q,"coordinator.port");R.writeFileSync($.join(T,"devup-ui.css"),U.getCss(null,!1));let O=u({package:H,cssDir:T,singleCss:M,sheetFile:b,classMapFile:_,fileMapFile:y,importAliases:L,coordinatorPortFile:Z});process.on("exit",()=>{O.close()});let V=JSON.parse(U.exportSheet()),h=JSON.parse(U.exportClassMap()),v=JSON.parse(U.exportFileMap()),x=U.getDefaultTheme();if(x)process.env.DEVUP_UI_DEFAULT_THEME=x,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:x});let c={[`./${$.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:_,fileMapFile:y,themeFile:w,defaultSheet:V,defaultClassMap:h,defaultFileMap:v,theme:E}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:H,cssDir:T,coordinatorPortFile:Z,sheetFile:b,classMapFile:_,fileMapFile:y,themeFile:w,defaultSheet:V,defaultClassMap:h,defaultFileMap:v,watch:process.env.NODE_ENV==="development",singleCss:M,theme:E,importAliases:L}}],condition:{not:{path:S}}}};return Object.assign(z.turbopack.rules,c),z}let{webpack:J}=z;return z.webpack=(H,Q)=>{if(G.cssDir??=$.resolve(Q.dev?G.distDir??"df":".next/cache",`devup-ui_${Q.buildId}`),H.plugins.push(new d.DevupUIWebpackPlugin({...G,watch:Q.dev})),typeof J==="function")return J(H,Q);return H},z}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{existsSync as Y,mkdirSync as M,writeFileSync as Z}from"node:fs";import{join as K,relative as p,resolve as F}from"node:path";import{loadDevupConfigSync as n,mergeImportAliases as e}from"@devup-ui/plugin-utils";import{exportClassMap as i,exportFileMap as mm,exportSheet as Lm,getCss as Nm,getDefaultTheme as Em,getThemeInterface as Jm,registerTheme as Om,setPrefix as $m}from"@devup-ui/wasm";import{DevupUIWebpackPlugin as zm}from"@devup-ui/webpack-plugin";import{readFileSync as d,realpathSync as o,writeFileSync as _}from"node:fs";import{basename as l,dirname as a,join as x,relative as s}from"node:path";import{codeExtract as c,getCss as g}from"@devup-ui/wasm";import{globSync as C}from"tinyglobby";import{existsSync as k}from"node:fs";import{dirname as t,join as f}from"node:path";function T(m=process.cwd()){let L=m,J=null;while(!0){if(k(f(L,"package.json")))J=L;let O=t(L);if(O===L)break;L=O}return J??m}import{readFileSync as D}from"node:fs";function S(m){let L=D(m,"utf-8");return JSON.parse(L).name}import{readFileSync as r}from"node:fs";import{join as h}from"node:path";function v(){let m=r(h(process.cwd(),"package.json"),"utf-8"),L=JSON.parse(m);return Object.values(L.dependencies??{}).some((J)=>typeof J==="string"&&J.includes("workspace:"))}function X(m,L,J,O,E,N,B=process.cwd(),Q=!1){if(E.length>0&&v()){let H=T(),$=C(["package.json","!**/node_modules/**"],{followSymbolicLinks:!0,absolute:!0,cwd:H}).filter((z)=>E.includes(S(z))).map((z)=>a(z));for(let z of $)X(m,L,J,O,E,N,z,!0);if(Q)return}let G=C(["**/*.tsx","**/*.ts","**/*.js","**/*.mjs"],{followSymbolicLinks:!0,absolute:!0,cwd:B});G.sort();for(let H of G){let $=s(process.cwd(),o(H));if(/\.(test(-d)?|d|spec)\.(tsx|ts|js|mjs)$/.test($)||/^(out|.next)[/\\]/.test($)||m.test($))continue;let{cssFile:z,css:R}=c($,d($,"utf-8"),L,O,J,!1,!0,N);if(z)_(x(O,l(z)),R??"","utf-8")}_(x(O,"devup-ui.css"),g(null,!1),"utf-8")}function Bm(m,L={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){m??={},m.turbopack??={},m.turbopack.rules??={};let{package:E="@devup-ui/react",distDir:N="df",cssDir:B=F(N,"devup-ui"),singleCss:Q=!1,devupFile:G="devup.json",include:H=[],prefix:$,importAliases:z}=L;if($)$m($);let R=e(z),q=K(N,"sheet.json"),W=K(N,"classMap.json"),b=K(N,"fileMap.json"),j=K(N,".gitignore");if(!Y(N))M(N,{recursive:!0});if(!Y(B))M(B,{recursive:!0});if(!Y(j))Z(j,"*");let U=n(G).theme??{};Om(U);let A=Jm(E,"CustomColors","DevupThemeTypography","DevupTheme");if(A)Z(K(N,"theme.d.ts"),A);let I=new RegExp(`(node_modules(?!.*(${["@devup-ui",...H].join("|").replaceAll("/","[\\/\\\\_]")})([\\/\\\\.]|$)))|(.mdx.[tj]sx?$)`);if(process.env.NODE_ENV!=="production")fetch("http://localhost:"+process.env.PORT),fetch("http://localhost:"+process.debugPort).catch(()=>{setTimeout(()=>{process.exit(77)},500)}),process.env.TURBOPACK_DEBUG_JS="*",process.env.NODE_OPTIONS??="",process.env.NODE_OPTIONS+=" --inspect-brk",Z(K(B,"devup-ui.css"),Nm(null,!1));else X(I,E,Q,B,H,R);let P=JSON.parse(Lm()),y=JSON.parse(i()),w=JSON.parse(mm()),V=Em();if(V)process.env.DEVUP_UI_DEFAULT_THEME=V,m.env??={},Object.assign(m.env,{DEVUP_UI_DEFAULT_THEME:V});let u={[`./${p(process.cwd(),B).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",sheetFile:q,classMapFile:W,fileMapFile:b,themeFile:G,defaultSheet:P,defaultClassMap:y,defaultFileMap:w,theme:U}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:E,cssDir:B,sheetFile:q,classMapFile:W,fileMapFile:b,themeFile:G,defaultSheet:P,defaultClassMap:y,defaultFileMap:w,watch:process.env.NODE_ENV==="development",singleCss:Q,theme:U,importAliases:R}}],condition:{not:{path:I}}}};return Object.assign(m.turbopack.rules,u),m}let{webpack:O}=m;return m.webpack=(E,N)=>{if(L.cssDir??=F(N.dev?L.distDir??"df":".next/cache",`devup-ui_${N.buildId}`),E.plugins.push(new zm({...L,watch:N.dev})),typeof O==="function")return O(E,N);return E},m}export{Bm as DevupUI};
1
+ import{existsSync as M,mkdirSync as F,writeFileSync as j}from"node:fs";import{join as A,relative as Jz,resolve as g}from"node:path";import{loadDevupConfigSync as Kz,mergeImportAliases as Qz}from"@devup-ui/plugin-utils";import{exportClassMap as Uz,exportFileMap as Vz,exportSheet as Yz,getCss as Zz,getDefaultTheme as $z,getThemeInterface as Bz,registerTheme as Oz,setPrefix as Xz}from"@devup-ui/wasm";import{DevupUIWebpackPlugin as Hz}from"@devup-ui/webpack-plugin";import{unlinkSync as u,writeFile as P,writeFileSync as d}from"node:fs";import{createServer as p}from"node:http";import{basename as c,dirname as a,join as C,relative as n}from"node:path";import{codeExtract as l,exportClassMap as t,exportFileMap as o,exportSheet as i,getCss as q}from"@devup-ui/wasm";function s(z){if(z.endsWith("devup-ui.css"))return null;return parseInt(z.split("devup-ui-")[1].split(".")[0])}function r(z){return new Promise((Y,O)=>{let Z=[];z.on("data",($)=>Z.push($)),z.on("end",()=>Y(Buffer.concat(Z).toString("utf-8"))),z.on("error",O)})}var _=null,S=0,h=0,v=0,e=500,zz=30000;function Gz(){let z=Date.now();return new Promise((Y)=>{let O=()=>{let Z=Date.now();if(Z-z>zz){Y();return}if(h>0&&S===0&&Z-v>=e){Y();return}setTimeout(O,50)};O()})}function m(z){let{package:Y,cssDir:O,singleCss:Z,sheetFile:$,classMapFile:G,fileMapFile:H,importAliases:w,coordinatorPortFile:E}=z;return _=p(async(U,K)=>{let L=new URL(U.url??"/",`http://${U.headers.host}`);if(U.method==="GET"&&L.pathname==="/health"){K.writeHead(200,{"Content-Type":"text/plain"}),K.end("ok");return}if(U.method==="GET"&&L.pathname==="/css"){let B=L.searchParams.get("fileNum"),W=L.searchParams.get("importMainCss")==="true",N=L.searchParams.get("waitForIdle")==="true",I=B!=null?parseInt(B):void 0;if(N)await Gz();K.writeHead(200,{"Content-Type":"text/css"}),K.end(q(I??null,W));return}if(U.method==="POST"&&L.pathname==="/extract"){S++;try{let B=JSON.parse(await r(U)),{filename:W,code:N,resourcePath:I}=B,T=n(a(I),O).replaceAll("\\","/");if(!T.startsWith("./"))T=`./${T}`;let X=l(W,N,Y,T,Z,!1,!0,w),R=X.code;if(!Z&&R)R=R.replace(/devup-ui-(\d+)\.css/g,"devup-ui.css?fileNum=$1");let b=[];if(X.updatedBaseStyle)b.push(new Promise((y,Q)=>P(C(O,"devup-ui.css"),q(null,!1),"utf-8",(V)=>V?Q(V):y())));if(X.cssFile){let y=s(X.cssFile);b.push(new Promise((Q,V)=>P(C(O,c(X.cssFile)),q(y,!0),"utf-8",(J)=>J?V(J):Q())),new Promise((Q,V)=>P($,i(),"utf-8",(J)=>J?V(J):Q())),new Promise((Q,V)=>P(G,t(),"utf-8",(J)=>J?V(J):Q())),new Promise((Q,V)=>P(H,o(),"utf-8",(J)=>J?V(J):Q())))}await Promise.all(b),K.writeHead(200,{"Content-Type":"application/json"}),K.end(JSON.stringify({code:R,map:X.map,cssFile:X.cssFile,updatedBaseStyle:X.updatedBaseStyle}))}catch(B){K.writeHead(500,{"Content-Type":"application/json"}),K.end(JSON.stringify({error:B instanceof Error?B.message:String(B)}))}finally{S--,h++,v=Date.now()}return}K.writeHead(404,{"Content-Type":"text/plain"}),K.end("Not Found")}),_.listen(0,"127.0.0.1",()=>{let U=_.address();if(U&&typeof U!=="string")d(E,String(U.port),"utf-8")}),{close:()=>{if(_){_.close(),_=null;try{u(E)}catch{}}}}}function Lz(z,Y={}){if(process.env.TURBOPACK==="1"||process.env.TURBOPACK==="auto"){z??={},z.turbopack??={},z.turbopack.rules??={};let{package:$="@devup-ui/react",distDir:G="df",cssDir:H=g(G,"devup-ui"),singleCss:w=!1,devupFile:E="devup.json",include:U=[],prefix:K,importAliases:L}=Y;if(K)Xz(K);let B=Qz(L),W=A(G,"sheet.json"),N=A(G,"classMap.json"),I=A(G,"fileMap.json"),T=A(G,".gitignore");if(!M(G))F(G,{recursive:!0});if(!M(H))F(H,{recursive:!0});if(!M(T))j(T,"*");let R=Kz(E).theme??{};Oz(R);let b=Bz($,"CustomColors","DevupThemeTypography","DevupTheme");if(b)j(A(G,"theme.d.ts"),b);let y=new RegExp(`(node_modules(?!.*(${["@devup-ui",...U].join("|").replaceAll("/","[\\/\\\\_]")})([\\/\\\\.]|$)))|(.mdx.[tj]sx?$)`),Q=A(G,"coordinator.port");j(A(H,"devup-ui.css"),Zz(null,!1));let V=m({package:$,cssDir:H,singleCss:w,sheetFile:W,classMapFile:N,fileMapFile:I,importAliases:B,coordinatorPortFile:Q});process.on("exit",()=>{V.close()});let J=JSON.parse(Yz()),x=JSON.parse(Uz()),D=JSON.parse(Vz()),k=$z();if(k)process.env.DEVUP_UI_DEFAULT_THEME=k,z.env??={},Object.assign(z.env,{DEVUP_UI_DEFAULT_THEME:k});let f={[`./${Jz(process.cwd(),H).replaceAll("\\","/")}/*.css`]:[{loader:"@devup-ui/next-plugin/css-loader",options:{watch:process.env.NODE_ENV==="development",coordinatorPortFile:Q,sheetFile:W,classMapFile:N,fileMapFile:I,themeFile:E,defaultSheet:J,defaultClassMap:x,defaultFileMap:D,theme:R}}],"*.{tsx,ts,js,mjs}":{loaders:[{loader:"@devup-ui/next-plugin/loader",options:{package:$,cssDir:H,coordinatorPortFile:Q,sheetFile:W,classMapFile:N,fileMapFile:I,themeFile:E,defaultSheet:J,defaultClassMap:x,defaultFileMap:D,watch:process.env.NODE_ENV==="development",singleCss:w,theme:R,importAliases:B}}],condition:{not:{path:y}}}};return Object.assign(z.turbopack.rules,f),z}let{webpack:Z}=z;return z.webpack=($,G)=>{if(Y.cssDir??=g(G.dev?Y.distDir??"df":".next/cache",`devup-ui_${G.buildId}`),$.plugins.push(new Hz({...Y,watch:G.dev})),typeof Z==="function")return Z($,G);return $},z}export{Lz as DevupUI};
package/dist/loader.cjs CHANGED
@@ -1 +1 @@
1
- var{defineProperty:_,getOwnPropertyNames:x,getOwnPropertyDescriptor:f}=Object,w=Object.prototype.hasOwnProperty;var L=new WeakMap,y=(G)=>{var z=L.get(G),N;if(z)return z;if(z=_({},"__esModule",{value:!0}),G&&typeof G==="object"||typeof G==="function")x(G).map((H)=>!w.call(z,H)&&_(z,H,{get:()=>G[H],enumerable:!(N=f(G,H))||N.enumerable}));return L.set(G,z),z};var C=(G,z)=>{for(var N in z)_(G,N,{get:z[N],enumerable:!0,configurable:!0,set:(H)=>z[N]=()=>H})};var M={};C(M,{resetInit:()=>S,default:()=>h});module.exports=y(M);var J=require("node:fs"),O=require("node:fs/promises"),K=require("node:path"),q=require("@devup-ui/wasm"),$=!1,u=function(G){let{watch:z,package:N,cssDir:H,sheetFile:X,classMapFile:Y,fileMapFile:Z,themeFile:A,singleCss:R,theme:U,defaultClassMap:j,defaultFileMap:P,defaultSheet:T,importAliases:k={}}=this.getOptions(),Q=[];if(!$)if($=!0,z){if(J.existsSync(X))q.importSheet(JSON.parse(J.readFileSync(X,"utf-8")));if(J.existsSync(Y))q.importClassMap(JSON.parse(J.readFileSync(Y,"utf-8")));if(J.existsSync(Z))q.importFileMap(JSON.parse(J.readFileSync(Z,"utf-8")));if(J.existsSync(A))q.registerTheme(JSON.parse(J.readFileSync(A,"utf-8"))?.theme??{})}else q.importFileMap(P),q.importClassMap(j),q.importSheet(T),q.registerTheme(U);let B=this.async();try{let V=this.resourcePath,W=K.relative(K.dirname(V),H).replaceAll("\\","/"),b=K.relative(process.cwd(),V);if(!W.startsWith("./"))W=`./${W}`;let{code:v,map:E,cssFile:I,updatedBaseStyle:g}=q.codeExtract(b,G.toString(),N,W,R,!1,!0,k),D=E?JSON.parse(E):null;if(g&&z)Q.push(O.writeFile(K.join(H,"devup-ui.css"),q.getCss(null,!1),"utf-8"));if(I&&z)Q.push(O.writeFile(K.join(H,K.basename(I)),`/* ${this.resourcePath} ${Date.now()} */`),O.writeFile(X,q.exportSheet()),O.writeFile(Y,q.exportClassMap()),O.writeFile(Z,q.exportFileMap()));Promise.all(Q).catch(console.error).finally(()=>B(null,v,D))}catch(V){Promise.all(Q).catch(console.error).finally(()=>B(V))}return},h=u,S=()=>{$=!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};
package/dist/loader.d.ts CHANGED
@@ -8,6 +8,7 @@ export interface DevupUILoaderOptions {
8
8
  themeFile: string;
9
9
  watch: boolean;
10
10
  singleCss: boolean;
11
+ coordinatorPortFile?: string;
11
12
  theme?: object;
12
13
  defaultSheet: object;
13
14
  defaultClassMap: object;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAeA,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;IAElB,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;AAGD,QAAA,MAAM,aAAa,EAAE,2BAA2B,CAAC,oBAAoB,CAwFlE,CAAA;AACH,eAAe,aAAa,CAAA;AAG5B,eAAO,MAAM,SAAS,YAErB,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;AAqDD,QAAA,MAAM,aAAa,EAAE,2BAA2B,CAAC,oBAAoB,CA2HlE,CAAA;AACH,eAAe,aAAa,CAAA;AAG5B,eAAO,MAAM,SAAS,YAGrB,CAAA"}
package/dist/loader.mjs CHANGED
@@ -1 +1 @@
1
- import{existsSync as J,readFileSync as K}from"node:fs";import{writeFile as q}from"node:fs/promises";import{basename as y,dirname as C,join as A,relative as B}from"node:path";import{codeExtract as u,exportClassMap as S,exportFileMap as M,exportSheet as h,getCss as d,importClassMap as E,importFileMap as I,importSheet as L,registerTheme as R}from"@devup-ui/wasm";var X=!1,m=function(U){let{watch:N,package:j,cssDir:O,sheetFile:Q,classMapFile:V,fileMapFile:W,themeFile:Y,singleCss:P,theme:T,defaultClassMap:k,defaultFileMap:b,defaultSheet:v,importAliases:g={}}=this.getOptions(),z=[];if(!X)if(X=!0,N){if(J(Q))L(JSON.parse(K(Q,"utf-8")));if(J(V))E(JSON.parse(K(V,"utf-8")));if(J(W))I(JSON.parse(K(W,"utf-8")));if(J(Y))R(JSON.parse(K(Y,"utf-8"))?.theme??{})}else I(b),E(k),L(v),R(T);let Z=this.async();try{let G=this.resourcePath,H=B(C(G),O).replaceAll("\\","/"),D=B(process.cwd(),G);if(!H.startsWith("./"))H=`./${H}`;let{code:x,map:_,cssFile:$,updatedBaseStyle:f}=u(D,U.toString(),j,H,P,!1,!0,g),w=_?JSON.parse(_):null;if(f&&N)z.push(q(A(O,"devup-ui.css"),d(null,!1),"utf-8"));if($&&N)z.push(q(A(O,y($)),`/* ${this.resourcePath} ${Date.now()} */`),q(Q,h()),q(V,S()),q(W,M()));Promise.all(z).catch(console.error).finally(()=>Z(null,x,w))}catch(G){Promise.all(z).catch(console.error).finally(()=>Z(G))}return},a=m,p=()=>{X=!1};export{p as resetInit,a as default};
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 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAcA,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,CAiKZ"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAcA,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+JZ"}
package/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "webpack"
20
20
  ],
21
21
  "type": "module",
22
- "version": "1.0.68",
22
+ "version": "1.0.70",
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,11 +52,10 @@
52
52
  ],
53
53
  "types": "./dist/index.d.ts",
54
54
  "dependencies": {
55
- "@devup-ui/plugin-utils": "^1.0.1",
56
- "@devup-ui/webpack-plugin": "^1.0.55",
55
+ "@devup-ui/plugin-utils": "^1.0.2",
56
+ "@devup-ui/webpack-plugin": "^1.0.56",
57
57
  "next": "^16.1",
58
- "@devup-ui/wasm": "^1.0.57",
59
- "tinyglobby": "^0.2"
58
+ "@devup-ui/wasm": "^1.0.64"
60
59
  },
61
60
  "devDependencies": {
62
61
  "typescript": "^5.9",
package/dist/preload.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { WasmImportAliases } from '@devup-ui/plugin-utils';
2
- export declare function preload(excludeRegex: RegExp, libPackage: string, singleCss: boolean, cssDir: string, include: string[], importAliases: WasmImportAliases, pwd?: string, nested?: boolean): void;
3
- //# sourceMappingURL=preload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../src/preload.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAQ/D,wBAAgB,OAAO,CACrB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,EAAE,iBAAiB,EAChC,GAAG,SAAgB,EACnB,MAAM,UAAQ,QAyDf"}