@tailwindcss/vite 4.0.0-alpha.24 → 4.0.0-alpha.26

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.
Files changed (2) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +5 -9
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{compile as z}from"@tailwindcss/node";import{clearRequireCache as A}from"@tailwindcss/node/require-cache";import{Scanner as q}from"@tailwindcss/oxide";import w from"node:path";function K(e,t){if(typeof e!="string")throw new TypeError("expected path to be a string");if(e==="\\"||e==="/")return"/";var r=e.length;if(r<=1)return e;var o="";if(r>4&&e[3]==="\\"){var c=e[2];(c==="?"||c===".")&&e.slice(0,2)==="\\\\"&&(e=e.slice(2),o="//")}var a=e.split(/[/\\]+/);return t!==!1&&a[a.length-1]===""&&a.pop(),o+a.join("/")}function b(e){let t=K(e);return e.startsWith("\\\\")&&t.startsWith("/")&&!t.startsWith("//")?`/${t}`:t}var C="'",P='"';function W(){let e=new WeakSet;function t(r){let o=r.root().source?.input.file;if(!o)return;let c=r.source?.input.file;if(!c||e.has(r))return;let a=r.params[0],d=a[0]===P&&a[a.length-1]===P?P:a[0]===C&&a[a.length-1]===C?C:null;if(!d)return;let n=r.params.slice(1,-1),m="";if(n.startsWith("!")&&(n=n.slice(1),m="!"),!n.startsWith("./")&&!n.startsWith("../"))return;let y=w.posix.join(b(w.dirname(c)),n),S=w.posix.dirname(b(o)),h=w.posix.relative(S,y);h.startsWith(".")||(h="./"+h),r.params=d+m+h+d,e.add(r)}return{postcssPlugin:"tailwindcss-postcss-fix-relative-paths",AtRule:{source:t,plugin:t,config:t}}}import{Features as M,transform as E}from"lightningcss";import G from"node:fs/promises";import p from"path";import I from"postcss";import T from"postcss-import";function $(){let e=[],t=null,r=!1,o=!1,c=[],a=new Set,d=new q({}),n=new x(s=>new F(s,()=>a,t.base));function m(s,i,l,f){let u=!1;for(let g of d.scanFiles([{content:i,extension:l}]))u=!0,a.add(g);u&&y(f)}function y(s){for(let i of e){let l=[];for(let f of n.keys()){let u=i.moduleGraph.getModuleById(f);if(!u){s||n.delete(f);continue}n.get(f).requiresRebuild=!1,i.moduleGraph.invalidateModule(u),l.push({type:`${u.type}-update`,path:u.url,acceptedPath:u.url,timestamp:Date.now()})}l.length>0&&i.hot.send({type:"update",updates:l})}}async function S(s,i){let l=s.lastContent,f=await s.generate(l,i);if(f!==!1)return B(f,{minify:o})}async function h(s,i,l){let f={...s,getCombinedSourcemap:()=>{throw new Error("getCombinedSourcemap not implemented")}};for(let u of c){if(!u.transform)continue;let g="handler"in u.transform?u.transform.handler:u.transform;try{let v=await g.call(f,l,i);if(!v)continue;typeof v=="string"?l=v:v.code&&(l=v.code)}catch{console.error(`Error running ${u.name} on Tailwind CSS output. Skipping.`)}}return l}return[{name:"@tailwindcss/vite:scan",enforce:"pre",configureServer(s){e.push(s)},async configResolved(s){t=s,o=t.build.cssMinify!==!1,r=t.build.ssr!==!1&&t.build.ssr!==void 0;let i=["vite:css",...t.command==="build"?["vite:css-post"]:[]];c=t.plugins.filter(l=>i.includes(l.name))},transformIndexHtml(s,{path:i}){m(i,s,"html",r)},transform(s,i,l){let f=D(i);R(i)||m(i,s,f,l?.ssr??!1)}},{name:"@tailwindcss/vite:generate:serve",apply:"serve",enforce:"pre",async transform(s,i,l){if(!R(i))return;let f=n.get(i);l?.ssr||await Promise.all(e.map(g=>g.waitForRequestsIdle(i)));let u=await f.generate(s,g=>this.addWatchFile(g));return u?{code:u}:(n.delete(i),s)}},{name:"@tailwindcss/vite:generate:build",apply:"build",enforce:"pre",async transform(s,i){if(!R(i))return;let f=await n.get(i).generate(s,u=>this.addWatchFile(u));return f?{code:f}:(n.delete(i),s)},async renderStart(){for(let[s,i]of n.entries()){let l=await S(i,()=>{});if(!l){n.delete(s);continue}await h(this,s,l)}}}]}function D(e){let[t]=e.split("?",2);return p.extname(t).slice(1)}function R(e){let t=D(e);return t==="css"||t==="vue"&&e.includes("&lang.css")||t==="astro"&&e.includes("&lang.css")}function j(e){return e.includes("@tailwind")||e.includes("@config")||e.includes("@plugin")||e.includes("@apply")||e.includes("@theme")||e.includes("@variant")||e.includes("@utility")}function B(e,{file:t="input.css",minify:r=!1}={}){return E({filename:t,code:Buffer.from(e),minify:r,sourceMap:!1,drafts:{customMedia:!0},nonStandard:{deepSelectorCombinator:!0},include:M.Nesting,exclude:M.LogicalProperties,targets:{safari:16<<16|1024},errorRecovery:!0}).code.toString()}function V(e){return p.resolve(e.replace(/\?.*$/,""))}var x=class extends Map{constructor(r){super();this.factory=r}get(r){let o=super.get(r);return o===void 0&&(o=this.factory(r,this),this.set(r,o)),o}},F=class{constructor(t,r,o){this.id=t;this.getSharedCandidates=r;this.base=o}lastContent="";compiler;requiresRebuild=!0;scanner;candidates=new Set;dependencies=new Set;async generate(t,r){this.lastContent=t;let o=V(this.id),c=p.dirname(p.resolve(o));if(!this.compiler||!this.scanner||this.requiresRebuild){A(Array.from(this.dependencies)),this.dependencies=new Set([V(o)]);let d=(await I([T({load:n=>(this.dependencies.add(n),r(n),G.readFile(n,"utf8"))}),W()]).process(t,{from:o,to:o})).css;if(!j(d))return!1;this.compiler=await z(d,{base:c,onDependency:n=>{r(n),this.dependencies.add(n)}}),this.scanner=new q({sources:this.compiler.globs.map(({origin:n,pattern:m})=>({base:n?p.dirname(p.resolve(c,n)):c,pattern:m}))})}for(let a of this.scanner.scan())this.candidates.add(a);for(let a of this.scanner.files)r(a);for(let a of this.scanner.globs){if(a.pattern[0]==="!")continue;let d=p.relative(this.base,a.base);d[0]!=="."&&(d="./"+d),d=b(d),r(p.posix.join(d,a.pattern))}return this.requiresRebuild=!0,this.compiler.build([...this.getSharedCandidates(),...this.candidates])}};export{$ as default};
1
+ import{compile as G,env as u,normalizePath as x}from"@tailwindcss/node";import{clearRequireCache as U}from"@tailwindcss/node/require-cache";import{Scanner as P}from"@tailwindcss/oxide";import{Features as y,transform as F}from"lightningcss";import m from"path";function M(){let l=[],r=null,o=!1,c=!1,g=[],h=new Set,d=new P({}),a=new S(t=>new w(t,()=>h,r.base));function b(t,e,i,s){let n=!1;for(let f of d.scanFiles([{content:e,extension:i}]))n=!0,h.add(f);n&&E(s)}function E(t){for(let e of l){let i=[];for(let s of a.keys()){let n=e.moduleGraph.getModuleById(s);if(!n){t||a.delete(s);continue}a.get(s).requiresRebuild=!1,e.moduleGraph.invalidateModule(n),i.push({type:`${n.type}-update`,path:n.url,acceptedPath:n.url,timestamp:Date.now()})}i.length>0&&e.hot.send({type:"update",updates:i})}}async function B(t,e){let i=t.lastContent,s=await t.generate(i,e);if(s===!1)return;u.DEBUG&&console.time("[@tailwindcss/vite] Optimize CSS");let n=V(s,{minify:c});return u.DEBUG&&console.timeEnd("[@tailwindcss/vite] Optimize CSS"),n}async function D(t,e,i){let s={...t,getCombinedSourcemap:()=>{throw new Error("getCombinedSourcemap not implemented")}};for(let n of g){if(!n.transform)continue;let f="handler"in n.transform?n.transform.handler:n.transform;try{let p=await f.call(s,i,e);if(!p)continue;typeof p=="string"?i=p:p.code&&(i=p.code)}catch{console.error(`Error running ${n.name} on Tailwind CSS output. Skipping.`)}}return i}return[{name:"@tailwindcss/vite:scan",enforce:"pre",configureServer(t){l.push(t)},async configResolved(t){r=t,c=r.build.cssMinify!==!1,o=r.build.ssr!==!1&&r.build.ssr!==void 0;let e=["vite:css",...r.command==="build"?["vite:css-post"]:[]];g=r.plugins.filter(i=>e.includes(i.name))},transformIndexHtml(t,{path:e}){b(e,t,"html",o)},transform(t,e,i){let s=R(e);v(e)||b(e,t,s,i?.ssr??!1)}},{name:"@tailwindcss/vite:generate:serve",apply:"serve",enforce:"pre",async transform(t,e,i){if(!v(e))return;let s=a.get(e);i?.ssr||await Promise.all(l.map(f=>f.waitForRequestsIdle(e)));let n=await s.generate(t,f=>this.addWatchFile(f));return n?{code:n}:(a.delete(e),t)}},{name:"@tailwindcss/vite:generate:build",apply:"build",enforce:"pre",async transform(t,e){if(!v(e))return;let s=await a.get(e).generate(t,n=>this.addWatchFile(n));return s?{code:s}:(a.delete(e),t)},async renderStart(){for(let[t,e]of a.entries()){let i=await B(e,()=>{});if(!i){a.delete(t);continue}await D(this,t,i)}}}]}function R(l){let[r]=l.split("?",2);return m.extname(r).slice(1)}function v(l){let r=R(l);return r==="css"||r==="vue"&&l.includes("&lang.css")||r==="astro"&&l.includes("&lang.css")}function V(l,{file:r="input.css",minify:o=!1}={}){return F({filename:r,code:Buffer.from(l),minify:o,sourceMap:!1,drafts:{customMedia:!0},nonStandard:{deepSelectorCombinator:!0},include:y.Nesting,exclude:y.LogicalProperties,targets:{safari:16<<16|1024},errorRecovery:!0}).code.toString()}function C(l){return m.resolve(l.replace(/\?.*$/,""))}var S=class extends Map{constructor(o){super();this.factory=o}get(o){let c=super.get(o);return c===void 0&&(c=this.factory(o,this),this.set(o,c)),c}},w=class{constructor(r,o,c){this.id=r;this.getSharedCandidates=o;this.base=c}lastContent="";compiler;requiresRebuild=!0;scanner;candidates=new Set;dependencies=new Set;async generate(r,o){this.lastContent=r;let c=C(this.id),g=m.dirname(m.resolve(c));(!this.compiler||!this.scanner||this.requiresRebuild)&&(U(Array.from(this.dependencies)),this.dependencies=new Set([C(c)]),u.DEBUG&&console.time("[@tailwindcss/vite] Setup compiler"),this.compiler=await G(r,{base:g,onDependency:d=>{o(d),this.dependencies.add(d)}}),u.DEBUG&&console.timeEnd("[@tailwindcss/vite] Setup compiler"),this.scanner=new P({sources:this.compiler.globs})),u.DEBUG&&console.time("[@tailwindcss/vite] Scan for candidates");for(let d of this.scanner.scan())this.candidates.add(d);u.DEBUG&&console.timeEnd("[@tailwindcss/vite] Scan for candidates");for(let d of this.scanner.files)o(d);for(let d of this.scanner.globs){if(d.pattern[0]==="!")continue;let a=m.relative(this.base,d.base);a[0]!=="."&&(a="./"+a),a=x(a),o(m.posix.join(a,d.pattern))}this.requiresRebuild=!0,u.DEBUG&&console.time("[@tailwindcss/vite] Build CSS");let h=this.compiler.build([...this.getSharedCandidates(),...this.candidates]);return u.DEBUG&&console.timeEnd("[@tailwindcss/vite] Build CSS"),h}};export{M as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailwindcss/vite",
3
- "version": "4.0.0-alpha.24",
3
+ "version": "4.0.0-alpha.26",
4
4
  "description": "A utility-first CSS framework for rapidly building custom user interfaces.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,17 +25,13 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "lightningcss": "^1.26.0",
28
- "postcss": "^8.4.41",
29
- "postcss-import": "^16.1.0",
30
- "@tailwindcss/node": "4.0.0-alpha.24",
31
- "@tailwindcss/oxide": "4.0.0-alpha.24",
32
- "tailwindcss": "4.0.0-alpha.24"
28
+ "@tailwindcss/node": "4.0.0-alpha.26",
29
+ "@tailwindcss/oxide": "4.0.0-alpha.26",
30
+ "tailwindcss": "4.0.0-alpha.26"
33
31
  },
34
32
  "devDependencies": {
35
33
  "@types/node": "^20.14.8",
36
- "@types/postcss-import": "^14.0.3",
37
- "vite": "^5.4.0",
38
- "internal-postcss-fix-relative-paths": "0.0.0"
34
+ "vite": "^5.4.0"
39
35
  },
40
36
  "peerDependencies": {
41
37
  "vite": "^5.2.0"