@tailwindcss/cli 4.0.0-beta.6 → 4.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +5 -5
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
`)}function
|
|
4
|
-
`)}function
|
|
2
|
+
var it=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),rt=t=>{throw TypeError(t)};var E=(t,e,n)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&rt("Object expected");var i,s;n&&(i=e[it("asyncDispose")]),i===void 0&&(i=e[it("dispose")],n&&(s=i)),typeof i!="function"&&rt("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},K=(t,e,n)=>{var i=typeof SuppressedError=="function"?SuppressedError:function(a,o,l,u){return u=Error(l),u.name="SuppressedError",u.error=a,u.suppressed=o,u},s=a=>e=n?new i(a,e,"An error was suppressed during disposal"):(n=!0,a),r=a=>{for(;a=t.pop();)try{var o=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(o).then(r,l=>(s(l),r()))}catch(l){s(l)}if(n)throw e};return r()};import _t from"mri";function st(t,e=process.argv.slice(2)){let n=_t(e),i={_:n._};for(let[s,{type:r,alias:a,default:o=r==="boolean"?!1:null}]of Object.entries(t)){if(i[s]=o,a){let l=a.slice(1);n[l]!==void 0&&(i[s]=ot(n[l],r))}{let l=s.slice(2);n[l]!==void 0&&(i[s]=ot(n[l],r))}}return i}function ot(t,e){switch(e){case"string":return O(t);case"boolean":return A(t);case"number":return B(t);case"boolean | string":return A(t)??O(t);case"number | string":return B(t)??O(t);case"boolean | number":return A(t)??B(t);case"boolean | number | string":return A(t)??B(t)??O(t);default:throw new Error(`Unhandled type: ${e}`)}}function A(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 O(t){return`${t}`}import zt from"@parcel/watcher";import{compile as Dt,env as Wt,Instrumentation as dt}from"@tailwindcss/node";import{clearRequireCache as It}from"@tailwindcss/node/require-cache";import{Scanner as Pt}from"@tailwindcss/oxide";import{Features as Q,transform as jt}from"lightningcss";import{existsSync as Mt}from"node:fs";import Y from"node:fs/promises";import v from"node:path";var _=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 At from"node:fs";import pt from"node:path";import{stripVTControlCharacters as Bt}from"node:util";import g from"picocolors";import lt from"enhanced-resolve";import Ft from"node:fs";import{createRequire as kt}from"node:module";var Rt=kt(import.meta.url).resolve;function at(t){if(typeof globalThis.__tw_resolve=="function"){let e=globalThis.__tw_resolve(t);if(e)return e}return Rt(t)}var Yt=lt.ResolverFactory.createResolver({fileSystem:new lt.CachedInputFileSystem(Ft,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 N={indent:2};function F(){return`${g.italic(g.bold(g.blue("\u2248")))} tailwindcss ${g.blue(`v${Ot()}`)}`}function z(t){return`${g.dim(g.blue("`"))}${g.blue(t)}${g.dim(g.blue("`"))}`}function ct(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 V(t,e){let n=t.split(" "),i=[],s="",r=0;for(let a of n){let o=Bt(a).length;r+o+1>e&&(i.push(s),s="",r=0),s+=(r?" ":"")+a,r+=o+(r?1:0)}return r&&i.push(s),i}function D(t){let e=ut(t);return t<=50*1e6?g.green(e):t<=300*1e6?g.blue(e):t<=1e3*1e6?g.yellow(e):g.red(e)}function k(t,e=0){return`${" ".repeat(e+N.indent)}${t}`}function w(t=""){process.stderr.write(`${t}
|
|
3
|
+
`)}function d(t=""){process.stdout.write(`${t}
|
|
4
|
+
`)}function Ot(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:t}=JSON.parse(At.readFileSync(at("tailwindcss/package.json"),"utf-8"));return t}import G from"node:fs/promises";import Nt 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 ft(t,e){try{if(await G.readFile(t,"utf8")===e)return}catch{}await G.mkdir(Nt.dirname(t),{recursive:!0}),await G.writeFile(t,e,"utf8")}var mt=String.raw,p=Wt.DEBUG;function W(){return{"--input":{type:"string",description:"Input file",alias:"-i"},"--output":{type:"string",description:"Output file",alias:"-o"},"--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&&w(e.toString()),process.exit(1)}}async function bt(t){var Z=[];try{let e=E(Z,new dt);p&&e.start("[@tailwindcss/cli] (initial build)");let n=v.resolve(t["--cwd"]);t["--output"]&&(t["--output"]=v.resolve(n,t["--output"]));t["--input"]&&t["--input"]!=="-"&&(t["--input"]=v.resolve(n,t["--input"]),Mt(t["--input"])||(w(F()),w(),w(`Specified input file ${z(ct(t["--input"]))} does not exist.`),process.exit(1)));let i=process.hrtime.bigint();let s=t["--input"]?t["--input"]==="-"?await J():await Y.readFile(t["--input"],"utf-8"):mt`
|
|
5
5
|
@import 'tailwindcss';
|
|
6
|
-
|
|
6
|
+
`;let r={css:"",optimizedCss:""};async function a(S,b,m){let x=S;if(b["--minify"]||b["--optimize"])if(S!==r.css){p&&m.start("Optimize CSS");let C=Ut(S,{file:b["--input"]??"input.css",minify:b["--minify"]??!1});p&&m.end("Optimize CSS"),r.css=S,r.optimizedCss=C,x=C}else x=r.optimizedCss;p&&m.start("Write output"),b["--output"]?await ft(b["--output"],x):d(x),p&&m.end("Write output")}let o=t["--input"]&&t["--input"]!=="-"?v.resolve(t["--input"]):null;let l=o?v.dirname(o):process.cwd();let u=o?[o]:[];async function f(S,b){p&&b.start("Setup compiler");let m=await Dt(S,{base:l,onDependency(M){u.push(M)}}),x=(m.root==="none"?[]:m.root===null?[{base:n,pattern:"**/*"}]:[m.root]).concat(m.globs),C=new Pt({sources:x});return p&&b.end("Setup compiler"),[m,C]}let[y,h]=await ht(()=>f(s,e));if(t["--watch"]){let S=await yt(gt(h),async function b(m){try{var x=[];try{if(m.length===1&&m[0]===t["--output"])return;let c=E(x,new dt);p&&c.start("[@tailwindcss/cli] (watcher)");let tt=process.hrtime.bigint();let et=[];let U="incremental";let nt=u;for(let $ of m){if(nt.includes($)){U="full";break}et.push({file:$,extension:v.extname($).slice(1)})}let L="";if(U==="full"){let $=t["--input"]?t["--input"]==="-"?await J():await Y.readFile(t["--input"],"utf-8"):mt`
|
|
7
7
|
@import 'tailwindcss';
|
|
8
|
-
`;
|
|
8
|
+
`;It(nt),u=o?[o]:[],[y,h]=await f($,c),p&&c.start("Scan for candidates");let q=h.scan();p&&c.end("Scan for candidates"),p&&c.start("Setup new watchers");let vt=await yt(gt(h),b);p&&c.end("Setup new watchers"),p&&c.start("Cleanup old watchers"),await S(),p&&c.end("Cleanup old watchers"),S=vt,p&&c.start("Build CSS"),L=y.build(q),p&&c.end("Build CSS")}else if(U==="incremental"){p&&c.start("Scan for candidates");let $=h.scanFiles(et);if(p&&c.end("Scan for candidates"),$.length<=0){let q=process.hrtime.bigint();w(`Done in ${D(q-tt)}`);return}p&&c.start("Build CSS"),L=y.build($),p&&c.end("Build CSS")}await a(L,t,c);let Ct=process.hrtime.bigint();w(`Done in ${D(Ct-tt)}`)}catch(C){var M=C,Tt=!0}finally{K(x,M,Tt)}}catch(c){c instanceof Error&&w(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 P=h.scan();p&&e.end("Scan for candidates");p&&e.start("Build CSS");let R=await ht(()=>y.build(P));p&&e.end("Build CSS");await a(R,t,e);let j=process.hrtime.bigint();w(F());w();w(`Done in ${D(j-i)}`)}catch(St){var xt=St,$t=!0}finally{K(Z,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((o,l)=>o.length-l.length);let n=[];for(let o=0;o<t.length;++o)for(let l=0;l<o;++l)t[o].startsWith(`${t[l]}/`)&&n.push(t[o]);t=t.filter(o=>!n.includes(o));let i=new _,s=new Set,r=new _;async function a(){await r.dispose(),r.queueMacrotask(()=>{e(Array.from(s)),s.clear()})}for(let o of t){let{unsubscribe:l}=await zt.subscribe(o,async(u,f)=>{if(u){console.error(u);return}await Promise.all(f.map(async y=>{if(y.type==="delete")return;let h=null;try{h=await Y.lstat(y.path)}catch{}!h?.isFile()&&!h?.isSymbolicLink()||s.add(y.path)})),await a()});i.add(l)}return async()=>{await i.dispose(),await r.dispose()}}function Ut(t,{file:e="input.css",minify:n=!1}={}){function i(s){return jt({filename:e,code:s,minify:n,sourceMap:!1,drafts:{customMedia:!0},nonStandard:{deepSelectorCombinator:!0},include:Q.Nesting,exclude:Q.LogicalProperties|Q.DirSelector,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(F()),t&&(d(),d(`${T.dim("Invalid command:")} ${t}`)),e&&e.length>0){d(),d(T.dim("Usage:"));for(let[s,r]of e.entries()){let a=r.slice(0,r.indexOf("[")),o=r.slice(r.indexOf("["));o=o.replace(/\[.*?\]/g,f=>T.dim(f));let u=V(o,i-N.indent-a.length-1);u.length>1&&s!==0&&d(),d(k(`${a}${u.shift()}`));for(let f of u)d(k(f,a.length))}}if(n){let s=0;for(let{alias:l}of Object.values(n))l&&(s=Math.max(s,l.length));let r=[],a=0;for(let[l,{alias:u}]of Object.entries(n)){let f=[u&&`${u.padStart(s)}`,u?l:" ".repeat(s+2)+l].filter(Boolean).join(", ");r.push(f),a=Math.max(a,f.length)}d(),d(T.dim("Options:"));let o=8;for(let{description:l,default:u=null}of Object.values(n)){let f=r.shift(),y=o+(a-f.length),h=2,P=i-f.length-y-h-N.indent,R=V(u!==null?`${l} ${T.dim(`[default:\u202F${z(`${u}`)}]`)}`:l,P);d(k(`${T.blue(f)} ${T.dim(T.gray("\xB7")).repeat(y)} ${R.shift()}`));for(let j of R)d(k(`${" ".repeat(f.length+y+h)}${j}`))}}}var X={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},I=st({...W(),...X}),wt=I._[0];wt&&(H({invalid:wt,usage:["tailwindcss [options]"],options:{...W(),...X}}),process.exit(1));(process.stdout.isTTY&&!I["--output"]||I["--help"])&&(H({usage:["tailwindcss [--input input.css] [--output output.css] [--watch] [options\u2026]"],options:{...W(),...X}}),process.exit(0));bt(I);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tailwindcss/cli",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.8",
|
|
4
4
|
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"lightningcss": "^1.26.0",
|
|
30
30
|
"mri": "^1.2.0",
|
|
31
31
|
"picocolors": "^1.1.1",
|
|
32
|
-
"@tailwindcss/node": "4.0.0-beta.
|
|
33
|
-
"
|
|
34
|
-
"tailwindcss": "4.0.0-beta.
|
|
32
|
+
"@tailwindcss/node": "4.0.0-beta.8",
|
|
33
|
+
"tailwindcss": "4.0.0-beta.8",
|
|
34
|
+
"@tailwindcss/oxide": "4.0.0-beta.8"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"lint": "tsc --noEmit",
|