@tailwindcss/cli 4.0.0-alpha.6 → 4.0.0-alpha.7

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 +12 -4
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import X from"mri";function F(t,e=process.argv.slice(2)){let i=X(e),n={_:i._};for(let[o,{type:r,alias:p,default:c=r==="boolean"?!1:null}]of Object.entries(t)){if(n[o]=c,p){let s=p.slice(1);i[s]!==void 0&&(n[o]=W(i[s],r))}{let s=o.slice(2);i[s]!==void 0&&(n[o]=W(i[s],r))}}return n}function W(t,e){switch(e){case"string":return k(t);case"boolean":return A(t);case"number":return S(t);case"boolean | string":return A(t)??k(t);case"number | string":return S(t)??k(t);case"boolean | number":return A(t)??S(t);case"boolean | number | string":return A(t)??S(t)??k(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 S(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function k(t){return`${t}`}import it from"@parcel/watcher";import{IO as rt,Parsing as ot,clearCache as st,scanDir as U,scanFiles as lt}from"@tailwindcss/oxide";import{existsSync as pt}from"node:fs";import M from"node:fs/promises";import N from"node:path";import ut from"postcss";import at from"postcss-import";import{compile as V,optimizeCss as E}from"tailwindcss";import tt from"node:fs";import B from"node:path";import{stripVTControlCharacters as et}from"node:util";import f from"picocolors";import{createRequire as Z}from"node:module";var b=Z(import.meta.url).resolve;function q(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 C={indent:2};function y(){let{version:t}=JSON.parse(tt.readFileSync(b("tailwindcss/package.json"),"utf-8"));return`${f.italic(f.bold(f.blue("\u2248")))} tailwindcss ${f.blue(`v${t}`)}`}function O(t){return`${f.dim(f.blue("`"))}${f.blue(t)}${f.dim(f.blue("`"))}`}function L(t,e=process.cwd(),{preferAbsoluteIfShorter:i=!0}={}){let n=B.relative(e,t);return n.startsWith("..")||(n=`.${B.sep}${n}`),i&&n.length>t.length?t:n}function v(t,e){let i=t.split(" "),n=[],o="",r=0;for(let p of i){let c=et(p).length;r+c+1>e&&(n.push(o),o="",r=0),o+=(r?" ":"")+p,r+=c+(r?1:0)}return r&&n.push(o),n}function I(t){let e=q(t);return t<=50*1e6?f.green(e):t<=300*1e6?f.blue(e):t<=1e3*1e6?f.yellow(e):f.red(e)}function w(t,e=0){return`${" ".repeat(e+C.indent)}${t}`}function d(t=""){process.stderr.write(`${t}
2
+ import X from"mri";function F(t,e=process.argv.slice(2)){let n=X(e),i={_:n._};for(let[o,{type:r,alias:s,default:c=r==="boolean"?!1:null}]of Object.entries(t)){if(i[o]=c,s){let l=s.slice(1);n[l]!==void 0&&(i[o]=K(n[l],r))}{let l=o.slice(2);n[l]!==void 0&&(i[o]=K(n[l],r))}}return i}function K(t,e){switch(e){case"string":return k(t);case"boolean":return A(t);case"number":return S(t);case"boolean | string":return A(t)??k(t);case"number | string":return S(t)??k(t);case"boolean | number":return A(t)??S(t);case"boolean | number | string":return A(t)??S(t)??k(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 S(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function k(t){return`${t}`}import nt from"@parcel/watcher";import{IO as rt,Parsing as ot,clearCache as st,scanDir as P,scanFiles as lt}from"@tailwindcss/oxide";import{existsSync as pt}from"node:fs";import U from"node:fs/promises";import N from"node:path";import ut from"postcss";import at from"postcss-import";import{compile as V,optimizeCss as E}from"tailwindcss";import tt from"node:fs";import q from"node:path";import{stripVTControlCharacters as et}from"node:util";import f from"picocolors";import{createRequire as Z}from"node:module";var b=Z(import.meta.url).resolve;function W(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 C={indent:2};function w(){let{version:t}=JSON.parse(tt.readFileSync(b("tailwindcss/package.json"),"utf-8"));return`${f.italic(f.bold(f.blue("\u2248")))} tailwindcss ${f.blue(`v${t}`)}`}function O(t){return`${f.dim(f.blue("`"))}${f.blue(t)}${f.dim(f.blue("`"))}`}function B(t,e=process.cwd(),{preferAbsoluteIfShorter:n=!0}={}){let i=q.relative(e,t);return i.startsWith("..")||(i=`.${q.sep}${i}`),n&&i.length>t.length?t:i}function v(t,e){let n=t.split(" "),i=[],o="",r=0;for(let s of n){let c=et(s).length;r+c+1>e&&(i.push(o),o="",r=0),o+=(r?" ":"")+s,r+=c+(r?1:0)}return r&&i.push(o),i}function I(t){let e=W(t);return t<=50*1e6?f.green(e):t<=300*1e6?f.blue(e):t<=1e3*1e6?f.yellow(e):f.red(e)}function x(t,e=0){return`${" ".repeat(e+C.indent)}${t}`}function d(t=""){process.stderr.write(`${t}
3
3
  `)}function u(t=""){process.stdout.write(`${t}
4
- `)}import R from"node:fs/promises";import nt from"node:path";function P(){return new Promise((t,e)=>{let i="";process.stdin.on("data",n=>{i+=n}),process.stdin.on("end",()=>t(i)),process.stdin.on("error",n=>e(n))})}async function j(t,e){try{if(await R.readFile(t,"utf8")===e)return}catch{}await R.mkdir(nt.dirname(t),{recursive:!0}),await R.writeFile(t,e,"utf8")}var z=String.raw;function _(){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:"Minify the output",alias:"-m"},"--cwd":{type:"string",description:"The current working directory",default:"."}}}async function J(t){let e=N.resolve(t["--cwd"]);t["--output"]&&(t["--output"]=N.resolve(e,t["--output"])),t["--input"]&&t["--input"]!=="-"&&(t["--input"]=N.resolve(e,t["--input"]),pt(t["--input"])||(d(y()),d(),d(`Specified input file ${O(L(t["--input"]))} does not exist.`),process.exit(1)));let i=process.hrtime.bigint(),{candidates:n}=U({base:e}),[o,r]=await G(t["--input"]?t["--input"]==="-"?await P():await M.readFile(t["--input"],"utf-8"):z`
4
+ `)}import R from"node:fs/promises";import it from"node:path";function L(){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 j(t,e){try{if(await R.readFile(t,"utf8")===e)return}catch{}await R.mkdir(it.dirname(t),{recursive:!0}),await R.writeFile(t,e,"utf8")}var M=String.raw;function _(){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 J(t){let e=N.resolve(t["--cwd"]);t["--output"]&&(t["--output"]=N.resolve(e,t["--output"])),t["--input"]&&t["--input"]!=="-"&&(t["--input"]=N.resolve(e,t["--input"]),pt(t["--input"])||(d(w()),d(),d(`Specified input file ${O(B(t["--input"]))} does not exist.`),process.exit(1)));let n=process.hrtime.bigint(),{candidates:i}=P({base:e}),[o,r]=await G(t["--input"]?t["--input"]==="-"?await L():await U.readFile(t["--input"],"utf-8"):M`
5
5
  @import '${b("tailwindcss/index.css")}';
6
- `,t["--input"]??e),p=E(V(o,n),{file:t["--input"]??"input.css",minify:t["--minify"]});t["--output"]?await j(t["--output"],p):u(p);let c=process.hrtime.bigint();d(y()),d(),d(`Done in ${I(c-i)}`),t["--watch"]&&(await it.subscribe(e,async(s,a)=>{if(s){console.error(s);return}try{if(a.length===1&&a[0].path===t["--output"])return;let l=[],h="incremental";for(let m of a)if((m.type==="create"||m.type==="update")&&l.push({file:m.path,extension:N.extname(m.path).slice(1)}),r.includes(m.path)){h="full";break}let x=process.hrtime.bigint();if(h==="full")st(),n=U({base:e}).candidates;else if(h==="incremental"){let m=new Set(n);for(let Q of lt(l,rt.Sequential|ot.Sequential))m.add(Q);n=Array.from(m)}h==="full"&&([o,r]=await G(t["--input"]?await M.readFile(t["--input"],"utf-8"):z`
6
+ `,t["--input"]??e),s=V(o,i);(t["--minify"]||t["--optimize"])&&(s=E(s,{file:t["--input"]??"input.css",minify:t["--minify"]??!1})),t["--output"]?await j(t["--output"],s):u(s);let c=process.hrtime.bigint();d(w()),d(),d(`Done in ${I(c-n)}`),t["--watch"]&&(await nt.subscribe(e,async(l,a)=>{if(l){console.error(l);return}try{if(a.length===1&&a[0].path===t["--output"])return;let p=[],h="incremental";for(let m of a)if((m.type==="create"||m.type==="update")&&p.push({file:m.path,extension:N.extname(m.path).slice(1)}),r.includes(m.path)){h="full";break}let $=process.hrtime.bigint();if(h==="full")st(),i=P({base:e}).candidates;else if(h==="incremental"){let m=new Set(i);for(let Q of lt(p,rt.Sequential|ot.Sequential))m.add(Q);i=Array.from(m)}h==="full"&&([o,r]=await G(t["--input"]?await U.readFile(t["--input"],"utf-8"):M`
7
7
  @import '${b("tailwindcss/index.css")}';
8
- `,t["--input"]??e));let $=E(V(o,n),{file:t["--input"]??"input.css",minify:t["--minify"]});t["--output"]?await j(t["--output"],$):u($);let T=process.hrtime.bigint();d(`Done in ${I(T-x)}`)}catch(l){l instanceof Error&&d(l.toString())}}),t["--watch"]!=="always"&&process.stdin.on("end",()=>{process.exit(0)}),process.stdin.resume())}function G(t,e){return t.includes("@import")?ut().use(at()).process(t,{from:e}).then(i=>[i.css,i.messages.filter(n=>n.type==="postcss-import").map(n=>n.file)]):[t,[]]}import g from"picocolors";function D({invalid:t,usage:e,options:i}){let n=process.stdout.columns;if(u(y()),t&&(u(),u(`${g.dim("Invalid command:")} ${t}`)),e&&e.length>0){u(),u(g.dim("Usage:"));for(let[o,r]of e.entries()){let p=r.slice(0,r.indexOf("[")),c=r.slice(r.indexOf("["));c=c.replace(/\[.*?\]/g,l=>g.dim(l));let a=v(c,n-C.indent-p.length-1);a.length>1&&o!==0&&u(),u(w(`${p}${a.shift()}`));for(let l of a)u(w(l,p.length))}}if(i){let o=0;for(let{alias:s}of Object.values(i))s&&(o=Math.max(o,s.length));let r=[],p=0;for(let[s,{alias:a}]of Object.entries(i)){let l=[a&&`${a.padStart(o)}`,a?s:" ".repeat(o+2)+s].filter(Boolean).join(", ");r.push(l),p=Math.max(p,l.length)}u(),u(g.dim("Options:"));let c=8;for(let{description:s,default:a=null}of Object.values(i)){let l=r.shift(),h=c+(p-l.length),x=2,$=n-l.length-h-x-C.indent,T=v(a!==null?`${s} ${g.dim(`[default:\u202F${O(`${a}`)}]`)}`:s,$);u(w(`${g.blue(l)} ${g.dim(g.gray("\xB7")).repeat(h)} ${T.shift()}`));for(let m of T)u(w(`${" ".repeat(l.length+h+x)}${m}`))}}}var K={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},H=F(K),Y=H._[0];Y&&(D({invalid:Y,usage:["tailwindcss [options]"],options:{..._(),...K}}),process.exit(1));(process.stdout.isTTY&&!process.argv.slice(2).includes("-o")||H["--help"])&&(D({usage:["tailwindcss [--input input.css] [--output output.css] [--watch] [options\u2026]"],options:{..._(),...K}}),process.exit(0));J(F(_()));
8
+ `,t["--input"]??e));let y=V(o,i);(t["--minify"]||t["--optimize"])&&(y=E(y,{file:t["--input"]??"input.css",minify:t["--minify"]??!1})),t["--output"]?await j(t["--output"],y):u(y);let T=process.hrtime.bigint();d(`Done in ${I(T-$)}`)}catch(p){p instanceof Error&&d(p.toString())}}),t["--watch"]!=="always"&&process.stdin.on("end",()=>{process.exit(0)}),process.stdin.resume())}function G(t,e){return t.includes("@import")?ut().use(at()).process(t,{from:e}).then(n=>[n.css,n.messages.filter(i=>i.type==="postcss-import").map(i=>i.file)]):[t,[]]}import g from"picocolors";function z({invalid:t,usage:e,options:n}){let i=process.stdout.columns;if(u(w()),t&&(u(),u(`${g.dim("Invalid command:")} ${t}`)),e&&e.length>0){u(),u(g.dim("Usage:"));for(let[o,r]of e.entries()){let s=r.slice(0,r.indexOf("[")),c=r.slice(r.indexOf("["));c=c.replace(/\[.*?\]/g,p=>g.dim(p));let a=v(c,i-C.indent-s.length-1);a.length>1&&o!==0&&u(),u(x(`${s}${a.shift()}`));for(let p of a)u(x(p,s.length))}}if(n){let o=0;for(let{alias:l}of Object.values(n))l&&(o=Math.max(o,l.length));let r=[],s=0;for(let[l,{alias:a}]of Object.entries(n)){let p=[a&&`${a.padStart(o)}`,a?l:" ".repeat(o+2)+l].filter(Boolean).join(", ");r.push(p),s=Math.max(s,p.length)}u(),u(g.dim("Options:"));let c=8;for(let{description:l,default:a=null}of Object.values(n)){let p=r.shift(),h=c+(s-p.length),$=2,y=i-p.length-h-$-C.indent,T=v(a!==null?`${l} ${g.dim(`[default:\u202F${O(`${a}`)}]`)}`:l,y);u(x(`${g.blue(p)} ${g.dim(g.gray("\xB7")).repeat(h)} ${T.shift()}`));for(let m of T)u(x(`${" ".repeat(p.length+h+$)}${m}`))}}}var D={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},H=F(D),Y=H._[0];Y&&(z({invalid:Y,usage:["tailwindcss [options]"],options:{..._(),...D}}),process.exit(1));(process.stdout.isTTY&&!process.argv.slice(2).includes("-o")||H["--help"])&&(z({usage:["tailwindcss [--input input.css] [--output output.css] [--watch] [options\u2026]"],options:{..._(),...D}}),process.exit(0));J(F(_()));
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@tailwindcss/cli",
3
- "version": "4.0.0-alpha.6",
3
+ "version": "4.0.0-alpha.7",
4
4
  "description": "A utility-first CSS framework for rapidly building custom user interfaces.",
