@tailwindcss/cli 0.0.0-insiders.dfc449c → 0.0.0-insiders.e01946f

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 +20 -13
  2. package/package.json +4 -4
package/dist/index.mjs CHANGED
@@ -1,17 +1,24 @@
1
1
  #!/usr/bin/env node
2
- var ht=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),gt=t=>{throw TypeError(t)};var et=(t,e,n)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&gt("Object expected");var i,s;n&&(i=e[ht("asyncDispose")]),i===void 0&&(i=e[ht("dispose")],n&&(s=i)),typeof i!="function"&&gt("Object not disposable"),s&&(i=function(){try{s.call(this)}catch(r){return Promise.reject(r)}}),t.push([n,i,e])}else n&&t.push([n]);return e},nt=(t,e,n)=>{var i=typeof SuppressedError=="function"?SuppressedError:function(l,o,a,c){return c=Error(a),c.name="SuppressedError",c.error=l,c.suppressed=o,c},s=l=>e=n?new i(l,e,"An error was suppressed during disposal"):(n=!0,l),r=l=>{for(;l=t.pop();)try{var o=l[1]&&l[1].call(l[2]);if(l[0])return Promise.resolve(o).then(r,a=>(s(a),r()))}catch(a){s(a)}if(n)throw e};return r()};import Mt from"mri";function R(t,e=process.argv.slice(2)){for(let[s,r]of e.entries())r==="-"&&(e[s]="__IO_DEFAULT_VALUE__");let n=Mt(e);for(let s in n){let r=n[s];s!=="_"&&Array.isArray(r)&&(r=r[r.length-1]),r==="__IO_DEFAULT_VALUE__"&&(r="-"),n[s]=r}let i={_:n._};for(let[s,{type:r,alias:l,default:o=r==="boolean"?!1:null}]of Object.entries(t)){if(i[s]=o,l){let a=l.slice(1);n[a]!==void 0&&(i[s]=wt(n[a],r))}{let a=s.slice(2);n[a]!==void 0&&(i[s]=wt(n[a],r))}}return i}function wt(t,e){switch(e){case"string":return I(t);case"boolean":return U(t);case"number":return z(t);case"boolean | string":return U(t)??I(t);case"number | string":return z(t)??I(t);case"boolean | number":return U(t)??z(t);case"boolean | number | string":return U(t)??z(t)??I(t);default:throw new Error(`Unhandled type: ${e}`)}}function U(t){if(t===!0||t===!1)return t;if(t==="true")return!0;if(t==="false")return!1}function z(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function I(t){return`${t}`}import qt from"@parcel/watcher";import{compile as Qt,env as Ht,Instrumentation as xt,optimize as Jt,toSourceMap as Y}from"@tailwindcss/node";import{clearRequireCache as Zt}from"@tailwindcss/node/require-cache";import{Scanner as Xt}from"@tailwindcss/oxide";import{existsSync as te}from"fs";import lt from"fs/promises";import T from"path";var P=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"fs";import Ct from"path";import{stripVTControlCharacters as Gt}from"util";import w from"picocolors";import bt from"enhanced-resolve";import jt from"fs";import{createRequire as Dt}from"module";var Wt=Dt(import.meta.url).resolve;function yt(t){if(typeof globalThis.__tw_resolve=="function"){let e=globalThis.__tw_resolve(t);if(e)return e}return Wt(t)}var Ee=bt.ResolverFactory.createResolver({fileSystem:new bt.CachedInputFileSystem(jt,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"]});function St(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 M={indent:2};function j(){return`${w.italic(w.bold(w.blue("\u2248")))} tailwindcss ${w.blue(`v${Yt()}`)}`}function A(t){return`${w.dim(w.blue("`"))}${w.blue(t)}${w.dim(w.blue("`"))}`}function D(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 it(t,e){let n=t.split(" "),i=[],s="",r=0;for(let l of n){let o=Gt(l).length;r+o+1>e&&(i.push(s),s="",r=0),s+=(r?" ":"")+l,r+=o+(r?1:0)}return r&&i.push(s),i}function W(t){let e=St(t);return t<=50*1e6?w.green(e):t<=300*1e6?w.blue(e):t<=1e3*1e6?w.yellow(e):w.red(e)}function B(t,e=0){return`${" ".repeat(e+M.indent)}${t}`}function _(t=""){process.stderr.write(`${t}
3
- `)}function K(t=""){process.stdout.write(`${t}
4
- `)}function Yt(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:t}=JSON.parse(Kt.readFileSync(yt("tailwindcss/package.json"),"utf-8"));return t}import G from"fs/promises";import Vt from"path";function rt(){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 ot(t,e){if(!await G.stat(t).then(i=>i.isCharacterDevice()||i.isFIFO()).catch(()=>!1))try{if(await G.readFile(t,"utf8")===e)return}catch{}await G.mkdir(Vt.dirname(t),{recursive:!0}),await G.writeFile(t,e,"utf8")}var _t=String.raw,u=Ht.DEBUG;function $(){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, and use `always` to keep watching when stdin is closed",alias:"-w",values:["always"]},"--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:"."},"--map":{type:"boolean | string",description:"Generate a source map",default:!1}}}async function st(t){try{return await t()}catch(e){e instanceof Error&&_(e.toString()),process.exit(1)}}async function at(t){var L=[];try{_(j());_();let e=et(L,new xt);u&&e.start("[@tailwindcss/cli] (initial build)");let n=T.resolve(t["--cwd"]);t["--output"]&&t["--output"]!=="-"&&(t["--output"]=T.resolve(n,t["--output"]));t["--input"]&&t["--input"]!=="-"&&(t["--input"]=T.resolve(n,t["--input"]),te(t["--input"])||(_(`Specified input file ${A(D(t["--input"]))} does not exist.`),process.exit(1)));t["--input"]===t["--output"]&&t["--input"]!=="-"&&(_(`Specified input file ${A(D(t["--input"]))} and output file ${A(D(t["--output"]))} are identical.`),process.exit(1));t["--map"]==="-"&&(_("Use --map without a value to inline the source map"),process.exit(1));t["--map"]&&t["--map"]!==!0&&(t["--map"]=T.resolve(n,t["--map"]));let i=process.hrtime.bigint();let s=t["--input"]?t["--input"]==="-"?await rt():await lt.readFile(t["--input"],"utf-8"):_t`
2
+ var he=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),ge=e=>{throw TypeError(e)};var te=(e,t,n)=>{if(t!=null){typeof t!="object"&&typeof t!="function"&&ge("Object expected");var i,o;n&&(i=t[he("asyncDispose")]),i===void 0&&(i=t[he("dispose")],n&&(o=i)),typeof i!="function"&&ge("Object not disposable"),o&&(i=function(){try{o.call(this)}catch(r){return Promise.reject(r)}}),e.push([n,i,t])}else n&&e.push([n]);return t},ne=(e,t,n)=>{var i=typeof SuppressedError=="function"?SuppressedError:function(a,s,l,c){return c=Error(l),c.name="SuppressedError",c.error=a,c.suppressed=s,c},o=a=>t=n?new i(a,t,"An error was suppressed during disposal"):(n=!0,a),r=a=>{for(;a=e.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 t};return r()};import De from"mri";function v(e,t=process.argv.slice(2)){for(let[o,r]of t.entries())r==="-"&&(t[o]="__IO_DEFAULT_VALUE__");let n=De(t);for(let o in n){let r=n[o];o!=="_"&&Array.isArray(r)&&(r=r[r.length-1]),r==="__IO_DEFAULT_VALUE__"&&(r="-"),n[o]=r}let i={_:n._};for(let[o,{type:r,alias:a,default:s=r==="boolean"?!1:null}]of Object.entries(e)){if(i[o]=s,a){let l=a.slice(1);n[l]!==void 0&&(i[o]=we(n[l],r))}{let l=o.slice(2);n[l]!==void 0&&(i[o]=we(n[l],r))}}return i}function we(e,t){switch(t){case"string":return z(e);case"boolean":return j(e);case"number":return U(e);case"boolean | string":return j(e)??z(e);case"number | string":return U(e)??z(e);case"boolean | number":return j(e)??U(e);case"boolean | number | string":return j(e)??U(e)??z(e);default:throw new Error(`Unhandled type: ${t}`)}}function j(e){if(e===!0||e===!1)return e;if(e==="true")return!0;if(e==="false")return!1}function U(e){if(typeof e=="number")return e;{let t=Number(e);if(!Number.isNaN(t))return t}}function z(e){return`${e}`}import Qe from"@parcel/watcher";import{compile as He,env as Ze,Instrumentation as xe,optimize as Xe,toSourceMap as Y}from"@tailwindcss/node";import{clearRequireCache as et}from"@tailwindcss/node/require-cache";import{Scanner as tt}from"@tailwindcss/oxide";import{existsSync as nt}from"fs";import ae from"fs/promises";import T from"path";var k=class{#e=new Set([]);queueMacrotask(t){let n=setTimeout(t,0);return this.add(()=>{clearTimeout(n)})}add(t){return this.#e.add(t),()=>{this.#e.delete(t),t()}}async dispose(){for(let t of this.#e)await t();this.#e.clear()}};import Ye from"fs";import Ce from"path";import{stripVTControlCharacters as Ve}from"util";import w from"picocolors";import be from"enhanced-resolve";import We from"fs";import{createRequire as Ge}from"module";var Ke=Ge(import.meta.url).resolve;function ye(e){if(typeof globalThis.__tw_resolve=="function"){let t=globalThis.__tw_resolve(e);if(t)return t}return Ke(e)}var $t=be.ResolverFactory.createResolver({fileSystem:new be.CachedInputFileSystem(We,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"]});function Se(e){let t=typeof e=="number"?BigInt(e):e;return t<1000n?`${t}ns`:(t/=1000n,t<1000n?`${t}\xB5s`:(t/=1000n,t<1000n?`${t}ms`:(t/=1000n,t<60n?`${t}s`:(t/=60n,t<60n?`${t}m`:(t/=60n,t<24n?`${t}h`:(t/=24n,`${t}d`))))))}var I={indent:2};function M(){return`${w.italic(w.bold(w.blue("\u2248")))} tailwindcss ${w.blue(`v${qe()}`)}`}function A(e){return`${w.dim(w.blue("`"))}${w.blue(e)}${w.dim(w.blue("`"))}`}function D(e,t=process.cwd(),{preferAbsoluteIfShorter:n=!0}={}){let i=Ce.relative(t,e);return i.startsWith("..")||(i=`.${Ce.sep}${i}`),n&&i.length>e.length?e:i}function ie(e,t){let n=e.split(" "),i=[],o="",r=0;for(let a of n){let s=Ve(a).length;r+s+1>t&&(i.push(o),o="",r=0),o+=(r?" ":"")+a,r+=s+(r?1:0)}return r&&i.push(o),i}function W(e){let t=Se(e);return e<=50*1e6?w.green(t):e<=300*1e6?w.blue(t):e<=1e3*1e6?w.yellow(t):w.red(t)}function P(e,t=0){return`${" ".repeat(t+I.indent)}${e}`}function _(e=""){process.stderr.write(`${e}
3
+ `)}function G(e=""){process.stdout.write(`${e}
4
+ `)}function qe(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:e}=JSON.parse(Ye.readFileSync(ye("tailwindcss/package.json"),"utf-8"));return e}import K from"fs/promises";import Je from"path";function re(){return new Promise((e,t)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>e(n)),process.stdin.on("error",i=>t(i))})}async function se(e,t){if(!await K.stat(e).then(i=>i.isCharacterDevice()||i.isFIFO()).catch(()=>!1))try{if(await K.readFile(e,"utf8")===t)return}catch{}await K.mkdir(Je.dirname(e),{recursive:!0}),await K.writeFile(e,t,"utf8")}var _e=String.raw,u=Ze.DEBUG;function $(){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, and use `always` to keep watching when stdin is closed",alias:"-w",values:["always"]},"--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:"."},"--map":{type:"boolean | string",description:"Generate a source map",default:!1}}}async function oe(e){try{return await e()}catch(t){t instanceof Error&&_(t.toString()),process.exit(1)}}async function le(e){var L=[];try{_(M());_();let t=te(L,new xe);u&&t.start("[@tailwindcss/cli] (initial build)");let n=T.resolve(e["--cwd"]);e["--output"]&&e["--output"]!=="-"&&(e["--output"]=T.resolve(n,e["--output"]));e["--input"]&&e["--input"]!=="-"&&(e["--input"]=T.resolve(n,e["--input"]),nt(e["--input"])||(_(`Specified input file ${A(D(e["--input"]))} does not exist.`),process.exit(1)));e["--input"]===e["--output"]&&e["--input"]!=="-"&&(_(`Specified input file ${A(D(e["--input"]))} and output file ${A(D(e["--output"]))} are identical.`),process.exit(1));e["--map"]==="-"&&(_("Use --map without a value to inline the source map"),process.exit(1));e["--map"]&&e["--map"]!==!0&&(e["--map"]=T.resolve(n,e["--map"]));let i=process.hrtime.bigint();let o=e["--input"]?e["--input"]==="-"?await re():await ae.readFile(e["--input"],"utf-8"):_e`
5
5
  @import 'tailwindcss';
6
- `;let r={css:"",optimizedCss:""};async function l(C,g,f,x){let y=C;if(f["--minify"]||f["--optimize"])if(C!==r.css){u&&x.start("Optimize CSS");let E=Jt(C,{file:f["--input"]??"input.css",minify:f["--minify"]??!1,map:g?.raw??void 0});u&&x.end("Optimize CSS"),r.css=C,r.optimizedCss=E.code,E.map&&(g=Y(E.map)),y=E.code}else y=r.optimizedCss;if(g){if(f["--map"]===!0)y+=`
7
- `,y+=g.inline;else if(typeof f["--map"]=="string"){let E=f["--output"]&&f["--output"]!=="-"?T.dirname(T.resolve(f["--output"])):process.cwd(),H=T.resolve(f["--map"]),m=T.relative(E,H);y+=`
8
- `,y+=g.comment(m),u&&x.start("Write source map"),await ot(f["--map"],g.raw),u&&x.end("Write source map")}}u&&x.start("Write output"),f["--output"]&&f["--output"]!=="-"?await ot(f["--output"],y):K(y),u&&x.end("Write output")}let o=t["--input"]&&t["--input"]!=="-"?T.resolve(t["--input"]):null;let a=o?T.dirname(o):process.cwd();let c=o?[o]:[];async function b(C,g){u&&g.start("Setup compiler");let f=await Qt(C,{from:t["--output"]?o??"stdin.css":void 0,base:a,onDependency(E){c.push(E)}}),x=(f.root==="none"?[]:f.root===null?[{base:n,pattern:"**/*",negated:!1}]:[{...f.root,negated:!1}]).concat(f.sources),y=new Xt({sources:x});return u&&g.end("Setup compiler"),[f,y]}let[p,d]=await st(()=>b(s,e));if(t["--watch"]){let C=[];C.push(await Tt(Et(d),async function g(f){try{var x=[];try{if(f.length===1&&f[0]===t["--output"])return;let m=et(x,new xt);u&&m.start("[@tailwindcss/cli] (watcher)");let dt=process.hrtime.bigint();let ft=[];let J="incremental";let mt=c;for(let O of f){if(mt.includes(O)){J="full";break}ft.push({file:O,extension:T.extname(O).slice(1)})}let Z="";let X=null;if(J==="full"){let O=t["--input"]?t["--input"]==="-"?await rt():await lt.readFile(t["--input"],"utf-8"):_t`
6
+ `;let r={css:"",optimizedCss:""};async function a(C,g,f,x){let y=C;if(f["--minify"]||f["--optimize"])if(C!==r.css){u&&x.start("Optimize CSS");let E=Xe(C,{file:f["--input"]??"input.css",minify:f["--minify"]??!1,map:g?.raw??void 0});u&&x.end("Optimize CSS"),r.css=C,r.optimizedCss=E.code,E.map&&(g=Y(E.map)),y=E.code}else y=r.optimizedCss;if(g){if(f["--map"]===!0)y+=`
7
+ `,y+=g.inline;else if(typeof f["--map"]=="string"){let E=f["--output"]&&f["--output"]!=="-"?T.dirname(T.resolve(f["--output"])):process.cwd(),Q=T.resolve(f["--map"]),m=T.relative(E,Q);y+=`
8
+ `,y+=g.comment(m),u&&x.start("Write source map"),await se(f["--map"],g.raw),u&&x.end("Write source map")}}u&&x.start("Write output"),f["--output"]&&f["--output"]!=="-"?await se(f["--output"],y):G(y),u&&x.end("Write output")}let s=e["--input"]&&e["--input"]!=="-"?T.resolve(e["--input"]):null;let l=s?T.dirname(s):process.cwd();let c=s?[s]:[];async function b(C,g){u&&g.start("Setup compiler");let f=await He(C,{from:e["--output"]?s??"stdin.css":void 0,base:l,onDependency(E){c.push(E)}}),x=(f.root==="none"?[]:f.root===null?[{base:n,pattern:"**/*",negated:!1}]:[{...f.root,negated:!1}]).concat(f.sources),y=new tt({sources:x});return u&&g.end("Setup compiler"),[f,y]}let[p,d]=await oe(()=>b(o,t));if(e["--watch"]){let C=[];C.push(await Te(Ee(d),async function g(f){try{var x=[];try{if(f.length===1&&f[0]===e["--output"])return;let m=te(x,new xe);u&&m.start("[@tailwindcss/cli] (watcher)");let de=process.hrtime.bigint();let fe=[];let H="incremental";let me=c;for(let O of f){if(me.includes(O)){H="full";break}fe.push({file:O,extension:T.extname(O).slice(1)})}let Z="";let X=null;if(H==="full"){let O=e["--input"]?e["--input"]==="-"?await re():await ae.readFile(e["--input"],"utf-8"):_e`
9
9
  @import 'tailwindcss';
10
- `;Zt(mt),c=o?[o]:[],[p,d]=await b(O,m),u&&m.start("Scan for candidates");let tt=d.scan();u&&m.end("Scan for candidates"),u&&m.start("Setup new watchers");let zt=await Tt(Et(d),g);u&&m.end("Setup new watchers"),u&&m.start("Cleanup old watchers"),await Promise.all(C.splice(0).map(It=>It())),u&&m.end("Cleanup old watchers"),C.push(zt),u&&m.start("Build CSS"),Z=p.build(tt),u&&m.end("Build CSS"),t["--map"]&&(u&&m.start("Build Source Map"),X=Y(p.buildSourceMap()),u&&m.end("Build Source Map"))}else if(J==="incremental"){u&&m.start("Scan for candidates");let O=d.scanFiles(ft);if(u&&m.end("Scan for candidates"),O.length<=0){let tt=process.hrtime.bigint();_(`Done in ${W(tt-dt)}`);return}u&&m.start("Build CSS"),Z=p.build(O),u&&m.end("Build CSS"),t["--map"]&&(u&&m.start("Build Source Map"),X=Y(p.buildSourceMap()),u&&m.end("Build Source Map"))}await l(Z,X,t,m);let Ut=process.hrtime.bigint();_(`Done in ${W(Ut-dt)}`)}catch(y){var E=y,H=!0}finally{nt(x,E,H)}}catch(m){m instanceof Error&&_(m.toString())}})),t["--watch"]!=="always"&&process.stdin.on("end",()=>{Promise.all(C.map(g=>g())).then(()=>process.exit(0),()=>process.exit(1))}),process.stdin.resume()}u&&e.start("Scan for candidates");let h=d.scan();u&&e.end("Scan for candidates");u&&e.start("Build CSS");let S=await st(()=>p.build(h));u&&e.end("Build CSS");let N=null;t["--map"]&&(u&&e.start("Build Source Map"),N=await st(()=>Y(p.buildSourceMap())),u&&e.end("Build Source Map"));await l(S,N,t,e);let q=process.hrtime.bigint();_(`Done in ${W(q-i)}`)}catch(Q){var Ft=Q,kt=!0}finally{nt(L,Ft,kt)}}async function Tt(t,e){t=t.sort((o,a)=>o.length-a.length);let n=[];for(let o=0;o<t.length;++o)for(let a=0;a<o;++a)t[o].startsWith(`${t[a]}/`)&&n.push(t[o]);t=t.filter(o=>!n.includes(o));let i=new P,s=new Set,r=new P;async function l(){await r.dispose(),r.queueMacrotask(()=>{e(Array.from(s)),s.clear()})}for(let o of t){let{unsubscribe:a}=await qt.subscribe(o,async(c,b)=>{if(c){console.error(c);return}await Promise.all(b.map(async p=>{if(p.type==="delete")return;let d=null;try{d=await lt.lstat(p.path)}catch{}!d?.isFile()&&!d?.isSymbolicLink()||s.add(p.path)})),await l()});i.add(a)}return async()=>{await i.dispose(),await r.dispose()}}function Et(t){return[...new Set(t.normalizedSources.flatMap(e=>e.base))]}import{__unstable__loadDesignSystem as vt}from"@tailwindcss/node";import ne from"fs/promises";import Rt from"path";function ut(t,e){let n=t.length,i=e.length,s=n<i?n:i;for(let r=0;r<s;r++){let l=t.charCodeAt(r),o=e.charCodeAt(r);if(l>=48&&l<=57&&o>=48&&o<=57){let a=r,c=r+1,b=r,p=r+1;for(l=t.charCodeAt(c);l>=48&&l<=57;)l=t.charCodeAt(++c);for(o=e.charCodeAt(p);o>=48&&o<=57;)o=e.charCodeAt(++p);let d=t.slice(a,c),h=e.slice(b,p),S=Number(d)-Number(h);if(S)return S;if(d<h)return-1;if(d>h)return 1;continue}if(l!==o)return l-o}return t.length-e.length}var V=new Uint8Array(256);function Ot(t,e){let n=0,i=[],s=0,r=t.length,l=e.charCodeAt(0);for(let o=0;o<r;o++){let a=t.charCodeAt(o);if(n===0&&a===l){i.push(t.slice(s,o)),s=o+1;continue}switch(a){case 92:o+=1;break;case 39:case 34:for(;++o<r;){let c=t.charCodeAt(o);if(c===92){o+=1;continue}if(c===a)break}break;case 40:V[n]=41,n++;break;case 91:V[n]=93,n++;break;case 123:V[n]=125,n++;break;case 93:case 125:case 41:n>0&&a===V[n-1]&&n--;break}}return i.push(t.slice(s)),i}import v from"picocolors";function F({render:t=!0,invalid:e,usage:n,options:i}){let s=process.stdout.columns??80,r=[],l=t?K:(o="")=>void r.push(o);if(l(j()),e&&(l(),l(`${v.dim("Invalid command:")} ${e}`)),n&&n.length>0){l(),l(v.dim("Usage:"));for(let[o,a]of n.entries()){let c=a.slice(0,a.indexOf("[")),b=a.slice(a.indexOf("["));b=b.replace(/\[.*?\]/g,h=>v.dim(h));let d=it(b,s-M.indent-c.length-1);d.length>1&&o!==0&&l(),l(B(`${c}${d.shift()}`));for(let h of d)l(B(h,c.length))}}if(i){let o=0;for(let{alias:p}of Object.values(i))p&&(o=Math.max(o,p.length));let a=[],c=0;for(let[p,{alias:d,values:h}]of Object.entries(i)){h?.length&&(p+=`[=${h.join(", ")}]`);let S=[d&&`${d.padStart(o)}`,d?p:" ".repeat(o+2)+p].filter(Boolean).join(", ");a.push(S),c=Math.max(c,S.length)}l(),l(v.dim("Options:"));let b=8;for(let{description:p,default:d=null}of Object.values(i)){let h=a.shift(),S=b+(c-h.length),N=2,q=s-h.length-S-N-M.indent,L=it(d!==null?`${p} ${v.dim(`[default:\u202F${A(`${d}`)}]`)}`:p,q);l(B(`${v.blue(h)} ${v.dim(v.gray("\xB7")).repeat(S)} ${L.shift()}`));for(let Q of L)l(B(`${" ".repeat(h.length+S+N)}${Q}`))}}if(!t)return r.join(`
11
- `)}var ie=String.raw;function ct(){return"tailwindcss canonicalize [classes...]"}function re(){return"tailwindcss canonicalize --css input.css [classes...]"}function $t(){return{"--css":{type:"string",description:'CSS entry file used to load the Tailwind design system (defaults to `@import "tailwindcss";`)'},"--format":{type:"string",description:"Output format",default:"text",values:["text","json","jsonl"]}}}var Nt={"--help":{type:"boolean",description:"Display usage information",alias:"-h",default:!1}};async function Lt({argv:t=process.argv.slice(2),cwd:e=process.cwd(),stdin:n=null,stdinIsTTY:i=process.stdin.isTTY,stdoutIsTTY:s=process.stdout.isTTY}={}){try{let r=R({...$t(),...Nt},t);if(s&&t.length===0||r["--help"])return{exitCode:0,stdout:Pt(),stderr:""};let l=ce(r["--format"]),o=r._.length>0?r._:await oe({stdin:n,stdinIsTTY:i});if(o.length===0)return pe("No candidate groups provided");let a=await le({css:r["--css"],cwd:e,inputs:o});return{exitCode:0,stdout:ae(a,l),stderr:""}}catch(r){return{exitCode:1,stdout:"",stderr:r instanceof Error?r.message:String(r)}}}function oe({stdin:t,stdinIsTTY:e}){return t!==null?Promise.resolve(At(t)):e?Promise.resolve([]):se().then(At)}async function se(){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 le({css:t,cwd:e=process.cwd(),inputs:n}){let i=await ue(t,e);return n.map(s=>{let r=de(s),o=fe(i,i.canonicalizeCandidates(r,{collapse:!0,logicalToPhysical:!0})).join(" ");return{input:s,output:o,changed:o!==s}})}function ae(t,e){switch(e){case"json":return JSON.stringify(t,null,2);case"jsonl":return t.map(n=>JSON.stringify(n)).join(`
12
- `);case"text":return t.map(n=>n.output).join(`
13
- `)}}function Pt(){return F({render:!1,usage:[ct(),re()],options:{...$t(),...Nt}})}async function ue(t,e){if(t===null)return vt(ie`
10
+ `;et(me),c=s?[s]:[],[p,d]=await b(O,m),u&&m.start("Scan for candidates");let ee=d.scan();u&&m.end("Scan for candidates"),u&&m.start("Setup new watchers");let Ie=await Te(Ee(d),g);u&&m.end("Setup new watchers"),u&&m.start("Cleanup old watchers"),await Promise.all(C.splice(0).map(Me=>Me())),u&&m.end("Cleanup old watchers"),C.push(Ie),u&&m.start("Build CSS"),Z=p.build(ee),u&&m.end("Build CSS"),e["--map"]&&(u&&m.start("Build Source Map"),X=Y(p.buildSourceMap()),u&&m.end("Build Source Map"))}else if(H==="incremental"){u&&m.start("Scan for candidates");let O=d.scanFiles(fe);if(u&&m.end("Scan for candidates"),O.length<=0){let ee=process.hrtime.bigint();_(`Done in ${W(ee-de)}`);return}u&&m.start("Build CSS"),Z=p.build(O),u&&m.end("Build CSS"),e["--map"]&&(u&&m.start("Build Source Map"),X=Y(p.buildSourceMap()),u&&m.end("Build Source Map"))}await a(Z,X,e,m);let ze=process.hrtime.bigint();_(`Done in ${W(ze-de)}`)}catch(y){var E=y,Q=!0}finally{ne(x,E,Q)}}catch(m){m instanceof Error&&_(m.toString())}})),e["--watch"]!=="always"&&process.stdin.on("end",()=>{Promise.all(C.map(g=>g())).then(()=>process.exit(0),()=>process.exit(1))}),process.stdin.resume()}u&&t.start("Scan for candidates");let h=d.scan();u&&t.end("Scan for candidates");u&&t.start("Build CSS");let S=await oe(()=>p.build(h));u&&t.end("Build CSS");let N=null;e["--map"]&&(u&&t.start("Build Source Map"),N=await oe(()=>Y(p.buildSourceMap())),u&&t.end("Build Source Map"));await a(S,N,e,t);let q=process.hrtime.bigint();_(`Done in ${W(q-i)}`)}catch(J){var je=J,Ue=!0}finally{ne(L,je,Ue)}}async function Te(e,t){e=e.sort((s,l)=>s.length-l.length);let n=[];for(let s=0;s<e.length;++s)for(let l=0;l<s;++l)e[s].startsWith(`${e[l]}/`)&&n.push(e[s]);e=e.filter(s=>!n.includes(s));let i=new k,o=new Set,r=new k;async function a(){await r.dispose(),r.queueMacrotask(()=>{t(Array.from(o)),o.clear()})}for(let s of e){let{unsubscribe:l}=await Qe.subscribe(s,async(c,b)=>{if(c){console.error(c);return}await Promise.all(b.map(async p=>{if(p.type==="delete")return;let d=null;try{d=await ae.lstat(p.path)}catch{}!d?.isFile()&&!d?.isSymbolicLink()||o.add(p.path)})),await a()});i.add(l)}return async()=>{await i.dispose(),await r.dispose()}}function Ee(e){return[...new Set(e.normalizedSources.flatMap(t=>t.base))]}import{__unstable__loadDesignSystem as Re}from"@tailwindcss/node";import rt from"fs/promises";import ve from"path";import{createInterface as st}from"readline";function ue(e,t){let n=e.length,i=t.length,o=n<i?n:i;for(let r=0;r<o;r++){let a=e.charCodeAt(r),s=t.charCodeAt(r);if(a>=48&&a<=57&&s>=48&&s<=57){let l=r,c=r+1,b=r,p=r+1;for(a=e.charCodeAt(c);a>=48&&a<=57;)a=e.charCodeAt(++c);for(s=t.charCodeAt(p);s>=48&&s<=57;)s=t.charCodeAt(++p);let d=e.slice(l,c),h=t.slice(b,p),S=Number(d)-Number(h);if(S)return S;if(d<h)return-1;if(d>h)return 1;continue}if(a!==s)return a-s}return e.length-t.length}var V=new Uint8Array(256);function Oe(e,t){let n=0,i=[],o=0,r=e.length,a=t.charCodeAt(0);for(let s=0;s<r;s++){let l=e.charCodeAt(s);if(n===0&&l===a){i.push(e.slice(o,s)),o=s+1;continue}switch(l){case 92:s+=1;break;case 39:case 34:for(;++s<r;){let c=e.charCodeAt(s);if(c===92){s+=1;continue}if(c===l)break}break;case 40:V[n]=41,n++;break;case 91:V[n]=93,n++;break;case 123:V[n]=125,n++;break;case 93:case 125:case 41:n>0&&l===V[n-1]&&n--;break}}return i.push(e.slice(o)),i}import R from"picocolors";function F({render:e=!0,invalid:t,usage:n,options:i}){let o=process.stdout.columns??80,r=[],a=e?G:(s="")=>void r.push(s);if(a(M()),t&&(a(),a(`${R.dim("Invalid command:")} ${t}`)),n&&n.length>0){a(),a(R.dim("Usage:"));for(let[s,l]of n.entries()){let c=l.slice(0,l.indexOf("[")),b=l.slice(l.indexOf("["));b=b.replace(/\[.*?\]/g,h=>R.dim(h));let d=ie(b,o-I.indent-c.length-1);d.length>1&&s!==0&&a(),a(P(`${c}${d.shift()}`));for(let h of d)a(P(h,c.length))}}if(i){let s=0;for(let{alias:p}of Object.values(i))p&&(s=Math.max(s,p.length));let l=[],c=0;for(let[p,{alias:d,values:h}]of Object.entries(i)){h?.length&&(p+=`[=${h.join(", ")}]`);let S=[d&&`${d.padStart(s)}`,d?p:" ".repeat(s+2)+p].filter(Boolean).join(", ");l.push(S),c=Math.max(c,S.length)}a(),a(R.dim("Options:"));let b=8;for(let{description:p,default:d=null}of Object.values(i)){let h=l.shift(),S=b+(c-h.length),N=2,q=o-h.length-S-N-I.indent,L=ie(d!==null?`${p} ${R.dim(`[default:\u202F${A(`${d}`)}]`)}`:p,q);a(P(`${R.blue(h)} ${R.dim(R.gray("\xB7")).repeat(S)} ${L.shift()}`));for(let J of L)a(P(`${" ".repeat(h.length+S+N)}${J}`))}}if(!e)return r.join(`
11
+ `)}var ot=String.raw;function ce(){return"tailwindcss canonicalize [classes...]"}function at(){return"tailwindcss canonicalize --css input.css [classes...]"}function lt(){return"tailwindcss canonicalize --stream [--css input.css]"}function $e(){return{"--css":{type:"string",description:'CSS entry file used to load the Tailwind design system (defaults to `@import "tailwindcss";`)'},"--format":{type:"string",description:"Output format",default:"text",values:["text","json","jsonl"]},"--stream":{type:"boolean",description:"Read candidate groups from stdin line by line and write results to stdout",default:!1}}}var Ne={"--help":{type:"boolean",description:"Display usage information",alias:"-h",default:!1}};async function Le({argv:e=process.argv.slice(2),cwd:t=process.cwd(),stdin:n=null,stdinIsTTY:i=process.stdin.isTTY,stdoutIsTTY:o=process.stdout.isTTY}={}){try{let r=v({...$e(),...Ne},e),a=mt(r["--format"]??"text");if(o&&e.length===0||r["--help"])return{exitCode:0,stdout:ke()??"",stderr:""};if(r["--stream"])return await ut({css:r["--css"],cwd:t,format:a,input:process.stdin,output:process.stdout}),{exitCode:0,stdout:"",stderr:""};let s=r._.length>0?r._:await ct({stdin:n,stdinIsTTY:i});if(s.length===0)return ht("No candidate groups provided");let l=await dt({css:r["--css"],cwd:t,inputs:s});return{exitCode:0,stdout:ft(l,a),stderr:""}}catch(r){return{exitCode:1,stdout:"",stderr:r instanceof Error?r.message:String(r)}}}async function ut({css:e,cwd:t,format:n,input:i,output:o}){let r=await Pe(e,t),a=st({input:i}),s=!0;n==="json"&&o.write("[");for await(let l of a){let c=Fe(r,l);switch(n){case"text":{o.write(c.output+`
12
+ `);break}case"jsonl":{o.write(JSON.stringify(c)+`
13
+ `);break}case"json":{s?o.write(`
14
+ `):o.write(`,
15
+ `),o.write(bt(JSON.stringify(c,null,2),2)),s=!1;break}}}n==="json"&&o.write(s?"]":`
16
+ ]`)}function ct({stdin:e,stdinIsTTY:t}){return e!==null?Promise.resolve(Ae(e)):t?Promise.resolve([]):pt().then(Ae)}async function pt(){return new Promise((e,t)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>e(n)),process.stdin.on("error",i=>t(i))})}async function dt({css:e,cwd:t=process.cwd(),inputs:n}){let i=await Pe(e,t);return n.map(o=>Fe(i,o))}function ft(e,t){switch(t){case"json":return JSON.stringify(e,null,2);case"jsonl":return e.map(n=>JSON.stringify(n)).join(`
17
+ `);case"text":return e.map(n=>n.output).join(`
18
+ `)}}function ke(){return F({render:!1,usage:[ce(),at(),lt()],options:{...$e(),...Ne}})}async function Pe(e,t){if(e===null)return Re(ot`
14
19
  @import 'tailwindcss';
15
- `,{base:e});let n=Rt.resolve(e,t),i=await ne.readFile(n,"utf8");return vt(i,{base:Rt.dirname(n)})}function At(t){return t.split(/\r?\n/g).map(e=>e.trim()).filter(e=>e.length>0)}function ce(t){if(t==="text"||t==="json"||t==="jsonl")return t;throw new Error(`Invalid value for --format: ${t}`)}function pe(t){return{exitCode:1,stdout:Pt(),stderr:t}}function de(t){let e=t.trim();return e.length===0?[]:Ot(e," ").map(n=>n.trim()).filter(n=>n.length>0)}function fe(t,e){return me(t.getClassOrder(e))}function me(t){return t.slice().sort(([e,n],[i,s])=>n===s?ut(e,i):n===null?-1:s===null?1:he(n-s)||ut(e,i)).map(([e])=>e)}function he(t){return t>0n?1:t===0n?0:-1}var k={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}};function pt(t="tailwindcss"){return`${t} [--input input.css] [--output output.css] [--watch] [options\u2026]`}function Bt({invalid:t}={}){F({invalid:t,usage:[pt("tailwindcss"),pt("tailwindcss build"),ct()],commands:{build:"Build your CSS",canonicalize:"Canonicalize candidate lists"},options:{...$(),...k}})}async function we(){let t=process.argv.slice(2),e=t[0],n=R({...$(),...k},t);if(e==="build"){let s=R({...$(),...k},t.slice(1));(process.stdout.isTTY&&t.length===1||s["--help"])&&(F({usage:[pt("tailwindcss build")],options:{...$(),...k}}),process.exit(0)),await at(s);return}if(e==="canonicalize"){let s=await Lt({argv:t.slice(1)});s.stdout.length>0&&process.stdout.write(`${s.stdout}
16
- `),s.stderr.length>0&&process.stderr.write(`${s.stderr}
17
- `),process.exitCode=s.exitCode;return}(process.stdout.isTTY&&e===void 0||n["--help"])&&(Bt(),process.exit(0)),e&&!e.startsWith("-")&&(Bt({invalid:e}),process.exit(1));let i=R({...$(),...k});await at(i)}await we();
20
+ `,{base:t});let n=ve.resolve(t,e),i=await rt.readFile(n,"utf8");return Re(i,{base:ve.dirname(n)})}function Ae(e){return e.split(/\r?\n/g).map(t=>t.trim()).filter(t=>t.length>0)}function mt(e){if(e==="text"||e==="json"||e==="jsonl")return e;throw new Error(`Invalid value for --format: ${e}`)}function ht(e){return{exitCode:1,stdout:ke()??"",stderr:e}}function gt(e){let t=e.trim();return t.length===0?[]:Oe(t," ").map(n=>n.trim()).filter(n=>n.length>0)}function wt(e,t){let n=gt(t);return n=e.canonicalizeCandidates(n,{collapse:!0,logicalToPhysical:!0}),yt(e.getClassOrder(n)).join(" ")}function Fe(e,t){let n=wt(e,t);return{input:t,output:n,changed:n!==t}}function bt(e,t){let n=" ".repeat(t);return e.split(`
21
+ `).map(i=>n+i).join(`
22
+ `)}function yt(e){return e.slice().sort(([t,n],[i,o])=>n===o?ue(t,i):n===null?-1:o===null?1:St(n-o)||ue(t,i)).map(([t])=>t)}function St(e){return e>0n?1:e===0n?0:-1}var B={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}};function pe(e="tailwindcss"){return`${e} [--input input.css] [--output output.css] [--watch] [options\u2026]`}function Be({invalid:e}={}){F({invalid:e,usage:[pe("tailwindcss"),pe("tailwindcss build"),ce()],commands:{build:"Build your CSS",canonicalize:"Canonicalize candidate lists"},options:{...$(),...B}})}async function xt(){let e=process.argv.slice(2),t=e[0],n=v({...$(),...B},e);if(t==="build"){let o=v({...$(),...B},e.slice(1));(process.stdout.isTTY&&e.length===1||o["--help"])&&(F({usage:[pe("tailwindcss build")],options:{...$(),...B}}),process.exit(0)),await le(o);return}if(t==="canonicalize"){let o=await Le({argv:e.slice(1)});o.stdout.length>0&&process.stdout.write(`${o.stdout}
23
+ `),o.stderr.length>0&&process.stderr.write(`${o.stderr}
24
+ `),process.exitCode=o.exitCode;return}(process.stdout.isTTY&&t===void 0||n["--help"])&&(Be(),process.exit(0)),t&&!t.startsWith("-")&&(Be({invalid:t}),process.exit(1));let i=v({...$(),...B});await le(i)}await xt();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailwindcss/cli",
3
- "version": "0.0.0-insiders.dfc449c",
3
+ "version": "0.0.0-insiders.e01946f",
4
4
  "description": "A utility-first CSS framework for rapidly building custom user interfaces.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,9 +28,9 @@
28
28
  "enhanced-resolve": "^5.19.0",
29
29
  "mri": "^1.2.0",
30
30
  "picocolors": "^1.1.1",
31
- "@tailwindcss/node": "0.0.0-insiders.dfc449c",
32
- "tailwindcss": "0.0.0-insiders.dfc449c",
33
- "@tailwindcss/oxide": "0.0.0-insiders.dfc449c"
31
+ "tailwindcss": "0.0.0-insiders.e01946f",
32
+ "@tailwindcss/node": "0.0.0-insiders.e01946f",
33
+ "@tailwindcss/oxide": "0.0.0-insiders.e01946f"
34
34
  },
35
35
  "scripts": {
36
36
  "lint": "tsc --noEmit",