@salty-css/vite 0.0.1-alpha.141 → 0.0.1-alpha.143
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/index.cjs +24 -16
- package/index.js +216 -204
- package/package.json +2 -2
package/index.cjs
CHANGED
@@ -1,29 +1,37 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
2
|
-
${
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const pt=require("esbuild"),dt=require("child_process"),c=require("path"),l=require("fs"),X=require("fs/promises"),W=require("winston");var I=typeof document<"u"?document.currentScript:null;function yt(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return e.default=t,Object.freeze(e)}const Y=yt(pt),U=t=>String.fromCharCode(t+(t>25?39:97)),gt=(t,e)=>{let s="",n;for(n=Math.abs(t);n>52;n=n/52|0)s=U(n%52)+s;return s=U(n%52)+s,s.length<e?s=s.padStart(e,"a"):s.length>e&&(s=s.slice(-e)),s},mt=(t,e)=>{let s=e.length;for(;s;)t=t*33^e.charCodeAt(--s);return t},J=(t,e=5)=>{const s=mt(5381,JSON.stringify(t))>>>0;return gt(s,e)};function V(t){return t?typeof t!="string"?V(String(t)):t.replace(/[\s.]/g,"-").replace(/[A-Z](?:(?=[^A-Z])|[A-Z]*(?=[A-Z][^A-Z]|$))/g,(e,s)=>(s>0?"-":"")+e.toLowerCase()):""}const ht=(t,e)=>{if(typeof t!="string")return{result:t};if(!e)return{result:t};const s=[];return Object.values(e).forEach(n=>{const{pattern:i,transform:o}=n;t=t.replace(i,f=>{const{value:g,css:a}=o(f);return a&&s.push(a),g})}),{result:t,additionalCss:s}},Q=t=>typeof t!="string"?{result:t}:/\{[^{}]+\}/g.test(t)?{result:t.replace(/\{([^{}]+)\}/g,(...n)=>`var(--${V(n[1].replaceAll(".","-"))})`)}:{result:t},M=(t,e,s)=>{if(!t)return"";const n=[],i=Object.entries(t).reduce((f,[g,a])=>{const r=g.trim();if(typeof a=="function"&&(a=a()),typeof a=="object"){if(!a)return f;if(r==="variants")return Object.entries(a).forEach(([u,m])=>{m&&Object.entries(m).forEach(([x,F])=>{if(!F)return;const T=`${e}.${u}-${x}`,N=M(F,T);n.push(N)})}),f;if(r==="defaultVariants")return f;if(r==="compoundVariants")return a.forEach(u=>{const{css:m,...x}=u,F=Object.entries(x).reduce((N,[y,$])=>`${N}.${y}-${$}`,e),T=M(m,F);n.push(T)}),f;if(r.startsWith("@")){const u=M(a,e),m=`${r} {
|
2
|
+
${u.replace(`
|
3
3
|
`,`
|
4
4
|
`)}
|
5
|
-
}`;return n.push(
|
5
|
+
}`;return n.push(m),f}const d=g.includes("&")?r.replace("&",e):r.startsWith(":")?`${e}${r}`:`${e} ${r}`,j=M(a,d);return n.push(j),f}const p=r.startsWith("-")?r:V(r),h=(d,j=";")=>f=`${f}${d}${j}`,w=d=>h(`${p}:${d}`);if(typeof a=="number")return w(a);if(typeof a!="string")if("toString"in a)a=a.toString();else return f;const{modifiers:b}={},C=function*(){yield Q(a),yield ht(a,b)}();for(const{result:d,additionalCss:j=[]}of C)a=d,j.forEach(u=>{const m=M(u,"");h(m,"")});return w(a)},"");return i?e?[`${e} { ${i} }`,...n].join(`
|
6
6
|
`):i:n.join(`
|
7
|
-
`)},v=(e
|
8
|
-
`)}
|
7
|
+
`)},v=(t,e=[])=>{if(!t)return"";const s=[],n={};if(Object.entries(t).forEach(([i,o])=>{if(typeof o=="object"){if(!o)return;const f=i.trim(),g=v(o,[...e,f]);s.push(g)}else n[i]=o}),Object.keys(n).length){const i=e.map(V).join("-"),o=M(n,`.${i}`);s.push(o)}return s.join(`
|
8
|
+
`)},$t=t=>Object.entries(t).reduce((e,[s,n])=>(typeof n=="object"&&(e[s]=tt(n).map(i=>`"${i}"`).join(" | ")),e),{}),tt=(t,e="",s=new Set)=>t?(Object.entries(t).forEach(([n,i])=>{const o=e?`${e}.${n}`:n;return typeof i=="object"?tt(i,o,s):s.add(e)}),[...s]):[],et=t=>{if(!t||t==="/")throw new Error("Could not find package.json file");const e=c.join(t,"package.json");return l.existsSync(e)?e:et(c.join(t,".."))},St=async t=>{const e=et(t);return await X.readFile(e,"utf-8").then(JSON.parse).catch(()=>{})},bt=async t=>{const e=await St(t);if(e)return e.type};let A;const st=async t=>{if(A)return A;const e=await bt(t);return e==="module"?A="esm":(e==="commonjs"||(typeof document>"u"?require("url").pathToFileURL(__filename).href:I&&I.tagName.toUpperCase()==="SCRIPT"&&I.src||new URL("index.cjs",document.baseURI).href).endsWith(".cjs"))&&(A="cjs"),A||"esm"},Z=W.createLogger({level:"debug",format:W.format.combine(W.format.colorize(),W.format.cli()),transports:[new W.transports.Console({})]});function nt(t){return t?typeof t!="string"?nt(String(t)):t.replace(/[\s-]/g,".").replace(/[A-Z](?:(?=[^A-Z])|[A-Z]*(?=[A-Z][^A-Z]|$))/g,(e,s)=>(s>0?".":"")+e.toLowerCase()):""}const jt={"*, *::before, *::after":{boxSizing:"border-box"},"*":{margin:0},html:{lineHeight:1.15,textSizeAdjust:"100%",WebkitFontSmoothing:"antialiased"},"img, picture, video, canvas, svg":{display:"block",maxWidth:"100%"},"p, h1, h2, h3, h4, h5, h6":{overflowWrap:"break-word"},p:{textWrap:"pretty"},"h1, h2, h3, h4, h5, h6":{textWrap:"balance"},a:{color:"currentColor"},button:{lineHeight:"1em",color:"currentColor"},"input, optgroup, select, textarea":{fontFamily:"inherit",fontSize:"100%",lineHeight:"1.15em"}},q={externalModules:[]},ot=t=>{if(q.externalModules.length>0)return q.externalModules;const e=c.join(t,"salty.config.ts"),n=l.readFileSync(e,"utf8").match(/externalModules:\s?\[(.*)\]/);if(!n)return[];const i=n[1].split(",").map(o=>o.replace(/['"`]/g,"").trim());return q.externalModules=i,i},H=t=>c.join(t,"./saltygen"),rt=["salty","css","styles","styled"],wt=(t=[])=>new RegExp(`\\.(${[...rt,...t].join("|")})\\.`),z=(t,e=[])=>wt(e).test(t),Ft=async t=>{const e=H(t),s=c.join(t,"salty.config.ts"),n=c.join(e,"salty.config.js"),i=await st(t),o=ot(t);await Y.build({entryPoints:[s],minify:!0,treeShaking:!0,bundle:!0,outfile:n,format:i,external:o});const f=Date.now(),{config:g}=await import(`${n}?t=${f}`);return g},Ct=async t=>{const e=await Ft(t),s=new Set,n=(y,$=[])=>y?Object.entries(y).flatMap(([k,S])=>{if(!S)return;if(typeof S=="object")return n(S,[...$,k]);const E=nt(k),R=V(k),_=[...$,E].join(".");s.add(`"${_}"`);const O=[...$.map(V),R].join("-"),{result:D}=Q(S);return`--${O}: ${D};`}):[],i=y=>y?Object.entries(y).flatMap(([$,k])=>{const S=n(k);return $==="base"?S.join(""):`${$} { ${S.join("")} }`}):[],o=y=>y?Object.entries(y).flatMap(([$,k])=>Object.entries(k).flatMap(([S,E])=>{const R=n(E,[$]),_=`.${$}-${S}, [data-${$}="${S}"]`,O=R.join("");return`${_} { ${O} }`})):[],f=n(e.variables),g=i(e.responsiveVariables),a=o(e.conditionalVariables),r=H(t),p=c.join(r,"css/_variables.css"),h=`:root { ${f.join("")} ${g.join("")} } ${a.join("")}`;l.writeFileSync(p,h);const w=c.join(r,"css/_global.css"),b=M(e.global,"");l.writeFileSync(w,`@layer global { ${b} }`);const P=c.join(r,"css/_reset.css"),d=e.reset==="none"?{}:typeof e.reset=="object"?e.reset:jt,j=M(d,"");l.writeFileSync(P,`@layer reset { ${j} }`);const u=c.join(r,"css/_templates.css"),m=v(e.templates),x=$t(e.templates);l.writeFileSync(u,m);const F=c.join(r,"types/css-tokens.d.ts"),N=`
|
9
9
|
// Variable types
|
10
10
|
type VariableTokens = ${[...s].join("|")};
|
11
11
|
type PropertyValueToken = \`{\${VariableTokens}}\`;
|
12
12
|
|
13
13
|
// Template types
|
14
14
|
type TemplateTokens = {
|
15
|
-
${Object.entries(
|
15
|
+
${Object.entries(x).map(([y,$])=>`${y}?: ${$}`).join(`
|
16
16
|
`)}
|
17
17
|
}
|
18
|
-
`;
|
19
|
-
`),
|
20
|
-
`);let
|
18
|
+
`;l.writeFileSync(F,N)},G=t=>t.replace(/styled\(([^"'`{,]+),/g,(e,s)=>{if(/^['"`]/.test(s))return e;const i=new RegExp(`import[^;]*${s}[,\\s{][^;]*from\\s?([^{};]+);`);if(!i.test(t))return e;const f=i.exec(t);if(f){const g=f.at(1);if(rt.some(r=>g==null?void 0:g.includes(r)))return e}return"styled('div',"}),L=async(t,e,s)=>{const n=J(e),i=c.join(s,"./temp");l.existsSync(i)||l.mkdirSync(i);const o=c.parse(e);let f=l.readFileSync(e,"utf8");f=G(f);const g=c.join(s,"js",n+".js"),a=ot(t),r=await st(t);await Y.build({stdin:{contents:f,sourcefile:o.base,resolveDir:o.dir,loader:"tsx"},minify:!1,treeShaking:!0,bundle:!0,outfile:g,format:r,target:["node20"],keepNames:!0,external:a,packages:"external",plugins:[{name:"test",setup:w=>{w.onLoad({filter:/.*\.css|salty|styles|styled\.ts/},b=>{const P=l.readFileSync(b.path,"utf8");return{contents:G(P),loader:"ts"}})}}]});const p=Date.now();return await import(`${g}?t=${p}`)},B=async t=>{const e=H(t),s=c.join(e,"salty.config.js"),n=Date.now(),{config:i}=await import(`${s}?t=${n}`);return i},it=()=>{try{return process.env.NODE_ENV==="production"}catch{return!1}},xt=async(t,e=it())=>{try{const s=Date.now();e?Z.info("Generating CSS in production mode! 🔥"):Z.info("Generating CSS in development mode! 🚀");const n=[],i=[],o=H(t),f=c.join(o,"index.css");(()=>{l.existsSync(o)&&dt.execSync("rm -rf "+o),l.mkdirSync(o),l.mkdirSync(c.join(o,"css")),l.mkdirSync(c.join(o,"types"))})(),await Ct(t);const a=await B(t);async function r(u,m){const x=["node_modules","saltygen"],F=l.statSync(u);if(F.isDirectory()){const T=l.readdirSync(u);if(x.some(y=>u.includes(y)))return;await Promise.all(T.map(y=>r(c.join(u,y),c.join(m,y))))}else if(F.isFile()&&z(u)){const N=await L(t,u,o),y=[];Object.entries(N).forEach(([_,O])=>{if(O.isKeyframes&&O.css){const K=`a_${O.animationName}.css`,ft=`css/${K}`,ut=c.join(o,ft);n.push(K),l.writeFileSync(ut,O.css);return}if(!O.generator)return;const D=O.generator._withBuildContext({name:_,config:a,prod:e});i[D.priority]||(i[D.priority]=[]),i[D.priority].push(D.cssFileName),y.push(D.cssFileName);const at=`css/${D.cssFileName}`,lt=c.join(o,at);l.writeFileSync(lt,D.css)});const $=y.map(_=>`@import url('./${_}');`).join(`
|
19
|
+
`),k=J(u,6),S=c.parse(u),E=V(S.name),R=c.join(o,`css/f_${E}-${k}.css`);l.writeFileSync(R,$)}}await r(t,o);const p=n.map(u=>`@import url('./css/${u}');`).join(`
|
20
|
+
`);let P=`@layer reset, global, l0, l1, l2, l3, l4, l5, l6, l7, l8;
|
21
21
|
|
22
|
-
${["_variables.css","_reset.css","_global.css","_templates.css"].filter(
|
22
|
+
${["_variables.css","_reset.css","_global.css","_templates.css"].filter(u=>{try{return l.readFileSync(c.join(o,"css",u),"utf8").length>0}catch{return!1}}).map(u=>`@import url('./css/${u}');`).join(`
|
23
23
|
`)}
|
24
|
-
${
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
`
|
29
|
-
|
24
|
+
${p}`;if(a.importStrategy!=="component"){const u=i.reduce((m,x,F)=>{const T=x.reduce((k,S)=>{const E=c.join(o,"css",S),R=l.readFileSync(E,"utf8"),_=J(E,6);return`${k}
|
25
|
+
/*start:${_}*/
|
26
|
+
${R}
|
27
|
+
/*end:${_}*/
|
28
|
+
`},""),N=`l_${F}.css`,y=c.join(o,"css",N),$=`@layer l${F} { ${T}
|
29
|
+
}`;return l.writeFileSync(y,$),`${m}
|
30
|
+
@import url('./css/${N}');`},"");P+=u}l.writeFileSync(f,P);const d=Date.now()-s,j=d<200?"🔥":d<500?"🚀":d<1e3?"🎉":d<2e3?"🚗":d<5e3?"🤔":"🥴";Z.info(`Generated CSS in ${d}ms! ${j}`)}catch(s){console.error(s)}},kt=async(t,e)=>{try{const s=c.join(t,"./saltygen"),n=c.join(s,"index.css");if(z(e)){const o=[],f=await B(t),g=await L(t,e,s);Object.entries(g).forEach(([r,p])=>{if(p.isKeyframes&&p.css){const C=`css/${`a_${p.animationName}.css`}`,d=c.join(s,C);l.writeFileSync(d,p.css);return}if(!p.generator)return;const h=p.generator._withBuildContext({name:r,config:f}),w=`css/${h.cssFileName}`,b=c.join(s,w);l.writeFileSync(b,h.css),o[h.priority]||(o[h.priority]=[]),o[h.priority].push(h.cssFileName)});const a=l.readFileSync(n,"utf8").split(`
|
31
|
+
`);f.importStrategy!=="component"&&o.forEach((r,p)=>{const h=`l_${p}.css`,w=c.join(s,"css",h);let b=l.readFileSync(w,"utf8");r.forEach(P=>{const C=c.join(s,"css",P),d=J(C,6),j=b.includes(d);if(console.log({layer:p,filepath:C,filepathHash:d,found:j}),!j){const u=l.readFileSync(C,"utf8"),m=J(C,6),x=`/*start:${m}*/
|
32
|
+
${u}
|
33
|
+
/*end:${m}*/
|
34
|
+
`;b=`${b.replace(/\}$/,"")}
|
35
|
+
${x}
|
36
|
+
}`}}),l.writeFileSync(w,b)})}}catch(s){console.error(s)}},Pt=async(t,e,s=it())=>{try{const n=c.join(t,"./saltygen");if(z(e)){const o=l.readFileSync(e,"utf8");o.replace(/^(?!export\s)const\s.*/gm,p=>`export ${p}`)!==o&&await X.writeFile(e,o);const g=await B(t),a=await L(t,e,n);let r=o;if(Object.entries(a).forEach(([p,h])=>{var k;if(h.isKeyframes||!h.generator)return;const w=h.generator._withBuildContext({name:p,config:g,prod:s}),b=new RegExp(`\\s${p}[=\\s]+[^()]+styled\\(([^,]+),`,"g").exec(o);if(!b)return console.error("Could not find the original declaration");const P=(k=b.at(1))==null?void 0:k.trim(),C=new RegExp(`\\s${p}[=\\s]+styled\\(`,"g").exec(r);if(!C)return console.error("Could not find the original declaration");const{index:d}=C;let j=!1;const u=setTimeout(()=>j=!0,5e3);let m=0,x=!1,F=0;for(;!x&&!j;){const S=r[d+m];S==="("&&F++,S===")"&&F--,F===0&&S===")"&&(x=!0),m>r.length&&(j=!0),m++}if(!j)clearTimeout(u);else throw new Error("Failed to find the end of the styled call and timed out");const T=d+m,N=r.slice(d,T),y=r,$=` ${p} = styled(${P}, "${w.classNames}", ${JSON.stringify(w.props)});`;r=r.replace(N,$),y===r&&console.error("Minimize file failed to change content",{name:p,tagName:P})}),g.importStrategy==="component"){const p=J(e,6),h=c.parse(e);r=`import '../../saltygen/css/${`f_${V(h.name)}-${p}.css`}';
|
37
|
+
${r}`}return r=r.replace("{ styled }","{ styledClient as styled }"),r=r.replace("@salty-css/react/styled","@salty-css/react/styled-client"),r}}catch(n){console.error("Error in minimizeFile:",n)}},ct=t=>({name:"stylegen",buildStart:()=>xt(t),load:async e=>{if(z(e))return await Pt(t,e)},handleHotUpdate:async({file:e,server:s})=>{e.includes("salty.config")&&await s.restart()},watchChange:{handler:async e=>{z(e)&&await kt(t,e)}}});exports.default=ct;exports.saltyPlugin=ct;
|
package/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import * as v from "esbuild";
|
2
2
|
import { execSync as dt } from "child_process";
|
3
|
-
import { join as
|
4
|
-
import { existsSync as
|
3
|
+
import { join as a, parse as K } from "path";
|
4
|
+
import { existsSync as G, mkdirSync as H, statSync as gt, readdirSync as yt, writeFileSync as P, readFileSync as V } from "fs";
|
5
5
|
import { readFile as mt, writeFile as ht } from "fs/promises";
|
6
|
-
import { createLogger as $t, format as
|
6
|
+
import { createLogger as $t, format as I, transports as bt } from "winston";
|
7
7
|
const Y = (t) => String.fromCharCode(t + (t > 25 ? 39 : 97)), St = (t, e) => {
|
8
8
|
let s = "", n;
|
9
9
|
for (n = Math.abs(t); n > 52; n = n / 52 | 0) s = Y(n % 52) + s;
|
@@ -12,12 +12,12 @@ const Y = (t) => String.fromCharCode(t + (t > 25 ? 39 : 97)), St = (t, e) => {
|
|
12
12
|
let s = e.length;
|
13
13
|
for (; s; ) t = t * 33 ^ e.charCodeAt(--s);
|
14
14
|
return t;
|
15
|
-
},
|
15
|
+
}, W = (t, e = 5) => {
|
16
16
|
const s = wt(5381, JSON.stringify(t)) >>> 0;
|
17
17
|
return St(s, e);
|
18
18
|
};
|
19
|
-
function
|
20
|
-
return t ? typeof t != "string" ?
|
19
|
+
function A(t) {
|
20
|
+
return t ? typeof t != "string" ? A(String(t)) : t.replace(/[\s.]/g, "-").replace(/[A-Z](?:(?=[^A-Z])|[A-Z]*(?=[A-Z][^A-Z]|$))/g, (e, s) => (s > 0 ? "-" : "") + e.toLowerCase()) : "";
|
21
21
|
}
|
22
22
|
const jt = (t, e) => {
|
23
23
|
if (typeof t != "string") return { result: t };
|
@@ -25,57 +25,57 @@ const jt = (t, e) => {
|
|
25
25
|
const s = [];
|
26
26
|
return Object.values(e).forEach((n) => {
|
27
27
|
const { pattern: i, transform: o } = n;
|
28
|
-
t = t.replace(i, (
|
29
|
-
const { value:
|
30
|
-
return c && s.push(c),
|
28
|
+
t = t.replace(i, (l) => {
|
29
|
+
const { value: g, css: c } = o(l);
|
30
|
+
return c && s.push(c), g;
|
31
31
|
});
|
32
32
|
}), { result: t, additionalCss: s };
|
33
|
-
}, tt = (t) => typeof t != "string" ? { result: t } : /\{[^{}]+\}/g.test(t) ? { result: t.replace(/\{([^{}]+)\}/g, (...n) => `var(--${
|
33
|
+
}, tt = (t) => typeof t != "string" ? { result: t } : /\{[^{}]+\}/g.test(t) ? { result: t.replace(/\{([^{}]+)\}/g, (...n) => `var(--${A(n[1].replaceAll(".", "-"))})`) } : { result: t }, M = (t, e, s) => {
|
34
34
|
if (!t) return "";
|
35
|
-
const n = [], i = Object.entries(t).reduce((
|
36
|
-
const r =
|
35
|
+
const n = [], i = Object.entries(t).reduce((l, [g, c]) => {
|
36
|
+
const r = g.trim();
|
37
37
|
if (typeof c == "function" && (c = c()), typeof c == "object") {
|
38
|
-
if (!c) return
|
38
|
+
if (!c) return l;
|
39
39
|
if (r === "variants")
|
40
|
-
return Object.entries(c).forEach(([
|
41
|
-
|
42
|
-
if (!
|
43
|
-
const T = `${e}.${
|
44
|
-
n.push(
|
40
|
+
return Object.entries(c).forEach(([f, y]) => {
|
41
|
+
y && Object.entries(y).forEach(([C, j]) => {
|
42
|
+
if (!j) return;
|
43
|
+
const T = `${e}.${f}-${C}`, N = M(j, T);
|
44
|
+
n.push(N);
|
45
45
|
});
|
46
|
-
}),
|
46
|
+
}), l;
|
47
47
|
if (r === "defaultVariants")
|
48
|
-
return
|
48
|
+
return l;
|
49
49
|
if (r === "compoundVariants")
|
50
|
-
return c.forEach((
|
51
|
-
const { css:
|
50
|
+
return c.forEach((f) => {
|
51
|
+
const { css: y, ...C } = f, j = Object.entries(C).reduce((N, [d, h]) => `${N}.${d}-${h}`, e), T = M(y, j);
|
52
52
|
n.push(T);
|
53
|
-
}),
|
53
|
+
}), l;
|
54
54
|
if (r.startsWith("@")) {
|
55
|
-
const
|
56
|
-
${
|
55
|
+
const f = M(c, e), y = `${r} {
|
56
|
+
${f.replace(`
|
57
57
|
`, `
|
58
58
|
`)}
|
59
59
|
}`;
|
60
|
-
return n.push(
|
60
|
+
return n.push(y), l;
|
61
61
|
}
|
62
|
-
const
|
63
|
-
return n.push(
|
62
|
+
const u = g.includes("&") ? r.replace("&", e) : r.startsWith(":") ? `${e}${r}` : `${e} ${r}`, S = M(c, u);
|
63
|
+
return n.push(S), l;
|
64
64
|
}
|
65
|
-
const
|
66
|
-
if (typeof c == "number") return
|
65
|
+
const p = r.startsWith("-") ? r : A(r), m = (u, S = ";") => l = `${l}${u}${S}`, w = (u) => m(`${p}:${u}`);
|
66
|
+
if (typeof c == "number") return w(c);
|
67
67
|
if (typeof c != "string")
|
68
68
|
if ("toString" in c) c = c.toString();
|
69
|
-
else return
|
70
|
-
const { modifiers:
|
71
|
-
yield tt(c), yield jt(c,
|
69
|
+
else return l;
|
70
|
+
const { modifiers: b } = {}, F = function* () {
|
71
|
+
yield tt(c), yield jt(c, b);
|
72
72
|
}();
|
73
|
-
for (const { result:
|
74
|
-
c =
|
75
|
-
const
|
76
|
-
|
73
|
+
for (const { result: u, additionalCss: S = [] } of F)
|
74
|
+
c = u, S.forEach((f) => {
|
75
|
+
const y = M(f, "");
|
76
|
+
m(y, "");
|
77
77
|
});
|
78
|
-
return
|
78
|
+
return w(c);
|
79
79
|
}, "");
|
80
80
|
return i ? e ? [`${e} { ${i} }`, ...n].join(`
|
81
81
|
`) : i : n.join(`
|
@@ -86,40 +86,40 @@ const jt = (t, e) => {
|
|
86
86
|
if (Object.entries(t).forEach(([i, o]) => {
|
87
87
|
if (typeof o == "object") {
|
88
88
|
if (!o) return;
|
89
|
-
const
|
90
|
-
s.push(
|
89
|
+
const l = i.trim(), g = et(o, [...e, l]);
|
90
|
+
s.push(g);
|
91
91
|
} else
|
92
92
|
n[i] = o;
|
93
93
|
}), Object.keys(n).length) {
|
94
|
-
const i = e.map(
|
94
|
+
const i = e.map(A).join("-"), o = M(n, `.${i}`);
|
95
95
|
s.push(o);
|
96
96
|
}
|
97
97
|
return s.join(`
|
98
98
|
`);
|
99
|
-
},
|
99
|
+
}, Ft = (t) => Object.entries(t).reduce((e, [s, n]) => (typeof n == "object" && (e[s] = st(n).map((i) => `"${i}"`).join(" | ")), e), {}), st = (t, e = "", s = /* @__PURE__ */ new Set()) => t ? (Object.entries(t).forEach(([n, i]) => {
|
100
100
|
const o = e ? `${e}.${n}` : n;
|
101
101
|
return typeof i == "object" ? st(i, o, s) : s.add(e);
|
102
102
|
}), [...s]) : [], nt = (t) => {
|
103
103
|
if (!t || t === "/") throw new Error("Could not find package.json file");
|
104
|
-
const e =
|
105
|
-
return
|
104
|
+
const e = a(t, "package.json");
|
105
|
+
return G(e) ? e : nt(a(t, ".."));
|
106
106
|
}, Ct = async (t) => {
|
107
107
|
const e = nt(t);
|
108
108
|
return await mt(e, "utf-8").then(JSON.parse).catch(() => {
|
109
109
|
});
|
110
|
-
},
|
110
|
+
}, xt = async (t) => {
|
111
111
|
const e = await Ct(t);
|
112
112
|
if (e)
|
113
113
|
return e.type;
|
114
114
|
};
|
115
|
-
let
|
115
|
+
let J;
|
116
116
|
const ot = async (t) => {
|
117
|
-
if (
|
118
|
-
const e = await
|
119
|
-
return e === "module" ?
|
120
|
-
},
|
117
|
+
if (J) return J;
|
118
|
+
const e = await xt(t);
|
119
|
+
return e === "module" ? J = "esm" : (e === "commonjs" || import.meta.url.endsWith(".cjs")) && (J = "cjs"), J || "esm";
|
120
|
+
}, L = $t({
|
121
121
|
level: "debug",
|
122
|
-
format:
|
122
|
+
format: I.combine(I.colorize(), I.cli()),
|
123
123
|
transports: [new bt.Console({})]
|
124
124
|
});
|
125
125
|
function rt(t) {
|
@@ -171,16 +171,16 @@ const kt = {
|
|
171
171
|
fontSize: "100%",
|
172
172
|
lineHeight: "1.15em"
|
173
173
|
}
|
174
|
-
},
|
174
|
+
}, B = {
|
175
175
|
externalModules: []
|
176
176
|
}, it = (t) => {
|
177
|
-
if (
|
178
|
-
const e =
|
177
|
+
if (B.externalModules.length > 0) return B.externalModules;
|
178
|
+
const e = a(t, "salty.config.ts"), n = V(e, "utf8").match(/externalModules:\s?\[(.*)\]/);
|
179
179
|
if (!n) return [];
|
180
180
|
const i = n[1].split(",").map((o) => o.replace(/['"`]/g, "").trim());
|
181
|
-
return
|
182
|
-
}, Z = (t) =>
|
183
|
-
const e = Z(t), s =
|
181
|
+
return B.externalModules = i, i;
|
182
|
+
}, Z = (t) => a(t, "./saltygen"), ct = ["salty", "css", "styles", "styled"], Nt = (t = []) => new RegExp(`\\.(${[...ct, ...t].join("|")})\\.`), z = (t, e = []) => Nt(e).test(t), Pt = async (t) => {
|
183
|
+
const e = Z(t), s = a(t, "salty.config.ts"), n = a(e, "salty.config.js"), i = await ot(t), o = it(t);
|
184
184
|
await v.build({
|
185
185
|
entryPoints: [s],
|
186
186
|
minify: !0,
|
@@ -190,64 +190,62 @@ const kt = {
|
|
190
190
|
format: i,
|
191
191
|
external: o
|
192
192
|
});
|
193
|
-
const
|
194
|
-
return
|
195
|
-
},
|
196
|
-
const e = await
|
193
|
+
const l = Date.now(), { config: g } = await import(`${n}?t=${l}`);
|
194
|
+
return g;
|
195
|
+
}, Tt = async (t) => {
|
196
|
+
const e = await Pt(t), s = /* @__PURE__ */ new Set(), n = (d, h = []) => d ? Object.entries(d).flatMap(([x, $]) => {
|
197
197
|
if (!$) return;
|
198
|
-
if (typeof $ == "object") return n($, [...
|
199
|
-
const
|
200
|
-
s.add(`"${
|
201
|
-
const
|
202
|
-
return `--${
|
203
|
-
}) : [], i = (
|
204
|
-
const $ = n(
|
205
|
-
return
|
206
|
-
}) : [], o = (
|
207
|
-
const
|
208
|
-
return `${
|
209
|
-
})) : [],
|
210
|
-
|
211
|
-
const
|
212
|
-
|
213
|
-
const
|
214
|
-
k
|
215
|
-
const
|
216
|
-
|
217
|
-
const
|
198
|
+
if (typeof $ == "object") return n($, [...h, x]);
|
199
|
+
const _ = rt(x), R = A(x), E = [...h, _].join(".");
|
200
|
+
s.add(`"${E}"`);
|
201
|
+
const D = [...h.map(A), R].join("-"), { result: O } = tt($);
|
202
|
+
return `--${D}: ${O};`;
|
203
|
+
}) : [], i = (d) => d ? Object.entries(d).flatMap(([h, x]) => {
|
204
|
+
const $ = n(x);
|
205
|
+
return h === "base" ? $.join("") : `${h} { ${$.join("")} }`;
|
206
|
+
}) : [], o = (d) => d ? Object.entries(d).flatMap(([h, x]) => Object.entries(x).flatMap(([$, _]) => {
|
207
|
+
const R = n(_, [h]), E = `.${h}-${$}, [data-${h}="${$}"]`, D = R.join("");
|
208
|
+
return `${E} { ${D} }`;
|
209
|
+
})) : [], l = n(e.variables), g = i(e.responsiveVariables), c = o(e.conditionalVariables), r = Z(t), p = a(r, "css/_variables.css"), m = `:root { ${l.join("")} ${g.join("")} } ${c.join("")}`;
|
210
|
+
P(p, m);
|
211
|
+
const w = a(r, "css/_global.css"), b = M(e.global, "");
|
212
|
+
P(w, `@layer global { ${b} }`);
|
213
|
+
const k = a(r, "css/_reset.css"), u = e.reset === "none" ? {} : typeof e.reset == "object" ? e.reset : kt, S = M(u, "");
|
214
|
+
P(k, `@layer reset { ${S} }`);
|
215
|
+
const f = a(r, "css/_templates.css"), y = et(e.templates), C = Ft(e.templates);
|
216
|
+
P(f, y);
|
217
|
+
const j = a(r, "types/css-tokens.d.ts"), N = `
|
218
218
|
// Variable types
|
219
219
|
type VariableTokens = ${[...s].join("|")};
|
220
220
|
type PropertyValueToken = \`{\${VariableTokens}}\`;
|
221
221
|
|
222
222
|
// Template types
|
223
223
|
type TemplateTokens = {
|
224
|
-
${Object.entries(
|
224
|
+
${Object.entries(C).map(([d, h]) => `${d}?: ${h}`).join(`
|
225
225
|
`)}
|
226
226
|
}
|
227
227
|
`;
|
228
|
-
|
228
|
+
P(j, N);
|
229
229
|
}, Q = (t) => t.replace(/styled\(([^"'`{,]+),/g, (e, s) => {
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
if (c && console.log("Salty import for", s, `"${a.at(0)}"`), c) return e;
|
230
|
+
if (/^['"`]/.test(s)) return e;
|
231
|
+
const i = new RegExp(`import[^;]*${s}[,\\s{][^;]*from\\s?([^{};]+);`);
|
232
|
+
if (!i.test(t)) return e;
|
233
|
+
const l = i.exec(t);
|
234
|
+
if (l) {
|
235
|
+
const g = l.at(1);
|
236
|
+
if (ct.some((r) => g == null ? void 0 : g.includes(r))) return e;
|
238
237
|
}
|
239
|
-
return
|
238
|
+
return "styled('div',";
|
240
239
|
}), q = async (t, e, s) => {
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
a =
|
247
|
-
const u = f(s, "js", n + ".js"), c = it(t), r = await ot(t);
|
240
|
+
const n = W(e), i = a(s, "./temp");
|
241
|
+
G(i) || H(i);
|
242
|
+
const o = K(e);
|
243
|
+
let l = V(e, "utf8");
|
244
|
+
l = Q(l);
|
245
|
+
const g = a(s, "js", n + ".js"), c = it(t), r = await ot(t);
|
248
246
|
await v.build({
|
249
247
|
stdin: {
|
250
|
-
contents:
|
248
|
+
contents: l,
|
251
249
|
sourcefile: o.base,
|
252
250
|
resolveDir: o.dir,
|
253
251
|
loader: "tsx"
|
@@ -255,7 +253,7 @@ const kt = {
|
|
255
253
|
minify: !1,
|
256
254
|
treeShaking: !0,
|
257
255
|
bundle: !0,
|
258
|
-
outfile:
|
256
|
+
outfile: g,
|
259
257
|
format: r,
|
260
258
|
target: ["node20"],
|
261
259
|
keepNames: !0,
|
@@ -264,23 +262,19 @@ const kt = {
|
|
264
262
|
plugins: [
|
265
263
|
{
|
266
264
|
name: "test",
|
267
|
-
setup: (
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
args: h
|
272
|
-
});
|
273
|
-
const x = A(h.path, "utf8");
|
274
|
-
return { contents: Q(x), loader: "ts" };
|
265
|
+
setup: (w) => {
|
266
|
+
w.onLoad({ filter: /.*\.css|salty|styles|styled\.ts/ }, (b) => {
|
267
|
+
const k = V(b.path, "utf8");
|
268
|
+
return { contents: Q(k), loader: "ts" };
|
275
269
|
});
|
276
270
|
}
|
277
271
|
}
|
278
272
|
]
|
279
273
|
});
|
280
|
-
const
|
281
|
-
return await import(`${
|
274
|
+
const p = Date.now();
|
275
|
+
return await import(`${g}?t=${p}`);
|
282
276
|
}, U = async (t) => {
|
283
|
-
const e = Z(t), s =
|
277
|
+
const e = Z(t), s = a(e, "salty.config.js"), n = Date.now(), { config: i } = await import(`${s}?t=${n}`);
|
284
278
|
return i;
|
285
279
|
}, at = () => {
|
286
280
|
try {
|
@@ -288,136 +282,154 @@ const kt = {
|
|
288
282
|
} catch {
|
289
283
|
return !1;
|
290
284
|
}
|
291
|
-
},
|
285
|
+
}, Et = async (t, e = at()) => {
|
292
286
|
try {
|
293
287
|
const s = Date.now();
|
294
|
-
e ?
|
295
|
-
const n = [], i = [], o = Z(t),
|
288
|
+
e ? L.info("Generating CSS in production mode! 🔥") : L.info("Generating CSS in development mode! 🚀");
|
289
|
+
const n = [], i = [], o = Z(t), l = a(o, "index.css");
|
296
290
|
(() => {
|
297
|
-
|
298
|
-
})(), await
|
291
|
+
G(o) && dt("rm -rf " + o), H(o), H(a(o, "css")), H(a(o, "types"));
|
292
|
+
})(), await Tt(t);
|
299
293
|
const c = await U(t);
|
300
|
-
async function r(
|
301
|
-
const
|
302
|
-
if (
|
303
|
-
const T = yt(
|
304
|
-
if (
|
305
|
-
await Promise.all(T.map((
|
306
|
-
} else if (
|
307
|
-
const
|
308
|
-
Object.entries(
|
309
|
-
if (
|
310
|
-
const X = `a_${
|
311
|
-
n.push(X),
|
294
|
+
async function r(f, y) {
|
295
|
+
const C = ["node_modules", "saltygen"], j = gt(f);
|
296
|
+
if (j.isDirectory()) {
|
297
|
+
const T = yt(f);
|
298
|
+
if (C.some((d) => f.includes(d))) return;
|
299
|
+
await Promise.all(T.map((d) => r(a(f, d), a(y, d))));
|
300
|
+
} else if (j.isFile() && z(f)) {
|
301
|
+
const N = await q(t, f, o), d = [];
|
302
|
+
Object.entries(N).forEach(([E, D]) => {
|
303
|
+
if (D.isKeyframes && D.css) {
|
304
|
+
const X = `a_${D.animationName}.css`, pt = `css/${X}`, ut = a(o, pt);
|
305
|
+
n.push(X), P(ut, D.css);
|
312
306
|
return;
|
313
307
|
}
|
314
|
-
if (!
|
315
|
-
const
|
316
|
-
name:
|
308
|
+
if (!D.generator) return;
|
309
|
+
const O = D.generator._withBuildContext({
|
310
|
+
name: E,
|
317
311
|
config: c,
|
318
312
|
prod: e
|
319
313
|
});
|
320
|
-
i[
|
321
|
-
const lt = `css/${
|
322
|
-
|
314
|
+
i[O.priority] || (i[O.priority] = []), i[O.priority].push(O.cssFileName), d.push(O.cssFileName);
|
315
|
+
const lt = `css/${O.cssFileName}`, ft = a(o, lt);
|
316
|
+
P(ft, O.css);
|
323
317
|
});
|
324
|
-
const
|
325
|
-
`),
|
326
|
-
|
318
|
+
const h = d.map((E) => `@import url('./${E}');`).join(`
|
319
|
+
`), x = W(f, 6), $ = K(f), _ = A($.name), R = a(o, `css/f_${_}-${x}.css`);
|
320
|
+
P(R, h);
|
327
321
|
}
|
328
322
|
}
|
329
323
|
await r(t, o);
|
330
|
-
const
|
324
|
+
const p = n.map((f) => `@import url('./css/${f}');`).join(`
|
331
325
|
`);
|
332
|
-
let
|
326
|
+
let k = `@layer reset, global, l0, l1, l2, l3, l4, l5, l6, l7, l8;
|
333
327
|
|
334
|
-
${["_variables.css", "_reset.css", "_global.css", "_templates.css"].filter((
|
328
|
+
${["_variables.css", "_reset.css", "_global.css", "_templates.css"].filter((f) => {
|
335
329
|
try {
|
336
|
-
return
|
330
|
+
return V(a(o, "css", f), "utf8").length > 0;
|
337
331
|
} catch {
|
338
332
|
return !1;
|
339
333
|
}
|
340
|
-
}).map((
|
334
|
+
}).map((f) => `@import url('./css/${f}');`).join(`
|
341
335
|
`)}
|
342
|
-
${
|
336
|
+
${p}`;
|
343
337
|
if (c.importStrategy !== "component") {
|
344
|
-
const
|
345
|
-
const T =
|
346
|
-
const
|
347
|
-
return `${
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
338
|
+
const f = i.reduce((y, C, j) => {
|
339
|
+
const T = C.reduce((x, $) => {
|
340
|
+
const _ = a(o, "css", $), R = V(_, "utf8"), E = W(_, 6);
|
341
|
+
return `${x}
|
342
|
+
/*start:${E}*/
|
343
|
+
${R}
|
344
|
+
/*end:${E}*/
|
345
|
+
`;
|
346
|
+
}, ""), N = `l_${j}.css`, d = a(o, "css", N), h = `@layer l${j} { ${T}
|
347
|
+
}`;
|
348
|
+
return P(d, h), `${y}
|
349
|
+
@import url('./css/${N}');`;
|
352
350
|
}, "");
|
353
|
-
|
351
|
+
k += f;
|
354
352
|
}
|
355
|
-
|
356
|
-
const
|
357
|
-
|
353
|
+
P(l, k);
|
354
|
+
const u = Date.now() - s, S = u < 200 ? "🔥" : u < 500 ? "🚀" : u < 1e3 ? "🎉" : u < 2e3 ? "🚗" : u < 5e3 ? "🤔" : "🥴";
|
355
|
+
L.info(`Generated CSS in ${u}ms! ${S}`);
|
358
356
|
} catch (s) {
|
359
357
|
console.error(s);
|
360
358
|
}
|
361
|
-
},
|
359
|
+
}, Dt = async (t, e) => {
|
362
360
|
try {
|
363
|
-
const s =
|
364
|
-
if (
|
365
|
-
const
|
366
|
-
Object.entries(
|
367
|
-
if (
|
368
|
-
const
|
369
|
-
|
361
|
+
const s = a(t, "./saltygen"), n = a(s, "index.css");
|
362
|
+
if (z(e)) {
|
363
|
+
const o = [], l = await U(t), g = await q(t, e, s);
|
364
|
+
Object.entries(g).forEach(([r, p]) => {
|
365
|
+
if (p.isKeyframes && p.css) {
|
366
|
+
const F = `css/${`a_${p.animationName}.css`}`, u = a(s, F);
|
367
|
+
P(u, p.css);
|
370
368
|
return;
|
371
369
|
}
|
372
|
-
if (!
|
373
|
-
const
|
374
|
-
name:
|
375
|
-
config:
|
376
|
-
}),
|
377
|
-
|
370
|
+
if (!p.generator) return;
|
371
|
+
const m = p.generator._withBuildContext({
|
372
|
+
name: r,
|
373
|
+
config: l
|
374
|
+
}), w = `css/${m.cssFileName}`, b = a(s, w);
|
375
|
+
P(b, m.css), o[m.priority] || (o[m.priority] = []), o[m.priority].push(m.cssFileName);
|
378
376
|
});
|
379
|
-
const c =
|
380
|
-
`), r = s.map((S) => `@import url('../saltygen/css/${S}');`), j = [.../* @__PURE__ */ new Set([...c, ...r])].join(`
|
377
|
+
const c = V(n, "utf8").split(`
|
381
378
|
`);
|
382
|
-
|
379
|
+
l.importStrategy !== "component" && o.forEach((r, p) => {
|
380
|
+
const m = `l_${p}.css`, w = a(s, "css", m);
|
381
|
+
let b = V(w, "utf8");
|
382
|
+
r.forEach((k) => {
|
383
|
+
const F = a(s, "css", k), u = W(F, 6), S = b.includes(u);
|
384
|
+
if (console.log({ layer: p, filepath: F, filepathHash: u, found: S }), !S) {
|
385
|
+
const f = V(F, "utf8"), y = W(F, 6), C = `/*start:${y}*/
|
386
|
+
${f}
|
387
|
+
/*end:${y}*/
|
388
|
+
`;
|
389
|
+
b = `${b.replace(/\}$/, "")}
|
390
|
+
${C}
|
391
|
+
}`;
|
392
|
+
}
|
393
|
+
}), P(w, b);
|
394
|
+
});
|
383
395
|
}
|
384
396
|
} catch (s) {
|
385
397
|
console.error(s);
|
386
398
|
}
|
387
399
|
}, Ot = async (t, e, s = at()) => {
|
388
400
|
try {
|
389
|
-
const n =
|
390
|
-
if (
|
391
|
-
const o =
|
392
|
-
o.replace(/^(?!export\s)const\s.*/gm, (
|
393
|
-
const
|
401
|
+
const n = a(t, "./saltygen");
|
402
|
+
if (z(e)) {
|
403
|
+
const o = V(e, "utf8");
|
404
|
+
o.replace(/^(?!export\s)const\s.*/gm, (p) => `export ${p}`) !== o && await ht(e, o);
|
405
|
+
const g = await U(t), c = await q(t, e, n);
|
394
406
|
let r = o;
|
395
|
-
if (Object.entries(c).forEach(([
|
396
|
-
var
|
397
|
-
if (
|
398
|
-
const
|
399
|
-
name:
|
400
|
-
config:
|
407
|
+
if (Object.entries(c).forEach(([p, m]) => {
|
408
|
+
var x;
|
409
|
+
if (m.isKeyframes || !m.generator) return;
|
410
|
+
const w = m.generator._withBuildContext({
|
411
|
+
name: p,
|
412
|
+
config: g,
|
401
413
|
prod: s
|
402
|
-
}),
|
403
|
-
if (!
|
404
|
-
const
|
405
|
-
if (!
|
406
|
-
const { index:
|
407
|
-
let
|
408
|
-
const
|
409
|
-
let
|
410
|
-
for (; !
|
411
|
-
const $ = r[
|
412
|
-
$ === "(" &&
|
414
|
+
}), b = new RegExp(`\\s${p}[=\\s]+[^()]+styled\\(([^,]+),`, "g").exec(o);
|
415
|
+
if (!b) return console.error("Could not find the original declaration");
|
416
|
+
const k = (x = b.at(1)) == null ? void 0 : x.trim(), F = new RegExp(`\\s${p}[=\\s]+styled\\(`, "g").exec(r);
|
417
|
+
if (!F) return console.error("Could not find the original declaration");
|
418
|
+
const { index: u } = F;
|
419
|
+
let S = !1;
|
420
|
+
const f = setTimeout(() => S = !0, 5e3);
|
421
|
+
let y = 0, C = !1, j = 0;
|
422
|
+
for (; !C && !S; ) {
|
423
|
+
const $ = r[u + y];
|
424
|
+
$ === "(" && j++, $ === ")" && j--, j === 0 && $ === ")" && (C = !0), y > r.length && (S = !0), y++;
|
413
425
|
}
|
414
|
-
if (!
|
426
|
+
if (!S) clearTimeout(f);
|
415
427
|
else throw new Error("Failed to find the end of the styled call and timed out");
|
416
|
-
const T =
|
417
|
-
r = r.replace(
|
418
|
-
}),
|
419
|
-
const
|
420
|
-
r = `import '../../saltygen/css/${`f_${
|
428
|
+
const T = u + y, N = r.slice(u, T), d = r, h = ` ${p} = styled(${k}, "${w.classNames}", ${JSON.stringify(w.props)});`;
|
429
|
+
r = r.replace(N, h), d === r && console.error("Minimize file failed to change content", { name: p, tagName: k });
|
430
|
+
}), g.importStrategy === "component") {
|
431
|
+
const p = W(e, 6), m = K(e);
|
432
|
+
r = `import '../../saltygen/css/${`f_${A(m.name)}-${p}.css`}';
|
421
433
|
${r}`;
|
422
434
|
}
|
423
435
|
return r = r.replace("{ styled }", "{ styledClient as styled }"), r = r.replace("@salty-css/react/styled", "@salty-css/react/styled-client"), r;
|
@@ -427,9 +439,9 @@ ${r}`;
|
|
427
439
|
}
|
428
440
|
}, Jt = (t) => ({
|
429
441
|
name: "stylegen",
|
430
|
-
buildStart: () =>
|
442
|
+
buildStart: () => Et(t),
|
431
443
|
load: async (e) => {
|
432
|
-
if (
|
444
|
+
if (z(e))
|
433
445
|
return await Ot(t, e);
|
434
446
|
},
|
435
447
|
handleHotUpdate: async ({ file: e, server: s }) => {
|
@@ -437,7 +449,7 @@ ${r}`;
|
|
437
449
|
},
|
438
450
|
watchChange: {
|
439
451
|
handler: async (e) => {
|
440
|
-
|
452
|
+
z(e) && await Dt(t, e);
|
441
453
|
}
|
442
454
|
}
|
443
455
|
});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salty-css/vite",
|
3
|
-
"version": "0.0.1-alpha.
|
3
|
+
"version": "0.0.1-alpha.143",
|
4
4
|
"main": "./dist/index.js",
|
5
5
|
"module": "./dist/index.mjs",
|
6
6
|
"typings": "./dist/index.d.ts",
|
@@ -34,6 +34,6 @@
|
|
34
34
|
}
|
35
35
|
},
|
36
36
|
"dependencies": {
|
37
|
-
"@salty-css/core": "^0.0.1-alpha.
|
37
|
+
"@salty-css/core": "^0.0.1-alpha.143"
|
38
38
|
}
|
39
39
|
}
|