5
5
  "license": "MIT",
6
- "repository": "https://github.com/tailwindlabs/tailwindcss.git",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/tailwindlabs/tailwindcss.git",
9
+ "directory": "packages/@tailwindcss-cli"
10
+ },
7
11
  "bugs": "https://github.com/tailwindlabs/tailwindcss/issues",
8
12
  "homepage": "https://tailwindcss.com",
9
13
  "bin": {
@@ -15,14 +19,18 @@
15
19
  "files": [
16
20
  "dist"
17
21
  ],
22
+ "publishConfig": {
23
+ "provenance": true,
24
+ "access": "public"
25
+ },
18
26
  "dependencies": {
19
27
  "@parcel/watcher": "^2.4.1",
20
28
  "mri": "^1.2.0",
21
29
  "picocolors": "^1.0.0",
22
30
  "postcss": "8.4.24",
23
31
  "postcss-import": "^16.0.0",
24
- "@tailwindcss/oxide": "4.0.0-alpha.6",
25
- "tailwindcss": "4.0.0-alpha.6"
32
+ "tailwindcss": "4.0.0-alpha.7",
33
+ "@tailwindcss/oxide": "4.0.0-alpha.7"
26
34
  },
27
35
  "devDependencies": {
28
36
  "@types/postcss-import": "^14.0.3"