@tailwindcss/cli 4.0.17 → 4.1.1

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 +4 -4
  2. package/package.json +4 -5
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- var rt=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),ot=t=>{throw TypeError(t)};var q=(t,e,n)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&ot("Object expected");var i,r;n&&(i=e[rt("asyncDispose")]),i===void 0&&(i=e[rt("dispose")],n&&(r=i)),typeof i!="function"&&ot("Object not disposable"),r&&(i=function(){try{r.call(this)}catch(o){return Promise.reject(o)}}),t.push([n,i,e])}else n&&t.push([n]);return e},K=(t,e,n)=>{var i=typeof SuppressedError=="function"?SuppressedError:function(a,s,l,u){return u=Error(l),u.name="SuppressedError",u.error=a,u.suppressed=s,u},r=a=>e=n?new i(a,e,"An error was suppressed during disposal"):(n=!0,a),o=a=>{for(;a=t.pop();)try{var s=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(s).then(o,l=>(r(l),o()))}catch(l){r(l)}if(n)throw e};return o()};import vt from"mri";function lt(t,e=process.argv.slice(2)){for(let[r,o]of e.entries())o==="-"&&(e[r]="__IO_DEFAULT_VALUE__");let n=vt(e);for(let r in n)n[r]==="__IO_DEFAULT_VALUE__"&&(n[r]="-");let i={_:n._};for(let[r,{type:o,alias:a,default:s=o==="boolean"?!1:null}]of Object.entries(t)){if(i[r]=s,a){let l=a.slice(1);n[l]!==void 0&&(i[r]=st(n[l],o))}{let l=r.slice(2);n[l]!==void 0&&(i[r]=st(n[l],o))}}return i}function st(t,e){switch(e){case"string":return D(t);case"boolean":return O(t);case"number":return B(t);case"boolean | string":return O(t)??D(t);case"number | string":return B(t)??D(t);case"boolean | number":return O(t)??B(t);case"boolean | number | string":return O(t)??B(t)??D(t);default:throw new Error(`Unhandled type: ${e}`)}}function O(t){if(t===!0||t===!1)return t;if(t==="true")return!0;if(t==="false")return!1}function B(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function D(t){return`${t}`}import Nt from"@parcel/watcher";import{compile as zt,env as Lt,Instrumentation as dt}from"@tailwindcss/node";import{clearRequireCache as Ut}from"@tailwindcss/node/require-cache";import{Scanner as Wt}from"@tailwindcss/oxide";import{Features as U,transform as It}from"lightningcss";import{existsSync as Et}from"node:fs";import Y from"node:fs/promises";import A from"node:path";var F=class{#t=new Set([]);queueMacrotask(e){let n=setTimeout(e,0);return this.add(()=>{clearTimeout(n)})}add(e){return this.#t.add(e),()=>{this.#t.delete(e),e()}}async dispose(){for(let e of this.#t)await e();this.#t.clear()}};import Rt from"node:fs";import ct from"node:path";import{stripVTControlCharacters as Ot}from"node:util";import y from"picocolors";import at from"enhanced-resolve";import At from"node:fs";import{createRequire as Ft}from"node:module";var kt=Ft(import.meta.url).resolve;function ut(t){if(typeof globalThis.__tw_resolve=="function"){let e=globalThis.__tw_resolve(t);if(e)return e}return kt(t)}var Yt=at.ResolverFactory.createResolver({fileSystem:new at.CachedInputFileSystem(At,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"]});function pt(t){let e=typeof t=="number"?BigInt(t):t;return e<1000n?`${e}ns`:(e/=1000n,e<1000n?`${e}\xB5s`:(e/=1000n,e<1000n?`${e}ms`:(e/=1000n,e<60n?`${e}s`:(e/=60n,e<60n?`${e}m`:(e/=60n,e<24n?`${e}h`:(e/=24n,`${e}d`))))))}var N={indent:2};function C(){return`${y.italic(y.bold(y.blue("\u2248")))} tailwindcss ${y.blue(`v${Bt()}`)}`}function v(t){return`${y.dim(y.blue("`"))}${y.blue(t)}${y.dim(y.blue("`"))}`}function z(t,e=process.cwd(),{preferAbsoluteIfShorter:n=!0}={}){let i=ct.relative(e,t);return i.startsWith("..")||(i=`.${ct.sep}${i}`),n&&i.length>t.length?t:i}function G(t,e){let n=t.split(" "),i=[],r="",o=0;for(let a of n){let s=Ot(a).length;o+s+1>e&&(i.push(r),r="",o=0),r+=(o?" ":"")+a,o+=s+(o?1:0)}return o&&i.push(r),i}function L(t){let e=pt(t);return t<=50*1e6?y.green(e):t<=300*1e6?y.blue(e):t<=1e3*1e6?y.yellow(e):y.red(e)}function k(t,e=0){return`${" ".repeat(e+N.indent)}${t}`}function h(t=""){process.stderr.write(`${t}
2
+ var it=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),rt=t=>{throw TypeError(t)};var q=(t,e,n)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&rt("Object expected");var i,o;n&&(i=e[it("asyncDispose")]),i===void 0&&(i=e[it("dispose")],n&&(o=i)),typeof i!="function"&&rt("Object not disposable"),o&&(i=function(){try{o.call(this)}catch(r){return Promise.reject(r)}}),t.push([n,i,e])}else n&&t.push([n]);return e},K=(t,e,n)=>{var i=typeof SuppressedError=="function"?SuppressedError:function(a,s,l,u){return u=Error(l),u.name="SuppressedError",u.error=a,u.suppressed=s,u},o=a=>e=n?new i(a,e,"An error was suppressed during disposal"):(n=!0,a),r=a=>{for(;a=t.pop();)try{var s=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(s).then(r,l=>(o(l),r()))}catch(l){o(l)}if(n)throw e};return r()};import Ct from"mri";function st(t,e=process.argv.slice(2)){for(let[o,r]of e.entries())r==="-"&&(e[o]="__IO_DEFAULT_VALUE__");let n=Ct(e);for(let o in n)n[o]==="__IO_DEFAULT_VALUE__"&&(n[o]="-");let i={_:n._};for(let[o,{type:r,alias:a,default:s=r==="boolean"?!1:null}]of Object.entries(t)){if(i[o]=s,a){let l=a.slice(1);n[l]!==void 0&&(i[o]=ot(n[l],r))}{let l=o.slice(2);n[l]!==void 0&&(i[o]=ot(n[l],r))}}return i}function ot(t,e){switch(e){case"string":return z(t);case"boolean":return R(t);case"number":return B(t);case"boolean | string":return R(t)??z(t);case"number | string":return B(t)??z(t);case"boolean | number":return R(t)??B(t);case"boolean | number | string":return R(t)??B(t)??z(t);default:throw new Error(`Unhandled type: ${e}`)}}function R(t){if(t===!0||t===!1)return t;if(t==="true")return!0;if(t==="false")return!1}function B(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function z(t){return`${t}`}import zt from"@parcel/watcher";import{compile as Dt,env as Nt,Instrumentation as ft,optimize as Et}from"@tailwindcss/node";import{clearRequireCache as Wt}from"@tailwindcss/node/require-cache";import{Scanner as It}from"@tailwindcss/oxide";import{existsSync as Ut}from"node:fs";import Q from"node:fs/promises";import A from"node:path";var F=class{#t=new Set([]);queueMacrotask(e){let n=setTimeout(e,0);return this.add(()=>{clearTimeout(n)})}add(e){return this.#t.add(e),()=>{this.#t.delete(e),e()}}async dispose(){for(let e of this.#t)await e();this.#t.clear()}};import kt from"node:fs";import pt from"node:path";import{stripVTControlCharacters as Ot}from"node:util";import y from"picocolors";import lt from"enhanced-resolve";import vt from"node:fs";import{createRequire as At}from"node:module";var Ft=At(import.meta.url).resolve;function at(t){if(typeof globalThis.__tw_resolve=="function"){let e=globalThis.__tw_resolve(t);if(e)return e}return Ft(t)}var Jt=lt.ResolverFactory.createResolver({fileSystem:new lt.CachedInputFileSystem(vt,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"]});function ut(t){let e=typeof t=="number"?BigInt(t):t;return e<1000n?`${e}ns`:(e/=1000n,e<1000n?`${e}\xB5s`:(e/=1000n,e<1000n?`${e}ms`:(e/=1000n,e<60n?`${e}s`:(e/=60n,e<60n?`${e}m`:(e/=60n,e<24n?`${e}h`:(e/=24n,`${e}d`))))))}var D={indent:2};function C(){return`${y.italic(y.bold(y.blue("\u2248")))} tailwindcss ${y.blue(`v${Rt()}`)}`}function v(t){return`${y.dim(y.blue("`"))}${y.blue(t)}${y.dim(y.blue("`"))}`}function N(t,e=process.cwd(),{preferAbsoluteIfShorter:n=!0}={}){let i=pt.relative(e,t);return i.startsWith("..")||(i=`.${pt.sep}${i}`),n&&i.length>t.length?t:i}function M(t,e){let n=t.split(" "),i=[],o="",r=0;for(let a of n){let s=Ot(a).length;r+s+1>e&&(i.push(o),o="",r=0),o+=(r?" ":"")+a,r+=s+(r?1:0)}return r&&i.push(o),i}function E(t){let e=ut(t);return t<=50*1e6?y.green(e):t<=300*1e6?y.blue(e):t<=1e3*1e6?y.yellow(e):y.red(e)}function k(t,e=0){return`${" ".repeat(e+D.indent)}${t}`}function h(t=""){process.stderr.write(`${t}
3
3
  `)}function d(t=""){process.stdout.write(`${t}
4
- `)}function Bt(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:t}=JSON.parse(Rt.readFileSync(ut("tailwindcss/package.json"),"utf-8"));return t}import J from"node:fs/promises";import Dt from"node:path";function Q(){return new Promise((t,e)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>t(n)),process.stdin.on("error",i=>e(i))})}async function ft(t,e){try{if(await J.readFile(t,"utf8")===e)return}catch{}await J.mkdir(Dt.dirname(t),{recursive:!0}),await J.writeFile(t,e,"utf8")}var mt=String.raw,p=Lt.DEBUG;function W(){return{"--input":{type:"string",description:"Input file",alias:"-i"},"--output":{type:"string",description:"Output file",alias:"-o",default:"-"},"--watch":{type:"boolean | string",description:"Watch for changes and rebuild as needed",alias:"-w"},"--minify":{type:"boolean",description:"Optimize and minify the output",alias:"-m"},"--optimize":{type:"boolean",description:"Optimize the output without minifying"},"--cwd":{type:"string",description:"The current working directory",default:"."}}}async function ht(t){try{return await t()}catch(e){e instanceof Error&&h(e.toString()),process.exit(1)}}async function bt(t){var tt=[];try{let e=q(tt,new dt);p&&e.start("[@tailwindcss/cli] (initial build)");let n=A.resolve(t["--cwd"]);t["--output"]&&t["--output"]!=="-"&&(t["--output"]=A.resolve(n,t["--output"]));t["--input"]&&t["--input"]!=="-"&&(t["--input"]=A.resolve(n,t["--input"]),Et(t["--input"])||(h(C()),h(),h(`Specified input file ${v(z(t["--input"]))} does not exist.`),process.exit(1)));t["--input"]===t["--output"]&&t["--input"]!=="-"&&(h(C()),h(),h(`Specified input file ${v(z(t["--input"]))} and output file ${v(z(t["--output"]))} are identical.`),process.exit(1));let i=process.hrtime.bigint();let r=t["--input"]?t["--input"]==="-"?await Q():await Y.readFile(t["--input"],"utf-8"):mt`
4
+ `)}function Rt(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:t}=JSON.parse(kt.readFileSync(at("tailwindcss/package.json"),"utf-8"));return t}import G from"node:fs/promises";import Bt from"node:path";function J(){return new Promise((t,e)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>t(n)),process.stdin.on("error",i=>e(i))})}async function ct(t,e){try{if(await G.readFile(t,"utf8")===e)return}catch{}await G.mkdir(Bt.dirname(t),{recursive:!0}),await G.writeFile(t,e,"utf8")}var dt=String.raw,p=Nt.DEBUG;function W(){return{"--input":{type:"string",description:"Input file",alias:"-i"},"--output":{type:"string",description:"Output file",alias:"-o",default:"-"},"--watch":{type:"boolean | string",description:"Watch for changes and rebuild as needed",alias:"-w"},"--minify":{type:"boolean",description:"Optimize and minify the output",alias:"-m"},"--optimize":{type:"boolean",description:"Optimize the output without minifying"},"--cwd":{type:"string",description:"The current working directory",default:"."}}}async function mt(t){try{return await t()}catch(e){e instanceof Error&&h(e.toString()),process.exit(1)}}async function yt(t){var Z=[];try{let e=q(Z,new ft);p&&e.start("[@tailwindcss/cli] (initial build)");let n=A.resolve(t["--cwd"]);t["--output"]&&t["--output"]!=="-"&&(t["--output"]=A.resolve(n,t["--output"]));t["--input"]&&t["--input"]!=="-"&&(t["--input"]=A.resolve(n,t["--input"]),Ut(t["--input"])||(h(C()),h(),h(`Specified input file ${v(N(t["--input"]))} does not exist.`),process.exit(1)));t["--input"]===t["--output"]&&t["--input"]!=="-"&&(h(C()),h(),h(`Specified input file ${v(N(t["--input"]))} and output file ${v(N(t["--output"]))} are identical.`),process.exit(1));let i=process.hrtime.bigint();let o=t["--input"]?t["--input"]==="-"?await J():await Q.readFile(t["--input"],"utf-8"):dt`
5
5
  @import 'tailwindcss';
6
- `;let o={css:"",optimizedCss:""};async function a(S,w,m){let x=S;if(w["--minify"]||w["--optimize"])if(S!==o.css){p&&m.start("Optimize CSS");let _=Pt(S,{file:w["--input"]??"input.css",minify:w["--minify"]??!1});p&&m.end("Optimize CSS"),o.css=S,o.optimizedCss=_,x=_}else x=o.optimizedCss;p&&m.start("Write output"),w["--output"]&&w["--output"]!=="-"?await ft(w["--output"],x):d(x),p&&m.end("Write output")}let s=t["--input"]&&t["--input"]!=="-"?A.resolve(t["--input"]):null;let l=s?A.dirname(s):process.cwd();let u=s?[s]:[];async function f(S,w){p&&w.start("Setup compiler");let m=await zt(S,{base:l,onDependency(P){u.push(P)}}),x=(m.root==="none"?[]:m.root===null?[{base:n,pattern:"**/*"}]:[m.root]).concat(m.globs),_=new Wt({sources:x});return p&&w.end("Setup compiler"),[m,_]}let[b,g]=await ht(()=>f(r,e));if(t["--watch"]){let S=await yt(gt(g),async function w(m){try{var x=[];try{if(m.length===1&&m[0]===t["--output"])return;let c=q(x,new dt);p&&c.start("[@tailwindcss/cli] (watcher)");let et=process.hrtime.bigint();let nt=[];let j="incremental";let it=u;for(let $ of m){if(it.includes($)){j="full";break}nt.push({file:$,extension:A.extname($).slice(1)})}let M="";if(j==="full"){let $=t["--input"]?t["--input"]==="-"?await Q():await Y.readFile(t["--input"],"utf-8"):mt`
6
+ `;let r={css:"",optimizedCss:""};async function a(S,w,m){let x=S;if(w["--minify"]||w["--optimize"])if(S!==r.css){p&&m.start("Optimize CSS");let _=Et(S,{file:w["--input"]??"input.css",minify:w["--minify"]??!1});p&&m.end("Optimize CSS"),r.css=S,r.optimizedCss=_,x=_}else x=r.optimizedCss;p&&m.start("Write output"),w["--output"]&&w["--output"]!=="-"?await ct(w["--output"],x):d(x),p&&m.end("Write output")}let s=t["--input"]&&t["--input"]!=="-"?A.resolve(t["--input"]):null;let l=s?A.dirname(s):process.cwd();let u=s?[s]:[];async function f(S,w){p&&w.start("Setup compiler");let m=await Dt(S,{base:l,onDependency(L){u.push(L)}}),x=(m.root==="none"?[]:m.root===null?[{base:n,pattern:"**/*",negated:!1}]:[{...m.root,negated:!1}]).concat(m.sources),_=new It({sources:x});return p&&w.end("Setup compiler"),[m,_]}let[b,g]=await mt(()=>f(o,e));if(t["--watch"]){let S=await ht(gt(g),async function w(m){try{var x=[];try{if(m.length===1&&m[0]===t["--output"])return;let c=q(x,new ft);p&&c.start("[@tailwindcss/cli] (watcher)");let tt=process.hrtime.bigint();let et=[];let j="incremental";let nt=u;for(let $ of m){if(nt.includes($)){j="full";break}et.push({file:$,extension:A.extname($).slice(1)})}let P="";if(j==="full"){let $=t["--input"]?t["--input"]==="-"?await J():await Q.readFile(t["--input"],"utf-8"):dt`
7
7
  @import 'tailwindcss';
8
- `;Ut(it),u=s?[s]:[],[b,g]=await f($,c),p&&c.start("Scan for candidates");let V=g.scan();p&&c.end("Scan for candidates"),p&&c.start("Setup new watchers");let Ct=await yt(gt(g),w);p&&c.end("Setup new watchers"),p&&c.start("Cleanup old watchers"),await S(),p&&c.end("Cleanup old watchers"),S=Ct,p&&c.start("Build CSS"),M=b.build(V),p&&c.end("Build CSS")}else if(j==="incremental"){p&&c.start("Scan for candidates");let $=g.scanFiles(nt);if(p&&c.end("Scan for candidates"),$.length<=0){let V=process.hrtime.bigint();h(`Done in ${L(V-et)}`);return}p&&c.start("Build CSS"),M=b.build($),p&&c.end("Build CSS")}await a(M,t,c);let _t=process.hrtime.bigint();h(`Done in ${L(_t-et)}`)}catch(_){var P=_,Tt=!0}finally{K(x,P,Tt)}}catch(c){c instanceof Error&&h(c.toString())}});t["--watch"]!=="always"&&process.stdin.on("end",()=>{S().then(()=>process.exit(0),()=>process.exit(1))}),process.stdin.resume()}p&&e.start("Scan for candidates");let I=g.scan();p&&e.end("Scan for candidates");p&&e.start("Build CSS");let R=await ht(()=>b.build(I));p&&e.end("Build CSS");await a(R,t,e);let E=process.hrtime.bigint();h(C());h();h(`Done in ${L(E-i)}`)}catch(St){var xt=St,$t=!0}finally{K(tt,xt,$t)}}function gt(t){return t.globs.flatMap(e=>e.pattern[0]==="!"?[]:e.pattern===""?[]:e.base)}async function yt(t,e){t=t.sort((s,l)=>s.length-l.length);let n=[];for(let s=0;s<t.length;++s)for(let l=0;l<s;++l)t[s].startsWith(`${t[l]}/`)&&n.push(t[s]);t=t.filter(s=>!n.includes(s));let i=new F,r=new Set,o=new F;async function a(){await o.dispose(),o.queueMacrotask(()=>{e(Array.from(r)),r.clear()})}for(let s of t){let{unsubscribe:l}=await Nt.subscribe(s,async(u,f)=>{if(u){console.error(u);return}await Promise.all(f.map(async b=>{if(b.type==="delete")return;let g=null;try{g=await Y.lstat(b.path)}catch{}!g?.isFile()&&!g?.isSymbolicLink()||r.add(b.path)})),await a()});i.add(l)}return async()=>{await i.dispose(),await o.dispose()}}function Pt(t,{file:e="input.css",minify:n=!1}={}){function i(r){return It({filename:e,code:r,minify:n,sourceMap:!1,drafts:{customMedia:!0},nonStandard:{deepSelectorCombinator:!0},include:U.Nesting,exclude:U.LogicalProperties|U.DirSelector|U.LightDark,targets:{safari:16<<16|1024,ios_saf:16<<16|1024,firefox:8388608,chrome:7274496},errorRecovery:!0}).code}return i(i(Buffer.from(t))).toString()}import T from"picocolors";function H({invalid:t,usage:e,options:n}){let i=process.stdout.columns;if(d(C()),t&&(d(),d(`${T.dim("Invalid command:")} ${t}`)),e&&e.length>0){d(),d(T.dim("Usage:"));for(let[r,o]of e.entries()){let a=o.slice(0,o.indexOf("[")),s=o.slice(o.indexOf("["));s=s.replace(/\[.*?\]/g,f=>T.dim(f));let u=G(s,i-N.indent-a.length-1);u.length>1&&r!==0&&d(),d(k(`${a}${u.shift()}`));for(let f of u)d(k(f,a.length))}}if(n){let r=0;for(let{alias:l}of Object.values(n))l&&(r=Math.max(r,l.length));let o=[],a=0;for(let[l,{alias:u}]of Object.entries(n)){let f=[u&&`${u.padStart(r)}`,u?l:" ".repeat(r+2)+l].filter(Boolean).join(", ");o.push(f),a=Math.max(a,f.length)}d(),d(T.dim("Options:"));let s=8;for(let{description:l,default:u=null}of Object.values(n)){let f=o.shift(),b=s+(a-f.length),g=2,I=i-f.length-b-g-N.indent,R=G(u!==null?`${l} ${T.dim(`[default:\u202F${v(`${u}`)}]`)}`:l,I);d(k(`${T.blue(f)} ${T.dim(T.gray("\xB7")).repeat(b)} ${R.shift()}`));for(let E of R)d(k(`${" ".repeat(f.length+b+g)}${E}`))}}}var X={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},Z=lt({...W(),...X}),wt=Z._[0];wt&&(H({invalid:wt,usage:["tailwindcss [options]"],options:{...W(),...X}}),process.exit(1));(process.stdout.isTTY&&process.argv[2]===void 0||Z["--help"])&&(H({usage:["tailwindcss [--input input.css] [--output output.css] [--watch] [options\u2026]"],options:{...W(),...X}}),process.exit(0));bt(Z);
8
+ `;Wt(nt),u=s?[s]:[],[b,g]=await f($,c),p&&c.start("Scan for candidates");let V=g.scan();p&&c.end("Scan for candidates"),p&&c.start("Setup new watchers");let _t=await ht(gt(g),w);p&&c.end("Setup new watchers"),p&&c.start("Cleanup old watchers"),await S(),p&&c.end("Cleanup old watchers"),S=_t,p&&c.start("Build CSS"),P=b.build(V),p&&c.end("Build CSS")}else if(j==="incremental"){p&&c.start("Scan for candidates");let $=g.scanFiles(et);if(p&&c.end("Scan for candidates"),$.length<=0){let V=process.hrtime.bigint();h(`Done in ${E(V-tt)}`);return}p&&c.start("Build CSS"),P=b.build($),p&&c.end("Build CSS")}await a(P,t,c);let Tt=process.hrtime.bigint();h(`Done in ${E(Tt-tt)}`)}catch(_){var L=_,$t=!0}finally{K(x,L,$t)}}catch(c){c instanceof Error&&h(c.toString())}});t["--watch"]!=="always"&&process.stdin.on("end",()=>{S().then(()=>process.exit(0),()=>process.exit(1))}),process.stdin.resume()}p&&e.start("Scan for candidates");let I=g.scan();p&&e.end("Scan for candidates");p&&e.start("Build CSS");let O=await mt(()=>b.build(I));p&&e.end("Build CSS");await a(O,t,e);let U=process.hrtime.bigint();h(C());h();h(`Done in ${E(U-i)}`)}catch(wt){var St=wt,xt=!0}finally{K(Z,St,xt)}}async function ht(t,e){t=t.sort((s,l)=>s.length-l.length);let n=[];for(let s=0;s<t.length;++s)for(let l=0;l<s;++l)t[s].startsWith(`${t[l]}/`)&&n.push(t[s]);t=t.filter(s=>!n.includes(s));let i=new F,o=new Set,r=new F;async function a(){await r.dispose(),r.queueMacrotask(()=>{e(Array.from(o)),o.clear()})}for(let s of t){let{unsubscribe:l}=await zt.subscribe(s,async(u,f)=>{if(u){console.error(u);return}await Promise.all(f.map(async b=>{if(b.type==="delete")return;let g=null;try{g=await Q.lstat(b.path)}catch{}!g?.isFile()&&!g?.isSymbolicLink()||o.add(b.path)})),await a()});i.add(l)}return async()=>{await i.dispose(),await r.dispose()}}function gt(t){return[...new Set(t.normalizedSources.flatMap(e=>e.base))]}import T from"picocolors";function Y({invalid:t,usage:e,options:n}){let i=process.stdout.columns;if(d(C()),t&&(d(),d(`${T.dim("Invalid command:")} ${t}`)),e&&e.length>0){d(),d(T.dim("Usage:"));for(let[o,r]of e.entries()){let a=r.slice(0,r.indexOf("[")),s=r.slice(r.indexOf("["));s=s.replace(/\[.*?\]/g,f=>T.dim(f));let u=M(s,i-D.indent-a.length-1);u.length>1&&o!==0&&d(),d(k(`${a}${u.shift()}`));for(let f of u)d(k(f,a.length))}}if(n){let o=0;for(let{alias:l}of Object.values(n))l&&(o=Math.max(o,l.length));let r=[],a=0;for(let[l,{alias:u}]of Object.entries(n)){let f=[u&&`${u.padStart(o)}`,u?l:" ".repeat(o+2)+l].filter(Boolean).join(", ");r.push(f),a=Math.max(a,f.length)}d(),d(T.dim("Options:"));let s=8;for(let{description:l,default:u=null}of Object.values(n)){let f=r.shift(),b=s+(a-f.length),g=2,I=i-f.length-b-g-D.indent,O=M(u!==null?`${l} ${T.dim(`[default:\u202F${v(`${u}`)}]`)}`:l,I);d(k(`${T.blue(f)} ${T.dim(T.gray("\xB7")).repeat(b)} ${O.shift()}`));for(let U of O)d(k(`${" ".repeat(f.length+b+g)}${U}`))}}}var H={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},X=st({...W(),...H}),bt=X._[0];bt&&(Y({invalid:bt,usage:["tailwindcss [options]"],options:{...W(),...H}}),process.exit(1));(process.stdout.isTTY&&process.argv[2]===void 0||X["--help"])&&(Y({usage:["tailwindcss [--input input.css] [--output output.css] [--watch] [options\u2026]"],options:{...W(),...H}}),process.exit(0));yt(X);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailwindcss/cli",
3
- "version": "4.0.17",
3
+ "version": "4.1.1",
4
4
  "description": "A utility-first CSS framework for rapidly building custom user interfaces.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,12 +26,11 @@
26
26
  "dependencies": {
27
27
  "@parcel/watcher": "^2.5.1",
28
28
  "enhanced-resolve": "^5.18.1",
29
- "lightningcss": "1.29.2",
30
29
  "mri": "^1.2.0",
31
30
  "picocolors": "^1.1.1",
32
- "@tailwindcss/node": "4.0.17",
33
- "@tailwindcss/oxide": "4.0.17",
34
- "tailwindcss": "4.0.17"
31
+ "@tailwindcss/node": "4.1.1",
32
+ "@tailwindcss/oxide": "4.1.1",
33
+ "tailwindcss": "4.1.1"
35
34
  },
36
35
  "scripts": {
37
36
  "lint": "tsc --noEmit",