@salty-css/astro 0.4.0-alpha.3 → 0.4.0-feat-include-version-info-in-info-comment.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,15 +12,18 @@ import { installSourcemapsSupport as f } from "vite-node/source-map";
12
12
  var p = [{
13
13
  name: "react",
14
14
  importMarkers: [/['"]@salty-css\/react(\/[^'"]*)?['"]/],
15
- loadTransform: async () => (await import(
16
- /* @vite-ignore */
17
- "@salty-css/react/transform-salty-file"
18
- )).transformSaltyFile
19
- }], m = /* @__PURE__ */ new Map(), h = (e) => {
20
- let t = m.get(e.name);
21
- if (t) return t;
22
- let n = e.loadTransform();
23
- return m.set(e.name, n), n;
15
+ loadTransform: async (e) => {
16
+ let t = "@salty-css/react/transform-salty-file";
17
+ return (e ? await e(t) : await import(
18
+ /* @vite-ignore */
19
+ t
20
+ )).transformSaltyFile;
21
+ }
22
+ }], m = /* @__PURE__ */ new Map(), h = (e, t) => {
23
+ let n = m.get(e.name);
24
+ if (n) return n;
25
+ let r = e.loadTransform(t);
26
+ return m.set(e.name, r), r;
24
27
  }, g = (e) => {
25
28
  for (let t of p) for (let n of t.importMarkers) if (n.test(e)) return t;
26
29
  }, _ = async (e, t) => {
@@ -42,37 +45,37 @@ var p = [{
42
45
  let { compiler: u } = e;
43
46
  try {
44
47
  if (t(l, [], !l.includes("configFile="))) {
45
- let e = await u.getDestDir();
48
+ let t = await u.getDestDir();
46
49
  if (/.+\?configFile=(\w+).+/.test(l)) {
47
- let t = new URLSearchParams(l.split("?")[1]).get("configFile");
48
- return t ? await _(e, t) : void 0;
50
+ let e = new URLSearchParams(l.split("?")[1]).get("configFile");
51
+ return e ? await _(t, e) : void 0;
49
52
  }
50
- let t = await o(l, "utf-8"), d = g(t);
51
- if (d) return await (await h(d))(u, l);
52
- let f = ["import { classNameInstance } from '@salty-css/core/instances/classname-instance';"], p = [], m = [], v = await u.compileSaltyFile(l, e), y = Object.entries(v.contents);
53
- for (let [d, h] of y) {
54
- let g = await n(h, 1);
55
- if (!g.generator) continue;
56
- if (g.isClassName) {
57
- let e = g.generator._withBuildContext({
58
- callerName: d,
53
+ let d = await o(l, "utf-8"), f = g(d);
54
+ if (f) return await (await h(f, e.importer))(u, l);
55
+ let p = ["import { classNameInstance } from '@salty-css/core/instances/classname-instance';"], m = [], v = [], y = await u.compileSaltyFile(l, t), b = Object.entries(y.contents);
56
+ for (let [e, f] of b) {
57
+ let h = await n(f, 1);
58
+ if (!h.generator) continue;
59
+ if (h.isClassName) {
60
+ let t = h.generator._withBuildContext({
61
+ callerName: e,
59
62
  isProduction: u.isProduction,
60
63
  config: {}
61
64
  });
62
- p.push(`const ${d} = classNameInstance(${JSON.stringify(e.params)});`), m.push(d);
65
+ m.push(`const ${e} = classNameInstance(${JSON.stringify(t.params)});`), v.push(e);
63
66
  continue;
64
67
  }
65
- let [_, v] = await r(t, d), b = t.slice(_, v), x = /styled\(([^,]+),/.exec(b)?.at(1)?.trim();
68
+ let [g, _] = await r(d, e), y = d.slice(g, _), x = /styled\(([^,]+),/.exec(y)?.at(1)?.trim();
66
69
  if (!x) {
67
- console.warn(`Could not determine tag name for ${d} in ${l}`);
70
+ console.warn(`Could not determine tag name for ${e} in ${l}`);
68
71
  continue;
69
72
  }
70
- let S = g.generator._withBuildContext({
71
- callerName: d,
73
+ let S = h.generator._withBuildContext({
74
+ callerName: e,
72
75
  isProduction: u.isProduction,
73
76
  config: {}
74
77
  }), C = {
75
- componentName: d,
78
+ componentName: e,
76
79
  tagName: x.replace(/['"`]/g, ""),
77
80
  tagIsComponent: !1,
78
81
  classNames: S.classNames,
@@ -80,15 +83,15 @@ var p = [{
80
83
  clientProps: S.clientProps
81
84
  }, w = /^\w+$/.test(x);
82
85
  if (C.tagIsComponent = w, w) {
83
- let e = y.some(([e]) => e === x), n = t.match(RegExp(`import[^;]*${x}[^;]*;`));
84
- e ? C.imports = [`import ${x} from '${l}.astro?configFile=${i(x)}.config';`] : n && (C.imports = [n.at(0)]);
86
+ let e = b.some(([e]) => e === x), t = d.match(RegExp(`import[^;]*${x}[^;]*;`));
87
+ e ? C.imports = [`import ${x} from '${l}.astro?configFile=${i(x)}.config';`] : t && (C.imports = [t.at(0)]);
85
88
  }
86
- let T = c(e, "astro");
89
+ let T = c(t, "astro");
87
90
  await o(T, "utf-8").catch(() => !1) || await a(T, { recursive: !0 });
88
- let E = i(d);
89
- await s(c(e, "astro", `${E}.config`), JSON.stringify(C)), f.push(`import ${d} from '${l}.astro?configFile=${E}.config';`), m.push(d);
91
+ let E = i(e);
92
+ await s(c(t, "astro", `${E}.config`), JSON.stringify(C)), p.push(`import ${e} from '${l}.astro?configFile=${E}.config';`), v.push(e);
90
93
  }
91
- return `${f.join("\n")}\n${p.join("\n")}\nexport { ${m.join(", ")} };`;
94
+ return `${p.join("\n")}\n${m.join("\n")}\nexport { ${v.join(", ")} };`;
92
95
  }
93
96
  return;
94
97
  } catch (e) {
@@ -116,7 +119,10 @@ var p = [{
116
119
  console.error("Error during watch change handling:", e);
117
120
  }
118
121
  }, x = (t, n = {}) => {
119
- let r, i, a, o, s = new e(t, { mode: n.mode }), c = { compiler: s }, l = async () => {
122
+ let r, i, a, o, s = new e(t, { mode: n.mode }), c = {
123
+ compiler: s,
124
+ importer: void 0
125
+ }, l = async () => {
120
126
  if (a && i && r) return a;
121
127
  if (!o) throw Error("[stylegen] vite-node runner requested before configResolved ran");
122
128
  let { createServer: e, version: t } = await import("vite");
@@ -147,7 +153,7 @@ var p = [{
147
153
  s.importFile = async (e) => {
148
154
  let t = await l();
149
155
  return p(t, e), t.executeFile(e);
150
- };
156
+ }, c.importer = s.importFile;
151
157
  let m = async () => {
152
158
  let e = r;
153
159
  if (r = void 0, i = void 0, a = void 0, e) try {
@@ -0,0 +1,10 @@
1
+ let e=require("@salty-css/core/compiler/salty-compiler"),t=require("@salty-css/core/compiler/helpers"),n=require("@salty-css/core/compiler/get-function-range"),r=require("@salty-css/core/util"),i=require("fs/promises"),a=require("path"),o=require("@salty-css/core/server"),s=require("vite-node/server"),c=require("vite-node/client"),l=require("vite-node/source-map");var u=[{name:`react`,importMarkers:[/['"]@salty-css\/react(\/[^'"]*)?['"]/],loadTransform:async e=>{let t=`@salty-css/react/transform-salty-file`;return(e?await e(t):await import(t)).transformSaltyFile}}],d=new Map,f=(e,t)=>{let n=d.get(e.name);if(n)return n;let r=e.loadTransform(t);return d.set(e.name,r),r},p=e=>{for(let t of u)for(let n of t.importMarkers)if(n.test(e))return t},m=async(e,t)=>{let n=await(0,i.readFile)((0,a.join)(e,`astro`,t),`utf-8`);if(n)try{let e=JSON.parse(n),{clientProps:t={},classNames:r=``,tagIsComponent:i,tagName:a=`div`}=e,o=[`import { resolveAstroProps } from '@salty-css/astro/element-props';`,...e.imports||[]],s=i?a:`__r.element || ${JSON.stringify(t.element||a)}`;return`---
2
+ ${o.join(`
3
+ `)}
4
+ const __gp = ${JSON.stringify(t)};
5
+ const __r = resolveAstroProps(Astro.props, __gp, ${JSON.stringify(r)});
6
+ const Element = ${s};
7
+ ---
8
+ <Element class:list={__r.class} style={__r.style} {...__r.rest}><slot/></Element>`}catch(e){console.error(`Error parsing config file:`,e);return}},h=async(e,o)=>{let{compiler:s}=e;try{if((0,t.isSaltyFile)(o,[],!o.includes(`configFile=`))){let c=await s.getDestDir();if(/.+\?configFile=(\w+).+/.test(o)){let e=new URLSearchParams(o.split(`?`)[1]).get(`configFile`);return e?await m(c,e):void 0}let l=await(0,i.readFile)(o,`utf-8`),u=p(l);if(u)return await(await f(u,e.importer))(s,o);let d=[`import { classNameInstance } from '@salty-css/core/instances/classname-instance';`],h=[],g=[],_=await s.compileSaltyFile(o,c),v=Object.entries(_.contents);for(let[e,u]of v){let f=await(0,t.resolveExportValue)(u,1);if(!f.generator)continue;if(f.isClassName){let t=f.generator._withBuildContext({callerName:e,isProduction:s.isProduction,config:{}});h.push(`const ${e} = classNameInstance(${JSON.stringify(t.params)});`),g.push(e);continue}let[p,m]=await(0,n.getFunctionRange)(l,e),_=l.slice(p,m),y=/styled\(([^,]+),/.exec(_)?.at(1)?.trim();if(!y){console.warn(`Could not determine tag name for ${e} in ${o}`);continue}let b=f.generator._withBuildContext({callerName:e,isProduction:s.isProduction,config:{}}),x={componentName:e,tagName:y.replace(/['"`]/g,``),tagIsComponent:!1,classNames:b.classNames,imports:[],clientProps:b.clientProps},S=/^\w+$/.test(y);if(x.tagIsComponent=S,S){let e=v.some(([e])=>e===y),t=l.match(RegExp(`import[^;]*${y}[^;]*;`));e?x.imports=[`import ${y} from '${o}.astro?configFile=${(0,r.toHash)(y)}.config';`]:t&&(x.imports=[t.at(0)])}let C=(0,a.join)(c,`astro`);await(0,i.readFile)(C,`utf-8`).catch(()=>!1)||await(0,i.mkdir)(C,{recursive:!0});let w=(0,r.toHash)(e);await(0,i.writeFile)((0,a.join)(c,`astro`,`${w}.config`),JSON.stringify(x)),d.push(`import ${e} from '${o}.astro?configFile=${w}.config';`),g.push(e)}return`${d.join(`
9
+ `)}\n${h.join(`
10
+ `)}\nexport { ${g.join(`, `)} };`}return}catch(e){console.error(`Error during file compilation:`,e);return}},g=async(e,{file:n,server:r,modules:i})=>{try{if(await(0,o.checkShouldRestart)(n))return await e.generateCss(!1);if(!(0,t.isSaltyFile)(n))return;let a=await e.getDestDir(),s=[];for(let[e,t]of r.moduleGraph.idToModuleMap)e.startsWith(n+`.astro?configFile=`)&&(r.moduleGraph.invalidateModule(t),s.push(t));for(let e of r.moduleGraph.urlToModuleMap.values())e.file&&e.file.startsWith(a)&&(r.moduleGraph.invalidateModule(e),s.push(e));return r.ws.send({type:`update`,updates:[]}),[...i,...s]}catch(e){console.error(`Error during hot update handling:`,e)}},_=async(e,n,r)=>{try{(0,t.isSaltyFile)(n)&&r.event!==`delete`&&(await(0,o.checkShouldRestart)(n)||await e.generateFile(n))}catch(e){console.error(`Error during watch change handling:`,e)}},v=(t,n={})=>{let r,i,a,o,u=new e.SaltyCompiler(t,{mode:n.mode}),d={compiler:u,importer:void 0},f=async()=>{if(a&&i&&r)return a;if(!o)throw Error(`[stylegen] vite-node runner requested before configResolved ran`);let{createServer:e,version:t}=await import(`vite`);r=await e({resolve:{alias:o.resolve.alias},server:{middlewareMode:!0,hmr:!1,ws:!1,watch:null},optimizeDeps:{noDiscovery:!0,include:[]}}),Number(t.split(`.`)[0])<6&&await r.pluginContainer.buildStart({});let n=new s.ViteNodeServer(r);return i=n,(0,l.installSourcemapsSupport)({getSourceMap:e=>n.getSourceMap(e)}),a=new c.ViteNodeRunner({root:r.config.root,base:r.config.base,fetchModule:e=>n.fetchModule(e),resolveId:(e,t)=>n.resolveId(e,t)}),a},p=(e,t)=>{let n=e.moduleCache;n.invalidateDepTree?n.invalidateDepTree([t]):n.deleteByModuleId?n.deleteByModuleId(t):n.clear()};u.importFile=async e=>{let t=await f();return p(t,e),t.executeFile(e)},d.importer=u.importFile;let m=async()=>{let e=r;if(r=void 0,i=void 0,a=void 0,e)try{await e.close()}catch{}},v,y=()=>(v||=u.generateCss().catch(e=>{throw v=void 0,e}),v);return{name:`stylegen`,configResolved:async function(e){o=e,await f();try{await y()}catch(e){throw console.error(`Error during initial CSS generation:`,e),e}},resolveId:function(e){return e.includes(`.astro?configFile=`)?e:null},load:function(e){return h(d,e)},handleHotUpdate:function(e){return g(u,e)},watchChange:{handler:function(e,t){return _(u,e,t)}},closeBundle:async function(){await m()}}};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./astro-vite-plugin-1E5CWsN3.cjs");exports.default=e.t,exports.saltyPlugin=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./astro-vite-plugin-goCXCXLG.cjs");exports.default=e.t,exports.saltyPlugin=e.t;
@@ -1 +1 @@
1
- {"version":3,"file":"astro-vite-plugin.d.ts","sourceRoot":"","sources":["../src/astro-vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAiC,MAAM,MAAM,CAAC;AAQnE,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,UAAS,uBAA4B,KAAG,YAmMhF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"astro-vite-plugin.d.ts","sourceRoot":"","sources":["../src/astro-vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAiC,MAAM,MAAM,CAAC;AAQnE,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,UAAS,uBAA4B,KAAG,YAwMhF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "./astro-vite-plugin-H1SVOmVT.js";
1
+ import { t as e } from "./astro-vite-plugin-DDl_IdJa.js";
2
2
  export { e as default, e as saltyPlugin };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@salty-css/core/util"),t=require("@salty-css/core/parsers");var n=[`passProps`],r=(r={},i={},a=``,o)=>{let{class:s=``,className:c,element:l,as:u,passProps:d=i.passProps,_vks:f,style:p,...m}=r,h={passProps:d};if(i.attr)for(let[e,t]of Object.entries(i.attr))t!==void 0&&(h[e]=t);o&&Object.assign(h,o);let g={...m};if(i.defaultProps)for(let[e,t]of Object.entries(i.defaultProps))g[e]===void 0&&(g[e]=t);Object.assign(h,g);let _=new Set;for(let e of String(a).split(` `))e&&_.add(e);for(let e of String(s||``).split(` `))e&&_.add(e);for(let e of String(c||``).split(` `))e&&_.add(e);let v={};if(p&&typeof p==`object`)for(let[e,n]of Object.entries(p)){let r=(0,t.parseVariableTokens)(n);v[e]=r?r.transformed:n}let y=new Set(Array.isArray(f)?f:[]);if(i.propValueKeys)for(let t of i.propValueKeys){let n=`css-${t}`,r=g[n];r!==void 0&&(v[`--props-${(0,e.dashCase)(t)}`]=r,y.add(n))}if(i.variantKeys)for(let t of i.variantKeys){let[n,r]=t.split(`=`);if(g[n]!==void 0){let t=(0,e.sanitizeClassName)(`${n}-${g[n]}`);_.add(t),y.add(n)}else if(r!==void 0){let t=(0,e.sanitizeClassName)(`${n}-${r}`);_.add(t)}}for(let e of y)d!==!0&&(Array.isArray(d)&&d.includes(e)||typeof d==`string`&&d===e||delete h[e]);for(let e of n)delete h[e];return{class:[..._],style:v,rest:h,element:u??l??i.element,_vks:[...y]}};exports.resolveAstroProps=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@salty-css/core/util"),t=require("@salty-css/core/parsers");var n=[`passProps`],r=(r={},i={},a=``,o)=>{let{class:s=``,className:c,element:l,as:u,passProps:d=i.passProps,_vks:f,style:p,...m}=r,h={passProps:d};if(i.attr)for(let[e,t]of Object.entries(i.attr))t!==void 0&&(h[e]=t);o&&Object.assign(h,o);let g={...m};if(i.defaultProps)for(let[e,t]of Object.entries(i.defaultProps))g[e]===void 0&&(g[e]=t);Object.assign(h,g);let _=new Set;for(let e of String(a).split(` `))e&&_.add(e);for(let e of String(s||``).split(` `))e&&_.add(e);for(let e of String(c||``).split(` `))e&&_.add(e);let v={};if(p&&typeof p==`object`)for(let[e,n]of Object.entries(p)){let r=(0,t.parseVariableTokens)(n);v[e]=r?r.transformed:n}let y=new Set(Array.isArray(f)?f:[]);if(i.propValueKeys)for(let t of i.propValueKeys){let n=`css-${t}`,r=g[n];r!==void 0&&(v[`--props-${(0,e.dashCase)(t)}`]=r,y.add(n))}if(i.variantKeys)for(let e of i.variantKeys){let[t,n]=e.split(`=`);g[t]===void 0?n!==void 0&&_.add(`${t}-${n}`):(_.add(`${t}-${g[t]}`),y.add(t))}for(let e of y)d!==!0&&(Array.isArray(d)&&d.includes(e)||typeof d==`string`&&d===e||delete h[e]);for(let e of n)delete h[e];return{class:[..._],style:v,rest:h,element:u??l??i.element,_vks:[...y]}};exports.resolveAstroProps=r;
@@ -1 +1 @@
1
- {"version":3,"file":"element-props.d.ts","sourceRoot":"","sources":["../src/element-props.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACpC,iBAAgB,0BAA+B,EAC/C,sBAAkB,EAClB,kBAAkB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACpC,kBAkFF,CAAC"}
1
+ {"version":3,"file":"element-props.d.ts","sourceRoot":"","sources":["../src/element-props.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACpC,iBAAgB,0BAA+B,EAC/C,sBAAkB,EAClB,kBAAkB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACpC,kBAgFF,CAAC"}
@@ -1,46 +1,40 @@
1
- import { dashCase as e, sanitizeClassName as t } from "@salty-css/core/util";
2
- import { parseVariableTokens as n } from "@salty-css/core/parsers";
1
+ import { dashCase as e } from "@salty-css/core/util";
2
+ import { parseVariableTokens as t } from "@salty-css/core/parsers";
3
3
  //#region src/element-props.ts
4
- var r = ["passProps"], i = (i = {}, a = {}, o = "", s) => {
5
- let { class: c = "", className: l, element: u, as: d, passProps: f = a.passProps, _vks: p, style: m, ...h } = i, g = { passProps: f };
6
- if (a.attr) for (let [e, t] of Object.entries(a.attr)) t !== void 0 && (g[e] = t);
7
- s && Object.assign(g, s);
8
- let _ = { ...h };
9
- if (a.defaultProps) for (let [e, t] of Object.entries(a.defaultProps)) _[e] === void 0 && (_[e] = t);
10
- Object.assign(g, _);
11
- let v = /* @__PURE__ */ new Set();
12
- for (let e of String(o).split(" ")) e && v.add(e);
13
- for (let e of String(c || "").split(" ")) e && v.add(e);
14
- for (let e of String(l || "").split(" ")) e && v.add(e);
15
- let y = {};
16
- if (m && typeof m == "object") for (let [e, t] of Object.entries(m)) {
17
- let r = n(t);
18
- y[e] = r ? r.transformed : t;
4
+ var n = ["passProps"], r = (r = {}, i = {}, a = "", o) => {
5
+ let { class: s = "", className: c, element: l, as: u, passProps: d = i.passProps, _vks: f, style: p, ...m } = r, h = { passProps: d };
6
+ if (i.attr) for (let [e, t] of Object.entries(i.attr)) t !== void 0 && (h[e] = t);
7
+ o && Object.assign(h, o);
8
+ let g = { ...m };
9
+ if (i.defaultProps) for (let [e, t] of Object.entries(i.defaultProps)) g[e] === void 0 && (g[e] = t);
10
+ Object.assign(h, g);
11
+ let _ = /* @__PURE__ */ new Set();
12
+ for (let e of String(a).split(" ")) e && _.add(e);
13
+ for (let e of String(s || "").split(" ")) e && _.add(e);
14
+ for (let e of String(c || "").split(" ")) e && _.add(e);
15
+ let v = {};
16
+ if (p && typeof p == "object") for (let [e, n] of Object.entries(p)) {
17
+ let r = t(n);
18
+ v[e] = r ? r.transformed : n;
19
19
  }
20
- let b = new Set(Array.isArray(p) ? p : []);
21
- if (a.propValueKeys) for (let t of a.propValueKeys) {
22
- let n = `css-${t}`, r = _[n];
23
- r !== void 0 && (y[`--props-${e(t)}`] = r, b.add(n));
20
+ let y = new Set(Array.isArray(f) ? f : []);
21
+ if (i.propValueKeys) for (let t of i.propValueKeys) {
22
+ let n = `css-${t}`, r = g[n];
23
+ r !== void 0 && (v[`--props-${e(t)}`] = r, y.add(n));
24
24
  }
25
- if (a.variantKeys) for (let e of a.variantKeys) {
26
- let [n, r] = e.split("=");
27
- if (_[n] !== void 0) {
28
- let e = t(`${n}-${_[n]}`);
29
- v.add(e), b.add(n);
30
- } else if (r !== void 0) {
31
- let e = t(`${n}-${r}`);
32
- v.add(e);
33
- }
25
+ if (i.variantKeys) for (let e of i.variantKeys) {
26
+ let [t, n] = e.split("=");
27
+ g[t] === void 0 ? n !== void 0 && _.add(`${t}-${n}`) : (_.add(`${t}-${g[t]}`), y.add(t));
34
28
  }
35
- for (let e of b) f !== !0 && (Array.isArray(f) && f.includes(e) || typeof f == "string" && f === e || delete g[e]);
36
- for (let e of r) delete g[e];
29
+ for (let e of y) d !== !0 && (Array.isArray(d) && d.includes(e) || typeof d == "string" && d === e || delete h[e]);
30
+ for (let e of n) delete h[e];
37
31
  return {
38
- class: [...v],
39
- style: y,
40
- rest: g,
41
- element: d ?? u ?? a.element,
42
- _vks: [...b]
32
+ class: [..._],
33
+ style: v,
34
+ rest: h,
35
+ element: u ?? l ?? i.element,
36
+ _vks: [...y]
43
37
  };
44
38
  };
45
39
  //#endregion
46
- export { i as resolveAstroProps };
40
+ export { r as resolveAstroProps };
@@ -1,11 +1,12 @@
1
1
  import { SaltyCompiler } from '../../core/dist/compiler/salty-compiler';
2
+ export type Importer = undefined | ((path: string) => Promise<any>);
2
3
  export type SaltyFileTransform = (compiler: SaltyCompiler, file: string) => Promise<string | undefined>;
3
4
  export interface FrameworkEntry {
4
5
  name: string;
5
6
  importMarkers: RegExp[];
6
- loadTransform: () => Promise<SaltyFileTransform>;
7
+ loadTransform: (importer: Importer) => Promise<SaltyFileTransform>;
7
8
  }
8
9
  export declare const frameworkRegistry: FrameworkEntry[];
9
- export declare const getFrameworkTransform: (entry: FrameworkEntry) => Promise<SaltyFileTransform>;
10
+ export declare const getFrameworkTransform: (entry: FrameworkEntry, importer: Importer) => Promise<SaltyFileTransform>;
10
11
  export declare const detectFramework: (source: string) => FrameworkEntry | undefined;
11
12
  //# sourceMappingURL=framework-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framework-registry.d.ts","sourceRoot":"","sources":["../src/framework-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAExG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAa7C,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,OAAO,cAAc,KAAG,OAAO,CAAC,kBAAkB,CAMvF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,cAAc,GAAG,SAOjE,CAAC"}
1
+ {"version":3,"file":"framework-registry.d.ts","sourceRoot":"","sources":["../src/framework-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAExG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAU7C,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,OAAO,cAAc,EAAE,UAAU,QAAQ,KAAG,OAAO,CAAC,kBAAkB,CAM3G,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,cAAc,GAAG,SAOjE,CAAC"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./astro-vite-plugin-1E5CWsN3.cjs");let t=require("path");var n=(n={})=>({name:`astro-salty-integration`,hooks:{"astro:config:setup":({config:r,updateConfig:i})=>{let{srcDir:a=`src`,rootDir:o=r.root.pathname}=n;i({vite:{plugins:[e.t((0,t.join)(o,a))]}})}}});exports.default=n,exports.saltyIntegration=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./astro-vite-plugin-goCXCXLG.cjs");let t=require("path");var n=(n={})=>({name:`astro-salty-integration`,hooks:{"astro:config:setup":({config:r,updateConfig:i})=>{let{srcDir:a=`src`,rootDir:o=r.root.pathname}=n;i({vite:{plugins:[e.t((0,t.join)(o,a))]}})}}});exports.default=n,exports.saltyIntegration=n;
@@ -1,4 +1,4 @@
1
- import { t as e } from "./astro-vite-plugin-H1SVOmVT.js";
1
+ import { t as e } from "./astro-vite-plugin-DDl_IdJa.js";
2
2
  import { join as t } from "path";
3
3
  //#region src/integration.ts
4
4
  var n = (n = {}) => ({
@@ -1,6 +1,9 @@
1
1
  import { SaltyCompiler } from '../../core/dist/compiler/salty-compiler';
2
+ import { Importer } from './framework-registry';
2
3
  export interface AstroPluginContext {
3
4
  compiler: SaltyCompiler;
5
+ /** Updated just-in-time by the plugin's importFile, read here for dev transforms. */
6
+ importer: Importer;
4
7
  }
5
8
  /**
6
9
  * Vite `load` hook body: resolves stored `.astro` component configs, delegates to
@@ -1 +1 @@
1
- {"version":3,"file":"load-salty-file.d.ts","sourceRoot":"","sources":["../src/load-salty-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAOxE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,KAAK,kBAAkB,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAwGzG,CAAC"}
1
+ {"version":3,"file":"load-salty-file.d.ts","sourceRoot":"","sources":["../src/load-salty-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAIxE,OAAO,EAA0C,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGxF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,qFAAqF;IACrF,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,KAAK,kBAAkB,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAwGzG,CAAC"}
package/package.json CHANGED
@@ -15,15 +15,15 @@
15
15
  "bugs": {
16
16
  "url": "https://github.com/margarita-form/salty-css/issues"
17
17
  },
18
- "version": "0.4.0-alpha.3",
18
+ "version": "0.4.0-feat-include-version-info-in-info-comment.0",
19
19
  "type": "module",
20
20
  "scripts": {
21
21
  "build": "node ../../node_modules/vite-build/bin/vite.js build --config vite.config.ts",
22
22
  "test": "vitest run"
23
23
  },
24
24
  "dependencies": {
25
- "@salty-css/core": "0.4.0-alpha.3",
26
- "@salty-css/react": "0.4.0-alpha.3",
25
+ "@salty-css/core": "0.4.0-feat-include-version-info-in-info-comment.0",
26
+ "@salty-css/react": "0.4.0-feat-include-version-info-in-info-comment.0",
27
27
  "vite": "^7.3.5",
28
28
  "vite-node": "^5.3.0"
29
29
  },
@@ -1,10 +0,0 @@
1
- let e=require("@salty-css/core/compiler/salty-compiler"),t=require("@salty-css/core/compiler/helpers"),n=require("@salty-css/core/compiler/get-function-range"),r=require("@salty-css/core/util"),i=require("fs/promises"),a=require("path"),o=require("@salty-css/core/server"),s=require("vite-node/server"),c=require("vite-node/client"),l=require("vite-node/source-map");var u=[{name:`react`,importMarkers:[/['"]@salty-css\/react(\/[^'"]*)?['"]/],loadTransform:async()=>(await import(`@salty-css/react/transform-salty-file`)).transformSaltyFile}],d=new Map,f=e=>{let t=d.get(e.name);if(t)return t;let n=e.loadTransform();return d.set(e.name,n),n},p=e=>{for(let t of u)for(let n of t.importMarkers)if(n.test(e))return t},m=async(e,t)=>{let n=await(0,i.readFile)((0,a.join)(e,`astro`,t),`utf-8`);if(n)try{let e=JSON.parse(n),{clientProps:t={},classNames:r=``,tagIsComponent:i,tagName:a=`div`}=e,o=[`import { resolveAstroProps } from '@salty-css/astro/element-props';`,...e.imports||[]],s=i?a:`__r.element || ${JSON.stringify(t.element||a)}`;return`---
2
- ${o.join(`
3
- `)}
4
- const __gp = ${JSON.stringify(t)};
5
- const __r = resolveAstroProps(Astro.props, __gp, ${JSON.stringify(r)});
6
- const Element = ${s};
7
- ---
8
- <Element class:list={__r.class} style={__r.style} {...__r.rest}><slot/></Element>`}catch(e){console.error(`Error parsing config file:`,e);return}},h=async(e,o)=>{let{compiler:s}=e;try{if((0,t.isSaltyFile)(o,[],!o.includes(`configFile=`))){let e=await s.getDestDir();if(/.+\?configFile=(\w+).+/.test(o)){let t=new URLSearchParams(o.split(`?`)[1]).get(`configFile`);return t?await m(e,t):void 0}let c=await(0,i.readFile)(o,`utf-8`),l=p(c);if(l)return await(await f(l))(s,o);let u=[`import { classNameInstance } from '@salty-css/core/instances/classname-instance';`],d=[],h=[],g=await s.compileSaltyFile(o,e),_=Object.entries(g.contents);for(let[l,f]of _){let p=await(0,t.resolveExportValue)(f,1);if(!p.generator)continue;if(p.isClassName){let e=p.generator._withBuildContext({callerName:l,isProduction:s.isProduction,config:{}});d.push(`const ${l} = classNameInstance(${JSON.stringify(e.params)});`),h.push(l);continue}let[m,g]=await(0,n.getFunctionRange)(c,l),v=c.slice(m,g),y=/styled\(([^,]+),/.exec(v)?.at(1)?.trim();if(!y){console.warn(`Could not determine tag name for ${l} in ${o}`);continue}let b=p.generator._withBuildContext({callerName:l,isProduction:s.isProduction,config:{}}),x={componentName:l,tagName:y.replace(/['"`]/g,``),tagIsComponent:!1,classNames:b.classNames,imports:[],clientProps:b.clientProps},S=/^\w+$/.test(y);if(x.tagIsComponent=S,S){let e=_.some(([e])=>e===y),t=c.match(RegExp(`import[^;]*${y}[^;]*;`));e?x.imports=[`import ${y} from '${o}.astro?configFile=${(0,r.toHash)(y)}.config';`]:t&&(x.imports=[t.at(0)])}let C=(0,a.join)(e,`astro`);await(0,i.readFile)(C,`utf-8`).catch(()=>!1)||await(0,i.mkdir)(C,{recursive:!0});let w=(0,r.toHash)(l);await(0,i.writeFile)((0,a.join)(e,`astro`,`${w}.config`),JSON.stringify(x)),u.push(`import ${l} from '${o}.astro?configFile=${w}.config';`),h.push(l)}return`${u.join(`
9
- `)}\n${d.join(`
10
- `)}\nexport { ${h.join(`, `)} };`}return}catch(e){console.error(`Error during file compilation:`,e);return}},g=async(e,{file:n,server:r,modules:i})=>{try{if(await(0,o.checkShouldRestart)(n))return await e.generateCss(!1);if(!(0,t.isSaltyFile)(n))return;let a=await e.getDestDir(),s=[];for(let[e,t]of r.moduleGraph.idToModuleMap)e.startsWith(n+`.astro?configFile=`)&&(r.moduleGraph.invalidateModule(t),s.push(t));for(let e of r.moduleGraph.urlToModuleMap.values())e.file&&e.file.startsWith(a)&&(r.moduleGraph.invalidateModule(e),s.push(e));return r.ws.send({type:`update`,updates:[]}),[...i,...s]}catch(e){console.error(`Error during hot update handling:`,e)}},_=async(e,n,r)=>{try{(0,t.isSaltyFile)(n)&&r.event!==`delete`&&(await(0,o.checkShouldRestart)(n)||await e.generateFile(n))}catch(e){console.error(`Error during watch change handling:`,e)}},v=(t,n={})=>{let r,i,a,o,u=new e.SaltyCompiler(t,{mode:n.mode}),d={compiler:u},f=async()=>{if(a&&i&&r)return a;if(!o)throw Error(`[stylegen] vite-node runner requested before configResolved ran`);let{createServer:e,version:t}=await import(`vite`);r=await e({resolve:{alias:o.resolve.alias},server:{middlewareMode:!0,hmr:!1,ws:!1,watch:null},optimizeDeps:{noDiscovery:!0,include:[]}}),Number(t.split(`.`)[0])<6&&await r.pluginContainer.buildStart({});let n=new s.ViteNodeServer(r);return i=n,(0,l.installSourcemapsSupport)({getSourceMap:e=>n.getSourceMap(e)}),a=new c.ViteNodeRunner({root:r.config.root,base:r.config.base,fetchModule:e=>n.fetchModule(e),resolveId:(e,t)=>n.resolveId(e,t)}),a},p=(e,t)=>{let n=e.moduleCache;n.invalidateDepTree?n.invalidateDepTree([t]):n.deleteByModuleId?n.deleteByModuleId(t):n.clear()};u.importFile=async e=>{let t=await f();return p(t,e),t.executeFile(e)};let m=async()=>{let e=r;if(r=void 0,i=void 0,a=void 0,e)try{await e.close()}catch{}},v,y=()=>(v||=u.generateCss().catch(e=>{throw v=void 0,e}),v);return{name:`stylegen`,configResolved:async function(e){o=e,await f();try{await y()}catch(e){throw console.error(`Error during initial CSS generation:`,e),e}},resolveId:function(e){return e.includes(`.astro?configFile=`)?e:null},load:function(e){return h(d,e)},handleHotUpdate:function(e){return g(u,e)},watchChange:{handler:function(e,t){return _(u,e,t)}},closeBundle:async function(){await m()}}};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});